{"version":3,"file":"js/chunk-vendors.900a39df.js","mappings":"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","sources":["webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/avatar/QAvatar.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/badge/QBadge.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/btn/QBtn.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/btn/use-btn.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/card/QCard.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/card/QCardActions.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/card/QCardSection.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/checkbox/QCheckbox.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/checkbox/use-checkbox.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/dialog/QDialog.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/drawer/QDrawer.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/header/QHeader.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/icon/QIcon.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-ratio.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/img/QImg.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/input/use-mask.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-file-dom-props.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/input/QInput.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/item/QItem.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/item/QList.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/scroll-observer/QScrollObserver.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/layout/QLayout.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/page-sticky/use-page-sticky.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/page-scroller/QPageScroller.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/page/QPage.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/page/QPageContainer.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-can-render.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/resize-observer/QResizeObserver.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/separator/QSeparator.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/spinner/QSpinner.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/spinner/use-spinner.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/toggle/QToggle.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/toolbar/QToolbar.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/toolbar/QToolbarTitle.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/tooltip/QTooltip.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-align.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-anchor.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-dark.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/use-form-child.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/patterns.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-validate.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-split-attrs.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-field.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-form.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-history.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-key-composition.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-model-toggle.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-portal.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/prevent-scroll.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-prevent-scroll.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-refocus-target.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-router-link.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-scroll-target.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-size.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-tick.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-timeout.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/private/use-transition.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/composables/use-quasar.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/throttle.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/directives/Ripple.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/directives/TouchPan.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/history.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/icon-set/material-icons.mjs","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/icon-set.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/plugins/Screen.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/plugins/Dark.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/set-css-var.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/body.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/install-quasar.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/lang/en-US.mjs","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/lang.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/plugins/Cookies.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/radio/QRadio.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/option-group/QOptionGroup.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/components/dialog-plugin/DialogPlugin.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/global-dialog.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/plugins/Dialog.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/plugins/Notify.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/plugins/Platform.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/debounce.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/dom.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/event.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/format.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/is.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/click-outside.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/create.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/define-reactive-plugin.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/escape-key.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/focus-manager.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/focusout.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/global-config.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/global-nodes.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/inject-obj-prop.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/key-composition.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/option-sizes.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/portal.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/position-engine.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/render.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/selection.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/symbols.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/touch.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/private/vm.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/scroll.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/utils/uid.js","webpack://texca.account.service.front.quasar/./node_modules/quasar/src/vue-plugin.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://texca.account.service.front.quasar/./node_modules/axios-auth-refresh/dist/index.min.js","webpack://texca.account.service.front.quasar/./node_modules/axios/index.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/adapters/xhr.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/axios.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/cancel/CancelToken.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/cancel/CanceledError.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/cancel/isCancel.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/Axios.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/AxiosError.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/InterceptorManager.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/buildFullPath.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/dispatchRequest.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/mergeConfig.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/settle.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/core/transformData.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/defaults/index.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/defaults/transitional.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/env/data.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/bind.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/buildURL.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/combineURLs.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/cookies.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/null.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/spread.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/toFormData.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/helpers/validator.js","webpack://texca.account.service.front.quasar/./node_modules/axios/lib/utils.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/a-callable.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/a-possible-prototype.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/an-instance.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/an-object.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/array-includes.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/array-set-length.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/classof-raw.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/classof.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/create-property-descriptor.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/define-built-in.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/define-global-property.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/descriptors.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/document-all.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/document-create-element.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/dom-exception-constants.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/engine-user-agent.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/engine-v8-version.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/enum-bug-keys.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/error-stack-clear.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/export.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/fails.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/function-bind-native.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/function-call.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/function-name.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/function-uncurry-this.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/get-built-in.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/get-method.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/global.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/has-own-property.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/hidden-keys.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/ie8-dom-define.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/indexed-object.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/inherit-if-required.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/inspect-source.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/internal-state.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-array.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-callable.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-forced.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-object.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-pure.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/is-symbol.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/length-of-array-like.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/make-built-in.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/math-trunc.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/normalize-string-argument.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-define-property.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-keys-internal.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/own-keys.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/regexp-flags.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/require-object-coercible.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/shared-key.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/shared-store.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/shared.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-absolute-index.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-indexed-object.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-length.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-object.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-primitive.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-property-key.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-string-tag-support.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/to-string.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/try-to-string.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/uid.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/internals/well-known-symbol.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/modules/es.array.push.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/modules/es.array.unshift.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/modules/es.regexp.flags.js","webpack://texca.account.service.front.quasar/./node_modules/core-js/modules/web.dom-exception.stack.js","webpack://texca.account.service.front.quasar/./node_modules/register-service-worker/index.js","webpack://texca.account.service.front.quasar/./node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js","webpack://texca.account.service.front.quasar/./node_modules/vue-loader/dist/exportHelper.js","webpack://texca.account.service.front.quasar/./node_modules/vue3-cookies/dist/index.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://texca.account.service.front.quasar/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://texca.account.service.front.quasar/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://texca.account.service.front.quasar/./node_modules/mitt/dist/mitt.mjs","webpack://texca.account.service.front.quasar/./node_modules/quasar/lang/ru.mjs","webpack://texca.account.service.front.quasar/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["import { h, computed } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlotSafely } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QAvatar',\n\n props: {\n ...useSizeProps,\n\n fontSize: String,\n\n color: String,\n textColor: String,\n\n icon: String,\n square: Boolean,\n rounded: Boolean\n },\n\n setup (props, { slots }) {\n const sizeStyle = useSize(props)\n\n const classes = computed(() =>\n 'q-avatar'\n + (props.color ? ` bg-${ props.color }` : '')\n + (props.textColor ? ` text-${ props.textColor } q-chip--colored` : '')\n + (\n props.square === true\n ? ' q-avatar--square'\n : (props.rounded === true ? ' rounded-borders' : '')\n )\n )\n\n const contentStyle = computed(() => (\n props.fontSize\n ? { fontSize: props.fontSize }\n : null\n ))\n\n return () => {\n const icon = props.icon !== void 0\n ? [ h(QIcon, { name: props.icon }) ]\n : void 0\n\n return h('div', {\n class: classes.value,\n style: sizeStyle.value\n }, [\n h('div', {\n class: 'q-avatar__content row flex-center overflow-hidden',\n style: contentStyle.value\n }, hMergeSlotSafely(slots.default, icon))\n ])\n }\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\n\nconst alignValues = [ 'top', 'middle', 'bottom' ]\n\nexport default createComponent({\n name: 'QBadge',\n\n props: {\n color: String,\n textColor: String,\n\n floating: Boolean,\n transparent: Boolean,\n multiLine: Boolean,\n outline: Boolean,\n rounded: Boolean,\n\n label: [ Number, String ],\n\n align: {\n type: String,\n validator: v => alignValues.includes(v)\n }\n },\n\n setup (props, { slots }) {\n const style = computed(() => {\n return props.align !== void 0\n ? { verticalAlign: props.align }\n : null\n })\n\n const classes = computed(() => {\n const text = props.outline === true\n ? props.color || props.textColor\n : props.textColor\n\n return 'q-badge flex inline items-center no-wrap'\n + ` q-badge--${ props.multiLine === true ? 'multi' : 'single' }-line`\n + (props.outline === true\n ? ' q-badge--outline'\n : (props.color !== void 0 ? ` bg-${ props.color }` : '')\n )\n + (text !== void 0 ? ` text-${ text }` : '')\n + (props.floating === true ? ' q-badge--floating' : '')\n + (props.rounded === true ? ' q-badge--rounded' : '')\n + (props.transparent === true ? ' q-badge--transparent' : '')\n })\n\n return () => h('div', {\n class: classes.value,\n style: style.value,\n role: 'status',\n 'aria-label': props.label\n }, hMergeSlot(slots.default, props.label !== void 0 ? [ props.label ] : []))\n }\n})\n","import { h, ref, computed, Transition, onBeforeUnmount, withDirectives, getCurrentInstance } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport Ripple from '../../directives/Ripple.js'\n\nimport useBtn, { useBtnProps } from './use-btn.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\nimport { stop, prevent, stopAndPrevent, listenOpts } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\n\nconst { passiveCapture } = listenOpts\n\nlet\n touchTarget = null,\n keyboardTarget = null,\n mouseTarget = null\n\nexport default createComponent({\n name: 'QBtn',\n\n props: {\n ...useBtnProps,\n\n percentage: Number,\n darkPercentage: Boolean,\n\n onTouchstart: [ Function, Array ]\n },\n\n emits: [ 'click', 'keydown', 'mousedown', 'keyup' ],\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n\n const {\n classes, style, innerClasses,\n attributes,\n hasLink, linkTag, navigateOnClick,\n isActionable\n } = useBtn(props)\n\n const rootRef = ref(null)\n const blurTargetRef = ref(null)\n\n let localTouchTargetEl = null, avoidMouseRipple, mouseTimer = null\n\n const hasLabel = computed(() =>\n props.label !== void 0 && props.label !== null && props.label !== ''\n )\n\n const ripple = computed(() => (\n props.disable === true || props.ripple === false\n ? false\n : {\n keyCodes: hasLink.value === true ? [ 13, 32 ] : [ 13 ],\n ...(props.ripple === true ? {} : props.ripple)\n }\n ))\n\n const rippleProps = computed(() => ({ center: props.round }))\n\n const percentageStyle = computed(() => {\n const val = Math.max(0, Math.min(100, props.percentage))\n return val > 0\n ? { transition: 'transform 0.6s', transform: `translateX(${ val - 100 }%)` }\n : {}\n })\n\n const onEvents = computed(() => {\n if (props.loading === true) {\n return {\n onMousedown: onLoadingEvt,\n onTouchstart: onLoadingEvt,\n onClick: onLoadingEvt,\n onKeydown: onLoadingEvt,\n onKeyup: onLoadingEvt\n }\n }\n\n if (isActionable.value === true) {\n const acc = {\n onClick,\n onKeydown,\n onMousedown\n }\n\n if (proxy.$q.platform.has.touch === true) {\n const suffix = props.onTouchstart !== void 0\n ? ''\n : 'Passive'\n\n acc[ `onTouchstart${ suffix }` ] = onTouchstart\n }\n\n return acc\n }\n\n return {\n // needed; especially for disabled tags\n onClick: stopAndPrevent\n }\n })\n\n const nodeProps = computed(() => ({\n ref: rootRef,\n class: 'q-btn q-btn-item non-selectable no-outline ' + classes.value,\n style: style.value,\n ...attributes.value,\n ...onEvents.value\n }))\n\n function onClick (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n if (e !== void 0) {\n if (e.defaultPrevented === true) {\n return\n }\n\n const el = document.activeElement\n // focus button if it came from ENTER on form\n // prevent the new submit (already done)\n if (\n props.type === 'submit'\n && el !== document.body\n && rootRef.value.contains(el) === false\n // required for iOS and desktop Safari\n && el.contains(rootRef.value) === false\n ) {\n rootRef.value.focus()\n\n const onClickCleanup = () => {\n document.removeEventListener('keydown', stopAndPrevent, true)\n document.removeEventListener('keyup', onClickCleanup, passiveCapture)\n rootRef.value !== null && rootRef.value.removeEventListener('blur', onClickCleanup, passiveCapture)\n }\n\n document.addEventListener('keydown', stopAndPrevent, true)\n document.addEventListener('keyup', onClickCleanup, passiveCapture)\n rootRef.value.addEventListener('blur', onClickCleanup, passiveCapture)\n }\n }\n\n navigateOnClick(e)\n }\n\n function onKeydown (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n emit('keydown', e)\n\n if (isKeyCode(e, [ 13, 32 ]) === true && keyboardTarget !== rootRef.value) {\n keyboardTarget !== null && cleanup()\n\n if (e.defaultPrevented !== true) {\n // focus external button if the focus helper was focused before\n rootRef.value.focus()\n\n keyboardTarget = rootRef.value\n rootRef.value.classList.add('q-btn--active')\n document.addEventListener('keyup', onPressEnd, true)\n rootRef.value.addEventListener('blur', onPressEnd, passiveCapture)\n }\n\n stopAndPrevent(e)\n }\n }\n\n function onTouchstart (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n emit('touchstart', e)\n\n if (e.defaultPrevented === true) { return }\n\n if (touchTarget !== rootRef.value) {\n touchTarget !== null && cleanup()\n touchTarget = rootRef.value\n\n localTouchTargetEl = e.target\n localTouchTargetEl.addEventListener('touchcancel', onPressEnd, passiveCapture)\n localTouchTargetEl.addEventListener('touchend', onPressEnd, passiveCapture)\n }\n\n // avoid duplicated mousedown event\n // triggering another early ripple\n avoidMouseRipple = true\n mouseTimer !== null && clearTimeout(mouseTimer)\n mouseTimer = setTimeout(() => {\n mouseTimer = null\n avoidMouseRipple = false\n }, 200)\n }\n\n function onMousedown (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n e.qSkipRipple = avoidMouseRipple === true\n emit('mousedown', e)\n\n if (e.defaultPrevented !== true && mouseTarget !== rootRef.value) {\n mouseTarget !== null && cleanup()\n mouseTarget = rootRef.value\n rootRef.value.classList.add('q-btn--active')\n document.addEventListener('mouseup', onPressEnd, passiveCapture)\n }\n }\n\n function onPressEnd (e) {\n // is it already destroyed?\n if (rootRef.value === null) { return }\n\n // needed for IE (because it emits blur when focusing button from focus helper)\n if (e !== void 0 && e.type === 'blur' && document.activeElement === rootRef.value) {\n return\n }\n\n if (e !== void 0 && e.type === 'keyup') {\n if (keyboardTarget === rootRef.value && isKeyCode(e, [ 13, 32 ]) === true) {\n // for click trigger\n const evt = new MouseEvent('click', e)\n evt.qKeyEvent = true\n e.defaultPrevented === true && prevent(evt)\n e.cancelBubble === true && stop(evt)\n rootRef.value.dispatchEvent(evt)\n\n stopAndPrevent(e)\n\n // for ripple\n e.qKeyEvent = true\n }\n\n emit('keyup', e)\n }\n\n cleanup()\n }\n\n function cleanup (destroying) {\n const blurTarget = blurTargetRef.value\n\n if (\n destroying !== true\n && (touchTarget === rootRef.value || mouseTarget === rootRef.value)\n && blurTarget !== null\n && blurTarget !== document.activeElement\n ) {\n blurTarget.setAttribute('tabindex', -1)\n blurTarget.focus()\n }\n\n if (touchTarget === rootRef.value) {\n if (localTouchTargetEl !== null) {\n localTouchTargetEl.removeEventListener('touchcancel', onPressEnd, passiveCapture)\n localTouchTargetEl.removeEventListener('touchend', onPressEnd, passiveCapture)\n }\n touchTarget = localTouchTargetEl = null\n }\n\n if (mouseTarget === rootRef.value) {\n document.removeEventListener('mouseup', onPressEnd, passiveCapture)\n mouseTarget = null\n }\n\n if (keyboardTarget === rootRef.value) {\n document.removeEventListener('keyup', onPressEnd, true)\n rootRef.value !== null && rootRef.value.removeEventListener('blur', onPressEnd, passiveCapture)\n keyboardTarget = null\n }\n\n rootRef.value !== null && rootRef.value.classList.remove('q-btn--active')\n }\n\n function onLoadingEvt (evt) {\n stopAndPrevent(evt)\n evt.qSkipRipple = true\n }\n\n onBeforeUnmount(() => {\n cleanup(true)\n })\n\n // expose public methods\n Object.assign(proxy, { click: onClick })\n\n return () => {\n let inner = []\n\n props.icon !== void 0 && inner.push(\n h(QIcon, {\n name: props.icon,\n left: props.stack === false && hasLabel.value === true,\n role: 'img',\n 'aria-hidden': 'true'\n })\n )\n\n hasLabel.value === true && inner.push(\n h('span', { class: 'block' }, [ props.label ])\n )\n\n inner = hMergeSlot(slots.default, inner)\n\n if (props.iconRight !== void 0 && props.round === false) {\n inner.push(\n h(QIcon, {\n name: props.iconRight,\n right: props.stack === false && hasLabel.value === true,\n role: 'img',\n 'aria-hidden': 'true'\n })\n )\n }\n\n const child = [\n h('span', {\n class: 'q-focus-helper',\n ref: blurTargetRef\n })\n ]\n\n if (props.loading === true && props.percentage !== void 0) {\n child.push(\n h('span', {\n class: 'q-btn__progress absolute-full overflow-hidden' + (props.darkPercentage === true ? ' q-btn__progress--dark' : '')\n }, [\n h('span', {\n class: 'q-btn__progress-indicator fit block',\n style: percentageStyle.value\n })\n ])\n )\n }\n\n child.push(\n h('span', {\n class: 'q-btn__content text-center col items-center q-anchor--skip ' + innerClasses.value\n }, inner)\n )\n\n props.loading !== null && child.push(\n h(Transition, {\n name: 'q-transition--fade'\n }, () => (\n props.loading === true\n ? [\n h('span', {\n key: 'loading',\n class: 'absolute-full flex flex-center'\n }, slots.loading !== void 0 ? slots.loading() : [ h(QSpinner) ])\n ]\n : null\n ))\n )\n\n return withDirectives(\n h(\n linkTag.value,\n nodeProps.value,\n child\n ),\n [ [\n Ripple,\n ripple.value,\n void 0,\n rippleProps.value\n ] ]\n )\n }\n }\n})\n","import { computed } from 'vue'\n\nimport useAlign, { useAlignProps } from '../../composables/private/use-align.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\nimport useRouterLink, { useRouterLinkProps } from '../../composables/private/use-router-link.js'\n\nexport const btnPadding = {\n none: 0,\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32\n}\n\nconst defaultSizes = {\n xs: 8,\n sm: 10,\n md: 14,\n lg: 20,\n xl: 24\n}\n\nconst formTypes = [ 'button', 'submit', 'reset' ]\nconst mediaTypeRE = /[^\\s]\\/[^\\s]/\n\nexport const btnDesignOptions = [ 'flat', 'outline', 'push', 'unelevated' ]\nexport const getBtnDesign = (props, defaultValue) => {\n if (props.flat === true) return 'flat'\n if (props.outline === true) return 'outline'\n if (props.push === true) return 'push'\n if (props.unelevated === true) return 'unelevated'\n return defaultValue\n}\nexport const getBtnDesignAttr = props => {\n const design = getBtnDesign(props)\n return design !== void 0\n ? { [ design ]: true }\n : {}\n}\n\nexport const useBtnProps = {\n ...useSizeProps,\n ...useRouterLinkProps,\n\n type: {\n type: String,\n default: 'button'\n },\n\n label: [ Number, String ],\n icon: String,\n iconRight: String,\n\n ...btnDesignOptions.reduce(\n (acc, val) => (acc[ val ] = Boolean) && acc,\n {}\n ),\n\n square: Boolean,\n round: Boolean,\n rounded: Boolean,\n glossy: Boolean,\n\n size: String,\n fab: Boolean,\n fabMini: Boolean,\n padding: String,\n\n color: String,\n textColor: String,\n noCaps: Boolean,\n noWrap: Boolean,\n dense: Boolean,\n\n tabindex: [ Number, String ],\n\n ripple: {\n type: [ Boolean, Object ],\n default: true\n },\n\n align: {\n ...useAlignProps.align,\n default: 'center'\n },\n stack: Boolean,\n stretch: Boolean,\n loading: {\n type: Boolean,\n default: null\n },\n disable: Boolean\n}\n\nexport default function (props) {\n const sizeStyle = useSize(props, defaultSizes)\n const alignClass = useAlign(props)\n const { hasRouterLink, hasLink, linkTag, linkAttrs, navigateOnClick } = useRouterLink({\n fallbackTag: 'button'\n })\n\n const style = computed(() => {\n const obj = props.fab === false && props.fabMini === false\n ? sizeStyle.value\n : {}\n\n return props.padding !== void 0\n ? Object.assign({}, obj, {\n padding: props.padding\n .split(/\\s+/)\n .map(v => (v in btnPadding ? btnPadding[ v ] + 'px' : v))\n .join(' '),\n minWidth: '0',\n minHeight: '0'\n })\n : obj\n })\n\n const isRounded = computed(() =>\n props.rounded === true || props.fab === true || props.fabMini === true\n )\n\n const isActionable = computed(() =>\n props.disable !== true && props.loading !== true\n )\n\n const tabIndex = computed(() => (\n isActionable.value === true ? props.tabindex || 0 : -1\n ))\n\n const design = computed(() => getBtnDesign(props, 'standard'))\n\n const attributes = computed(() => {\n const acc = { tabindex: tabIndex.value }\n\n if (hasLink.value === true) {\n Object.assign(acc, linkAttrs.value)\n }\n else if (formTypes.includes(props.type) === true) {\n acc.type = props.type\n }\n\n if (linkTag.value === 'a') {\n if (props.disable === true) {\n acc[ 'aria-disabled' ] = 'true'\n }\n else if (acc.href === void 0) {\n acc.role = 'button'\n }\n\n if (hasRouterLink.value !== true && mediaTypeRE.test(props.type) === true) {\n acc.type = props.type\n }\n }\n else if (props.disable === true) {\n acc.disabled = ''\n acc[ 'aria-disabled' ] = 'true'\n }\n\n if (props.loading === true && props.percentage !== void 0) {\n Object.assign(acc, {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': props.percentage\n })\n }\n\n return acc\n })\n\n const classes = computed(() => {\n let colors\n\n if (props.color !== void 0) {\n if (props.flat === true || props.outline === true) {\n colors = `text-${ props.textColor || props.color }`\n }\n else {\n colors = `bg-${ props.color } text-${ props.textColor || 'white' }`\n }\n }\n else if (props.textColor) {\n colors = `text-${ props.textColor }`\n }\n\n const shape = props.round === true\n ? 'round'\n : `rectangle${ isRounded.value === true ? ' q-btn--rounded' : (props.square === true ? ' q-btn--square' : '') }`\n\n return `q-btn--${ design.value } q-btn--${ shape }`\n + (colors !== void 0 ? ' ' + colors : '')\n + (isActionable.value === true ? ' q-btn--actionable q-focusable q-hoverable' : (props.disable === true ? ' disabled' : ''))\n + (props.fab === true ? ' q-btn--fab' : (props.fabMini === true ? ' q-btn--fab-mini' : ''))\n + (props.noCaps === true ? ' q-btn--no-uppercase' : '')\n + (props.dense === true ? ' q-btn--dense' : '')\n + (props.stretch === true ? ' no-border-radius self-stretch' : '')\n + (props.glossy === true ? ' glossy' : '')\n + (props.square ? ' q-btn--square' : '')\n })\n\n const innerClasses = computed(() =>\n alignClass.value + (props.stack === true ? ' column' : ' row')\n + (props.noWrap === true ? ' no-wrap text-no-wrap' : '')\n + (props.loading === true ? ' q-btn__content--hidden' : '')\n )\n\n return {\n classes,\n style,\n innerClasses,\n attributes,\n hasLink,\n linkTag,\n navigateOnClick,\n isActionable\n }\n}\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCard',\n\n props: {\n ...useDarkProps,\n\n tag: {\n type: String,\n default: 'div'\n },\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n const isDark = useDark(props, $q)\n\n const classes = computed(() =>\n 'q-card'\n + (isDark.value === true ? ' q-card--dark q-dark' : '')\n + (props.bordered === true ? ' q-card--bordered' : '')\n + (props.square === true ? ' q-card--square no-border-radius' : '')\n + (props.flat === true ? ' q-card--flat no-shadow' : '')\n )\n\n return () => h(props.tag, { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed } from 'vue'\n\nimport useAlign, { useAlignProps } from '../../composables/private/use-align.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCardActions',\n\n props: {\n ...useAlignProps,\n vertical: Boolean\n },\n\n setup (props, { slots }) {\n const alignClass = useAlign(props)\n\n const classes = computed(() =>\n `q-card__actions ${ alignClass.value }`\n + ` q-card__actions--${ props.vertical === true ? 'vert column' : 'horiz row' }`\n )\n\n return () => h('div', { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCardSection',\n\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n\n horizontal: Boolean\n },\n\n setup (props, { slots }) {\n const classes = computed(() =>\n 'q-card__section'\n + ` q-card__section--${ props.horizontal === true ? 'horiz row no-wrap' : 'vert' }`\n )\n\n return () => h(props.tag, { class: classes.value }, hSlot(slots.default))\n }\n})\n","import { h, computed } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport useCheckbox, { useCheckboxProps, useCheckboxEmits } from './use-checkbox.js'\n\nconst bgNode = h('div', {\n key: 'svg',\n class: 'q-checkbox__bg absolute'\n}, [\n h('svg', {\n class: 'q-checkbox__svg fit absolute-full',\n viewBox: '0 0 24 24'\n }, [\n h('path', {\n class: 'q-checkbox__truthy',\n fill: 'none',\n d: 'M1.73,12.91 8.1,19.28 22.79,4.59'\n }),\n\n h('path', {\n class: 'q-checkbox__indet',\n d: 'M4,14H20V10H4'\n })\n ])\n])\n\nexport default createComponent({\n name: 'QCheckbox',\n\n props: useCheckboxProps,\n emits: useCheckboxEmits,\n\n setup (props) {\n function getInner (isTrue, isIndeterminate) {\n const icon = computed(() =>\n (isTrue.value === true\n ? props.checkedIcon\n : (isIndeterminate.value === true\n ? props.indeterminateIcon\n : props.uncheckedIcon\n )\n ) || null\n )\n\n return () => (\n icon.value !== null\n ? [\n h('div', {\n key: 'icon',\n class: 'q-checkbox__icon-container absolute-full flex flex-center no-wrap'\n }, [\n h(QIcon, {\n class: 'q-checkbox__icon',\n name: icon.value\n })\n ])\n ]\n : [ bgNode ]\n )\n }\n\n return useCheckbox('checkbox', getInner)\n }\n})\n","import { h, ref, computed, getCurrentInstance, toRaw } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\nimport useRefocusTarget from '../../composables/private/use-refocus-target.js'\nimport { useFormInject, useFormProps } from '../../composables/private/use-form.js'\n\nimport optionSizes from '../../utils/private/option-sizes.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { hSlot, hMergeSlot } from '../../utils/private/render.js'\n\nexport const useCheckboxProps = {\n ...useDarkProps,\n ...useSizeProps,\n ...useFormProps,\n\n modelValue: {\n required: true,\n default: null\n },\n val: {},\n\n trueValue: { default: true },\n falseValue: { default: false },\n indeterminateValue: { default: null },\n\n checkedIcon: String,\n uncheckedIcon: String,\n indeterminateIcon: String,\n\n toggleOrder: {\n type: String,\n validator: v => v === 'tf' || v === 'ft'\n },\n toggleIndeterminate: Boolean,\n\n label: String,\n leftLabel: Boolean,\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n disable: Boolean,\n tabindex: [ String, Number ]\n}\n\nexport const useCheckboxEmits = [ 'update:modelValue' ]\n\nexport default function (type, getInner) {\n const { props, slots, emit, proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const isDark = useDark(props, $q)\n\n const rootRef = ref(null)\n const { refocusTargetEl, refocusTarget } = useRefocusTarget(props, rootRef)\n const sizeStyle = useSize(props, optionSizes)\n\n const modelIsArray = computed(() =>\n props.val !== void 0 && Array.isArray(props.modelValue)\n )\n\n const index = computed(() => {\n const val = toRaw(props.val)\n return modelIsArray.value === true\n ? props.modelValue.findIndex(opt => toRaw(opt) === val)\n : -1\n })\n\n const isTrue = computed(() => (\n modelIsArray.value === true\n ? index.value > -1\n : toRaw(props.modelValue) === toRaw(props.trueValue)\n ))\n\n const isFalse = computed(() => (\n modelIsArray.value === true\n ? index.value === -1\n : toRaw(props.modelValue) === toRaw(props.falseValue)\n ))\n\n const isIndeterminate = computed(() =>\n isTrue.value === false && isFalse.value === false\n )\n\n const tabindex = computed(() => (\n props.disable === true ? -1 : props.tabindex || 0\n ))\n\n const classes = computed(() =>\n `q-${ type } cursor-pointer no-outline row inline no-wrap items-center`\n + (props.disable === true ? ' disabled' : '')\n + (isDark.value === true ? ` q-${ type }--dark` : '')\n + (props.dense === true ? ` q-${ type }--dense` : '')\n + (props.leftLabel === true ? ' reverse' : '')\n )\n\n const innerClass = computed(() => {\n const state = isTrue.value === true ? 'truthy' : (isFalse.value === true ? 'falsy' : 'indet')\n const color = props.color !== void 0 && (\n props.keepColor === true\n || (type === 'toggle' ? isTrue.value === true : isFalse.value !== true)\n )\n ? ` text-${ props.color }`\n : ''\n\n return `q-${ type }__inner relative-position non-selectable q-${ type }__inner--${ state }${ color }`\n })\n\n const formAttrs = computed(() => {\n const prop = { type: 'checkbox' }\n\n props.name !== void 0 && Object.assign(prop, {\n // see https://vuejs.org/guide/extras/render-function.html#creating-vnodes (.prop)\n '.checked': isTrue.value,\n '^checked': isTrue.value === true ? 'checked' : void 0,\n name: props.name,\n value: modelIsArray.value === true\n ? props.val\n : props.trueValue\n })\n\n return prop\n })\n\n const injectFormInput = useFormInject(formAttrs)\n\n const attributes = computed(() => {\n const attrs = {\n tabindex: tabindex.value,\n role: type === 'toggle' ? 'switch' : 'checkbox',\n 'aria-label': props.label,\n 'aria-checked': isIndeterminate.value === true\n ? 'mixed'\n : (isTrue.value === true ? 'true' : 'false')\n }\n\n if (props.disable === true) {\n attrs[ 'aria-disabled' ] = 'true'\n }\n\n return attrs\n })\n\n function onClick (e) {\n if (e !== void 0) {\n stopAndPrevent(e)\n refocusTarget(e)\n }\n\n if (props.disable !== true) {\n emit('update:modelValue', getNextValue(), e)\n }\n }\n\n function getNextValue () {\n if (modelIsArray.value === true) {\n if (isTrue.value === true) {\n const val = props.modelValue.slice()\n val.splice(index.value, 1)\n return val\n }\n\n return props.modelValue.concat([ props.val ])\n }\n\n if (isTrue.value === true) {\n if (props.toggleOrder !== 'ft' || props.toggleIndeterminate === false) {\n return props.falseValue\n }\n }\n else if (isFalse.value === true) {\n if (props.toggleOrder === 'ft' || props.toggleIndeterminate === false) {\n return props.trueValue\n }\n }\n else {\n return props.toggleOrder !== 'ft'\n ? props.trueValue\n : props.falseValue\n }\n\n return props.indeterminateValue\n }\n\n function onKeydown (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n stopAndPrevent(e)\n }\n }\n\n function onKeyup (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n onClick(e)\n }\n }\n\n const getInnerContent = getInner(isTrue, isIndeterminate)\n\n // expose public methods\n Object.assign(proxy, { toggle: onClick })\n\n return () => {\n const inner = getInnerContent()\n\n props.disable !== true && injectFormInput(\n inner,\n 'unshift',\n ` q-${ type }__native absolute q-ma-none q-pa-none`\n )\n\n const child = [\n h('div', {\n class: innerClass.value,\n style: sizeStyle.value,\n 'aria-hidden': 'true'\n }, inner)\n ]\n\n if (refocusTargetEl.value !== null) {\n child.push(refocusTargetEl.value)\n }\n\n const label = props.label !== void 0\n ? hMergeSlot(slots.default, [ props.label ])\n : hSlot(slots.default)\n\n label !== void 0 && child.push(\n h('div', {\n class: `q-${ type }__label q-anchor--skip`\n }, label)\n )\n\n return h('div', {\n ref: rootRef,\n class: classes.value,\n ...attributes.value,\n onClick,\n onKeydown,\n onKeyup\n }, child)\n }\n}\n","import { h, ref, computed, watch, onBeforeUnmount, Transition, getCurrentInstance } from 'vue'\n\nimport useHistory from '../../composables/private/use-history.js'\nimport useTimeout from '../../composables/private/use-timeout.js'\nimport useTick from '../../composables/private/use-tick.js'\nimport useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'\nimport useTransition, { useTransitionProps } from '../../composables/private/use-transition.js'\nimport usePortal from '../../composables/private/use-portal.js'\nimport usePreventScroll from '../../composables/private/use-prevent-scroll.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { childHasFocus } from '../../utils/dom.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { addEscapeKey, removeEscapeKey } from '../../utils/private/escape-key.js'\nimport { addFocusout, removeFocusout } from '../../utils/private/focusout.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\n\nlet maximizedModals = 0\n\nconst positionClass = {\n standard: 'fixed-full flex-center',\n top: 'fixed-top justify-center',\n bottom: 'fixed-bottom justify-center',\n right: 'fixed-right items-center',\n left: 'fixed-left items-center'\n}\n\nconst defaultTransitions = {\n standard: [ 'scale', 'scale' ],\n top: [ 'slide-down', 'slide-up' ],\n bottom: [ 'slide-up', 'slide-down' ],\n right: [ 'slide-left', 'slide-right' ],\n left: [ 'slide-right', 'slide-left' ]\n}\n\nexport default createComponent({\n name: 'QDialog',\n\n inheritAttrs: false,\n\n props: {\n ...useModelToggleProps,\n ...useTransitionProps,\n\n transitionShow: String, // override useTransitionProps\n transitionHide: String, // override useTransitionProps\n\n persistent: Boolean,\n autoClose: Boolean,\n allowFocusOutside: Boolean,\n\n noEscDismiss: Boolean,\n noBackdropDismiss: Boolean,\n noRouteDismiss: Boolean,\n noRefocus: Boolean,\n noFocus: Boolean,\n noShake: Boolean,\n\n seamless: Boolean,\n\n maximized: Boolean,\n fullWidth: Boolean,\n fullHeight: Boolean,\n\n square: Boolean,\n\n position: {\n type: String,\n default: 'standard',\n validator: val => val === 'standard'\n || [ 'top', 'bottom', 'left', 'right' ].includes(val)\n }\n },\n\n emits: [\n ...useModelToggleEmits,\n 'shake', 'click', 'escapeKey'\n ],\n\n setup (props, { slots, emit, attrs }) {\n const vm = getCurrentInstance()\n const { proxy: { $q } } = vm\n\n const innerRef = ref(null)\n const showing = ref(false)\n const animating = ref(false)\n\n let shakeTimeout = null, refocusTarget = null, isMaximized, avoidAutoClose\n\n const hideOnRouteChange = computed(() =>\n props.persistent !== true\n && props.noRouteDismiss !== true\n && props.seamless !== true\n )\n\n const { preventBodyScroll } = usePreventScroll()\n const { registerTimeout } = useTimeout()\n const { registerTick, removeTick } = useTick()\n\n const { transitionProps, transitionStyle } = useTransition(\n props,\n () => defaultTransitions[ props.position ][ 0 ],\n () => defaultTransitions[ props.position ][ 1 ]\n )\n\n const { showPortal, hidePortal, portalIsAccessible, renderPortal } = usePortal(\n vm, innerRef, renderPortalContent, 'dialog'\n )\n\n const { hide } = useModelToggle({\n showing,\n hideOnRouteChange,\n handleShow,\n handleHide,\n processOnMount: true\n })\n\n const { addToHistory, removeFromHistory } = useHistory(showing, hide, hideOnRouteChange)\n\n const classes = computed(() =>\n 'q-dialog__inner flex no-pointer-events'\n + ` q-dialog__inner--${ props.maximized === true ? 'maximized' : 'minimized' }`\n + ` q-dialog__inner--${ props.position } ${ positionClass[ props.position ] }`\n + (animating.value === true ? ' q-dialog__inner--animating' : '')\n + (props.fullWidth === true ? ' q-dialog__inner--fullwidth' : '')\n + (props.fullHeight === true ? ' q-dialog__inner--fullheight' : '')\n + (props.square === true ? ' q-dialog__inner--square' : '')\n )\n\n const useBackdrop = computed(() => showing.value === true && props.seamless !== true)\n\n const onEvents = computed(() => (\n props.autoClose === true\n ? { onClick: onAutoClose }\n : {}\n ))\n\n const rootClasses = computed(() => [\n 'q-dialog fullscreen no-pointer-events '\n + `q-dialog--${ useBackdrop.value === true ? 'modal' : 'seamless' }`,\n attrs.class\n ])\n\n watch(() => props.maximized, state => {\n showing.value === true && updateMaximized(state)\n })\n\n watch(useBackdrop, val => {\n preventBodyScroll(val)\n\n if (val === true) {\n addFocusout(onFocusChange)\n addEscapeKey(onEscapeKey)\n }\n else {\n removeFocusout(onFocusChange)\n removeEscapeKey(onEscapeKey)\n }\n })\n\n function handleShow (evt) {\n addToHistory()\n\n refocusTarget = props.noRefocus === false && document.activeElement !== null\n ? document.activeElement\n : null\n\n updateMaximized(props.maximized)\n showPortal()\n animating.value = true\n\n if (props.noFocus !== true) {\n document.activeElement !== null && document.activeElement.blur()\n registerTick(focus)\n }\n else {\n removeTick()\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n if (vm.proxy.$q.platform.is.ios === true) {\n if (props.seamless !== true && document.activeElement) {\n const\n { top, bottom } = document.activeElement.getBoundingClientRect(),\n { innerHeight } = window,\n height = window.visualViewport !== void 0\n ? window.visualViewport.height\n : innerHeight\n\n if (top > 0 && bottom > height / 2) {\n document.scrollingElement.scrollTop = Math.min(\n document.scrollingElement.scrollHeight - height,\n bottom >= innerHeight\n ? Infinity\n : Math.ceil(document.scrollingElement.scrollTop + bottom - height / 2)\n )\n }\n\n document.activeElement.scrollIntoView()\n }\n\n // required in order to avoid the \"double-tap needed\" issue\n avoidAutoClose = true\n innerRef.value.click()\n avoidAutoClose = false\n }\n\n showPortal(true) // done showing portal\n animating.value = false\n emit('show', evt)\n }, props.transitionDuration)\n }\n\n function handleHide (evt) {\n removeTick()\n removeFromHistory()\n cleanup(true)\n animating.value = true\n hidePortal()\n\n if (refocusTarget !== null) {\n ((evt && evt.type.indexOf('key') === 0\n ? refocusTarget.closest('[tabindex]:not([tabindex^=\"-\"])')\n : void 0\n ) || refocusTarget).focus()\n refocusTarget = null\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n hidePortal(true) // done hiding, now destroy\n animating.value = false\n emit('hide', evt)\n }, props.transitionDuration)\n }\n\n function focus (selector) {\n addFocusFn(() => {\n let node = innerRef.value\n\n if (node === null || node.contains(document.activeElement) === true) {\n return\n }\n\n node = (selector !== '' ? node.querySelector(selector) : null)\n || node.querySelector('[autofocus][tabindex], [data-autofocus][tabindex]')\n || node.querySelector('[autofocus] [tabindex], [data-autofocus] [tabindex]')\n || node.querySelector('[autofocus], [data-autofocus]')\n || node\n node.focus({ preventScroll: true })\n })\n }\n\n function shake (focusTarget) {\n if (focusTarget && typeof focusTarget.focus === 'function') {\n focusTarget.focus({ preventScroll: true })\n }\n else {\n focus()\n }\n\n emit('shake')\n\n const node = innerRef.value\n\n if (node !== null) {\n node.classList.remove('q-animate--scale')\n node.classList.add('q-animate--scale')\n shakeTimeout !== null && clearTimeout(shakeTimeout)\n shakeTimeout = setTimeout(() => {\n shakeTimeout = null\n if (innerRef.value !== null) {\n node.classList.remove('q-animate--scale')\n // some platforms (like desktop Chrome)\n // require calling focus() again\n focus()\n }\n }, 170)\n }\n }\n\n function onEscapeKey () {\n if (props.seamless !== true) {\n if (props.persistent === true || props.noEscDismiss === true) {\n props.maximized !== true && props.noShake !== true && shake()\n }\n else {\n emit('escapeKey')\n hide()\n }\n }\n }\n\n function cleanup (hiding) {\n if (shakeTimeout !== null) {\n clearTimeout(shakeTimeout)\n shakeTimeout = null\n }\n\n if (hiding === true || showing.value === true) {\n updateMaximized(false)\n\n if (props.seamless !== true) {\n preventBodyScroll(false)\n removeFocusout(onFocusChange)\n removeEscapeKey(onEscapeKey)\n }\n }\n\n if (hiding !== true) {\n refocusTarget = null\n }\n }\n\n function updateMaximized (active) {\n if (active === true) {\n if (isMaximized !== true) {\n maximizedModals < 1 && document.body.classList.add('q-body--dialog')\n maximizedModals++\n\n isMaximized = true\n }\n }\n else if (isMaximized === true) {\n if (maximizedModals < 2) {\n document.body.classList.remove('q-body--dialog')\n }\n\n maximizedModals--\n isMaximized = false\n }\n }\n\n function onAutoClose (e) {\n if (avoidAutoClose !== true) {\n hide(e)\n emit('click', e)\n }\n }\n\n function onBackdropClick (e) {\n if (props.persistent !== true && props.noBackdropDismiss !== true) {\n hide(e)\n }\n else if (props.noShake !== true) {\n shake(e.relatedTarget)\n }\n }\n\n function onFocusChange (evt) {\n // the focus is not in a vue child component\n if (\n props.allowFocusOutside !== true\n && portalIsAccessible.value === true\n && childHasFocus(innerRef.value, evt.target) !== true\n ) {\n focus('[tabindex]:not([tabindex=\"-1\"])')\n }\n }\n\n Object.assign(vm.proxy, {\n // expose public methods\n focus, shake,\n\n // private but needed by QSelect\n __updateRefocusTarget (target) {\n refocusTarget = target || null\n }\n })\n\n onBeforeUnmount(cleanup)\n\n const backdropEvt = $q.platform.is.ios === true || $q.platform.is.safari ? 'onClick' : 'onFocusin'\n\n function renderPortalContent () {\n return h('div', {\n role: 'dialog',\n 'aria-modal': useBackdrop.value === true ? 'true' : 'false',\n ...attrs,\n class: rootClasses.value\n }, [\n h(Transition, {\n name: 'q-transition--fade',\n appear: true\n }, () => (\n useBackdrop.value === true\n ? h('div', {\n class: 'q-dialog__backdrop fixed-full',\n style: transitionStyle.value,\n 'aria-hidden': 'true',\n tabindex: -1,\n [ backdropEvt ]: onBackdropClick\n })\n : null\n )),\n\n h(\n Transition,\n transitionProps.value,\n () => (\n showing.value === true\n ? h('div', {\n ref: innerRef,\n class: classes.value,\n style: transitionStyle.value,\n tabindex: -1,\n ...onEvents.value\n }, hSlot(slots.default))\n : null\n )\n )\n ])\n }\n\n return renderPortal\n }\n})\n","import { h, withDirectives, ref, computed, watch, onMounted, onBeforeUnmount, nextTick, inject, getCurrentInstance } from 'vue'\n\nimport useHistory from '../../composables/private/use-history.js'\nimport useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'\nimport usePreventScroll from '../../composables/private/use-prevent-scroll.js'\nimport useTimeout from '../../composables/private/use-timeout.js'\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { between } from '../../utils/format.js'\nimport { hSlot, hDir } from '../../utils/private/render.js'\nimport { layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nconst duration = 150\n\nexport default createComponent({\n name: 'QDrawer',\n\n inheritAttrs: false,\n\n props: {\n ...useModelToggleProps,\n ...useDarkProps,\n\n side: {\n type: String,\n default: 'left',\n validator: v => [ 'left', 'right' ].includes(v)\n },\n\n width: {\n type: Number,\n default: 300\n },\n\n mini: Boolean,\n miniToOverlay: Boolean,\n miniWidth: {\n type: Number,\n default: 57\n },\n\n breakpoint: {\n type: Number,\n default: 1023\n },\n showIfAbove: Boolean,\n\n behavior: {\n type: String,\n validator: v => [ 'default', 'desktop', 'mobile' ].includes(v),\n default: 'default'\n },\n\n bordered: Boolean,\n elevated: Boolean,\n\n overlay: Boolean,\n persistent: Boolean,\n noSwipeOpen: Boolean,\n noSwipeClose: Boolean,\n noSwipeBackdrop: Boolean\n },\n\n emits: [\n ...useModelToggleEmits,\n 'onLayout', 'miniState'\n ],\n\n setup (props, { slots, emit, attrs }) {\n const vm = getCurrentInstance()\n const { proxy: { $q } } = vm\n\n const isDark = useDark(props, $q)\n const { preventBodyScroll } = usePreventScroll()\n const { registerTimeout, removeTimeout } = useTimeout()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QDrawer needs to be child of QLayout')\n return emptyRenderFn\n }\n\n let lastDesktopState, timerMini = null, layoutTotalWidthWatcher\n\n const belowBreakpoint = ref(\n props.behavior === 'mobile'\n || (props.behavior !== 'desktop' && $layout.totalWidth.value <= props.breakpoint)\n )\n\n const isMini = computed(() =>\n props.mini === true && belowBreakpoint.value !== true\n )\n\n const size = computed(() => (\n isMini.value === true\n ? props.miniWidth\n : props.width\n ))\n\n const showing = ref(\n props.showIfAbove === true && belowBreakpoint.value === false\n ? true\n : props.modelValue === true\n )\n\n const hideOnRouteChange = computed(() =>\n props.persistent !== true\n && (belowBreakpoint.value === true || onScreenOverlay.value === true)\n )\n\n function handleShow (evt, noEvent) {\n addToHistory()\n\n evt !== false && $layout.animate()\n applyPosition(0)\n\n if (belowBreakpoint.value === true) {\n const otherInstance = $layout.instances[ otherSide.value ]\n if (otherInstance !== void 0 && otherInstance.belowBreakpoint === true) {\n otherInstance.hide(false)\n }\n\n applyBackdrop(1)\n $layout.isContainer.value !== true && preventBodyScroll(true)\n }\n else {\n applyBackdrop(0)\n evt !== false && setScrollable(false)\n }\n\n registerTimeout(() => {\n evt !== false && setScrollable(true)\n noEvent !== true && emit('show', evt)\n }, duration)\n }\n\n function handleHide (evt, noEvent) {\n removeFromHistory()\n\n evt !== false && $layout.animate()\n\n applyBackdrop(0)\n applyPosition(stateDirection.value * size.value)\n\n cleanup()\n\n if (noEvent !== true) {\n registerTimeout(() => { emit('hide', evt) }, duration)\n }\n else {\n removeTimeout()\n }\n }\n\n const { show, hide } = useModelToggle({\n showing,\n hideOnRouteChange,\n handleShow,\n handleHide\n })\n\n const { addToHistory, removeFromHistory } = useHistory(showing, hide, hideOnRouteChange)\n\n const instance = {\n belowBreakpoint,\n hide\n }\n\n const rightSide = computed(() => props.side === 'right')\n\n const stateDirection = computed(() =>\n ($q.lang.rtl === true ? -1 : 1) * (rightSide.value === true ? 1 : -1)\n )\n\n const flagBackdropBg = ref(0)\n const flagPanning = ref(false)\n const flagMiniAnimate = ref(false)\n const flagContentPosition = ref( // starting with \"hidden\" for SSR\n size.value * stateDirection.value\n )\n\n const otherSide = computed(() => (rightSide.value === true ? 'left' : 'right'))\n const offset = computed(() => (\n showing.value === true && belowBreakpoint.value === false && props.overlay === false\n ? (props.miniToOverlay === true ? props.miniWidth : size.value)\n : 0\n ))\n\n const fixed = computed(() =>\n props.overlay === true\n || props.miniToOverlay === true\n || $layout.view.value.indexOf(rightSide.value ? 'R' : 'L') > -1\n || ($q.platform.is.ios === true && $layout.isContainer.value === true)\n )\n\n const onLayout = computed(() =>\n props.overlay === false\n && showing.value === true\n && belowBreakpoint.value === false\n )\n\n const onScreenOverlay = computed(() =>\n props.overlay === true\n && showing.value === true\n && belowBreakpoint.value === false\n )\n\n const backdropClass = computed(() =>\n 'fullscreen q-drawer__backdrop'\n + (showing.value === false && flagPanning.value === false ? ' hidden' : '')\n )\n\n const backdropStyle = computed(() => ({\n backgroundColor: `rgba(0,0,0,${ flagBackdropBg.value * 0.4 })`\n }))\n\n const headerSlot = computed(() => (\n rightSide.value === true\n ? $layout.rows.value.top[ 2 ] === 'r'\n : $layout.rows.value.top[ 0 ] === 'l'\n ))\n\n const footerSlot = computed(() => (\n rightSide.value === true\n ? $layout.rows.value.bottom[ 2 ] === 'r'\n : $layout.rows.value.bottom[ 0 ] === 'l'\n ))\n\n const aboveStyle = computed(() => {\n const css = {}\n\n if ($layout.header.space === true && headerSlot.value === false) {\n if (fixed.value === true) {\n css.top = `${ $layout.header.offset }px`\n }\n else if ($layout.header.space === true) {\n css.top = `${ $layout.header.size }px`\n }\n }\n\n if ($layout.footer.space === true && footerSlot.value === false) {\n if (fixed.value === true) {\n css.bottom = `${ $layout.footer.offset }px`\n }\n else if ($layout.footer.space === true) {\n css.bottom = `${ $layout.footer.size }px`\n }\n }\n\n return css\n })\n\n const style = computed(() => {\n const style = {\n width: `${ size.value }px`,\n transform: `translateX(${ flagContentPosition.value }px)`\n }\n\n return belowBreakpoint.value === true\n ? style\n : Object.assign(style, aboveStyle.value)\n })\n\n const contentClass = computed(() =>\n 'q-drawer__content fit '\n + ($layout.isContainer.value !== true ? 'scroll' : 'overflow-auto')\n )\n\n const classes = computed(() =>\n `q-drawer q-drawer--${ props.side }`\n + (flagMiniAnimate.value === true ? ' q-drawer--mini-animate' : '')\n + (props.bordered === true ? ' q-drawer--bordered' : '')\n + (isDark.value === true ? ' q-drawer--dark q-dark' : '')\n + (\n flagPanning.value === true\n ? ' no-transition'\n : (showing.value === true ? '' : ' q-layout--prevent-focus')\n )\n + (\n belowBreakpoint.value === true\n ? ' fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding'\n : ` q-drawer--${ isMini.value === true ? 'mini' : 'standard' }`\n + (fixed.value === true || onLayout.value !== true ? ' fixed' : '')\n + (props.overlay === true || props.miniToOverlay === true ? ' q-drawer--on-top' : '')\n + (headerSlot.value === true ? ' q-drawer--top-padding' : '')\n )\n )\n\n const openDirective = computed(() => {\n // if props.noSwipeOpen !== true\n const dir = $q.lang.rtl === true ? props.side : otherSide.value\n\n return [ [\n TouchPan,\n onOpenPan,\n void 0,\n {\n [ dir ]: true,\n mouse: true\n }\n ] ]\n })\n\n const contentCloseDirective = computed(() => {\n // if belowBreakpoint.value === true && props.noSwipeClose !== true\n const dir = $q.lang.rtl === true ? otherSide.value : props.side\n\n return [ [\n TouchPan,\n onClosePan,\n void 0,\n {\n [ dir ]: true,\n mouse: true\n }\n ] ]\n })\n\n const backdropCloseDirective = computed(() => {\n // if showing.value === true && props.noSwipeBackdrop !== true\n const dir = $q.lang.rtl === true ? otherSide.value : props.side\n\n return [ [\n TouchPan,\n onClosePan,\n void 0,\n {\n [ dir ]: true,\n mouse: true,\n mouseAllDir: true\n }\n ] ]\n })\n\n function updateBelowBreakpoint () {\n updateLocal(belowBreakpoint, (\n props.behavior === 'mobile'\n || (props.behavior !== 'desktop' && $layout.totalWidth.value <= props.breakpoint)\n ))\n }\n\n watch(belowBreakpoint, val => {\n if (val === true) { // from lg to xs\n lastDesktopState = showing.value\n showing.value === true && hide(false)\n }\n else if (\n props.overlay === false\n && props.behavior !== 'mobile'\n && lastDesktopState !== false\n ) { // from xs to lg\n if (showing.value === true) {\n applyPosition(0)\n applyBackdrop(0)\n cleanup()\n }\n else {\n show(false)\n }\n }\n })\n\n watch(() => props.side, (newSide, oldSide) => {\n if ($layout.instances[ oldSide ] === instance) {\n $layout.instances[ oldSide ] = void 0\n $layout[ oldSide ].space = false\n $layout[ oldSide ].offset = 0\n }\n\n $layout.instances[ newSide ] = instance\n $layout[ newSide ].size = size.value\n $layout[ newSide ].space = onLayout.value\n $layout[ newSide ].offset = offset.value\n })\n\n watch($layout.totalWidth, () => {\n if ($layout.isContainer.value === true || document.qScrollPrevented !== true) {\n updateBelowBreakpoint()\n }\n })\n\n watch(\n () => props.behavior + props.breakpoint,\n updateBelowBreakpoint\n )\n\n watch($layout.isContainer, val => {\n showing.value === true && preventBodyScroll(val !== true)\n val === true && updateBelowBreakpoint()\n })\n\n watch($layout.scrollbarWidth, () => {\n applyPosition(showing.value === true ? 0 : void 0)\n })\n\n watch(offset, val => { updateLayout('offset', val) })\n\n watch(onLayout, val => {\n emit('onLayout', val)\n updateLayout('space', val)\n })\n\n watch(rightSide, () => { applyPosition() })\n\n watch(size, val => {\n applyPosition()\n updateSizeOnLayout(props.miniToOverlay, val)\n })\n\n watch(() => props.miniToOverlay, val => {\n updateSizeOnLayout(val, size.value)\n })\n\n watch(() => $q.lang.rtl, () => { applyPosition() })\n\n watch(() => props.mini, () => {\n if (props.modelValue === true) {\n animateMini()\n $layout.animate()\n }\n })\n\n watch(isMini, val => { emit('miniState', val) })\n\n function applyPosition (position) {\n if (position === void 0) {\n nextTick(() => {\n position = showing.value === true ? 0 : size.value\n applyPosition(stateDirection.value * position)\n })\n }\n else {\n if (\n $layout.isContainer.value === true\n && rightSide.value === true\n && (belowBreakpoint.value === true || Math.abs(position) === size.value)\n ) {\n position += stateDirection.value * $layout.scrollbarWidth.value\n }\n\n flagContentPosition.value = position\n }\n }\n\n function applyBackdrop (x) {\n flagBackdropBg.value = x\n }\n\n function setScrollable (v) {\n const action = v === true\n ? 'remove'\n : ($layout.isContainer.value !== true ? 'add' : '')\n\n action !== '' && document.body.classList[ action ]('q-body--drawer-toggle')\n }\n\n function animateMini () {\n timerMini !== null && clearTimeout(timerMini)\n\n if (vm.proxy && vm.proxy.$el) {\n // need to speed it up and apply it immediately,\n // even faster than Vue's nextTick!\n vm.proxy.$el.classList.add('q-drawer--mini-animate')\n }\n\n flagMiniAnimate.value = true\n timerMini = setTimeout(() => {\n timerMini = null\n flagMiniAnimate.value = false\n if (vm && vm.proxy && vm.proxy.$el) {\n vm.proxy.$el.classList.remove('q-drawer--mini-animate')\n }\n }, 150)\n }\n\n function onOpenPan (evt) {\n if (showing.value !== false) {\n // some browsers might capture and trigger this\n // even if Drawer has just been opened (but animation is still pending)\n return\n }\n\n const\n width = size.value,\n position = between(evt.distance.x, 0, width)\n\n if (evt.isFinal === true) {\n const opened = position >= Math.min(75, width)\n\n if (opened === true) {\n show()\n }\n else {\n $layout.animate()\n applyBackdrop(0)\n applyPosition(stateDirection.value * width)\n }\n\n flagPanning.value = false\n return\n }\n\n applyPosition(\n ($q.lang.rtl === true ? rightSide.value !== true : rightSide.value)\n ? Math.max(width - position, 0)\n : Math.min(0, position - width)\n )\n applyBackdrop(\n between(position / width, 0, 1)\n )\n\n if (evt.isFirst === true) {\n flagPanning.value = true\n }\n }\n\n function onClosePan (evt) {\n if (showing.value !== true) {\n // some browsers might capture and trigger this\n // even if Drawer has just been closed (but animation is still pending)\n return\n }\n\n const\n width = size.value,\n dir = evt.direction === props.side,\n position = ($q.lang.rtl === true ? dir !== true : dir)\n ? between(evt.distance.x, 0, width)\n : 0\n\n if (evt.isFinal === true) {\n const opened = Math.abs(position) < Math.min(75, width)\n\n if (opened === true) {\n $layout.animate()\n applyBackdrop(1)\n applyPosition(0)\n }\n else {\n hide()\n }\n\n flagPanning.value = false\n return\n }\n\n applyPosition(stateDirection.value * position)\n applyBackdrop(between(1 - position / width, 0, 1))\n\n if (evt.isFirst === true) {\n flagPanning.value = true\n }\n }\n\n function cleanup () {\n preventBodyScroll(false)\n setScrollable(true)\n }\n\n function updateLayout (prop, val) {\n $layout.update(props.side, prop, val)\n }\n\n function updateLocal (prop, val) {\n if (prop.value !== val) {\n prop.value = val\n }\n }\n\n function updateSizeOnLayout (miniToOverlay, size) {\n updateLayout('size', miniToOverlay === true ? props.miniWidth : size)\n }\n\n $layout.instances[ props.side ] = instance\n updateSizeOnLayout(props.miniToOverlay, size.value)\n updateLayout('space', onLayout.value)\n updateLayout('offset', offset.value)\n\n if (\n props.showIfAbove === true\n && props.modelValue !== true\n && showing.value === true\n && props[ 'onUpdate:modelValue' ] !== void 0\n ) {\n emit('update:modelValue', true)\n }\n\n onMounted(() => {\n emit('onLayout', onLayout.value)\n emit('miniState', isMini.value)\n\n lastDesktopState = props.showIfAbove === true\n\n const fn = () => {\n const action = showing.value === true ? handleShow : handleHide\n action(false, true)\n }\n\n if ($layout.totalWidth.value !== 0) {\n // make sure that all computed properties\n // have been updated before calling handleShow/handleHide()\n nextTick(fn)\n return\n }\n\n layoutTotalWidthWatcher = watch($layout.totalWidth, () => {\n layoutTotalWidthWatcher()\n layoutTotalWidthWatcher = void 0\n\n if (showing.value === false && props.showIfAbove === true && belowBreakpoint.value === false) {\n show(false)\n }\n else {\n fn()\n }\n })\n })\n\n onBeforeUnmount(() => {\n layoutTotalWidthWatcher !== void 0 && layoutTotalWidthWatcher()\n\n if (timerMini !== null) {\n clearTimeout(timerMini)\n timerMini = null\n }\n\n showing.value === true && cleanup()\n\n if ($layout.instances[ props.side ] === instance) {\n $layout.instances[ props.side ] = void 0\n updateLayout('size', 0)\n updateLayout('offset', 0)\n updateLayout('space', false)\n }\n })\n\n return () => {\n const child = []\n\n if (belowBreakpoint.value === true) {\n props.noSwipeOpen === false && child.push(\n withDirectives(\n h('div', {\n key: 'open',\n class: `q-drawer__opener fixed-${ props.side }`,\n 'aria-hidden': 'true'\n }),\n openDirective.value\n )\n )\n\n child.push(\n hDir(\n 'div',\n {\n ref: 'backdrop',\n class: backdropClass.value,\n style: backdropStyle.value,\n 'aria-hidden': 'true',\n onClick: hide\n },\n void 0,\n 'backdrop',\n props.noSwipeBackdrop !== true && showing.value === true,\n () => backdropCloseDirective.value\n )\n )\n }\n\n const mini = isMini.value === true && slots.mini !== void 0\n const content = [\n h('div', {\n ...attrs,\n key: '' + mini, // required otherwise Vue will not diff correctly\n class: [\n contentClass.value,\n attrs.class\n ]\n }, mini === true\n ? slots.mini()\n : hSlot(slots.default)\n )\n ]\n\n if (props.elevated === true && showing.value === true) {\n content.push(\n h('div', {\n class: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n }\n\n child.push(\n hDir(\n 'aside',\n { ref: 'content', class: classes.value, style: style.value },\n content,\n 'contentclose',\n props.noSwipeClose !== true && belowBreakpoint.value === true,\n () => contentCloseDirective.value\n )\n )\n\n return h('div', { class: 'q-drawer-container' }, child)\n }\n }\n})\n","import { h, ref, computed, watch, onBeforeUnmount, inject, getCurrentInstance } from 'vue'\n\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hUniqueSlot } from '../../utils/private/render.js'\nimport { layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QHeader',\n\n props: {\n modelValue: {\n type: Boolean,\n default: true\n },\n reveal: Boolean,\n revealOffset: {\n type: Number,\n default: 250\n },\n bordered: Boolean,\n elevated: Boolean,\n\n heightHint: {\n type: [ String, Number ],\n default: 50\n }\n },\n\n emits: [ 'reveal', 'focusin' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QHeader needs to be child of QLayout')\n return emptyRenderFn\n }\n\n const size = ref(parseInt(props.heightHint, 10))\n const revealed = ref(true)\n\n const fixed = computed(() =>\n props.reveal === true\n || $layout.view.value.indexOf('H') > -1\n || ($q.platform.is.ios && $layout.isContainer.value === true)\n )\n\n const offset = computed(() => {\n if (props.modelValue !== true) {\n return 0\n }\n if (fixed.value === true) {\n return revealed.value === true ? size.value : 0\n }\n const offset = size.value - $layout.scroll.value.position\n return offset > 0 ? offset : 0\n })\n\n const hidden = computed(() => props.modelValue !== true\n || (fixed.value === true && revealed.value !== true)\n )\n\n const revealOnFocus = computed(() =>\n props.modelValue === true && hidden.value === true && props.reveal === true\n )\n\n const classes = computed(() =>\n 'q-header q-layout__section--marginal '\n + (fixed.value === true ? 'fixed' : 'absolute') + '-top'\n + (props.bordered === true ? ' q-header--bordered' : '')\n + (hidden.value === true ? ' q-header--hidden' : '')\n + (props.modelValue !== true ? ' q-layout--prevent-focus' : '')\n )\n\n const style = computed(() => {\n const\n view = $layout.rows.value.top,\n css = {}\n\n if (view[ 0 ] === 'l' && $layout.left.space === true) {\n css[ $q.lang.rtl === true ? 'right' : 'left' ] = `${ $layout.left.size }px`\n }\n if (view[ 2 ] === 'r' && $layout.right.space === true) {\n css[ $q.lang.rtl === true ? 'left' : 'right' ] = `${ $layout.right.size }px`\n }\n\n return css\n })\n\n function updateLayout (prop, val) {\n $layout.update('header', prop, val)\n }\n\n function updateLocal (prop, val) {\n if (prop.value !== val) {\n prop.value = val\n }\n }\n\n function onResize ({ height }) {\n updateLocal(size, height)\n updateLayout('size', height)\n }\n\n function onFocusin (evt) {\n if (revealOnFocus.value === true) {\n updateLocal(revealed, true)\n }\n\n emit('focusin', evt)\n }\n\n watch(() => props.modelValue, val => {\n updateLayout('space', val)\n updateLocal(revealed, true)\n $layout.animate()\n })\n\n watch(offset, val => {\n updateLayout('offset', val)\n })\n\n watch(() => props.reveal, val => {\n val === false && updateLocal(revealed, props.modelValue)\n })\n\n watch(revealed, val => {\n $layout.animate()\n emit('reveal', val)\n })\n\n watch($layout.scroll, scroll => {\n props.reveal === true && updateLocal(revealed,\n scroll.direction === 'up'\n || scroll.position <= props.revealOffset\n || scroll.position - scroll.inflectionPoint < 100\n )\n })\n\n const instance = {}\n\n $layout.instances.header = instance\n props.modelValue === true && updateLayout('size', size.value)\n updateLayout('space', props.modelValue)\n updateLayout('offset', offset.value)\n\n onBeforeUnmount(() => {\n if ($layout.instances.header === instance) {\n $layout.instances.header = void 0\n updateLayout('size', 0)\n updateLayout('offset', 0)\n updateLayout('space', false)\n }\n })\n\n return () => {\n const child = hUniqueSlot(slots.default, [])\n\n props.elevated === true && child.push(\n h('div', {\n class: 'q-layout__shadow absolute-full overflow-hidden no-pointer-events'\n })\n )\n\n child.push(\n h(QResizeObserver, {\n debounce: 0,\n onResize\n })\n )\n\n return h('header', {\n class: classes.value,\n style: style.value,\n onFocusin\n }, child)\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot, hMergeSlot } from '../../utils/private/render.js'\n\nconst defaultViewBox = '0 0 24 24'\n\nconst sameFn = i => i\nconst ionFn = i => `ionicons ${ i }`\n\nconst libMap = {\n 'mdi-': i => `mdi ${ i }`,\n 'icon-': sameFn, // fontawesome equiv\n 'bt-': i => `bt ${ i }`,\n 'eva-': i => `eva ${ i }`,\n 'ion-md': ionFn,\n 'ion-ios': ionFn,\n 'ion-logo': ionFn,\n 'iconfont ': sameFn,\n 'ti-': i => `themify-icon ${ i }`,\n 'bi-': i => `bootstrap-icons ${ i }`\n}\n\nconst matMap = {\n o_: '-outlined',\n r_: '-round',\n s_: '-sharp'\n}\n\nconst symMap = {\n sym_o_: '-outlined',\n sym_r_: '-rounded',\n sym_s_: '-sharp'\n}\n\nconst libRE = new RegExp('^(' + Object.keys(libMap).join('|') + ')')\nconst matRE = new RegExp('^(' + Object.keys(matMap).join('|') + ')')\nconst symRE = new RegExp('^(' + Object.keys(symMap).join('|') + ')')\nconst mRE = /^[Mm]\\s?[-+]?\\.?\\d/\nconst imgRE = /^img:/\nconst svgUseRE = /^svguse:/\nconst ionRE = /^ion-/\nconst faRE = /^(fa-(solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /\n\nexport default createComponent({\n name: 'QIcon',\n\n props: {\n ...useSizeProps,\n\n tag: {\n type: String,\n default: 'i'\n },\n\n name: String,\n color: String,\n left: Boolean,\n right: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n const sizeStyle = useSize(props)\n\n const classes = computed(() =>\n 'q-icon'\n + (props.left === true ? ' on-left' : '') // TODO Qv3: drop this\n + (props.right === true ? ' on-right' : '')\n + (props.color !== void 0 ? ` text-${ props.color }` : '')\n )\n\n const type = computed(() => {\n let cls\n let icon = props.name\n\n if (icon === 'none' || !icon) {\n return { none: true }\n }\n\n if ($q.iconMapFn !== null) {\n const res = $q.iconMapFn(icon)\n if (res !== void 0) {\n if (res.icon !== void 0) {\n icon = res.icon\n if (icon === 'none' || !icon) {\n return { none: true }\n }\n }\n else {\n return {\n cls: res.cls,\n content: res.content !== void 0\n ? res.content\n : ' '\n }\n }\n }\n }\n\n if (mRE.test(icon) === true) {\n const [ def, viewBox = defaultViewBox ] = icon.split('|')\n\n return {\n svg: true,\n viewBox,\n nodes: def.split('&&').map(path => {\n const [ d, style, transform ] = path.split('@@')\n return h('path', { style, d, transform })\n })\n }\n }\n\n if (imgRE.test(icon) === true) {\n return {\n img: true,\n src: icon.substring(4)\n }\n }\n\n if (svgUseRE.test(icon) === true) {\n const [ def, viewBox = defaultViewBox ] = icon.split('|')\n\n return {\n svguse: true,\n src: def.substring(7),\n viewBox\n }\n }\n\n let content = ' '\n const matches = icon.match(libRE)\n\n if (matches !== null) {\n cls = libMap[ matches[ 1 ] ](icon)\n }\n else if (faRE.test(icon) === true) {\n cls = icon\n }\n else if (ionRE.test(icon) === true) {\n cls = `ionicons ion-${ $q.platform.is.ios === true ? 'ios' : 'md' }${ icon.substring(3) }`\n }\n else if (symRE.test(icon) === true) {\n // \"notranslate\" class is for Google Translate\n // to avoid tampering with Material Symbols ligature font\n //\n // Caution: To be able to add suffix to the class name,\n // keep the 'material-symbols' at the end of the string.\n cls = 'notranslate material-symbols'\n\n const matches = icon.match(symRE)\n if (matches !== null) {\n icon = icon.substring(6)\n cls += symMap[ matches[ 1 ] ]\n }\n\n content = icon\n }\n else {\n // \"notranslate\" class is for Google Translate\n // to avoid tampering with Material Icons ligature font\n //\n // Caution: To be able to add suffix to the class name,\n // keep the 'material-icons' at the end of the string.\n cls = 'notranslate material-icons'\n\n const matches = icon.match(matRE)\n if (matches !== null) {\n icon = icon.substring(2)\n cls += matMap[ matches[ 1 ] ]\n }\n\n content = icon\n }\n\n return {\n cls,\n content\n }\n })\n\n return () => {\n const data = {\n class: classes.value,\n style: sizeStyle.value,\n 'aria-hidden': 'true',\n role: 'presentation'\n }\n\n if (type.value.none === true) {\n return h(props.tag, data, hSlot(slots.default))\n }\n\n if (type.value.img === true) {\n return h('span', data, hMergeSlot(slots.default, [\n h('img', { src: type.value.src })\n ]))\n }\n\n if (type.value.svg === true) {\n return h('span', data, hMergeSlot(slots.default, [\n h('svg', {\n viewBox: type.value.viewBox || '0 0 24 24'\n }, type.value.nodes)\n ]))\n }\n\n if (type.value.svguse === true) {\n return h('span', data, hMergeSlot(slots.default, [\n h('svg', {\n viewBox: type.value.viewBox\n }, [\n h('use', { 'xlink:href': type.value.src })\n ])\n ]))\n }\n\n if (type.value.cls !== void 0) {\n data.class += ' ' + type.value.cls\n }\n\n return h(props.tag, data, hMergeSlot(slots.default, [\n type.value.content\n ]))\n }\n }\n})\n","import { computed } from 'vue'\n\nexport const useRatioProps = {\n ratio: [ String, Number ]\n}\n\nexport default function (props, naturalRatio) {\n // return ratioStyle\n return computed(() => {\n const ratio = Number(\n props.ratio || (naturalRatio !== void 0 ? naturalRatio.value : void 0)\n )\n\n return isNaN(ratio) !== true && ratio > 0\n ? { paddingBottom: `${ 100 / ratio }%` }\n : null\n })\n}\n","import { h, ref, computed, watch, onMounted, onBeforeUnmount, Transition } from 'vue'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nconst defaultRatio = 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 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\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\n let loadTimer = null, isDestroyed = false\n\n const images = [\n ref(null),\n ref(getPlaceholderSrc())\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 )\n\n const imgStyle = computed(() => ({\n ...props.imgStyle,\n objectFit: props.fit,\n objectPosition: props.position\n }))\n\n watch(() => getCurrentSrc(), addImage)\n\n function getCurrentSrc () {\n return props.src || props.srcset || props.sizes\n ? {\n src: props.src,\n srcset: props.srcset,\n sizes: props.sizes\n }\n : null\n }\n\n function getPlaceholderSrc () {\n return props.placeholderSrc !== void 0\n ? { src: props.placeholderSrc }\n : null\n }\n\n function addImage (imgProps) {\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n\n hasError.value = false\n\n if (imgProps === null) {\n isLoading.value = false\n images[ position.value ^ 1 ].value = getPlaceholderSrc()\n }\n else {\n isLoading.value = true\n }\n\n images[ position.value ].value = imgProps\n }\n\n function onLoad ({ target }) {\n if (isDestroyed === true) { return }\n\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n\n naturalRatio.value = target.naturalHeight === 0\n ? 0.5\n : target.naturalWidth / target.naturalHeight\n\n waitForCompleteness(target, 1)\n }\n\n function waitForCompleteness (target, count) {\n // protect against running forever\n if (isDestroyed === true || count === 1000) { return }\n\n if (target.complete === true) {\n onReady(target)\n }\n else {\n loadTimer = setTimeout(() => {\n loadTimer = null\n waitForCompleteness(target, count + 1)\n }, 50)\n }\n }\n\n function onReady (img) {\n if (isDestroyed === true) { return }\n\n position.value = position.value ^ 1\n images[ position.value ].value = null\n isLoading.value = false\n hasError.value = false\n emit('load', img.currentSrc || img.src)\n }\n\n function onError (err) {\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\n\n isLoading.value = false\n hasError.value = true\n images[ position.value ].value = null\n images[ position.value ^ 1 ].value = getPlaceholderSrc()\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 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 data.class += ' q-img__image--waiting'\n Object.assign(data, { onLoad, onError })\n }\n else {\n data.class += ' q-img__image--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 !== true) {\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 if (__QUASAR_SSR_CLIENT__) {\n onMounted(() => {\n addImage(getCurrentSrc())\n })\n }\n else {\n addImage(getCurrentSrc())\n }\n\n onBeforeUnmount(() => {\n isDestroyed = true\n\n if (loadTimer !== null) {\n clearTimeout(loadTimer)\n loadTimer = null\n }\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 (hasError.value !== true) {\n if (images[ 0 ].value !== null) {\n content.push(getImage(0))\n }\n\n if (images[ 1 ].value !== null) {\n content.push(getImage(1))\n }\n }\n\n content.push(\n h(Transition, { name: 'q-transition--fade' }, getContent)\n )\n\n return h('div', {\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, nextTick } from 'vue'\n\nimport { shouldIgnoreKey } from '../../utils/private/key-composition.js'\n\n// leave NAMED_MASKS at top of file (code referenced from docs)\nconst NAMED_MASKS = {\n date: '####/##/##',\n datetime: '####/##/## ##:##',\n time: '##:##',\n fulltime: '##:##:##',\n phone: '(###) ### - ####',\n card: '#### #### #### ####'\n}\n\nconst TOKENS = {\n '#': { pattern: '[\\\\d]', negate: '[^\\\\d]' },\n\n S: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]' },\n N: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]' },\n\n A: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n a: { pattern: '[a-zA-Z]', negate: '[^a-zA-Z]', transform: v => v.toLocaleLowerCase() },\n\n X: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleUpperCase() },\n x: { pattern: '[0-9a-zA-Z]', negate: '[^0-9a-zA-Z]', transform: v => v.toLocaleLowerCase() }\n}\n\nconst KEYS = Object.keys(TOKENS)\nKEYS.forEach(key => {\n TOKENS[ key ].regex = new RegExp(TOKENS[ key ].pattern)\n})\n\nconst\n tokenRegexMask = new RegExp('\\\\\\\\([^.*+?^${}()|([\\\\]])|([.*+?^${}()|[\\\\]])|([' + KEYS.join('') + '])|(.)', 'g'),\n escRegex = /[.*+?^${}()|[\\]\\\\]/g\n\nconst MARKER = String.fromCharCode(1)\n\nexport const useMaskProps = {\n mask: String,\n reverseFillMask: Boolean,\n fillMask: [ Boolean, String ],\n unmaskedValue: Boolean\n}\n\nexport default function (props, emit, emitValue, inputRef) {\n let maskMarked, maskReplaced, computedMask, computedUnmask\n\n const hasMask = ref(null)\n const innerValue = ref(getInitialMaskedValue())\n\n function getIsTypeText () {\n return props.autogrow === true\n || [ 'textarea', 'text', 'search', 'url', 'tel', 'password' ].includes(props.type)\n }\n\n watch(() => props.type + props.autogrow, updateMaskInternals)\n\n watch(() => props.mask, v => {\n if (v !== void 0) {\n updateMaskValue(innerValue.value, true)\n }\n else {\n const val = unmaskValue(innerValue.value)\n updateMaskInternals()\n props.modelValue !== val && emit('update:modelValue', val)\n }\n })\n\n watch(() => props.fillMask + props.reverseFillMask, () => {\n hasMask.value === true && updateMaskValue(innerValue.value, true)\n })\n\n watch(() => props.unmaskedValue, () => {\n hasMask.value === true && updateMaskValue(innerValue.value)\n })\n\n function getInitialMaskedValue () {\n updateMaskInternals()\n\n if (hasMask.value === true) {\n const masked = maskValue(unmaskValue(props.modelValue))\n\n return props.fillMask !== false\n ? fillWithMask(masked)\n : masked\n }\n\n return props.modelValue\n }\n\n function getPaddedMaskMarked (size) {\n if (size < maskMarked.length) {\n return maskMarked.slice(-size)\n }\n\n let pad = '', localMaskMarked = maskMarked\n const padPos = localMaskMarked.indexOf(MARKER)\n\n if (padPos > -1) {\n for (let i = size - localMaskMarked.length; i > 0; i--) {\n pad += MARKER\n }\n\n localMaskMarked = localMaskMarked.slice(0, padPos) + pad + localMaskMarked.slice(padPos)\n }\n\n return localMaskMarked\n }\n\n function updateMaskInternals () {\n hasMask.value = props.mask !== void 0\n && props.mask.length > 0\n && getIsTypeText()\n\n if (hasMask.value === false) {\n computedUnmask = void 0\n maskMarked = ''\n maskReplaced = ''\n return\n }\n\n const\n localComputedMask = NAMED_MASKS[ props.mask ] === void 0\n ? props.mask\n : NAMED_MASKS[ props.mask ],\n fillChar = typeof props.fillMask === 'string' && props.fillMask.length > 0\n ? props.fillMask.slice(0, 1)\n : '_',\n fillCharEscaped = fillChar.replace(escRegex, '\\\\$&'),\n unmask = [],\n extract = [],\n mask = []\n\n let\n firstMatch = props.reverseFillMask === true,\n unmaskChar = '',\n negateChar = ''\n\n localComputedMask.replace(tokenRegexMask, (_, char1, esc, token, char2) => {\n if (token !== void 0) {\n const c = TOKENS[ token ]\n mask.push(c)\n negateChar = c.negate\n if (firstMatch === true) {\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + '+)?(?:' + negateChar + '+)?(' + c.pattern + '+)?')\n firstMatch = false\n }\n extract.push('(?:' + negateChar + '+)?(' + c.pattern + ')?')\n }\n else if (esc !== void 0) {\n unmaskChar = '\\\\' + (esc === '\\\\' ? '' : esc)\n mask.push(esc)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n else {\n const c = char1 !== void 0 ? char1 : char2\n unmaskChar = c === '\\\\' ? '\\\\\\\\\\\\\\\\' : c.replace(escRegex, '\\\\\\\\$&')\n mask.push(c)\n unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')\n }\n })\n\n const\n unmaskMatcher = new RegExp(\n '^'\n + unmask.join('')\n + '(' + (unmaskChar === '' ? '.' : '[^' + unmaskChar + ']') + '+)?'\n + (unmaskChar === '' ? '' : '[' + unmaskChar + ']*') + '$'\n ),\n extractLast = extract.length - 1,\n extractMatcher = extract.map((re, index) => {\n if (index === 0 && props.reverseFillMask === true) {\n return new RegExp('^' + fillCharEscaped + '*' + re)\n }\n else if (index === extractLast) {\n return new RegExp(\n '^' + re\n + '(' + (negateChar === '' ? '.' : negateChar) + '+)?'\n + (props.reverseFillMask === true ? '$' : fillCharEscaped + '*')\n )\n }\n\n return new RegExp('^' + re)\n })\n\n computedMask = mask\n computedUnmask = val => {\n const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length))\n if (unmaskMatch !== null) {\n val = unmaskMatch.slice(1).join('')\n }\n\n const\n extractMatch = [],\n extractMatcherLength = extractMatcher.length\n\n for (let i = 0, str = val; i < extractMatcherLength; i++) {\n const m = extractMatcher[ i ].exec(str)\n\n if (m === null) {\n break\n }\n\n str = str.slice(m.shift().length)\n extractMatch.push(...m)\n }\n if (extractMatch.length > 0) {\n return extractMatch.join('')\n }\n\n return val\n }\n maskMarked = mask.map(v => (typeof v === 'string' ? v : MARKER)).join('')\n maskReplaced = maskMarked.split(MARKER).join(fillChar)\n }\n\n function updateMaskValue (rawVal, updateMaskInternalsFlag, inputType) {\n const\n inp = inputRef.value,\n end = inp.selectionEnd,\n endReverse = inp.value.length - end,\n unmasked = unmaskValue(rawVal)\n\n // Update here so unmask uses the original fillChar\n updateMaskInternalsFlag === true && updateMaskInternals()\n\n const\n preMasked = maskValue(unmasked),\n masked = props.fillMask !== false\n ? fillWithMask(preMasked)\n : preMasked,\n changed = innerValue.value !== masked\n\n // We want to avoid \"flickering\" so we set value immediately\n inp.value !== masked && (inp.value = masked)\n\n changed === true && (innerValue.value = masked)\n\n document.activeElement === inp && nextTick(() => {\n if (masked === maskReplaced) {\n const cursor = props.reverseFillMask === true ? maskReplaced.length : 0\n inp.setSelectionRange(cursor, cursor, 'forward')\n\n return\n }\n\n if (inputType === 'insertFromPaste' && props.reverseFillMask !== true) {\n const cursor = end - 1\n moveCursor.right(inp, cursor, cursor)\n\n return\n }\n\n if ([ 'deleteContentBackward', 'deleteContentForward' ].indexOf(inputType) > -1) {\n const cursor = props.reverseFillMask === true\n ? (\n end === 0\n ? (masked.length > preMasked.length ? 1 : 0)\n : Math.max(0, masked.length - (masked === maskReplaced ? 0 : Math.min(preMasked.length, endReverse) + 1)) + 1\n )\n : end\n\n inp.setSelectionRange(cursor, cursor, 'forward')\n return\n }\n\n if (props.reverseFillMask === true) {\n if (changed === true) {\n const cursor = Math.max(0, masked.length - (masked === maskReplaced ? 0 : Math.min(preMasked.length, endReverse + 1)))\n\n if (cursor === 1 && end === 1) {\n inp.setSelectionRange(cursor, cursor, 'forward')\n }\n else {\n moveCursor.rightReverse(inp, cursor, cursor)\n }\n }\n else {\n const cursor = masked.length - endReverse\n inp.setSelectionRange(cursor, cursor, 'backward')\n }\n }\n else {\n if (changed === true) {\n const cursor = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, end) - 1)\n moveCursor.right(inp, cursor, cursor)\n }\n else {\n const cursor = end - 1\n moveCursor.right(inp, cursor, cursor)\n }\n }\n })\n\n const val = props.unmaskedValue === true\n ? unmaskValue(masked)\n : masked\n\n String(props.modelValue) !== val && emitValue(val, true)\n }\n\n function moveCursorForPaste (inp, start, end) {\n const preMasked = maskValue(unmaskValue(inp.value))\n\n start = Math.max(0, maskMarked.indexOf(MARKER), Math.min(preMasked.length, start))\n\n inp.setSelectionRange(start, end, 'forward')\n }\n\n const moveCursor = {\n left (inp, start, end, selection) {\n const noMarkBefore = maskMarked.slice(start - 1).indexOf(MARKER) === -1\n let i = Math.max(0, start - 1)\n\n for (; i >= 0; i--) {\n if (maskMarked[ i ] === MARKER) {\n start = i\n noMarkBefore === true && start++\n break\n }\n }\n\n if (\n i < 0\n && maskMarked[ start ] !== void 0\n && maskMarked[ start ] !== MARKER\n ) {\n return moveCursor.right(inp, 0, 0)\n }\n\n start >= 0 && inp.setSelectionRange(\n start,\n selection === true ? end : start, 'backward'\n )\n },\n\n right (inp, start, end, selection) {\n const limit = inp.value.length\n let i = Math.min(limit, end + 1)\n\n for (; i <= limit; i++) {\n if (maskMarked[ i ] === MARKER) {\n end = i\n break\n }\n else if (maskMarked[ i - 1 ] === MARKER) {\n end = i\n }\n }\n\n if (\n i > limit\n && maskMarked[ end - 1 ] !== void 0\n && maskMarked[ end - 1 ] !== MARKER\n ) {\n return moveCursor.left(inp, limit, limit)\n }\n\n inp.setSelectionRange(selection ? start : end, end, 'forward')\n },\n\n leftReverse (inp, start, end, selection) {\n const\n localMaskMarked = getPaddedMaskMarked(inp.value.length)\n let i = Math.max(0, start - 1)\n\n for (; i >= 0; i--) {\n if (localMaskMarked[ i - 1 ] === MARKER) {\n start = i\n break\n }\n else if (localMaskMarked[ i ] === MARKER) {\n start = i\n if (i === 0) {\n break\n }\n }\n }\n\n if (\n i < 0\n && localMaskMarked[ start ] !== void 0\n && localMaskMarked[ start ] !== MARKER\n ) {\n return moveCursor.rightReverse(inp, 0, 0)\n }\n\n start >= 0 && inp.setSelectionRange(\n start,\n selection === true ? end : start, 'backward'\n )\n },\n\n rightReverse (inp, start, end, selection) {\n const\n limit = inp.value.length,\n localMaskMarked = getPaddedMaskMarked(limit),\n noMarkBefore = localMaskMarked.slice(0, end + 1).indexOf(MARKER) === -1\n let i = Math.min(limit, end + 1)\n\n for (; i <= limit; i++) {\n if (localMaskMarked[ i - 1 ] === MARKER) {\n end = i\n end > 0 && noMarkBefore === true && end--\n break\n }\n }\n\n if (\n i > limit\n && localMaskMarked[ end - 1 ] !== void 0\n && localMaskMarked[ end - 1 ] !== MARKER\n ) {\n return moveCursor.leftReverse(inp, limit, limit)\n }\n\n inp.setSelectionRange(selection === true ? start : end, end, 'forward')\n }\n }\n\n function onMaskedKeydown (e) {\n emit('keydown', e)\n\n if (shouldIgnoreKey(e) === true) {\n return\n }\n\n const\n inp = inputRef.value,\n start = inp.selectionStart,\n end = inp.selectionEnd\n\n if (e.keyCode === 37 || e.keyCode === 39) { // Left / Right\n const fn = moveCursor[ (e.keyCode === 39 ? 'right' : 'left') + (props.reverseFillMask === true ? 'Reverse' : '') ]\n\n e.preventDefault()\n fn(inp, start, end, e.shiftKey)\n }\n else if (\n e.keyCode === 8 // Backspace\n && props.reverseFillMask !== true\n && start === end\n ) {\n moveCursor.left(inp, start, end, true)\n }\n else if (\n e.keyCode === 46 // Delete\n && props.reverseFillMask === true\n && start === end\n ) {\n moveCursor.rightReverse(inp, start, end, true)\n }\n }\n\n function maskValue (val) {\n if (val === void 0 || val === null || val === '') { return '' }\n\n if (props.reverseFillMask === true) {\n return maskValueReverse(val)\n }\n\n const mask = computedMask\n\n let valIndex = 0, output = ''\n\n for (let maskIndex = 0; maskIndex < mask.length; maskIndex++) {\n const\n valChar = val[ valIndex ],\n maskDef = mask[ maskIndex ]\n\n if (typeof maskDef === 'string') {\n output += maskDef\n valChar === maskDef && valIndex++\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n output += maskDef.transform !== void 0\n ? maskDef.transform(valChar)\n : valChar\n valIndex++\n }\n else {\n return output\n }\n }\n\n return output\n }\n\n function maskValueReverse (val) {\n const\n mask = computedMask,\n firstTokenIndex = maskMarked.indexOf(MARKER)\n\n let valIndex = val.length - 1, output = ''\n\n for (let maskIndex = mask.length - 1; maskIndex >= 0 && valIndex > -1; maskIndex--) {\n const maskDef = mask[ maskIndex ]\n\n let valChar = val[ valIndex ]\n\n if (typeof maskDef === 'string') {\n output = maskDef + output\n valChar === maskDef && valIndex--\n }\n else if (valChar !== void 0 && maskDef.regex.test(valChar)) {\n do {\n output = (maskDef.transform !== void 0 ? maskDef.transform(valChar) : valChar) + output\n valIndex--\n valChar = val[ valIndex ]\n // eslint-disable-next-line no-unmodified-loop-condition\n } while (firstTokenIndex === maskIndex && valChar !== void 0 && maskDef.regex.test(valChar))\n }\n else {\n return output\n }\n }\n\n return output\n }\n\n function unmaskValue (val) {\n return typeof val !== 'string' || computedUnmask === void 0\n ? (typeof val === 'number' ? computedUnmask('' + val) : val)\n : computedUnmask(val)\n }\n\n function fillWithMask (val) {\n if (maskReplaced.length - val.length <= 0) {\n return val\n }\n\n return props.reverseFillMask === true && val.length > 0\n ? maskReplaced.slice(0, -val.length) + val\n : val + maskReplaced.slice(val.length)\n }\n\n return {\n innerValue,\n hasMask,\n moveCursorForPaste,\n updateMaskValue,\n onMaskedKeydown\n }\n}\n","import { computed } from 'vue'\n\nexport default function (props, typeGuard) {\n function getFormDomProps () {\n const model = props.modelValue\n\n try {\n const dt = 'DataTransfer' in window\n ? new DataTransfer()\n : ('ClipboardEvent' in window\n ? new ClipboardEvent('').clipboardData\n : void 0\n )\n\n if (Object(model) === model) {\n ('length' in model\n ? Array.from(model)\n : [ model ]\n ).forEach(file => {\n dt.items.add(file)\n })\n }\n\n return {\n files: dt.files\n }\n }\n catch (e) {\n return {\n files: void 0\n }\n }\n }\n\n return typeGuard === true\n ? computed(() => {\n if (props.type !== 'file') {\n return\n }\n\n return getFormDomProps()\n })\n : computed(getFormDomProps)\n}\n","import { h, ref, computed, watch, onBeforeUnmount, onMounted, nextTick, getCurrentInstance } from 'vue'\n\nimport useField, { useFieldState, useFieldProps, useFieldEmits, fieldValueIsFilled } from '../../composables/private/use-field.js'\nimport useMask, { useMaskProps } from './use-mask.js'\nimport { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'\nimport useFileFormDomProps from '../../composables/private/use-file-dom-props.js'\nimport useKeyComposition from '../../composables/private/use-key-composition.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { stop } from '../../utils/event.js'\nimport { addFocusFn } from '../../utils/private/focus-manager.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nexport default createComponent({\n name: 'QInput',\n\n inheritAttrs: false,\n\n props: {\n ...useFieldProps,\n ...useMaskProps,\n ...useFormProps,\n\n modelValue: { required: false },\n\n shadowText: String,\n\n type: {\n type: String,\n default: 'text'\n },\n\n debounce: [ String, Number ],\n\n autogrow: Boolean, // makes a textarea\n\n inputClass: [ Array, String, Object ],\n inputStyle: [ Array, String, Object ]\n },\n\n emits: [\n ...useFieldEmits,\n 'paste', 'change',\n 'keydown', 'animationend'\n ],\n\n setup (props, { emit, attrs }) {\n const { proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const temp = {}\n let emitCachedValue = NaN, typedNumber, stopValueWatcher, emitTimer = null, emitValueFn\n\n const inputRef = ref(null)\n const nameProp = useFormInputNameAttr(props)\n\n const {\n innerValue,\n hasMask,\n moveCursorForPaste,\n updateMaskValue,\n onMaskedKeydown\n } = useMask(props, emit, emitValue, inputRef)\n\n const formDomProps = useFileFormDomProps(props, /* type guard */ true)\n const hasValue = computed(() => fieldValueIsFilled(innerValue.value))\n\n const onComposition = useKeyComposition(onInput)\n\n const state = useFieldState()\n\n const isTextarea = computed(() =>\n props.type === 'textarea' || props.autogrow === true\n )\n\n const isTypeText = computed(() =>\n isTextarea.value === true\n || [ 'text', 'search', 'url', 'tel', 'password' ].includes(props.type)\n )\n\n const onEvents = computed(() => {\n const evt = {\n ...state.splitAttrs.listeners.value,\n onInput,\n onPaste,\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n onChange,\n onBlur: onFinishEditing,\n onFocus: stop\n }\n\n evt.onCompositionstart = evt.onCompositionupdate = evt.onCompositionend = onComposition\n\n if (hasMask.value === true) {\n evt.onKeydown = onMaskedKeydown\n }\n\n if (props.autogrow === true) {\n evt.onAnimationend = onAnimationend\n }\n\n return evt\n })\n\n const inputAttrs = computed(() => {\n const attrs = {\n tabindex: 0,\n 'data-autofocus': props.autofocus === true || void 0,\n rows: props.type === 'textarea' ? 6 : void 0,\n 'aria-label': props.label,\n name: nameProp.value,\n ...state.splitAttrs.attributes.value,\n id: state.targetUid.value,\n maxlength: props.maxlength,\n disabled: props.disable === true,\n readonly: props.readonly === true\n }\n\n if (isTextarea.value === false) {\n attrs.type = props.type\n }\n\n if (props.autogrow === true) {\n attrs.rows = 1\n }\n\n return attrs\n })\n\n // some browsers lose the native input value\n // so we need to reattach it dynamically\n // (like type=\"password\" <-> type=\"text\"; see #12078)\n watch(() => props.type, () => {\n if (inputRef.value) {\n inputRef.value.value = props.modelValue\n }\n })\n\n watch(() => props.modelValue, v => {\n if (hasMask.value === true) {\n if (stopValueWatcher === true) {\n stopValueWatcher = false\n\n if (String(v) === emitCachedValue) {\n return\n }\n }\n\n updateMaskValue(v)\n }\n else if (innerValue.value !== v) {\n innerValue.value = v\n\n if (\n props.type === 'number'\n && temp.hasOwnProperty('value') === true\n ) {\n if (typedNumber === true) {\n typedNumber = false\n }\n else {\n delete temp.value\n }\n }\n }\n\n // textarea only\n props.autogrow === true && nextTick(adjustHeight)\n })\n\n watch(() => props.autogrow, val => {\n // textarea only\n if (val === true) {\n nextTick(adjustHeight)\n }\n // if it has a number of rows set respect it\n else if (inputRef.value !== null && attrs.rows > 0) {\n inputRef.value.style.height = 'auto'\n }\n })\n\n watch(() => props.dense, () => {\n props.autogrow === true && nextTick(adjustHeight)\n })\n\n function focus () {\n addFocusFn(() => {\n const el = document.activeElement\n if (\n inputRef.value !== null\n && inputRef.value !== el\n && (el === null || el.id !== state.targetUid.value)\n ) {\n inputRef.value.focus({ preventScroll: true })\n }\n })\n }\n\n function select () {\n inputRef.value !== null && inputRef.value.select()\n }\n\n function onPaste (e) {\n if (hasMask.value === true && props.reverseFillMask !== true) {\n const inp = e.target\n moveCursorForPaste(inp, inp.selectionStart, inp.selectionEnd)\n }\n\n emit('paste', e)\n }\n\n function onInput (e) {\n if (!e || !e.target) {\n return\n }\n\n if (props.type === 'file') {\n emit('update:modelValue', e.target.files)\n return\n }\n\n const val = e.target.value\n\n if (e.target.qComposing === true) {\n temp.value = val\n\n return\n }\n\n if (hasMask.value === true) {\n updateMaskValue(val, false, e.inputType)\n }\n else {\n emitValue(val)\n\n if (isTypeText.value === true && e.target === document.activeElement) {\n const { selectionStart, selectionEnd } = e.target\n\n if (selectionStart !== void 0 && selectionEnd !== void 0) {\n nextTick(() => {\n if (e.target === document.activeElement && val.indexOf(e.target.value) === 0) {\n e.target.setSelectionRange(selectionStart, selectionEnd)\n }\n })\n }\n }\n }\n\n // we need to trigger it immediately too,\n // to avoid \"flickering\"\n props.autogrow === true && adjustHeight()\n }\n\n function onAnimationend (e) {\n emit('animationend', e)\n adjustHeight()\n }\n\n function emitValue (val, stopWatcher) {\n emitValueFn = () => {\n emitTimer = null\n\n if (\n props.type !== 'number'\n && temp.hasOwnProperty('value') === true\n ) {\n delete temp.value\n }\n\n if (props.modelValue !== val && emitCachedValue !== val) {\n emitCachedValue = val\n\n stopWatcher === true && (stopValueWatcher = true)\n emit('update:modelValue', val)\n\n nextTick(() => {\n emitCachedValue === val && (emitCachedValue = NaN)\n })\n }\n\n emitValueFn = void 0\n }\n\n if (props.type === 'number') {\n typedNumber = true\n temp.value = val\n }\n\n if (props.debounce !== void 0) {\n emitTimer !== null && clearTimeout(emitTimer)\n temp.value = val\n emitTimer = setTimeout(emitValueFn, props.debounce)\n }\n else {\n emitValueFn()\n }\n }\n\n // textarea only\n function adjustHeight () {\n requestAnimationFrame(() => {\n const inp = inputRef.value\n if (inp !== null) {\n const parentStyle = inp.parentNode.style\n const { overflow } = inp.style\n\n // reset height of textarea to a small size to detect the real height\n // but keep the total control size the same\n // Firefox rulez #14263, #14344\n $q.platform.is.firefox !== true && (inp.style.overflow = 'hidden')\n parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px'\n inp.style.height = '1px'\n\n inp.style.height = inp.scrollHeight + 'px'\n inp.style.overflow = overflow\n parentStyle.marginBottom = ''\n }\n })\n }\n\n function onChange (e) {\n onComposition(e)\n\n if (emitTimer !== null) {\n clearTimeout(emitTimer)\n emitTimer = null\n }\n\n emitValueFn !== void 0 && emitValueFn()\n\n emit('change', e.target.value)\n }\n\n function onFinishEditing (e) {\n e !== void 0 && stop(e)\n\n if (emitTimer !== null) {\n clearTimeout(emitTimer)\n emitTimer = null\n }\n\n emitValueFn !== void 0 && emitValueFn()\n\n typedNumber = false\n stopValueWatcher = false\n delete temp.value\n\n // we need to use setTimeout instead of this.$nextTick\n // to avoid a bug where focusout is not emitted for type date/time/week/...\n props.type !== 'file' && setTimeout(() => {\n if (inputRef.value !== null) {\n inputRef.value.value = innerValue.value !== void 0 ? innerValue.value : ''\n }\n })\n }\n\n function getCurValue () {\n return temp.hasOwnProperty('value') === true\n ? temp.value\n : (innerValue.value !== void 0 ? innerValue.value : '')\n }\n\n onBeforeUnmount(() => {\n onFinishEditing()\n })\n\n onMounted(() => {\n // textarea only\n props.autogrow === true && adjustHeight()\n })\n\n Object.assign(state, {\n innerValue,\n\n fieldClass: computed(() =>\n `q-${ isTextarea.value === true ? 'textarea' : 'input' }`\n + (props.autogrow === true ? ' q-textarea--autogrow' : '')\n ),\n\n hasShadow: computed(() =>\n props.type !== 'file'\n && typeof props.shadowText === 'string'\n && props.shadowText.length > 0\n ),\n\n inputRef,\n\n emitValue,\n\n hasValue,\n\n floatingLabel: computed(() =>\n hasValue.value === true\n || fieldValueIsFilled(props.displayValue)\n ),\n\n getControl: () => {\n return h(isTextarea.value === true ? 'textarea' : 'input', {\n ref: inputRef,\n class: [\n 'q-field__native q-placeholder',\n props.inputClass\n ],\n style: props.inputStyle,\n ...inputAttrs.value,\n ...onEvents.value,\n ...(\n props.type !== 'file'\n ? { value: getCurValue() }\n : formDomProps.value\n )\n })\n },\n\n getShadowControl: () => {\n return h('div', {\n class: 'q-field__native q-field__shadow absolute-bottom no-pointer-events'\n + (isTextarea.value === true ? '' : ' text-no-wrap')\n }, [\n h('span', { class: 'invisible' }, getCurValue()),\n h('span', props.shadowText)\n ])\n }\n })\n\n const renderFn = useField(state)\n\n // expose public methods\n Object.assign(proxy, {\n focus,\n select,\n getNativeElement: () => inputRef.value // deprecated\n })\n\n injectProp(proxy, 'nativeEl', () => inputRef.value)\n\n return renderFn\n }\n})\n","import { h, ref, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useRouterLink, { useRouterLinkProps } from '../../composables/private/use-router-link.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hUniqueSlot } from '../../utils/private/render.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\n\nexport default createComponent({\n name: 'QItem',\n\n props: {\n ...useDarkProps,\n ...useRouterLinkProps,\n\n tag: {\n type: String,\n default: 'div'\n },\n\n active: {\n type: Boolean,\n default: null\n },\n\n clickable: Boolean,\n dense: Boolean,\n insetLevel: Number,\n\n tabindex: [ String, Number ],\n\n focused: Boolean,\n manualFocus: Boolean\n },\n\n emits: [ 'click', 'keyup' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const isDark = useDark(props, $q)\n const { hasLink, linkAttrs, linkClass, linkTag, navigateOnClick } = useRouterLink()\n\n const rootRef = ref(null)\n const blurTargetRef = ref(null)\n\n const isActionable = computed(() =>\n props.clickable === true\n || hasLink.value === true\n || props.tag === 'label'\n )\n\n const isClickable = computed(() =>\n props.disable !== true && isActionable.value === true\n )\n\n const classes = computed(() =>\n 'q-item q-item-type row no-wrap'\n + (props.dense === true ? ' q-item--dense' : '')\n + (isDark.value === true ? ' q-item--dark' : '')\n + (\n hasLink.value === true && props.active === null\n ? linkClass.value\n : (\n props.active === true\n ? ` q-item--active${ props.activeClass !== void 0 ? ` ${ props.activeClass }` : '' }`\n : ''\n )\n )\n + (props.disable === true ? ' disabled' : '')\n + (\n isClickable.value === true\n ? ' q-item--clickable q-link cursor-pointer '\n + (props.manualFocus === true ? 'q-manual-focusable' : 'q-focusable q-hoverable')\n + (props.focused === true ? ' q-manual-focusable--focused' : '')\n : ''\n )\n )\n\n const style = computed(() => {\n if (props.insetLevel === void 0) {\n return null\n }\n\n const dir = $q.lang.rtl === true ? 'Right' : 'Left'\n return {\n [ 'padding' + dir ]: (16 + props.insetLevel * 56) + 'px'\n }\n })\n\n function onClick (e) {\n if (isClickable.value === true) {\n if (blurTargetRef.value !== null) {\n if (e.qKeyEvent !== true && document.activeElement === rootRef.value) {\n blurTargetRef.value.focus()\n }\n else if (document.activeElement === blurTargetRef.value) {\n rootRef.value.focus()\n }\n }\n\n navigateOnClick(e)\n }\n }\n\n function onKeyup (e) {\n if (isClickable.value === true && isKeyCode(e, 13) === true) {\n stopAndPrevent(e)\n\n // for ripple\n e.qKeyEvent = true\n\n // for click trigger\n const evt = new MouseEvent('click', e)\n evt.qKeyEvent = true\n rootRef.value.dispatchEvent(evt)\n }\n\n emit('keyup', e)\n }\n\n function getContent () {\n const child = hUniqueSlot(slots.default, [])\n\n isClickable.value === true && child.unshift(\n h('div', { class: 'q-focus-helper', tabindex: -1, ref: blurTargetRef })\n )\n\n return child\n }\n\n return () => {\n const data = {\n ref: rootRef,\n class: classes.value,\n style: style.value,\n role: 'listitem',\n onClick,\n onKeyup\n }\n\n if (isClickable.value === true) {\n data.tabindex = props.tabindex || '0'\n Object.assign(data, linkAttrs.value)\n }\n else if (isActionable.value === true) {\n data[ 'aria-disabled' ] = 'true'\n }\n\n return h(\n linkTag.value,\n data,\n getContent()\n )\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QList',\n\n props: {\n ...useDarkProps,\n\n bordered: Boolean,\n dense: Boolean,\n separator: Boolean,\n padding: Boolean,\n\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n setup (props, { slots }) {\n const vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$q)\n\n const classes = computed(() =>\n 'q-list'\n + (props.bordered === true ? ' q-list--bordered' : '')\n + (props.dense === true ? ' q-list--dense' : '')\n + (props.separator === true ? ' q-list--separator' : '')\n + (isDark.value === true ? ' q-list--dark' : '')\n + (props.padding === true ? ' q-list--padding' : '')\n )\n\n return () => h(props.tag, { class: classes.value }, hSlot(slots.default))\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","import { h, ref, reactive, computed, watch, provide, onUnmounted, getCurrentInstance } from 'vue'\n\nimport { isRuntimeSsrPreHydration } from '../../plugins/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 { h, computed, inject, getCurrentInstance } from 'vue'\n\nimport { hSlot } from '../../utils/private/render.js'\nimport { layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport const usePageStickyProps = {\n position: {\n type: String,\n default: 'bottom-right',\n validator: v => [\n 'top-right', 'top-left',\n 'bottom-right', 'bottom-left',\n 'top', 'right', 'bottom', 'left'\n ].includes(v)\n },\n offset: {\n type: Array,\n validator: v => v.length === 2\n },\n expand: Boolean\n}\n\nexport default function () {\n const { props, proxy: { $q } } = getCurrentInstance()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QPageSticky needs to be child of QLayout')\n return emptyRenderFn\n }\n\n const attach = computed(() => {\n const pos = props.position\n\n return {\n top: pos.indexOf('top') > -1,\n right: pos.indexOf('right') > -1,\n bottom: pos.indexOf('bottom') > -1,\n left: pos.indexOf('left') > -1,\n vertical: pos === 'top' || pos === 'bottom',\n horizontal: pos === 'left' || pos === 'right'\n }\n })\n\n const top = computed(() => $layout.header.offset)\n const right = computed(() => $layout.right.offset)\n const bottom = computed(() => $layout.footer.offset)\n const left = computed(() => $layout.left.offset)\n\n const style = computed(() => {\n let posX = 0, posY = 0\n\n const side = attach.value\n const dir = $q.lang.rtl === true ? -1 : 1\n\n if (side.top === true && top.value !== 0) {\n posY = `${ top.value }px`\n }\n else if (side.bottom === true && bottom.value !== 0) {\n posY = `${ -bottom.value }px`\n }\n\n if (side.left === true && left.value !== 0) {\n posX = `${ dir * left.value }px`\n }\n else if (side.right === true && right.value !== 0) {\n posX = `${ -dir * right.value }px`\n }\n\n const css = { transform: `translate(${ posX }, ${ posY })` }\n\n if (props.offset) {\n css.margin = `${ props.offset[ 1 ] }px ${ props.offset[ 0 ] }px`\n }\n\n if (side.vertical === true) {\n if (left.value !== 0) {\n css[ $q.lang.rtl === true ? 'right' : 'left' ] = `${ left.value }px`\n }\n if (right.value !== 0) {\n css[ $q.lang.rtl === true ? 'left' : 'right' ] = `${ right.value }px`\n }\n }\n else if (side.horizontal === true) {\n if (top.value !== 0) {\n css.top = `${ top.value }px`\n }\n if (bottom.value !== 0) {\n css.bottom = `${ bottom.value }px`\n }\n }\n\n return css\n })\n\n const classes = computed(() =>\n `q-page-sticky row flex-center fixed-${ props.position }`\n + ` q-page-sticky--${ props.expand === true ? 'expand' : 'shrink' }`\n )\n\n function getStickyContent (slots) {\n const content = hSlot(slots.default)\n\n return h('div', {\n class: classes.value,\n style: style.value\n },\n props.expand === true\n ? content\n : [ h('div', content) ]\n )\n }\n\n return {\n $layout,\n getStickyContent\n }\n}\n","import { h, ref, computed, watch, onBeforeUnmount, getCurrentInstance, Transition } from 'vue'\n\nimport usePageSticky, { usePageStickyProps } from '../page-sticky/use-page-sticky.js'\nimport { getScrollTarget, setVerticalScrollPosition } from '../../utils/scroll.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QPageScroller',\n\n props: {\n ...usePageStickyProps,\n\n scrollOffset: {\n type: Number,\n default: 1000\n },\n\n reverse: Boolean,\n\n duration: {\n type: Number,\n default: 300\n },\n\n offset: {\n default: () => [ 18, 18 ]\n }\n },\n\n emits: [ 'click' ],\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n const { $layout, getStickyContent } = usePageSticky()\n const rootRef = ref(null)\n\n let heightWatcher\n\n const scrollHeight = computed(() => $layout.height.value - (\n $layout.isContainer.value === true\n ? $layout.containerHeight.value\n : $q.screen.height\n ))\n\n function isVisible () {\n return props.reverse === true\n ? scrollHeight.value - $layout.scroll.value.position > props.scrollOffset\n : $layout.scroll.value.position > props.scrollOffset\n }\n\n const showing = ref(isVisible())\n\n function updateVisibility () {\n const newVal = isVisible()\n if (showing.value !== newVal) {\n showing.value = newVal\n }\n }\n\n function updateReverse () {\n if (props.reverse === true) {\n if (heightWatcher === void 0) {\n heightWatcher = watch(scrollHeight, updateVisibility)\n }\n }\n else {\n cleanup()\n }\n }\n\n watch($layout.scroll, updateVisibility)\n watch(() => props.reverse, updateReverse)\n\n function cleanup () {\n if (heightWatcher !== void 0) {\n heightWatcher()\n heightWatcher = void 0\n }\n }\n\n function onClick (e) {\n const target = getScrollTarget(\n $layout.isContainer.value === true\n ? rootRef.value\n : $layout.rootRef.value\n )\n\n setVerticalScrollPosition(\n target,\n props.reverse === true ? $layout.height.value : 0,\n props.duration\n )\n\n emit('click', e)\n }\n\n function getContent () {\n return showing.value === true\n ? h('div', {\n ref: rootRef,\n class: 'q-page-scroller',\n onClick\n }, getStickyContent(slots))\n : null\n }\n\n updateReverse()\n\n onBeforeUnmount(cleanup)\n\n return () => h(\n Transition,\n { name: 'q-transition--fade' },\n getContent\n )\n }\n})\n","import { h, computed, inject, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { pageContainerKey, layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QPage',\n\n props: {\n padding: Boolean,\n styleFn: Function\n },\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QPage needs to be a deep child of QLayout')\n return emptyRenderFn\n }\n\n const $pageContainer = inject(pageContainerKey, emptyRenderFn)\n if ($pageContainer === emptyRenderFn) {\n console.error('QPage needs to be child of QPageContainer')\n return emptyRenderFn\n }\n\n const style = computed(() => {\n const offset\n = ($layout.header.space === true ? $layout.header.size : 0)\n + ($layout.footer.space === true ? $layout.footer.size : 0)\n\n if (typeof props.styleFn === 'function') {\n const height = $layout.isContainer.value === true\n ? $layout.containerHeight.value\n : $q.screen.height\n\n return props.styleFn(offset, height)\n }\n\n return {\n minHeight: $layout.isContainer.value === true\n ? ($layout.containerHeight.value - offset) + 'px'\n : (\n $q.screen.height === 0\n ? (offset !== 0 ? `calc(100vh - ${ offset }px)` : '100vh')\n : ($q.screen.height - offset) + 'px'\n )\n }\n })\n\n const classes = computed(() =>\n `q-page${ props.padding === true ? ' q-layout-padding' : '' }`\n )\n\n return () => h('main', {\n class: classes.value,\n style: style.value\n }, hSlot(slots.default))\n }\n})\n","import { h, computed, provide, inject, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { pageContainerKey, layoutKey, emptyRenderFn } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QPageContainer',\n\n setup (_, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const $layout = inject(layoutKey, emptyRenderFn)\n if ($layout === emptyRenderFn) {\n console.error('QPageContainer needs to be child of QLayout')\n return emptyRenderFn\n }\n\n provide(pageContainerKey, true)\n\n const style = computed(() => {\n const css = {}\n\n if ($layout.header.space === true) {\n css.paddingTop = `${ $layout.header.size }px`\n }\n if ($layout.right.space === true) {\n css[ `padding${ $q.lang.rtl === true ? 'Left' : 'Right' }` ] = `${ $layout.right.size }px`\n }\n if ($layout.footer.space === true) {\n css.paddingBottom = `${ $layout.footer.size }px`\n }\n if ($layout.left.space === true) {\n css[ `padding${ $q.lang.rtl === true ? 'Right' : 'Left' }` ] = `${ $layout.left.size }px`\n }\n\n return css\n })\n\n return () => h('div', {\n class: 'q-page-container',\n style: style.value\n }, hSlot(slots.default))\n }\n})\n","import { ref, onMounted } from 'vue'\n\n// using it to manage SSR rendering with best performance\nimport { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'\n\nexport default function () {\n const canRender = ref(!isRuntimeSsrPreHydration.value)\n\n if (canRender.value === false) {\n onMounted(() => {\n canRender.value = true\n })\n }\n\n return canRender\n}\n","import { h, onMounted, onBeforeUnmount, getCurrentInstance, nextTick } from 'vue'\n\nimport useCanRender from '../../composables/private/use-can-render.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { listenOpts, noop } from '../../utils/event.js'\n\nconst hasObserver = typeof ResizeObserver !== 'undefined'\nconst resizeProps = hasObserver === true\n ? {}\n : {\n style: 'display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;',\n url: 'about:blank'\n }\n\nexport default createComponent({\n name: 'QResizeObserver',\n\n props: {\n debounce: {\n type: [ String, Number ],\n default: 100\n }\n },\n\n emits: [ 'resize' ],\n\n setup (props, { emit }) {\n if (__QUASAR_SSR_SERVER__) { return noop }\n\n let timer = null, targetEl, size = { width: -1, height: -1 }\n\n function trigger (immediately) {\n if (immediately === true || props.debounce === 0 || props.debounce === '0') {\n emitEvent()\n }\n else if (timer === null) {\n timer = setTimeout(emitEvent, props.debounce)\n }\n }\n\n function emitEvent () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n if (targetEl) {\n const { offsetWidth: width, offsetHeight: height } = targetEl\n\n if (width !== size.width || height !== size.height) {\n size = { width, height }\n emit('resize', size)\n }\n }\n }\n\n const { proxy } = getCurrentInstance()\n\n if (hasObserver === true) {\n let observer\n\n // initialize as soon as possible\n const init = stop => {\n targetEl = proxy.$el.parentNode\n\n if (targetEl) {\n observer = new ResizeObserver(trigger)\n observer.observe(targetEl)\n emitEvent()\n }\n else if (stop !== true) {\n nextTick(() => { init(true) })\n }\n }\n\n onMounted(() => { init() })\n\n onBeforeUnmount(() => {\n timer !== null && clearTimeout(timer)\n\n if (observer !== void 0) {\n if (observer.disconnect !== void 0) {\n observer.disconnect()\n }\n else if (targetEl) { // FF for Android\n observer.unobserve(targetEl)\n }\n }\n })\n\n return noop\n }\n else { // no observer, so fallback to old iframe method\n const canRender = useCanRender()\n\n let curDocView\n\n function cleanup () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n if (curDocView !== void 0) {\n // iOS is fuzzy, need to check it first\n if (curDocView.removeEventListener !== void 0) {\n curDocView.removeEventListener('resize', trigger, listenOpts.passive)\n }\n curDocView = void 0\n }\n }\n\n function onObjLoad () {\n cleanup()\n\n if (targetEl && targetEl.contentDocument) {\n curDocView = targetEl.contentDocument.defaultView\n curDocView.addEventListener('resize', trigger, listenOpts.passive)\n emitEvent()\n }\n }\n\n onMounted(() => {\n nextTick(() => {\n targetEl = proxy.$el\n targetEl && onObjLoad()\n })\n })\n\n onBeforeUnmount(cleanup)\n\n // expose public method\n proxy.trigger = trigger\n\n return () => {\n if (canRender.value === true) {\n return h('object', {\n style: resizeProps.style,\n tabindex: -1, // fix for Firefox\n type: 'text/html',\n data: resizeProps.url,\n 'aria-hidden': 'true',\n onLoad: onObjLoad\n })\n }\n }\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nconst insetMap = {\n true: 'inset',\n item: 'item-inset',\n 'item-thumbnail': 'item-thumbnail-inset'\n}\n\nexport const margins = {\n xs: 2,\n sm: 4,\n md: 8,\n lg: 16,\n xl: 24\n}\n\nexport default createComponent({\n name: 'QSeparator',\n\n props: {\n ...useDarkProps,\n\n spaced: [ Boolean, String ],\n inset: [ Boolean, String ],\n vertical: Boolean,\n color: String,\n size: String\n },\n\n setup (props) {\n const vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$q)\n\n const orientation = computed(() => (\n props.vertical === true\n ? 'vertical'\n : 'horizontal'\n ))\n\n const orientClass = computed(() => ` q-separator--${ orientation.value }`)\n\n const insetClass = computed(() => (\n props.inset !== false\n ? `${ orientClass.value }-${ insetMap[ props.inset ] }`\n : ''\n ))\n\n const classes = computed(() =>\n `q-separator${ orientClass.value }${ insetClass.value }`\n + (props.color !== void 0 ? ` bg-${ props.color }` : '')\n + (isDark.value === true ? ' q-separator--dark' : '')\n )\n\n const style = computed(() => {\n const acc = {}\n\n if (props.size !== void 0) {\n acc[ props.vertical === true ? 'width' : 'height' ] = props.size\n }\n\n if (props.spaced !== false) {\n const size = props.spaced === true\n ? `${ margins.md }px`\n : props.spaced in margins ? `${ margins[ props.spaced ] }px` : props.spaced\n\n const dir = props.vertical === true\n ? [ 'Left', 'Right' ]\n : [ 'Top', 'Bottom' ]\n\n acc[ `margin${ dir[ 0 ] }` ] = acc[ `margin${ dir[ 1 ] }` ] = size\n }\n\n return acc\n })\n\n return () => h('hr', {\n class: classes.value,\n style: style.value,\n 'aria-orientation': orientation.value\n })\n }\n})\n","import { h } from 'vue'\n\nimport useSpinner, { useSpinnerProps } from './use-spinner.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QSpinner',\n\n props: {\n ...useSpinnerProps,\n\n thickness: {\n type: Number,\n default: 5\n }\n },\n\n setup (props) {\n const { cSize, classes } = useSpinner(props)\n\n return () => h('svg', {\n class: classes.value + ' q-spinner-mat',\n width: cSize.value,\n height: cSize.value,\n viewBox: '25 25 50 50'\n }, [\n h('circle', {\n class: 'path',\n cx: '50',\n cy: '50',\n r: '20',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': props.thickness,\n 'stroke-miterlimit': '10'\n })\n ])\n }\n})\n","import { computed } from 'vue'\nimport { useSizeDefaults } from '../../composables/private/use-size.js'\n\nexport const useSpinnerProps = {\n size: {\n type: [ Number, String ],\n default: '1em'\n },\n color: String\n}\n\nexport default function useSpinner (props) {\n return {\n cSize: computed(() => (\n props.size in useSizeDefaults\n ? `${ useSizeDefaults[ props.size ] }px`\n : props.size\n )),\n\n classes: computed(() =>\n 'q-spinner' + (props.color ? ` text-${ props.color }` : '')\n )\n }\n}\n","import { h, computed } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport useCheckbox, { useCheckboxProps, useCheckboxEmits } from '../checkbox/use-checkbox.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QToggle',\n\n props: {\n ...useCheckboxProps,\n\n icon: String,\n iconColor: String\n },\n\n emits: useCheckboxEmits,\n\n setup (props) {\n function getInner (isTrue, isIndeterminate) {\n const icon = computed(() =>\n (isTrue.value === true\n ? props.checkedIcon\n : (isIndeterminate.value === true ? props.indeterminateIcon : props.uncheckedIcon)\n ) || props.icon\n )\n\n const color = computed(() => (isTrue.value === true ? props.iconColor : null))\n\n return () => [\n h('div', { class: 'q-toggle__track' }),\n\n h('div', {\n class: 'q-toggle__thumb absolute flex flex-center no-wrap'\n }, icon.value !== void 0\n ? [\n h(QIcon, {\n name: icon.value,\n color: color.value\n })\n ]\n : void 0\n )\n ]\n }\n\n return useCheckbox('toggle', getInner)\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QToolbar',\n\n props: {\n inset: Boolean\n },\n\n setup (props, { slots }) {\n const classes = computed(() =>\n 'q-toolbar row no-wrap items-center'\n + (props.inset === true ? ' q-toolbar--inset' : '')\n )\n\n return () => h('div', { class: classes.value, role: 'toolbar' }, hSlot(slots.default))\n }\n})\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QToolbarTitle',\n\n props: {\n shrink: Boolean\n },\n\n setup (props, { slots }) {\n const classes = computed(() =>\n 'q-toolbar__title ellipsis'\n + (props.shrink === true ? ' col-shrink' : '')\n )\n\n return () => h('div', { class: classes.value }, hSlot(slots.default))\n }\n})\n","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/private/use-tick.js'\nimport useTimeout from '../../composables/private/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\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 const el = innerRef.value\n\n if (anchorEl.value === null || !el) {\n return\n }\n\n setPosition({\n el,\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 { computed } from 'vue'\n\nexport const alignMap = {\n left: 'start',\n center: 'center',\n right: 'end',\n between: 'between',\n around: 'around',\n evenly: 'evenly',\n stretch: 'stretch'\n}\n\nexport const alignValues = Object.keys(alignMap)\n\nexport const useAlignProps = {\n align: {\n type: String,\n validator: v => alignValues.includes(v)\n }\n}\n\nexport default function (props) {\n // return alignClass\n return computed(() => {\n const align = props.align === void 0\n ? props.vertical === true ? 'stretch' : 'left'\n : props.align\n\n return `${ props.vertical === true ? 'items' : 'justify' }-${ alignMap[ align ] }`\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 { computed } from 'vue'\n\nexport const useDarkProps = {\n dark: {\n type: Boolean,\n default: null\n }\n}\n\nexport default function (props, $q) {\n // return isDark\n return computed(() => (\n props.dark === null\n ? $q.dark.isActive\n : props.dark\n ))\n}\n","import { inject, watch, getCurrentInstance, onMounted, onBeforeUnmount } from 'vue'\n\nimport { formKey } from '../utils/private/symbols.js'\n\nexport default function ({ validate, resetValidation, requiresQForm }) {\n const $form = inject(formKey, false)\n\n if ($form !== false) {\n const { props, proxy } = getCurrentInstance()\n\n // export public method (so it can be used in QForm)\n Object.assign(proxy, { validate, resetValidation })\n\n watch(() => props.disable, val => {\n if (val === true) {\n typeof resetValidation === 'function' && resetValidation()\n $form.unbindComponent(proxy)\n }\n else {\n $form.bindComponent(proxy)\n }\n })\n\n onMounted(() => {\n // register to parent QForm\n props.disable !== true && $form.bindComponent(proxy)\n })\n\n onBeforeUnmount(() => {\n // un-register from parent QForm\n props.disable !== true && $form.unbindComponent(proxy)\n })\n }\n else if (requiresQForm === true) {\n console.error('Parent QForm not found on useFormChild()!')\n }\n}\n","// file referenced from docs\n\nconst\n hex = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,\n hexa = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,\n hexOrHexa = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,\n rgb = /^rgb\\(((0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),){2}(0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5])\\)$/,\n rgba = /^rgba\\(((0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),){2}(0|[1-9][\\d]?|1[\\d]{0,2}|2[\\d]?|2[0-4][\\d]|25[0-5]),(0|0\\.[0-9]+[1-9]|0\\.[1-9]+|1)\\)$/\n\n// Keep in sync with ui/types/api/validation.d.ts\nexport const testPattern = {\n date: v => /^-?[\\d]+\\/[0-1]\\d\\/[0-3]\\d$/.test(v),\n time: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d$/.test(v),\n fulltime: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/.test(v),\n timeOrFulltime: v => /^([0-1]?\\d|2[0-3]):[0-5]\\d(:[0-5]\\d)?$/.test(v),\n\n // -- RFC 5322 --\n // -- Added in v2.6.6 --\n // This is a basic helper validation.\n // For something more complex (like RFC 822) you should write and use your own rule.\n // We won't be accepting PRs to enhance the one below because of the reason above.\n // eslint-disable-next-line\n email: v => /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(v),\n\n hexColor: v => hex.test(v),\n hexaColor: v => hexa.test(v),\n hexOrHexaColor: v => hexOrHexa.test(v),\n\n rgbColor: v => rgb.test(v),\n rgbaColor: v => rgba.test(v),\n rgbOrRgbaColor: v => rgb.test(v) || rgba.test(v),\n\n hexOrRgbColor: v => hex.test(v) || rgb.test(v),\n hexaOrRgbaColor: v => hexa.test(v) || rgba.test(v),\n anyColor: v => hexOrHexa.test(v) || rgb.test(v) || rgba.test(v)\n}\n\nexport default {\n testPattern\n}\n","import { ref, computed, watch, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport useFormChild from '../use-form-child.js'\nimport { testPattern } from '../../utils/patterns.js'\nimport debounce from '../../utils/debounce.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nconst lazyRulesValues = [ true, false, 'ondemand' ]\n\nexport const useValidateProps = {\n modelValue: {},\n\n error: {\n type: Boolean,\n default: null\n },\n errorMessage: String,\n noErrorIcon: Boolean,\n\n rules: Array,\n reactiveRules: Boolean,\n lazyRules: {\n type: [ Boolean, String ],\n validator: v => lazyRulesValues.includes(v)\n }\n}\n\nexport default function (focused, innerLoading) {\n const { props, proxy } = getCurrentInstance()\n\n const innerError = ref(false)\n const innerErrorMessage = ref(null)\n const isDirtyModel = ref(null)\n\n useFormChild({ validate, resetValidation })\n\n let validateIndex = 0, unwatchRules\n\n const hasRules = computed(() =>\n props.rules !== void 0\n && props.rules !== null\n && props.rules.length > 0\n )\n\n const hasActiveRules = computed(() =>\n props.disable !== true\n && hasRules.value === true\n )\n\n const hasError = computed(() =>\n props.error === true || innerError.value === true\n )\n\n const errorMessage = computed(() => (\n typeof props.errorMessage === 'string' && props.errorMessage.length > 0\n ? props.errorMessage\n : innerErrorMessage.value\n ))\n\n watch(() => props.modelValue, () => {\n validateIfNeeded()\n })\n\n watch(() => props.reactiveRules, val => {\n if (val === true) {\n if (unwatchRules === void 0) {\n unwatchRules = watch(() => props.rules, () => {\n validateIfNeeded(true)\n })\n }\n }\n else if (unwatchRules !== void 0) {\n unwatchRules()\n unwatchRules = void 0\n }\n }, { immediate: true })\n\n watch(focused, val => {\n if (val === true) {\n if (isDirtyModel.value === null) {\n isDirtyModel.value = false\n }\n }\n else if (isDirtyModel.value === false) {\n isDirtyModel.value = true\n\n if (\n hasActiveRules.value === true\n && props.lazyRules !== 'ondemand'\n // Don't re-trigger if it's already in progress;\n // It might mean that focus switched to submit btn and\n // QForm's submit() has been called already (ENTER key)\n && innerLoading.value === false\n ) {\n debouncedValidate()\n }\n }\n })\n\n function resetValidation () {\n validateIndex++\n innerLoading.value = false\n isDirtyModel.value = null\n innerError.value = false\n innerErrorMessage.value = null\n debouncedValidate.cancel()\n }\n\n /*\n * Return value\n * - true (validation succeeded)\n * - false (validation failed)\n * - Promise (pending async validation)\n */\n function validate (val = props.modelValue) {\n if (hasActiveRules.value !== true) {\n return true\n }\n\n const index = ++validateIndex\n\n const setDirty = innerLoading.value !== true\n ? () => { isDirtyModel.value = true }\n : () => {}\n\n const update = (err, msg) => {\n err === true && setDirty()\n\n innerError.value = err\n innerErrorMessage.value = msg || null\n innerLoading.value = false\n }\n\n const promises = []\n\n for (let i = 0; i < props.rules.length; i++) {\n const rule = props.rules[ i ]\n let res\n\n if (typeof rule === 'function') {\n res = rule(val, testPattern)\n }\n else if (typeof rule === 'string' && testPattern[ rule ] !== void 0) {\n res = testPattern[ rule ](val)\n }\n\n if (res === false || typeof res === 'string') {\n update(true, res)\n return false\n }\n else if (res !== true && res !== void 0) {\n promises.push(res)\n }\n }\n\n if (promises.length === 0) {\n update(false)\n return true\n }\n\n innerLoading.value = true\n\n return Promise.all(promises).then(\n res => {\n if (res === void 0 || Array.isArray(res) === false || res.length === 0) {\n index === validateIndex && update(false)\n return true\n }\n\n const msg = res.find(r => r === false || typeof r === 'string')\n index === validateIndex && update(msg !== void 0, msg)\n return msg === void 0\n },\n e => {\n if (index === validateIndex) {\n console.error(e)\n update(true)\n }\n\n return false\n }\n )\n }\n\n function validateIfNeeded (changedRules) {\n if (\n hasActiveRules.value === true\n && props.lazyRules !== 'ondemand'\n && (isDirtyModel.value === true || (props.lazyRules !== true && changedRules !== true))\n ) {\n debouncedValidate()\n }\n }\n\n const debouncedValidate = debounce(validate, 0)\n\n onBeforeUnmount(() => {\n unwatchRules !== void 0 && unwatchRules()\n debouncedValidate.cancel()\n })\n\n // expose public methods & props\n Object.assign(proxy, { resetValidation, validate })\n injectProp(proxy, 'hasError', () => hasError.value)\n\n return {\n isDirtyModel,\n hasRules,\n hasError,\n errorMessage,\n\n validate,\n resetValidation\n }\n}\n","import { ref, onBeforeUpdate } from 'vue'\n\nconst listenerRE = /^on[A-Z]/\n\nexport default function (attrs, vnode) {\n const acc = {\n listeners: ref({}),\n attributes: ref({})\n }\n\n function update () {\n const attributes = {}\n const listeners = {}\n\n for (const key in attrs) {\n if (key !== 'class' && key !== 'style' && listenerRE.test(key) === false) {\n attributes[ key ] = attrs[ key ]\n }\n }\n\n for (const key in vnode.props) {\n if (listenerRE.test(key) === true) {\n listeners[ key ] = vnode.props[ key ]\n }\n }\n\n acc.attributes.value = attributes\n acc.listeners.value = listeners\n }\n\n onBeforeUpdate(update)\n\n update()\n\n return acc\n}\n","import { h, ref, computed, watch, Transition, nextTick, onActivated, onDeactivated, onBeforeUnmount, onMounted, getCurrentInstance } from 'vue'\n\nimport { isRuntimeSsrPreHydration } from '../../plugins/Platform.js'\n\nimport QIcon from '../../components/icon/QIcon.js'\nimport QSpinner from '../../components/spinner/QSpinner.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useValidate, { useValidateProps } from './use-validate.js'\nimport useSplitAttrs from './use-split-attrs.js'\n\nimport { hSlot } from '../../utils/private/render.js'\nimport uid from '../../utils/uid.js'\nimport { prevent, stopAndPrevent } from '../../utils/event.js'\nimport { addFocusFn, removeFocusFn } from '../../utils/private/focus-manager.js'\n\nfunction getTargetUid (val) {\n return val === void 0 ? `f_${ uid() }` : val\n}\n\nexport function fieldValueIsFilled (val) {\n return val !== void 0\n && val !== null\n && ('' + val).length > 0\n}\n\nexport const useFieldProps = {\n ...useDarkProps,\n ...useValidateProps,\n\n label: String,\n stackLabel: Boolean,\n hint: String,\n hideHint: Boolean,\n prefix: String,\n suffix: String,\n\n labelColor: String,\n color: String,\n bgColor: String,\n\n filled: Boolean,\n outlined: Boolean,\n borderless: Boolean,\n standout: [ Boolean, String ],\n\n square: Boolean,\n\n loading: Boolean,\n\n labelSlot: Boolean,\n\n bottomSlots: Boolean,\n hideBottomSpace: Boolean,\n\n rounded: Boolean,\n dense: Boolean,\n itemAligned: Boolean,\n\n counter: Boolean,\n\n clearable: Boolean,\n clearIcon: String,\n\n disable: Boolean,\n readonly: Boolean,\n\n autofocus: Boolean,\n\n for: String,\n\n maxlength: [ Number, String ]\n}\n\nexport const useFieldEmits = [ 'update:modelValue', 'clear', 'focus', 'blur', 'popupShow', 'popupHide' ]\n\nexport function useFieldState () {\n const { props, attrs, proxy, vnode } = getCurrentInstance()\n\n const isDark = useDark(props, proxy.$q)\n\n return {\n isDark,\n\n editable: computed(() =>\n props.disable !== true && props.readonly !== true\n ),\n\n innerLoading: ref(false),\n focused: ref(false),\n hasPopupOpen: false,\n\n splitAttrs: useSplitAttrs(attrs, vnode),\n targetUid: ref(getTargetUid(props.for)),\n\n rootRef: ref(null),\n targetRef: ref(null),\n controlRef: ref(null)\n\n /**\n * user supplied additionals:\n\n * innerValue - computed\n * floatingLabel - computed\n * inputRef - computed\n\n * fieldClass - computed\n * hasShadow - computed\n\n * controlEvents - Object with fn(e)\n\n * getControl - fn\n * getInnerAppend - fn\n * getControlChild - fn\n * getShadowControl - fn\n * showPopup - fn\n */\n }\n}\n\nexport default function (state) {\n const { props, emit, slots, attrs, proxy } = getCurrentInstance()\n const { $q } = proxy\n\n let focusoutTimer = null\n\n if (state.hasValue === void 0) {\n state.hasValue = computed(() => fieldValueIsFilled(props.modelValue))\n }\n\n if (state.emitValue === void 0) {\n state.emitValue = value => {\n emit('update:modelValue', value)\n }\n }\n\n if (state.controlEvents === void 0) {\n state.controlEvents = {\n onFocusin: onControlFocusin,\n onFocusout: onControlFocusout\n }\n }\n\n Object.assign(state, {\n clearValue,\n onControlFocusin,\n onControlFocusout,\n focus\n })\n\n if (state.computedCounter === void 0) {\n state.computedCounter = computed(() => {\n if (props.counter !== false) {\n const len = typeof props.modelValue === 'string' || typeof props.modelValue === 'number'\n ? ('' + props.modelValue).length\n : (Array.isArray(props.modelValue) === true ? props.modelValue.length : 0)\n\n const max = props.maxlength !== void 0\n ? props.maxlength\n : props.maxValues\n\n return len + (max !== void 0 ? ' / ' + max : '')\n }\n })\n }\n\n const {\n isDirtyModel,\n hasRules,\n hasError,\n errorMessage,\n resetValidation\n } = useValidate(state.focused, state.innerLoading)\n\n const floatingLabel = state.floatingLabel !== void 0\n ? computed(() => props.stackLabel === true || state.focused.value === true || state.floatingLabel.value === true)\n : computed(() => props.stackLabel === true || state.focused.value === true || state.hasValue.value === true)\n\n const shouldRenderBottom = computed(() =>\n props.bottomSlots === true\n || props.hint !== void 0\n || hasRules.value === true\n || props.counter === true\n || props.error !== null\n )\n\n const styleType = computed(() => {\n if (props.filled === true) { return 'filled' }\n if (props.outlined === true) { return 'outlined' }\n if (props.borderless === true) { return 'borderless' }\n if (props.standout) { return 'standout' }\n return 'standard'\n })\n\n const classes = computed(() =>\n `q-field row no-wrap items-start q-field--${ styleType.value }`\n + (state.fieldClass !== void 0 ? ` ${ state.fieldClass.value }` : '')\n + (props.rounded === true ? ' q-field--rounded' : '')\n + (props.square === true ? ' q-field--square' : '')\n + (floatingLabel.value === true ? ' q-field--float' : '')\n + (hasLabel.value === true ? ' q-field--labeled' : '')\n + (props.dense === true ? ' q-field--dense' : '')\n + (props.itemAligned === true ? ' q-field--item-aligned q-item-type' : '')\n + (state.isDark.value === true ? ' q-field--dark' : '')\n + (state.getControl === void 0 ? ' q-field--auto-height' : '')\n + (state.focused.value === true ? ' q-field--focused' : '')\n + (hasError.value === true ? ' q-field--error' : '')\n + (hasError.value === true || state.focused.value === true ? ' q-field--highlighted' : '')\n + (props.hideBottomSpace !== true && shouldRenderBottom.value === true ? ' q-field--with-bottom' : '')\n + (props.disable === true ? ' q-field--disabled' : (props.readonly === true ? ' q-field--readonly' : ''))\n )\n\n const contentClass = computed(() =>\n 'q-field__control relative-position row no-wrap'\n + (props.bgColor !== void 0 ? ` bg-${ props.bgColor }` : '')\n + (\n hasError.value === true\n ? ' text-negative'\n : (\n typeof props.standout === 'string' && props.standout.length > 0 && state.focused.value === true\n ? ` ${ props.standout }`\n : (props.color !== void 0 ? ` text-${ props.color }` : '')\n )\n )\n )\n\n const hasLabel = computed(() =>\n props.labelSlot === true || props.label !== void 0\n )\n\n const labelClass = computed(() =>\n 'q-field__label no-pointer-events absolute ellipsis'\n + (props.labelColor !== void 0 && hasError.value !== true ? ` text-${ props.labelColor }` : '')\n )\n\n const controlSlotScope = computed(() => ({\n id: state.targetUid.value,\n editable: state.editable.value,\n focused: state.focused.value,\n floatingLabel: floatingLabel.value,\n modelValue: props.modelValue,\n emitValue: state.emitValue\n }))\n\n const attributes = computed(() => {\n const acc = {\n for: state.targetUid.value\n }\n\n if (props.disable === true) {\n acc[ 'aria-disabled' ] = 'true'\n }\n else if (props.readonly === true) {\n acc[ 'aria-readonly' ] = 'true'\n }\n\n return acc\n })\n\n watch(() => props.for, val => {\n // don't transform targetUid into a computed\n // prop as it will break SSR\n state.targetUid.value = getTargetUid(val)\n })\n\n function focusHandler () {\n const el = document.activeElement\n let target = state.targetRef !== void 0 && state.targetRef.value\n\n if (target && (el === null || el.id !== state.targetUid.value)) {\n target.hasAttribute('tabindex') === true || (target = target.querySelector('[tabindex]'))\n if (target && target !== el) {\n target.focus({ preventScroll: true })\n }\n }\n }\n\n function focus () {\n addFocusFn(focusHandler)\n }\n\n function blur () {\n removeFocusFn(focusHandler)\n const el = document.activeElement\n if (el !== null && state.rootRef.value.contains(el)) {\n el.blur()\n }\n }\n\n function onControlFocusin (e) {\n if (focusoutTimer !== null) {\n clearTimeout(focusoutTimer)\n focusoutTimer = null\n }\n\n if (state.editable.value === true && state.focused.value === false) {\n state.focused.value = true\n emit('focus', e)\n }\n }\n\n function onControlFocusout (e, then) {\n focusoutTimer !== null && clearTimeout(focusoutTimer)\n focusoutTimer = setTimeout(() => {\n focusoutTimer = null\n\n if (\n document.hasFocus() === true && (\n state.hasPopupOpen === true\n || state.controlRef === void 0\n || state.controlRef.value === null\n || state.controlRef.value.contains(document.activeElement) !== false\n )\n ) {\n return\n }\n\n if (state.focused.value === true) {\n state.focused.value = false\n emit('blur', e)\n }\n\n then !== void 0 && then()\n })\n }\n\n function clearValue (e) {\n // prevent activating the field but keep focus on desktop\n stopAndPrevent(e)\n\n if ($q.platform.is.mobile !== true) {\n const el = (state.targetRef !== void 0 && state.targetRef.value) || state.rootRef.value\n el.focus()\n }\n else if (state.rootRef.value.contains(document.activeElement) === true) {\n document.activeElement.blur()\n }\n\n if (props.type === 'file') { // TODO vue3\n // do not let focus be triggered\n // as it will make the native file dialog\n // appear for another selection\n state.inputRef.value.value = null\n }\n\n emit('update:modelValue', null)\n emit('clear', props.modelValue)\n\n nextTick(() => {\n resetValidation()\n\n if ($q.platform.is.mobile !== true) {\n isDirtyModel.value = false\n }\n })\n }\n\n function getContent () {\n const node = []\n\n slots.prepend !== void 0 && node.push(\n h('div', {\n class: 'q-field__prepend q-field__marginal row no-wrap items-center',\n key: 'prepend',\n onClick: prevent\n }, slots.prepend())\n )\n\n node.push(\n h('div', {\n class: 'q-field__control-container col relative-position row no-wrap q-anchor--skip'\n }, getControlContainer())\n )\n\n hasError.value === true && props.noErrorIcon === false && node.push(\n getInnerAppendNode('error', [\n h(QIcon, { name: $q.iconSet.field.error, color: 'negative' })\n ])\n )\n\n if (props.loading === true || state.innerLoading.value === true) {\n node.push(\n getInnerAppendNode(\n 'inner-loading-append',\n slots.loading !== void 0\n ? slots.loading()\n : [ h(QSpinner, { color: props.color }) ]\n )\n )\n }\n else if (props.clearable === true && state.hasValue.value === true && state.editable.value === true) {\n node.push(\n getInnerAppendNode('inner-clearable-append', [\n h(QIcon, {\n class: 'q-field__focusable-action',\n tag: 'button',\n name: props.clearIcon || $q.iconSet.field.clear,\n tabindex: 0,\n type: 'button',\n 'aria-hidden': null,\n role: null,\n onClick: clearValue\n })\n ])\n )\n }\n\n slots.append !== void 0 && node.push(\n h('div', {\n class: 'q-field__append q-field__marginal row no-wrap items-center',\n key: 'append',\n onClick: prevent\n }, slots.append())\n )\n\n state.getInnerAppend !== void 0 && node.push(\n getInnerAppendNode('inner-append', state.getInnerAppend())\n )\n\n state.getControlChild !== void 0 && node.push(\n state.getControlChild()\n )\n\n return node\n }\n\n function getControlContainer () {\n const node = []\n\n props.prefix !== void 0 && props.prefix !== null && node.push(\n h('div', {\n class: 'q-field__prefix no-pointer-events row items-center'\n }, props.prefix)\n )\n\n if (state.getShadowControl !== void 0 && state.hasShadow.value === true) {\n node.push(\n state.getShadowControl()\n )\n }\n\n if (state.getControl !== void 0) {\n node.push(state.getControl())\n }\n // internal usage only:\n else if (slots.rawControl !== void 0) {\n node.push(slots.rawControl())\n }\n else if (slots.control !== void 0) {\n node.push(\n h('div', {\n ref: state.targetRef,\n class: 'q-field__native row',\n tabindex: -1,\n ...state.splitAttrs.attributes.value,\n 'data-autofocus': props.autofocus === true || void 0\n }, slots.control(controlSlotScope.value))\n )\n }\n\n hasLabel.value === true && node.push(\n h('div', {\n class: labelClass.value\n }, hSlot(slots.label, props.label))\n )\n\n props.suffix !== void 0 && props.suffix !== null && node.push(\n h('div', {\n class: 'q-field__suffix no-pointer-events row items-center'\n }, props.suffix)\n )\n\n return node.concat(hSlot(slots.default))\n }\n\n function getBottom () {\n let msg, key\n\n if (hasError.value === true) {\n if (errorMessage.value !== null) {\n msg = [ h('div', { role: 'alert' }, errorMessage.value) ]\n key = `q--slot-error-${ errorMessage.value }`\n }\n else {\n msg = hSlot(slots.error)\n key = 'q--slot-error'\n }\n }\n else if (props.hideHint !== true || state.focused.value === true) {\n if (props.hint !== void 0) {\n msg = [ h('div', props.hint) ]\n key = `q--slot-hint-${ props.hint }`\n }\n else {\n msg = hSlot(slots.hint)\n key = 'q--slot-hint'\n }\n }\n\n const hasCounter = props.counter === true || slots.counter !== void 0\n\n if (props.hideBottomSpace === true && hasCounter === false && msg === void 0) {\n return\n }\n\n const main = h('div', {\n key,\n class: 'q-field__messages col'\n }, msg)\n\n return h('div', {\n class: 'q-field__bottom row items-start q-field__bottom--'\n + (props.hideBottomSpace !== true ? 'animated' : 'stale'),\n onClick: prevent\n }, [\n props.hideBottomSpace === true\n ? main\n : h(Transition, { name: 'q-transition--field-message' }, () => main),\n\n hasCounter === true\n ? h('div', {\n class: 'q-field__counter'\n }, slots.counter !== void 0 ? slots.counter() : state.computedCounter.value)\n : null\n ])\n }\n\n function getInnerAppendNode (key, content) {\n return content === null\n ? null\n : h('div', {\n key,\n class: 'q-field__append q-field__marginal row no-wrap items-center q-anchor--skip'\n }, content)\n }\n\n let shouldActivate = false\n\n onDeactivated(() => {\n shouldActivate = true\n })\n\n onActivated(() => {\n shouldActivate === true && props.autofocus === true && proxy.focus()\n })\n\n onMounted(() => {\n if (isRuntimeSsrPreHydration.value === true && props.for === void 0) {\n state.targetUid.value = getTargetUid()\n }\n\n props.autofocus === true && proxy.focus()\n })\n\n onBeforeUnmount(() => {\n focusoutTimer !== null && clearTimeout(focusoutTimer)\n })\n\n // expose public methods\n Object.assign(proxy, { focus, blur })\n\n return function renderField () {\n const labelAttrs = state.getControl === void 0 && slots.control === void 0\n ? {\n ...state.splitAttrs.attributes.value,\n 'data-autofocus': props.autofocus === true || void 0,\n ...attributes.value\n }\n : attributes.value\n\n return h('label', {\n ref: state.rootRef,\n class: [\n classes.value,\n attrs.class\n ],\n style: attrs.style,\n ...labelAttrs\n }, [\n slots.before !== void 0\n ? h('div', {\n class: 'q-field__before q-field__marginal row no-wrap items-center',\n onClick: prevent\n }, slots.before())\n : null,\n\n h('div', {\n class: 'q-field__inner relative-position col self-stretch'\n }, [\n h('div', {\n ref: state.controlRef,\n class: contentClass.value,\n tabindex: -1,\n ...state.controlEvents\n }, getContent()),\n\n shouldRenderBottom.value === true\n ? getBottom()\n : null\n ]),\n\n slots.after !== void 0\n ? h('div', {\n class: 'q-field__after q-field__marginal row no-wrap items-center',\n onClick: prevent\n }, slots.after())\n : null\n ])\n }\n}\n","import { h, computed } from 'vue'\n\nexport const useFormProps = {\n name: String\n}\n\nexport function useFormAttrs (props) {\n return computed(() => ({\n type: 'hidden',\n name: props.name,\n value: props.modelValue\n }))\n}\n\nexport function useFormInject (formAttrs = {}) {\n return (child, action, className) => {\n child[ action ](\n h('input', {\n class: 'hidden' + (className || ''),\n ...formAttrs.value\n })\n )\n }\n}\n\nexport function useFormInputNameAttr (props) {\n return computed(() => props.name || props.for)\n}\n","import { onBeforeUnmount } from 'vue'\n\nimport History from '../../history.js'\n\nexport default function (showing, hide, hideOnRouteChange) {\n let historyEntry\n\n function removeFromHistory () {\n if (historyEntry !== void 0) {\n History.remove(historyEntry)\n historyEntry = void 0\n }\n }\n\n onBeforeUnmount(() => {\n showing.value === true && removeFromHistory()\n })\n\n return {\n removeFromHistory,\n\n addToHistory () {\n historyEntry = {\n condition: () => hideOnRouteChange.value === true,\n handler: hide\n }\n\n History.add(historyEntry)\n }\n }\n}\n","import { client } from '../../plugins/Platform.js'\n\nconst isJapanese = /[\\u3000-\\u303f\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff9f\\u4e00-\\u9faf\\u3400-\\u4dbf]/\nconst isChinese = /[\\u4e00-\\u9fff\\u3400-\\u4dbf\\u{20000}-\\u{2a6df}\\u{2a700}-\\u{2b73f}\\u{2b740}-\\u{2b81f}\\u{2b820}-\\u{2ceaf}\\uf900-\\ufaff\\u3300-\\u33ff\\ufe30-\\ufe4f\\uf900-\\ufaff\\u{2f800}-\\u{2fa1f}]/u\nconst isKorean = /[\\u3131-\\u314e\\u314f-\\u3163\\uac00-\\ud7a3]/\nconst isPlainText = /[a-z0-9_ -]$/i\n\nexport default function (onInput) {\n return function onComposition (e) {\n if (e.type === 'compositionend' || e.type === 'change') {\n if (e.target.qComposing !== true) { return }\n e.target.qComposing = false\n onInput(e)\n }\n else if (\n e.type === 'compositionupdate'\n && e.target.qComposing !== true\n && typeof e.data === 'string'\n ) {\n const isComposing = client.is.firefox === true\n ? isPlainText.test(e.data) === false\n : isJapanese.test(e.data) === true || isChinese.test(e.data) === true || isKorean.test(e.data) === true\n\n if (isComposing === true) {\n e.target.qComposing = true\n }\n }\n }\n}\n","import { watch, nextTick, onMounted, getCurrentInstance } from 'vue'\n\nimport { vmHasRouter } from '../../utils/private/vm.js'\n\nexport const useModelToggleProps = {\n modelValue: {\n type: Boolean,\n default: null\n },\n\n 'onUpdate:modelValue': [ Function, Array ]\n}\n\nexport const useModelToggleEmits = [\n 'beforeShow', 'show', 'beforeHide', 'hide'\n]\n\n// handleShow/handleHide -> removeTick(), self (& emit show)\n\nexport default function ({\n showing,\n canShow, // optional\n hideOnRouteChange, // optional\n handleShow, // optional\n handleHide, // optional\n processOnMount // optional\n}) {\n const vm = getCurrentInstance()\n const { props, emit, proxy } = vm\n\n let payload\n\n function toggle (evt) {\n if (showing.value === true) {\n hide(evt)\n }\n else {\n show(evt)\n }\n }\n\n function show (evt) {\n if (\n props.disable === true\n || (evt !== void 0 && evt.qAnchorHandled === true)\n || (canShow !== void 0 && canShow(evt) !== true)\n ) {\n return\n }\n\n const listener = props[ 'onUpdate:modelValue' ] !== void 0\n\n if (listener === true && __QUASAR_SSR_SERVER__ !== true) {\n emit('update:modelValue', true)\n payload = evt\n nextTick(() => {\n if (payload === evt) {\n payload = void 0\n }\n })\n }\n\n if (props.modelValue === null || listener === false || __QUASAR_SSR_SERVER__) {\n processShow(evt)\n }\n }\n\n function processShow (evt) {\n if (showing.value === true) {\n return\n }\n\n showing.value = true\n\n emit('beforeShow', evt)\n\n if (handleShow !== void 0) {\n handleShow(evt)\n }\n else {\n emit('show', evt)\n }\n }\n\n function hide (evt) {\n if (__QUASAR_SSR_SERVER__ || props.disable === true) {\n return\n }\n\n const listener = props[ 'onUpdate:modelValue' ] !== void 0\n\n if (listener === true && __QUASAR_SSR_SERVER__ !== true) {\n emit('update:modelValue', false)\n payload = evt\n nextTick(() => {\n if (payload === evt) {\n payload = void 0\n }\n })\n }\n\n if (props.modelValue === null || listener === false || __QUASAR_SSR_SERVER__) {\n processHide(evt)\n }\n }\n\n function processHide (evt) {\n if (showing.value === false) {\n return\n }\n\n showing.value = false\n\n emit('beforeHide', evt)\n\n if (handleHide !== void 0) {\n handleHide(evt)\n }\n else {\n emit('hide', evt)\n }\n }\n\n function processModelChange (val) {\n if (props.disable === true && val === true) {\n if (props[ 'onUpdate:modelValue' ] !== void 0) {\n emit('update:modelValue', false)\n }\n }\n else if ((val === true) !== showing.value) {\n const fn = val === true ? processShow : processHide\n fn(payload)\n }\n }\n\n watch(() => props.modelValue, processModelChange)\n\n if (hideOnRouteChange !== void 0 && vmHasRouter(vm) === true) {\n watch(() => proxy.$route.fullPath, () => {\n if (hideOnRouteChange.value === true && showing.value === true) {\n hide()\n }\n })\n }\n\n processOnMount === true && onMounted(() => {\n processModelChange(props.modelValue)\n })\n\n // expose public methods\n const publicMethods = { show, hide, toggle }\n Object.assign(proxy, publicMethods)\n\n return publicMethods\n}\n","import { h, ref, onUnmounted, Teleport } from 'vue'\n\nimport { noop } from '../../utils/event.js'\nimport { addFocusWaitFlag, removeFocusWaitFlag } from '../../utils/private/focus-manager.js'\nimport { createGlobalNode, removeGlobalNode } from '../../utils/private/global-nodes.js'\nimport { portalProxyList } from '../../utils/private/portal.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.js'\n\nfunction isOnGlobalDialog (vm) {\n vm = vm.parent\n\n while (vm !== void 0 && vm !== null) {\n if (vm.type.name === 'QGlobalDialog') {\n return true\n }\n if (vm.type.name === 'QDialog' || vm.type.name === 'QMenu') {\n return false\n }\n\n vm = vm.parent\n }\n\n return false\n}\n\n// Warning!\n// You MUST specify \"inheritAttrs: false\" in your component\n\nexport default function (vm, innerRef, renderPortalContent, type) {\n // showing, including while in show/hide transition\n const portalIsActive = ref(false)\n\n // showing & not in any show/hide transition\n const portalIsAccessible = ref(false)\n\n if (__QUASAR_SSR_SERVER__) {\n return {\n portalIsActive,\n portalIsAccessible,\n\n showPortal: noop,\n hidePortal: noop,\n renderPortal: noop\n }\n }\n\n let portalEl = null\n const focusObj = {}\n const onGlobalDialog = type === 'dialog' && isOnGlobalDialog(vm)\n\n function showPortal (isReady) {\n if (isReady === true) {\n removeFocusWaitFlag(focusObj)\n portalIsAccessible.value = true\n return\n }\n\n portalIsAccessible.value = false\n\n if (portalIsActive.value === false) {\n if (onGlobalDialog === false && portalEl === null) {\n portalEl = createGlobalNode(false, type)\n }\n\n portalIsActive.value = true\n\n // register portal\n portalProxyList.push(vm.proxy)\n\n addFocusWaitFlag(focusObj)\n }\n }\n\n function hidePortal (isReady) {\n portalIsAccessible.value = false\n\n if (isReady !== true) { return }\n\n removeFocusWaitFlag(focusObj)\n portalIsActive.value = false\n\n // unregister portal\n const index = portalProxyList.indexOf(vm.proxy)\n if (index !== -1) {\n portalProxyList.splice(index, 1)\n }\n\n if (portalEl !== null) {\n removeGlobalNode(portalEl)\n portalEl = null\n }\n }\n\n onUnmounted(() => { hidePortal(true) })\n\n // needed for portal vm detection\n vm.proxy.__qPortal = true\n\n // public way of accessing the rendered content\n injectProp(vm.proxy, 'contentEl', () => innerRef.value)\n\n return {\n showPortal,\n hidePortal,\n\n portalIsActive,\n portalIsAccessible,\n\n renderPortal: () => (\n onGlobalDialog === true\n ? renderPortalContent()\n : (\n portalIsActive.value === true\n ? [ h(Teleport, { to: portalEl }, renderPortalContent()) ]\n : void 0\n )\n )\n }\n}\n","import { getEventPath, listenOpts, stopAndPrevent } from '../utils/event.js'\nimport { hasScrollbar, getVerticalScrollPosition, getHorizontalScrollPosition } from '../utils/scroll.js'\nimport { client } from '../plugins/Platform.js'\n\nlet\n registered = 0,\n scrollPositionX,\n scrollPositionY,\n maxScrollTop,\n vpPendingUpdate = false,\n bodyLeft,\n bodyTop,\n href,\n closeTimer = null\n\nfunction onWheel (e) {\n if (shouldPreventScroll(e)) {\n stopAndPrevent(e)\n }\n}\n\nfunction shouldPreventScroll (e) {\n if (e.target === document.body || e.target.classList.contains('q-layout__backdrop')) {\n return true\n }\n\n const\n path = getEventPath(e),\n shift = e.shiftKey && !e.deltaX,\n scrollY = !shift && Math.abs(e.deltaX) <= Math.abs(e.deltaY),\n delta = shift || scrollY ? e.deltaY : e.deltaX\n\n for (let index = 0; index < path.length; index++) {\n const el = path[ index ]\n\n if (hasScrollbar(el, scrollY)) {\n return scrollY\n ? (\n delta < 0 && el.scrollTop === 0\n ? true\n : delta > 0 && el.scrollTop + el.clientHeight === el.scrollHeight\n )\n : (\n delta < 0 && el.scrollLeft === 0\n ? true\n : delta > 0 && el.scrollLeft + el.clientWidth === el.scrollWidth\n )\n }\n }\n\n return true\n}\n\nfunction onAppleScroll (e) {\n if (e.target === document) {\n // required, otherwise iOS blocks further scrolling\n // until the mobile scrollbar dissappears\n document.scrollingElement.scrollTop = document.scrollingElement.scrollTop // eslint-disable-line\n }\n}\n\nfunction onAppleResize (evt) {\n if (vpPendingUpdate === true) {\n return\n }\n\n vpPendingUpdate = true\n\n requestAnimationFrame(() => {\n vpPendingUpdate = false\n\n const\n { height } = evt.target,\n { clientHeight, scrollTop } = document.scrollingElement\n\n if (maxScrollTop === void 0 || height !== window.innerHeight) {\n maxScrollTop = clientHeight - height\n document.scrollingElement.scrollTop = scrollTop\n }\n\n if (scrollTop > maxScrollTop) {\n document.scrollingElement.scrollTop -= Math.ceil((scrollTop - maxScrollTop) / 8)\n }\n })\n}\n\nfunction apply (action) {\n const\n body = document.body,\n hasViewport = window.visualViewport !== void 0\n\n if (action === 'add') {\n const { overflowY, overflowX } = window.getComputedStyle(body)\n\n scrollPositionX = getHorizontalScrollPosition(window)\n scrollPositionY = getVerticalScrollPosition(window)\n bodyLeft = body.style.left\n bodyTop = body.style.top\n\n href = window.location.href\n\n body.style.left = `-${ scrollPositionX }px`\n body.style.top = `-${ scrollPositionY }px`\n\n if (overflowX !== 'hidden' && (overflowX === 'scroll' || body.scrollWidth > window.innerWidth)) {\n body.classList.add('q-body--force-scrollbar-x')\n }\n if (overflowY !== 'hidden' && (overflowY === 'scroll' || body.scrollHeight > window.innerHeight)) {\n body.classList.add('q-body--force-scrollbar-y')\n }\n\n body.classList.add('q-body--prevent-scroll')\n document.qScrollPrevented = true\n\n if (client.is.ios === true) {\n if (hasViewport === true) {\n window.scrollTo(0, 0)\n window.visualViewport.addEventListener('resize', onAppleResize, listenOpts.passiveCapture)\n window.visualViewport.addEventListener('scroll', onAppleResize, listenOpts.passiveCapture)\n window.scrollTo(0, 0)\n }\n else {\n window.addEventListener('scroll', onAppleScroll, listenOpts.passiveCapture)\n }\n }\n }\n\n if (client.is.desktop === true && client.is.mac === true) {\n // ref. https://developers.google.com/web/updates/2017/01/scrolling-intervention\n window[ `${ action }EventListener` ]('wheel', onWheel, listenOpts.notPassive)\n }\n\n if (action === 'remove') {\n if (client.is.ios === true) {\n if (hasViewport === true) {\n window.visualViewport.removeEventListener('resize', onAppleResize, listenOpts.passiveCapture)\n window.visualViewport.removeEventListener('scroll', onAppleResize, listenOpts.passiveCapture)\n }\n else {\n window.removeEventListener('scroll', onAppleScroll, listenOpts.passiveCapture)\n }\n }\n\n body.classList.remove('q-body--prevent-scroll')\n body.classList.remove('q-body--force-scrollbar-x')\n body.classList.remove('q-body--force-scrollbar-y')\n\n document.qScrollPrevented = false\n\n body.style.left = bodyLeft\n body.style.top = bodyTop\n\n // scroll back only if route has not changed\n if (window.location.href === href) {\n window.scrollTo(scrollPositionX, scrollPositionY)\n }\n\n maxScrollTop = void 0\n }\n}\n\nexport default function (state) {\n let action = 'add'\n\n if (state === true) {\n registered++\n\n if (closeTimer !== null) {\n clearTimeout(closeTimer)\n closeTimer = null\n return\n }\n\n if (registered > 1) {\n return\n }\n }\n else {\n if (registered === 0) {\n return\n }\n\n registered--\n\n if (registered > 0) {\n return\n }\n\n action = 'remove'\n\n if (client.is.ios === true && client.is.nativeMobile === true) {\n closeTimer !== null && clearTimeout(closeTimer)\n closeTimer = setTimeout(() => {\n apply(action)\n closeTimer = null\n }, 100)\n return\n }\n }\n\n apply(action)\n}\n","import preventScroll from '../../utils/prevent-scroll.js'\n\nexport default function () {\n let currentState\n\n return {\n preventBodyScroll (state) {\n if (\n state !== currentState\n && (currentState !== void 0 || state === true)\n ) {\n currentState = state\n preventScroll(state)\n }\n }\n }\n}\n","import { h, computed, ref } from 'vue'\n\nexport default function (props, rootRef) {\n const refocusRef = ref(null)\n\n const refocusTargetEl = computed(() => {\n if (props.disable === true) {\n return null\n }\n\n return h('span', {\n ref: refocusRef,\n class: 'no-outline',\n tabindex: -1\n })\n })\n\n function refocusTarget (e) {\n const root = rootRef.value\n\n if (e !== void 0 && e.type.indexOf('key') === 0) {\n if (\n root !== null\n && document.activeElement !== root\n && root.contains(document.activeElement) === true\n ) {\n root.focus()\n }\n }\n else if (\n refocusRef.value !== null\n && (e === void 0 || (root !== null && root.contains(e.target) === true))\n ) {\n refocusRef.value.focus()\n }\n }\n\n return {\n refocusTargetEl,\n refocusTarget\n }\n}\n","/*\n * Inspired by RouterLink from Vue Router\n * --> API should match!\n */\n\nimport { computed, getCurrentInstance } from 'vue'\n\nimport { vmHasRouter } from '../../utils/private/vm.js'\n\n// Get the original path value of a record by following its aliasOf\nfunction getOriginalPath (record) {\n return record\n ? (\n record.aliasOf\n ? record.aliasOf.path\n : record.path\n ) : ''\n}\n\nfunction isSameRouteRecord (a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b)\n}\n\nfunction includesParams (outer, inner) {\n for (const key in inner) {\n const\n innerValue = inner[ key ],\n outerValue = outer[ key ]\n\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue) {\n return false\n }\n }\n else if (\n Array.isArray(outerValue) === false\n || outerValue.length !== innerValue.length\n || innerValue.some((value, i) => value !== outerValue[ i ])\n ) {\n return false\n }\n }\n\n return true\n}\n\nfunction isEquivalentArray (a, b) {\n return Array.isArray(b) === true\n ? a.length === b.length && a.every((value, i) => value === b[ i ])\n : a.length === 1 && a[ 0 ] === b\n}\n\nfunction isSameRouteLocationParamsValue (a, b) {\n return Array.isArray(a) === true\n ? isEquivalentArray(a, b)\n : (\n Array.isArray(b) === true\n ? isEquivalentArray(b, a)\n : a === b\n )\n}\n\nfunction isSameRouteLocationParams (a, b) {\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false\n }\n\n for (const key in a) {\n if (isSameRouteLocationParamsValue(a[ key ], b[ key ]) === false) {\n return false\n }\n }\n\n return true\n}\n\nexport const useRouterLinkProps = {\n // router-link\n to: [ String, Object ],\n replace: Boolean,\n exact: Boolean,\n activeClass: {\n type: String,\n default: 'q-router-link--active'\n },\n exactActiveClass: {\n type: String,\n default: 'q-router-link--exact-active'\n },\n\n // regular link\n href: String,\n target: String,\n\n // state\n disable: Boolean\n}\n\n// external props: type, tag\n\nexport default function ({ fallbackTag, useDisableForRouterLinkProps = true } = {}) {\n const vm = getCurrentInstance()\n const { props, proxy, emit } = vm\n\n const hasRouter = vmHasRouter(vm)\n const hasHrefLink = computed(() => props.disable !== true && props.href !== void 0)\n\n // for perf reasons, we use minimum amount of runtime work\n const hasRouterLinkProps = useDisableForRouterLinkProps === true\n ? computed(() =>\n hasRouter === true\n && props.disable !== true\n && hasHrefLink.value !== true\n && props.to !== void 0 && props.to !== null && props.to !== ''\n )\n : computed(() =>\n hasRouter === true\n && hasHrefLink.value !== true\n && props.to !== void 0 && props.to !== null && props.to !== ''\n )\n\n const resolvedLink = computed(() => (\n hasRouterLinkProps.value === true\n ? getLink(props.to)\n : null\n ))\n\n const hasRouterLink = computed(() => resolvedLink.value !== null)\n const hasLink = computed(() => hasHrefLink.value === true || hasRouterLink.value === true)\n\n const linkTag = computed(() => (\n props.type === 'a' || hasLink.value === true\n ? 'a'\n : (props.tag || fallbackTag || 'div')\n ))\n\n const linkAttrs = computed(() => (\n hasHrefLink.value === true\n ? {\n href: props.href,\n target: props.target\n }\n : (\n hasRouterLink.value === true\n ? {\n href: resolvedLink.value.href,\n target: props.target\n }\n : {}\n )\n ))\n\n const linkActiveIndex = computed(() => {\n if (hasRouterLink.value === false) {\n return -1\n }\n\n const\n { matched } = resolvedLink.value,\n { length } = matched,\n routeMatched = matched[ length - 1 ]\n\n if (routeMatched === void 0) {\n return -1\n }\n\n const currentMatched = proxy.$route.matched\n\n if (currentMatched.length === 0) {\n return -1\n }\n\n const index = currentMatched.findIndex(\n isSameRouteRecord.bind(null, routeMatched)\n )\n\n if (index > -1) {\n return index\n }\n\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[ length - 2 ])\n\n return (\n // we are dealing with nested routes\n length > 1\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n && getOriginalPath(routeMatched) === parentRecordPath\n // avoid comparing the child with its parent\n && currentMatched[ currentMatched.length - 1 ].path !== parentRecordPath\n ? currentMatched.findIndex(\n isSameRouteRecord.bind(null, matched[ length - 2 ])\n )\n : index\n )\n })\n\n const linkIsActive = computed(() =>\n hasRouterLink.value === true\n && linkActiveIndex.value !== -1\n && includesParams(proxy.$route.params, resolvedLink.value.params)\n )\n\n const linkIsExactActive = computed(() =>\n linkIsActive.value === true\n && linkActiveIndex.value === proxy.$route.matched.length - 1\n && isSameRouteLocationParams(proxy.$route.params, resolvedLink.value.params)\n )\n\n const linkClass = computed(() => (\n hasRouterLink.value === true\n ? (\n linkIsExactActive.value === true\n ? ` ${ props.exactActiveClass } ${ props.activeClass }`\n : (\n props.exact === true\n ? ''\n : (linkIsActive.value === true ? ` ${ props.activeClass }` : '')\n )\n )\n : ''\n ))\n\n function getLink (to) {\n try { return proxy.$router.resolve(to) }\n catch (_) {}\n\n return null\n }\n\n /**\n * @returns Promise\n */\n function navigateToRouterLink (\n e,\n { returnRouterError, to = props.to, replace = props.replace } = {}\n ) {\n if (props.disable === true) {\n // ensure native navigation is prevented in all cases,\n // like when useDisableForRouterLinkProps === false (QRouteTab)\n e.preventDefault()\n return Promise.resolve(false)\n }\n\n if (\n // don't redirect with control keys;\n // should match RouterLink from Vue Router\n e.metaKey || e.altKey || e.ctrlKey || e.shiftKey\n\n // don't redirect on right click\n || (e.button !== void 0 && e.button !== 0)\n\n // don't redirect if it should open in a new window\n || props.target === '_blank'\n ) {\n return Promise.resolve(false)\n }\n\n // hinder the native navigation\n e.preventDefault()\n\n // then() can also return a \"soft\" router error (Vue Router behavior)\n const promise = proxy.$router[ replace === true ? 'replace' : 'push' ](to)\n\n return returnRouterError === true\n ? promise\n // else catching hard errors and also \"soft\" ones - then(err => ...)\n : promise.then(() => {}).catch(() => {})\n }\n\n // warning! ensure that the component using it has 'click' included in its 'emits' definition prop\n function navigateOnClick (e) {\n if (hasRouterLink.value === true) {\n const go = opts => navigateToRouterLink(e, opts)\n\n emit('click', e, go)\n e.defaultPrevented !== true && go()\n }\n else {\n emit('click', e)\n }\n }\n\n return {\n hasRouterLink,\n hasHrefLink,\n hasLink,\n\n linkTag,\n resolvedLink,\n linkIsActive,\n linkIsExactActive,\n linkClass,\n linkAttrs,\n\n getLink,\n navigateToRouterLink,\n navigateOnClick\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 { computed } from 'vue'\n\nexport const useSizeDefaults = {\n xs: 18,\n sm: 24,\n md: 32,\n lg: 38,\n xl: 46\n}\n\nexport const useSizeProps = {\n size: String\n}\n\nexport default function (props, sizes = useSizeDefaults) {\n // return sizeStyle\n return computed(() => (\n props.size !== void 0\n ? { fontSize: props.size in sizes ? `${ sizes[ props.size ] }px` : props.size }\n : null\n ))\n}\n","import { nextTick, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport { vmIsDestroyed } from '../../utils/private/vm'\n\n/*\n * Usage:\n * registerTick(fn)\n * removeTick()\n */\n\nexport default function () {\n let tickFn\n const vm = getCurrentInstance()\n\n function removeTick () {\n tickFn = void 0\n }\n\n onDeactivated(removeTick)\n onBeforeUnmount(removeTick)\n\n return {\n removeTick,\n\n registerTick (fn) {\n tickFn = fn\n\n nextTick(() => {\n if (tickFn === fn) {\n // we also check if VM is destroyed, since if it\n // got to trigger one nextTick() we cannot stop it\n vmIsDestroyed(vm) === false && tickFn()\n tickFn = void 0\n }\n })\n }\n }\n}\n","import { onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport { vmIsDestroyed } from '../../utils/private/vm'\n\n/*\n * Usage:\n * registerTimeout(fn[, delay])\n * removeTimeout()\n */\n\nexport default function () {\n let timer = null\n const vm = getCurrentInstance()\n\n function removeTimeout () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n }\n\n onDeactivated(removeTimeout)\n onBeforeUnmount(removeTimeout)\n\n return {\n removeTimeout,\n\n registerTimeout (fn, delay) {\n removeTimeout(timer)\n\n if (vmIsDestroyed(vm) === false) {\n timer = setTimeout(fn, delay)\n }\n }\n }\n}\n","import { computed } from 'vue'\n\nexport const useTransitionProps = {\n transitionShow: {\n type: String,\n default: 'fade'\n },\n\n transitionHide: {\n type: String,\n default: 'fade'\n },\n\n transitionDuration: {\n type: [ String, Number ],\n default: 300\n }\n}\n\nexport default function (props, defaultShowFn = () => {}, defaultHideFn = () => {}) {\n return {\n transitionProps: computed(() => {\n const show = `q-transition--${ props.transitionShow || defaultShowFn() }`\n const hide = `q-transition--${ props.transitionHide || defaultHideFn() }`\n\n return {\n appear: true,\n\n enterFromClass: `${ show }-enter-from`,\n enterActiveClass: `${ show }-enter-active`,\n enterToClass: `${ show }-enter-to`,\n\n leaveFromClass: `${ hide }-leave-from`,\n leaveActiveClass: `${ hide }-leave-active`,\n leaveToClass: `${ hide }-leave-to`\n }\n }),\n\n transitionStyle: computed(() => `--q-transition-duration: ${ props.transitionDuration }ms`)\n }\n}\n","import { inject } from 'vue'\nimport { quasarKey } from '../utils/private/symbols.js'\n\n/**\n * Returns the $q instance.\n * Equivalent to `this.$q` inside templates.\n */\nexport default function useQuasar () {\n return inject(quasarKey)\n}\n","export default function (fn, limit = 250) {\n let wait = false, result\n\n return function (/* ...args */) {\n if (wait === false) {\n wait = true\n setTimeout(() => { wait = false }, limit)\n result = fn.apply(this, arguments)\n }\n\n return result\n }\n}\n","import { createDirective } from '../utils/private/create.js'\nimport { css } from '../utils/dom.js'\nimport { position, stop, addEvt, cleanEvt } from '../utils/event.js'\nimport { isKeyCode } from '../utils/private/key-composition.js'\nimport throttle from '../utils/throttle.js'\nimport getSSRProps from '../utils/private/noop-ssr-directive-transform.js'\n\nfunction showRipple (evt, el, ctx, forceCenter) {\n ctx.modifiers.stop === true && stop(evt)\n\n const color = ctx.modifiers.color\n let center = ctx.modifiers.center\n center = center === true || forceCenter === true\n\n const\n node = document.createElement('span'),\n innerNode = document.createElement('span'),\n pos = position(evt),\n { left, top, width, height } = el.getBoundingClientRect(),\n diameter = Math.sqrt(width * width + height * height),\n radius = diameter / 2,\n centerX = `${ (width - diameter) / 2 }px`,\n x = center ? centerX : `${ pos.left - left - radius }px`,\n centerY = `${ (height - diameter) / 2 }px`,\n y = center ? centerY : `${ pos.top - top - radius }px`\n\n innerNode.className = 'q-ripple__inner'\n css(innerNode, {\n height: `${ diameter }px`,\n width: `${ diameter }px`,\n transform: `translate3d(${ x },${ y },0) scale3d(.2,.2,1)`,\n opacity: 0\n })\n\n node.className = `q-ripple${ color ? ' text-' + color : '' }`\n node.setAttribute('dir', 'ltr')\n node.appendChild(innerNode)\n el.appendChild(node)\n\n const abort = () => {\n node.remove()\n clearTimeout(timer)\n }\n ctx.abort.push(abort)\n\n let timer = setTimeout(() => {\n innerNode.classList.add('q-ripple__inner--enter')\n innerNode.style.transform = `translate3d(${ centerX },${ centerY },0) scale3d(1,1,1)`\n innerNode.style.opacity = 0.2\n\n timer = setTimeout(() => {\n innerNode.classList.remove('q-ripple__inner--enter')\n innerNode.classList.add('q-ripple__inner--leave')\n innerNode.style.opacity = 0\n\n timer = setTimeout(() => {\n node.remove()\n ctx.abort.splice(ctx.abort.indexOf(abort), 1)\n }, 275)\n }, 250)\n }, 50)\n}\n\nfunction updateModifiers (ctx, { modifiers, value, arg }) {\n const cfg = Object.assign({}, ctx.cfg.ripple, modifiers, value)\n ctx.modifiers = {\n early: cfg.early === true,\n stop: cfg.stop === true,\n center: cfg.center === true,\n color: cfg.color || arg,\n keyCodes: [].concat(cfg.keyCodes || 13)\n }\n}\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'ripple', getSSRProps }\n : {\n name: 'ripple',\n\n beforeMount (el, binding) {\n const cfg = binding.instance.$.appContext.config.globalProperties.$q.config || {}\n\n if (cfg.ripple === false) {\n return\n }\n\n const ctx = {\n cfg,\n enabled: binding.value !== false,\n modifiers: {},\n abort: [],\n\n start (evt) {\n if (\n ctx.enabled === true\n && evt.qSkipRipple !== true\n && evt.type === (ctx.modifiers.early === true ? 'pointerdown' : 'click')\n ) {\n showRipple(evt, el, ctx, evt.qKeyEvent === true)\n }\n },\n\n keystart: throttle(evt => {\n if (\n ctx.enabled === true\n && evt.qSkipRipple !== true\n && isKeyCode(evt, ctx.modifiers.keyCodes) === true\n && evt.type === `key${ ctx.modifiers.early === true ? 'down' : 'up' }`\n ) {\n showRipple(evt, el, ctx, true)\n }\n }, 300)\n }\n\n updateModifiers(ctx, binding)\n\n el.__qripple = ctx\n\n addEvt(ctx, 'main', [\n [ el, 'pointerdown', 'start', 'passive' ],\n [ el, 'click', 'start', 'passive' ],\n [ el, 'keydown', 'keystart', 'passive' ],\n [ el, 'keyup', 'keystart', 'passive' ]\n ])\n },\n\n updated (el, binding) {\n if (binding.oldValue !== binding.value) {\n const ctx = el.__qripple\n if (ctx !== void 0) {\n ctx.enabled = binding.value !== false\n\n if (ctx.enabled === true && Object(binding.value) === binding.value) {\n updateModifiers(ctx, binding)\n }\n }\n }\n },\n\n beforeUnmount (el) {\n const ctx = el.__qripple\n if (ctx !== void 0) {\n ctx.abort.forEach(fn => { fn() })\n cleanEvt(ctx, 'main')\n delete el._qripple\n }\n }\n }\n)\n","import { client } from '../plugins/Platform.js'\n\nimport { createDirective } from '../utils/private/create.js'\nimport { getModifierDirections, shouldStart } from '../utils/private/touch.js'\nimport { addEvt, cleanEvt, position, leftClick, prevent, stop, stopAndPrevent, preventDraggable, noop } from '../utils/event.js'\nimport { clearSelection } from '../utils/private/selection.js'\nimport getSSRProps from '../utils/private/noop-ssr-directive-transform.js'\n\nfunction getChanges (evt, ctx, isFinal) {\n const pos = position(evt)\n let\n dir,\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y,\n absX = Math.abs(distX),\n absY = Math.abs(distY)\n\n const direction = ctx.direction\n\n if (direction.horizontal === true && direction.vertical !== true) {\n dir = distX < 0 ? 'left' : 'right'\n }\n else if (direction.horizontal !== true && direction.vertical === true) {\n dir = distY < 0 ? 'up' : 'down'\n }\n else if (direction.up === true && distY < 0) {\n dir = 'up'\n if (absX > absY) {\n if (direction.left === true && distX < 0) {\n dir = 'left'\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n }\n }\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n if (absX > absY) {\n if (direction.left === true && distX < 0) {\n dir = 'left'\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n }\n }\n }\n else if (direction.left === true && distX < 0) {\n dir = 'left'\n if (absX < absY) {\n if (direction.up === true && distY < 0) {\n dir = 'up'\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n }\n }\n }\n else if (direction.right === true && distX > 0) {\n dir = 'right'\n if (absX < absY) {\n if (direction.up === true && distY < 0) {\n dir = 'up'\n }\n else if (direction.down === true && distY > 0) {\n dir = 'down'\n }\n }\n }\n\n let synthetic = false\n\n if (dir === void 0 && isFinal === false) {\n if (ctx.event.isFirst === true || ctx.event.lastDir === void 0) {\n return {}\n }\n\n dir = ctx.event.lastDir\n synthetic = true\n\n if (dir === 'left' || dir === 'right') {\n pos.left -= distX\n absX = 0\n distX = 0\n }\n else {\n pos.top -= distY\n absY = 0\n distY = 0\n }\n }\n\n return {\n synthetic,\n payload: {\n evt,\n touch: ctx.event.mouse !== true,\n mouse: ctx.event.mouse === true,\n position: pos,\n direction: dir,\n isFirst: ctx.event.isFirst,\n isFinal: isFinal === true,\n duration: Date.now() - ctx.event.time,\n distance: {\n x: absX,\n y: absY\n },\n offset: {\n x: distX,\n y: distY\n },\n delta: {\n x: pos.left - ctx.event.lastX,\n y: pos.top - ctx.event.lastY\n }\n }\n }\n}\n\nlet uid = 0\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'touch-pan', getSSRProps }\n : {\n name: 'touch-pan',\n\n beforeMount (el, { value, 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 function handleEvent (evt, mouseEvent) {\n if (modifiers.mouse === true && mouseEvent === true) {\n stopAndPrevent(evt)\n }\n else {\n modifiers.stop === true && stop(evt)\n modifiers.prevent === true && prevent(evt)\n }\n }\n\n const ctx = {\n uid: 'qvtp_' + (uid++),\n handler: value,\n modifiers,\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', 'notPassiveCapture' ],\n [ document, 'mouseup', 'end', 'passiveCapture' ]\n ])\n\n ctx.start(evt, true)\n }\n },\n\n touchStart (evt) {\n if (shouldStart(evt, ctx)) {\n const target = evt.target\n\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'notPassiveCapture' ],\n [ target, 'touchcancel', 'end', 'passiveCapture' ],\n [ target, 'touchend', 'end', 'passiveCapture' ]\n ])\n\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent) {\n client.is.firefox === true && preventDraggable(el, true)\n ctx.lastEvt = evt\n\n /*\n * Stop propagation so possible upper v-touch-pan don't catch this as well;\n * If we're not the target (based on modifiers), we'll re-emit the event later\n */\n if (mouseEvent === true || modifiers.stop === true) {\n /*\n * are we directly switching to detected state?\n * clone event only otherwise\n */\n if (\n ctx.direction.all !== true\n // account for UMD too where modifiers will be lowercased to work\n && (mouseEvent !== true || (ctx.modifiers.mouseAllDir !== true && ctx.modifiers.mousealldir !== true))\n ) {\n const clone = evt.type.indexOf('mouse') > -1\n ? new MouseEvent(evt.type, evt)\n : new TouchEvent(evt.type, evt)\n\n evt.defaultPrevented === true && prevent(clone)\n evt.cancelBubble === true && stop(clone)\n\n Object.assign(clone, {\n qKeyEvent: evt.qKeyEvent,\n qClickOutside: evt.qClickOutside,\n qAnchorHandled: evt.qAnchorHandled,\n qClonedBy: evt.qClonedBy === void 0\n ? [ ctx.uid ]\n : evt.qClonedBy.concat(ctx.uid)\n })\n\n ctx.initialEvent = {\n target: evt.target,\n event: clone\n }\n }\n\n stop(evt)\n }\n\n const { left, top } = position(evt)\n\n ctx.event = {\n x: left,\n y: top,\n time: Date.now(),\n mouse: mouseEvent === true,\n detected: false,\n isFirst: true,\n isFinal: false,\n lastX: left,\n lastY: top\n }\n },\n\n move (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n const\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n distY = pos.top - ctx.event.y\n\n // prevent buggy browser behavior (like Blink-based engine ones on Windows)\n // where the mousemove event occurs even if there's no movement after mousedown\n // https://bugs.chromium.org/p/chromium/issues/detail?id=161464\n // https://bugs.chromium.org/p/chromium/issues/detail?id=721341\n // https://github.com/quasarframework/quasar/issues/10721\n if (distX === 0 && distY === 0) {\n return\n }\n\n ctx.lastEvt = evt\n\n const isMouseEvt = ctx.event.mouse === true\n const start = () => {\n handleEvent(evt, isMouseEvt)\n\n let cursor\n if (modifiers.preserveCursor !== true && modifiers.preservecursor !== true) {\n cursor = document.documentElement.style.cursor || ''\n document.documentElement.style.cursor = 'grabbing'\n }\n\n isMouseEvt === true && document.body.classList.add('no-pointer-events--children')\n document.body.classList.add('non-selectable')\n clearSelection()\n\n ctx.styleCleanup = withDelayedFn => {\n ctx.styleCleanup = void 0\n\n if (cursor !== void 0) {\n document.documentElement.style.cursor = cursor\n }\n\n document.body.classList.remove('non-selectable')\n\n if (isMouseEvt === true) {\n const remove = () => {\n document.body.classList.remove('no-pointer-events--children')\n }\n\n if (withDelayedFn !== void 0) {\n setTimeout(() => {\n remove()\n withDelayedFn()\n }, 50)\n }\n else { remove() }\n }\n else if (withDelayedFn !== void 0) {\n withDelayedFn()\n }\n }\n }\n\n if (ctx.event.detected === true) {\n ctx.event.isFirst !== true && handleEvent(evt, ctx.event.mouse)\n\n const { payload, synthetic } = getChanges(evt, ctx, false)\n\n if (payload !== void 0) {\n if (ctx.handler(payload) === false) {\n ctx.end(evt)\n }\n else {\n if (ctx.styleCleanup === void 0 && ctx.event.isFirst === true) {\n start()\n }\n\n ctx.event.lastX = payload.position.left\n ctx.event.lastY = payload.position.top\n ctx.event.lastDir = synthetic === true ? void 0 : payload.direction\n ctx.event.isFirst = false\n }\n }\n\n return\n }\n\n if (\n ctx.direction.all === true\n // account for UMD too where modifiers will be lowercased to work\n || (isMouseEvt === true && (ctx.modifiers.mouseAllDir === true || ctx.modifiers.mousealldir === true))\n ) {\n start()\n ctx.event.detected = true\n ctx.move(evt)\n return\n }\n\n const\n absX = Math.abs(distX),\n absY = Math.abs(distY)\n\n if (absX !== absY) {\n if (\n (ctx.direction.horizontal === true && absX > absY)\n || (ctx.direction.vertical === true && absX < absY)\n || (ctx.direction.up === true && absX < absY && distY < 0)\n || (ctx.direction.down === true && absX < absY && distY > 0)\n || (ctx.direction.left === true && absX > absY && distX < 0)\n || (ctx.direction.right === true && absX > absY && distX > 0)\n ) {\n ctx.event.detected = true\n ctx.move(evt)\n }\n else {\n ctx.end(evt, true)\n }\n }\n },\n\n end (evt, abort) {\n if (ctx.event === void 0) {\n return\n }\n\n cleanEvt(ctx, 'temp')\n client.is.firefox === true && preventDraggable(el, false)\n\n if (abort === true) {\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n if (ctx.event.detected !== true && ctx.initialEvent !== void 0) {\n ctx.initialEvent.target.dispatchEvent(ctx.initialEvent.event)\n }\n }\n else if (ctx.event.detected === true) {\n ctx.event.isFirst === true && ctx.handler(getChanges(evt === void 0 ? ctx.lastEvt : evt, ctx).payload)\n\n const { payload } = getChanges(evt === void 0 ? ctx.lastEvt : evt, ctx, true)\n const fn = () => { ctx.handler(payload) }\n\n if (ctx.styleCleanup !== void 0) {\n ctx.styleCleanup(fn)\n }\n else {\n fn()\n }\n }\n\n ctx.event = void 0\n ctx.initialEvent = void 0\n ctx.lastEvt = void 0\n }\n }\n\n el.__qtouchpan = 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.__qtouchpan\n\n if (ctx !== void 0) {\n if (bindings.oldValue !== bindings.value) {\n typeof 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.__qtouchpan\n\n if (ctx !== void 0) {\n // emit the end event when the directive is destroyed while active\n // this is only needed in TouchPan because the rest of the touch directives do not emit an end event\n // the condition is also checked in the start of function but we avoid the call\n ctx.event !== void 0 && ctx.end()\n\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.__qtouchpan\n }\n }\n }\n)\n","import { client } from './plugins/Platform.js'\nimport { noop } from './utils/event.js'\n\nconst getTrue = () => true\n\nfunction filterInvalidPath (path) {\n return typeof path === 'string'\n && path !== ''\n && path !== '/'\n && path !== '#/'\n}\n\nfunction normalizeExitPath (path) {\n path.startsWith('#') === true && (path = path.substring(1))\n path.startsWith('/') === false && (path = '/' + path)\n path.endsWith('/') === true && (path = path.substring(0, path.length - 1))\n return '#' + path\n}\n\nfunction getShouldExitFn (cfg) {\n if (cfg.backButtonExit === false) {\n return () => false\n }\n\n if (cfg.backButtonExit === '*') {\n return getTrue\n }\n\n // Add default root path\n const exitPaths = [ '#/' ]\n\n // Add custom exit paths\n Array.isArray(cfg.backButtonExit) === true && exitPaths.push(\n ...cfg.backButtonExit.filter(filterInvalidPath).map(normalizeExitPath)\n )\n\n return () => exitPaths.includes(window.location.hash)\n}\n\nexport default {\n __history: [],\n add: noop,\n remove: noop,\n\n install ({ $q }) {\n if (__QUASAR_SSR_SERVER__ || this.__installed === true) { return }\n\n const { cordova, capacitor } = client.is\n\n if (cordova !== true && capacitor !== true) {\n return\n }\n\n const qConf = $q.config[ cordova === true ? 'cordova' : 'capacitor' ]\n\n if (qConf !== void 0 && qConf.backButton === false) {\n return\n }\n\n // if the '@capacitor/app' plugin is not installed\n // then we got nothing to do\n if (\n // if we're on Capacitor mode\n capacitor === true\n // and it's also not in Capacitor's main instance\n && (window.Capacitor === void 0 || window.Capacitor.Plugins.App === void 0)\n ) {\n return\n }\n\n this.add = entry => {\n if (entry.condition === void 0) {\n entry.condition = getTrue\n }\n this.__history.push(entry)\n }\n\n this.remove = entry => {\n const index = this.__history.indexOf(entry)\n if (index >= 0) {\n this.__history.splice(index, 1)\n }\n }\n\n const shouldExit = getShouldExitFn(\n Object.assign(\n { backButtonExit: true },\n qConf\n )\n )\n\n const backHandler = () => {\n if (this.__history.length) {\n const entry = this.__history[ this.__history.length - 1 ]\n\n if (entry.condition() === true) {\n this.__history.pop()\n entry.handler()\n }\n }\n else if (shouldExit() === true) {\n navigator.app.exitApp()\n }\n else {\n window.history.back()\n }\n }\n\n if (cordova === true) {\n document.addEventListener('deviceready', () => {\n document.addEventListener('backbutton', backHandler, false)\n })\n }\n else {\n window.Capacitor.Plugins.App.addListener('backButton', backHandler)\n }\n }\n}\n","export default {\n name: 'material-icons',\n type: {\n positive: 'check_circle',\n negative: 'warning',\n info: 'info',\n warning: 'priority_high'\n },\n arrow: {\n up: 'arrow_upward',\n right: 'arrow_forward',\n down: 'arrow_downward',\n left: 'arrow_back',\n dropdown: 'arrow_drop_down'\n },\n chevron: {\n left: 'chevron_left',\n right: 'chevron_right'\n },\n colorPicker: {\n spectrum: 'gradient',\n tune: 'tune',\n palette: 'style'\n },\n pullToRefresh: {\n icon: 'refresh'\n },\n carousel: {\n left: 'chevron_left',\n right: 'chevron_right',\n up: 'keyboard_arrow_up',\n down: 'keyboard_arrow_down',\n navigationIcon: 'lens'\n },\n chip: {\n remove: 'cancel',\n selected: 'check'\n },\n datetime: {\n arrowLeft: 'chevron_left',\n arrowRight: 'chevron_right',\n now: 'access_time',\n today: 'today'\n },\n editor: {\n bold: 'format_bold',\n italic: 'format_italic',\n strikethrough: 'strikethrough_s',\n underline: 'format_underlined',\n unorderedList: 'format_list_bulleted',\n orderedList: 'format_list_numbered',\n subscript: 'vertical_align_bottom',\n superscript: 'vertical_align_top',\n hyperlink: 'link',\n toggleFullscreen: 'fullscreen',\n quote: 'format_quote',\n left: 'format_align_left',\n center: 'format_align_center',\n right: 'format_align_right',\n justify: 'format_align_justify',\n print: 'print',\n outdent: 'format_indent_decrease',\n indent: 'format_indent_increase',\n removeFormat: 'format_clear',\n formatting: 'text_format',\n fontSize: 'format_size',\n align: 'format_align_left',\n hr: 'remove',\n undo: 'undo',\n redo: 'redo',\n heading: 'format_size',\n code: 'code',\n size: 'format_size',\n font: 'font_download',\n viewSource: 'code'\n },\n expansionItem: {\n icon: 'keyboard_arrow_down',\n denseIcon: 'arrow_drop_down'\n },\n fab: {\n icon: 'add',\n activeIcon: 'close'\n },\n field: {\n clear: 'cancel',\n error: 'error'\n },\n pagination: {\n first: 'first_page',\n prev: 'keyboard_arrow_left',\n next: 'keyboard_arrow_right',\n last: 'last_page'\n },\n rating: {\n icon: 'grade'\n },\n stepper: {\n done: 'check',\n active: 'edit',\n error: 'warning'\n },\n tabs: {\n left: 'chevron_left',\n right: 'chevron_right',\n up: 'keyboard_arrow_up',\n down: 'keyboard_arrow_down'\n },\n table: {\n arrowUp: 'arrow_upward',\n warning: 'warning',\n firstPage: 'first_page',\n prevPage: 'chevron_left',\n nextPage: 'chevron_right',\n lastPage: 'last_page'\n },\n tree: {\n icon: 'play_arrow'\n },\n uploader: {\n done: 'done',\n clear: 'clear',\n add: 'add_box',\n upload: 'cloud_upload',\n removeQueue: 'clear_all',\n removeUploaded: 'done_all'\n }\n}\n","import defineReactivePlugin from './utils/private/define-reactive-plugin.js'\nimport { injectProp } from './utils/private/inject-obj-prop.js'\n// no extension on purpose for next one:\nimport materialIcons from '../icon-set/material-icons'\n\nconst Plugin = defineReactivePlugin({\n iconMapFn: null,\n __icons: {}\n}, {\n set (setObject, ssrContext) {\n const def = { ...setObject, rtl: setObject.rtl === true }\n\n if (__QUASAR_SSR_SERVER__) {\n if (ssrContext === void 0) {\n console.error('SSR ERROR: second param required: Quasar.iconSet.set(iconSet, ssrContext)')\n return\n }\n\n def.set = ssrContext.$q.iconSet.set\n Object.assign(ssrContext.$q.iconSet, def)\n }\n else {\n def.set = Plugin.set\n Object.assign(Plugin.__icons, def)\n }\n },\n\n install ({ $q, iconSet, ssrContext }) {\n if (__QUASAR_SSR_SERVER__) {\n const initialSet = iconSet || materialIcons\n\n $q.iconMapFn = ssrContext.$q.config.iconMapFn || this.iconMapFn || null\n $q.iconSet = {}\n $q.iconSet.set = setObject => {\n this.set(setObject, ssrContext)\n }\n\n $q.iconSet.set(initialSet)\n }\n else {\n if ($q.config.iconMapFn !== void 0) {\n this.iconMapFn = $q.config.iconMapFn\n }\n\n $q.iconSet = this.__icons\n\n injectProp($q, 'iconMapFn', () => this.iconMapFn, val => { this.iconMapFn = val })\n\n if (this.__installed === true) {\n iconSet !== void 0 && this.set(iconSet)\n }\n else {\n this.set(iconSet || materialIcons)\n }\n }\n }\n})\n\nexport default Plugin\n","import { isRuntimeSsrPreHydration, client } from './Platform.js'\n\nimport defineReactivePlugin from '../utils/private/define-reactive-plugin.js'\nimport { listenOpts, noop } from '../utils/event.js'\nimport debounce from '../utils/debounce.js'\n\nconst SIZE_LIST = [ 'sm', 'md', 'lg', 'xl' ]\nconst { passive } = listenOpts\n\nexport default defineReactivePlugin({\n width: 0,\n height: 0,\n name: 'xs',\n\n sizes: {\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n },\n\n lt: {\n sm: true,\n md: true,\n lg: true,\n xl: true\n },\n gt: {\n xs: false,\n sm: false,\n md: false,\n lg: false\n },\n\n xs: true,\n sm: false,\n md: false,\n lg: false,\n xl: false\n}, {\n setSizes: noop,\n setDebounce: noop,\n\n install ({ $q, onSSRHydrated }) {\n $q.screen = this\n\n if (__QUASAR_SSR_SERVER__) { return }\n\n if (this.__installed === true) {\n if ($q.config.screen !== void 0) {\n if ($q.config.screen.bodyClasses === false) {\n document.body.classList.remove(`screen--${ this.name }`)\n }\n else {\n this.__update(true)\n }\n }\n return\n }\n\n const { visualViewport } = window\n const target = visualViewport || window\n const scrollingElement = document.scrollingElement || document.documentElement\n const getSize = visualViewport === void 0 || client.is.mobile === true\n ? () => [\n Math.max(window.innerWidth, scrollingElement.clientWidth),\n Math.max(window.innerHeight, scrollingElement.clientHeight)\n ]\n : () => [\n visualViewport.width * visualViewport.scale + window.innerWidth - scrollingElement.clientWidth,\n visualViewport.height * visualViewport.scale + window.innerHeight - scrollingElement.clientHeight\n ]\n\n const classes = $q.config.screen !== void 0 && $q.config.screen.bodyClasses === true\n\n this.__update = force => {\n const [ w, h ] = getSize()\n\n if (h !== this.height) {\n this.height = h\n }\n\n if (w !== this.width) {\n this.width = w\n }\n else if (force !== true) {\n return\n }\n\n let s = this.sizes\n\n this.gt.xs = w >= s.sm\n this.gt.sm = w >= s.md\n this.gt.md = w >= s.lg\n this.gt.lg = w >= s.xl\n this.lt.sm = w < s.sm\n this.lt.md = w < s.md\n this.lt.lg = w < s.lg\n this.lt.xl = w < s.xl\n this.xs = this.lt.sm\n this.sm = this.gt.xs === true && this.lt.md === true\n this.md = this.gt.sm === true && this.lt.lg === true\n this.lg = this.gt.md === true && this.lt.xl === true\n this.xl = this.gt.lg\n\n s = (this.xs === true && 'xs')\n || (this.sm === true && 'sm')\n || (this.md === true && 'md')\n || (this.lg === true && 'lg')\n || 'xl'\n\n if (s !== this.name) {\n if (classes === true) {\n document.body.classList.remove(`screen--${ this.name }`)\n document.body.classList.add(`screen--${ s }`)\n }\n this.name = s\n }\n }\n\n let updateEvt, updateSizes = {}, updateDebounce = 16\n\n this.setSizes = sizes => {\n SIZE_LIST.forEach(name => {\n if (sizes[ name ] !== void 0) {\n updateSizes[ name ] = sizes[ name ]\n }\n })\n }\n this.setDebounce = deb => {\n updateDebounce = deb\n }\n\n const start = () => {\n const style = getComputedStyle(document.body)\n\n // if css props available\n if (style.getPropertyValue('--q-size-sm')) {\n SIZE_LIST.forEach(name => {\n this.sizes[ name ] = parseInt(style.getPropertyValue(`--q-size-${ name }`), 10)\n })\n }\n\n this.setSizes = sizes => {\n SIZE_LIST.forEach(name => {\n if (sizes[ name ]) {\n this.sizes[ name ] = sizes[ name ]\n }\n })\n this.__update(true)\n }\n\n this.setDebounce = delay => {\n updateEvt !== void 0 && target.removeEventListener('resize', updateEvt, passive)\n updateEvt = delay > 0\n ? debounce(this.__update, delay)\n : this.__update\n target.addEventListener('resize', updateEvt, passive)\n }\n\n this.setDebounce(updateDebounce)\n\n if (Object.keys(updateSizes).length > 0) {\n this.setSizes(updateSizes)\n updateSizes = void 0 // free up memory\n }\n else {\n this.__update()\n }\n\n // due to optimizations, this would be left out otherwise\n classes === true && this.name === 'xs'\n && document.body.classList.add('screen--xs')\n }\n\n if (isRuntimeSsrPreHydration.value === true) {\n onSSRHydrated.push(start)\n }\n else {\n start()\n }\n }\n})\n","import defineReactivePlugin from '../utils/private/define-reactive-plugin.js'\nimport { isRuntimeSsrPreHydration } from './Platform.js'\n\nconst Plugin = defineReactivePlugin({\n isActive: false,\n mode: false\n}, {\n __media: void 0,\n\n set (val) {\n if (__QUASAR_SSR_SERVER__) { return }\n\n Plugin.mode = val\n\n if (val === 'auto') {\n if (Plugin.__media === void 0) {\n Plugin.__media = window.matchMedia('(prefers-color-scheme: dark)')\n Plugin.__updateMedia = () => { Plugin.set('auto') }\n Plugin.__media.addListener(Plugin.__updateMedia)\n }\n\n val = Plugin.__media.matches\n }\n else if (Plugin.__media !== void 0) {\n Plugin.__media.removeListener(Plugin.__updateMedia)\n Plugin.__media = void 0\n }\n\n Plugin.isActive = val === true\n\n document.body.classList.remove(`body--${ val === true ? 'light' : 'dark' }`)\n document.body.classList.add(`body--${ val === true ? 'dark' : 'light' }`)\n },\n\n toggle () {\n if (__QUASAR_SSR_SERVER__ !== true) {\n Plugin.set(Plugin.isActive === false)\n }\n },\n\n install ({ $q, onSSRHydrated, ssrContext }) {\n const { dark } = $q.config\n\n if (__QUASAR_SSR_SERVER__) {\n this.isActive = dark === true\n\n $q.dark = {\n isActive: false,\n mode: false,\n set: val => {\n ssrContext._meta.bodyClasses = ssrContext._meta.bodyClasses\n .replace(' body--light', '')\n .replace(' body--dark', '') + ` body--${ val === true ? 'dark' : 'light' }`\n\n $q.dark.isActive = val === true\n $q.dark.mode = val\n },\n toggle: () => {\n $q.dark.set($q.dark.isActive === false)\n }\n }\n\n $q.dark.set(dark)\n return\n }\n\n $q.dark = this\n\n if (this.__installed === true && dark === void 0) {\n return\n }\n\n this.isActive = dark === true\n\n const initialVal = dark !== void 0 ? dark : false\n\n if (isRuntimeSsrPreHydration.value === true) {\n const ssrSet = val => {\n this.__fromSSR = val\n }\n\n const originalSet = this.set\n\n this.set = ssrSet\n ssrSet(initialVal)\n\n onSSRHydrated.push(() => {\n this.set = originalSet\n this.set(this.__fromSSR)\n })\n }\n else {\n this.set(initialVal)\n }\n }\n})\n\nexport default Plugin\n","export default function setCssVar (propName, value, element = document.body) {\n if (typeof propName !== 'string') {\n throw new TypeError('Expected a string as propName')\n }\n if (typeof value !== 'string') {\n throw new TypeError('Expected a string as value')\n }\n if (!(element instanceof Element)) {\n throw new TypeError('Expected a DOM element')\n }\n\n element.style.setProperty(`--q-${ propName }`, value)\n}\n","import setCssVar from './utils/set-css-var.js'\nimport { noop } from './utils/event.js'\nimport { onKeyDownComposition } from './utils/private/key-composition.js'\nimport { isRuntimeSsrPreHydration, client, iosCorrection } from './plugins/Platform.js'\n\nfunction getMobilePlatform (is) {\n if (is.ios === true) return 'ios'\n if (is.android === true) return 'android'\n}\n\nfunction getBodyClasses ({ is, has, within }, cfg) {\n const cls = [\n is.desktop === true ? 'desktop' : 'mobile',\n `${ has.touch === false ? 'no-' : '' }touch`\n ]\n\n if (is.mobile === true) {\n const mobile = getMobilePlatform(is)\n mobile !== void 0 && cls.push('platform-' + mobile)\n }\n\n if (is.nativeMobile === true) {\n const type = is.nativeMobileWrapper\n\n cls.push(type)\n cls.push('native-mobile')\n\n if (\n is.ios === true\n && (cfg[ type ] === void 0 || cfg[ type ].iosStatusBarPadding !== false)\n ) {\n cls.push('q-ios-padding')\n }\n }\n else if (is.electron === true) {\n cls.push('electron')\n }\n else if (is.bex === true) {\n cls.push('bex')\n }\n\n within.iframe === true && cls.push('within-iframe')\n\n return cls\n}\n\nfunction applyClientSsrCorrections () {\n const { is } = client\n const classes = document.body.className\n\n const classList = new Set(classes.replace(/ {2}/g, ' ').split(' '))\n\n if (iosCorrection !== void 0) {\n classList.delete('desktop')\n classList.add('platform-ios')\n classList.add('mobile')\n }\n // else: is it SSG?\n else if (is.nativeMobile !== true && is.electron !== true && is.bex !== true) {\n if (is.desktop === true) {\n classList.delete('mobile')\n classList.delete('platform-ios')\n classList.delete('platform-android')\n classList.add('desktop')\n }\n else if (is.mobile === true) {\n classList.delete('desktop')\n classList.add('mobile')\n\n const mobile = getMobilePlatform(is)\n if (mobile !== void 0) {\n classList.add(`platform-${ mobile }`)\n classList.delete(`platform-${ mobile === 'ios' ? 'android' : 'ios' }`)\n }\n else {\n classList.delete('platform-ios')\n classList.delete('platform-android')\n }\n }\n }\n\n if (client.has.touch === true) {\n classList.delete('no-touch')\n classList.add('touch')\n }\n\n if (client.within.iframe === true) {\n classList.add('within-iframe')\n }\n\n const newCls = Array.from(classList).join(' ')\n\n if (classes !== newCls) {\n document.body.className = newCls\n }\n}\n\nfunction setColors (brand) {\n for (const color in brand) {\n setCssVar(color, brand[ color ])\n }\n}\n\nexport default {\n install (opts) {\n if (__QUASAR_SSR_SERVER__) {\n const { $q, ssrContext } = opts\n const cls = getBodyClasses($q.platform, $q.config)\n\n if ($q.config.screen !== void 0 && $q.config.screen.bodyClass === true) {\n cls.push('screen--xs')\n }\n\n ssrContext._meta.bodyClasses += cls.join(' ')\n\n const brand = $q.config.brand\n if (brand !== void 0) {\n const vars = Object.keys(brand)\n .map(key => `--q-${ key }:${ brand[ key ] };`)\n .join('')\n\n ssrContext._meta.endingHeadTags += ``\n }\n\n return\n }\n\n if (this.__installed === true) { return }\n\n if (isRuntimeSsrPreHydration.value === true) {\n applyClientSsrCorrections()\n }\n else {\n const { $q } = opts\n\n $q.config.brand !== void 0 && setColors($q.config.brand)\n\n const cls = getBodyClasses(client, $q.config)\n document.body.classList.add.apply(document.body.classList, cls)\n }\n\n if (client.is.ios === true) {\n // needed for iOS button active state\n document.body.addEventListener('touchstart', noop)\n }\n\n window.addEventListener('keydown', onKeyDownComposition, true)\n }\n}\n","import { createApp } from 'vue'\n\nimport Platform, { isRuntimeSsrPreHydration } from './plugins/Platform.js'\nimport Screen from './plugins/Screen.js'\nimport Dark from './plugins/Dark.js'\nimport History from './history.js'\nimport Lang from './lang.js'\nimport Body from './body.js'\nimport IconSet from './icon-set.js'\n\nimport { quasarKey } from './utils/private/symbols.js'\nimport { globalConfig, globalConfigIsFrozen, freezeGlobalConfig } from './utils/private/global-config.js'\nimport { isObject } from './utils/is.js'\n\nconst autoInstalledPlugins = [\n Platform,\n Body,\n Dark,\n Screen,\n History,\n Lang,\n IconSet\n]\n\nexport function createChildApp (appCfg, parentApp) {\n const app = createApp(appCfg)\n\n app.config.globalProperties = parentApp.config.globalProperties\n\n const { reload, ...appContext } = parentApp._context\n Object.assign(app._context, appContext)\n\n return app\n}\n\nfunction installPlugins (pluginOpts, pluginList) {\n pluginList.forEach(Plugin => {\n Plugin.install(pluginOpts)\n Plugin.__installed = true\n })\n}\n\nfunction prepareApp (app, uiOpts, pluginOpts) {\n app.config.globalProperties.$q = pluginOpts.$q\n app.provide(quasarKey, pluginOpts.$q)\n\n installPlugins(pluginOpts, autoInstalledPlugins)\n\n uiOpts.components !== void 0 && Object.values(uiOpts.components).forEach(c => {\n if (isObject(c) === true && c.name !== void 0) {\n app.component(c.name, c)\n }\n })\n\n uiOpts.directives !== void 0 && Object.values(uiOpts.directives).forEach(d => {\n if (isObject(d) === true && d.name !== void 0) {\n app.directive(d.name, d)\n }\n })\n\n uiOpts.plugins !== void 0 && installPlugins(\n pluginOpts,\n Object.values(uiOpts.plugins).filter(\n p => typeof p.install === 'function' && autoInstalledPlugins.includes(p) === false\n )\n )\n\n if (isRuntimeSsrPreHydration.value === true) {\n pluginOpts.$q.onSSRHydrated = () => {\n pluginOpts.onSSRHydrated.forEach(fn => { fn() })\n pluginOpts.$q.onSSRHydrated = () => {}\n }\n }\n}\n\nexport default __QUASAR_SSR_SERVER__\n ? function (parentApp, opts = {}, ssrContext) {\n const $q = {\n version: __QUASAR_VERSION__,\n config: opts.config || {}\n }\n\n Object.assign(ssrContext, {\n $q,\n _meta: {\n htmlAttrs: '',\n headTags: '',\n endingHeadTags: '',\n bodyClasses: '',\n bodyAttrs: 'data-server-rendered',\n bodyTags: ''\n }\n })\n\n if (ssrContext._modules === void 0) {\n // not OK. means the SSR build is not using @quasar/ssr-helpers,\n // but we shouldn't crash the app\n ssrContext._modules = []\n }\n\n if (ssrContext.onRendered === void 0) {\n // not OK. means the SSR build is not using @quasar/ssr-helpers,\n // but we shouldn't crash the app\n ssrContext.onRendered = () => {}\n }\n\n parentApp.config.globalProperties.ssrContext = ssrContext\n\n prepareApp(parentApp, opts, {\n parentApp,\n $q,\n lang: opts.lang,\n iconSet: opts.iconSet,\n ssrContext\n })\n }\n : function (parentApp, opts = {}) {\n const $q = { version: __QUASAR_VERSION__ }\n\n if (globalConfigIsFrozen === false) {\n if (opts.config !== void 0) {\n Object.assign(globalConfig, opts.config)\n }\n\n $q.config = { ...globalConfig }\n freezeGlobalConfig()\n }\n else {\n $q.config = opts.config || {}\n }\n\n prepareApp(parentApp, opts, {\n parentApp,\n $q,\n lang: opts.lang,\n iconSet: opts.iconSet,\n onSSRHydrated: []\n })\n }\n","export default {\n isoName: 'en-US',\n nativeName: 'English (US)',\n label: {\n clear: 'Clear',\n ok: 'OK',\n cancel: 'Cancel',\n close: 'Close',\n set: 'Set',\n select: 'Select',\n reset: 'Reset',\n remove: 'Remove',\n update: 'Update',\n create: 'Create',\n search: 'Search',\n filter: 'Filter',\n refresh: 'Refresh',\n expand: label => (label ? `Expand \"${ label }\"` : 'Expand'),\n collapse: label => (label ? `Collapse \"${ label }\"` : 'Collapse')\n },\n date: {\n days: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n daysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n firstDayOfWeek: 0, // 0-6, 0 - Sunday, 1 Monday, ...\n format24h: false,\n pluralDay: 'days'\n },\n table: {\n noData: 'No data available',\n noResults: 'No matching records found',\n loading: 'Loading...',\n selectedRecords: rows => (\n rows === 1\n ? '1 record selected.'\n : (rows === 0 ? 'No' : rows) + ' records selected.'\n ),\n recordsPerPage: 'Records per page:',\n allRows: 'All',\n pagination: (start, end, total) => start + '-' + end + ' of ' + total,\n columns: 'Columns'\n },\n editor: {\n url: 'URL',\n bold: 'Bold',\n italic: 'Italic',\n strikethrough: 'Strikethrough',\n underline: 'Underline',\n unorderedList: 'Unordered List',\n orderedList: 'Ordered List',\n subscript: 'Subscript',\n superscript: 'Superscript',\n hyperlink: 'Hyperlink',\n toggleFullscreen: 'Toggle Fullscreen',\n quote: 'Quote',\n left: 'Left align',\n center: 'Center align',\n right: 'Right align',\n justify: 'Justify align',\n print: 'Print',\n outdent: 'Decrease indentation',\n indent: 'Increase indentation',\n removeFormat: 'Remove formatting',\n formatting: 'Formatting',\n fontSize: 'Font Size',\n align: 'Align',\n hr: 'Insert Horizontal Rule',\n undo: 'Undo',\n redo: 'Redo',\n heading1: 'Heading 1',\n heading2: 'Heading 2',\n heading3: 'Heading 3',\n heading4: 'Heading 4',\n heading5: 'Heading 5',\n heading6: 'Heading 6',\n paragraph: 'Paragraph',\n code: 'Code',\n size1: 'Very small',\n size2: 'A bit small',\n size3: 'Normal',\n size4: 'Medium-large',\n size5: 'Big',\n size6: 'Very big',\n size7: 'Maximum',\n defaultFont: 'Default Font',\n viewSource: 'View Source'\n },\n tree: {\n noNodes: 'No nodes available',\n noResults: 'No matching nodes found'\n }\n}\n","import defineReactivePlugin from './utils/private/define-reactive-plugin.js'\n// no extension on purpose for next one:\nimport defaultLang from '../lang/en-US'\n\nfunction getLocale () {\n if (__QUASAR_SSR_SERVER__) { return }\n\n const val = Array.isArray(navigator.languages) === true && navigator.languages.length > 0\n ? navigator.languages[ 0 ]\n : navigator.language\n\n if (typeof val === 'string') {\n return val.split(/[-_]/).map((v, i) => (\n i === 0\n ? v.toLowerCase()\n : (\n i > 1 || v.length < 4\n ? v.toUpperCase()\n : (v[ 0 ].toUpperCase() + v.slice(1).toLowerCase())\n )\n )).join('-')\n }\n}\n\nconst Plugin = defineReactivePlugin({\n __langPack: {}\n}, {\n getLocale,\n\n set (langObject = defaultLang, ssrContext) {\n const lang = {\n ...langObject,\n rtl: langObject.rtl === true,\n getLocale\n }\n\n if (__QUASAR_SSR_SERVER__) {\n if (ssrContext === void 0) {\n console.error('SSR ERROR: second param required: Quasar.lang.set(lang, ssrContext)')\n return\n }\n\n lang.set = ssrContext.$q.lang.set\n\n if (ssrContext.$q.config.lang === void 0 || ssrContext.$q.config.lang.noHtmlAttrs !== true) {\n const dir = lang.rtl === true ? 'rtl' : 'ltr'\n const attrs = `lang=${ lang.isoName } dir=${ dir }`\n\n ssrContext._meta.htmlAttrs = ssrContext.__qPrevLang !== void 0\n ? ssrContext._meta.htmlAttrs.replace(ssrContext.__qPrevLang, attrs)\n : attrs\n\n ssrContext.__qPrevLang = attrs\n }\n\n ssrContext.$q.lang = lang\n }\n else {\n lang.set = Plugin.set\n\n if (Plugin.__langConfig === void 0 || Plugin.__langConfig.noHtmlAttrs !== true) {\n const el = document.documentElement\n el.setAttribute('dir', lang.rtl === true ? 'rtl' : 'ltr')\n el.setAttribute('lang', lang.isoName)\n }\n\n Object.assign(Plugin.__langPack, lang)\n\n Plugin.props = lang\n Plugin.isoName = lang.isoName\n Plugin.nativeName = lang.nativeName\n }\n },\n\n install ({ $q, lang, ssrContext }) {\n if (__QUASAR_SSR_SERVER__) {\n const initialLang = lang || defaultLang\n\n $q.lang = {}\n $q.lang.set = langObject => {\n this.set(langObject, ssrContext)\n }\n\n $q.lang.set(initialLang)\n\n // one-time SSR server operation\n if (this.isoName !== initialLang.isoName) {\n this.isoName = initialLang.isoName\n this.nativeName = initialLang.nativeName\n this.props = initialLang\n }\n }\n else {\n $q.lang = Plugin.__langPack\n Plugin.__langConfig = $q.config.lang\n\n if (this.__installed === true) {\n lang !== void 0 && this.set(lang)\n }\n else {\n this.set(lang || defaultLang)\n }\n }\n }\n})\n\nexport default Plugin\nexport { defaultLang }\n","function encode (string) {\n return encodeURIComponent(string)\n}\n\nfunction decode (string) {\n return decodeURIComponent(string)\n}\n\nfunction stringifyCookieValue (value) {\n return encode(value === Object(value) ? JSON.stringify(value) : '' + value)\n}\n\nfunction read (string) {\n if (string === '') {\n return string\n }\n\n if (string.indexOf('\"') === 0) {\n // This is a quoted cookie as according to RFC2068, unescape...\n string = string.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\')\n }\n\n // Replace server-side written pluses with spaces.\n // If we can't decode the cookie, ignore it, it's unusable.\n // If we can't parse the cookie, ignore it, it's unusable.\n string = decode(string.replace(/\\+/g, ' '))\n\n try {\n const parsed = JSON.parse(string)\n\n if (parsed === Object(parsed) || Array.isArray(parsed) === true) {\n string = parsed\n }\n }\n catch (e) {}\n\n return string\n}\n\nfunction getString (msOffset) {\n const time = new Date()\n time.setMilliseconds(time.getMilliseconds() + msOffset)\n return time.toUTCString()\n}\n\nfunction parseExpireString (str) {\n let timestamp = 0\n\n const days = str.match(/(\\d+)d/)\n const hours = str.match(/(\\d+)h/)\n const minutes = str.match(/(\\d+)m/)\n const seconds = str.match(/(\\d+)s/)\n\n if (days) { timestamp += days[ 1 ] * 864e+5 }\n if (hours) { timestamp += hours[ 1 ] * 36e+5 }\n if (minutes) { timestamp += minutes[ 1 ] * 6e+4 }\n if (seconds) { timestamp += seconds[ 1 ] * 1000 }\n\n return timestamp === 0\n ? str\n : getString(timestamp)\n}\n\nfunction set (key, val, opts = {}, ssr) {\n let expire, expireValue\n\n if (opts.expires !== void 0) {\n // if it's a Date Object\n if (Object.prototype.toString.call(opts.expires) === '[object Date]') {\n expire = opts.expires.toUTCString()\n }\n // if it's a String (eg. \"15m\", \"1h\", \"13d\", \"1d 15m\", \"31s\")\n // possible units: d (days), h (hours), m (minutes), s (seconds)\n else if (typeof opts.expires === 'string') {\n expire = parseExpireString(opts.expires)\n }\n // otherwise it must be a Number (defined in days)\n else {\n expireValue = parseFloat(opts.expires)\n expire = isNaN(expireValue) === false\n ? getString(expireValue * 864e+5)\n : opts.expires\n }\n }\n\n const keyValue = `${ encode(key) }=${ stringifyCookieValue(val) }`\n\n const cookie = [\n keyValue,\n expire !== void 0 ? '; Expires=' + expire : '', // use expires attribute, max-age is not supported by IE\n opts.path ? '; Path=' + opts.path : '',\n opts.domain ? '; Domain=' + opts.domain : '',\n opts.sameSite ? '; SameSite=' + opts.sameSite : '',\n opts.httpOnly ? '; HttpOnly' : '',\n opts.secure ? '; Secure' : '',\n opts.other ? '; ' + opts.other : ''\n ].join('')\n\n if (ssr) {\n if (ssr.req.qCookies) {\n ssr.req.qCookies.push(cookie)\n }\n else {\n ssr.req.qCookies = [ cookie ]\n }\n\n ssr.res.setHeader('Set-Cookie', ssr.req.qCookies)\n\n // make temporary update so future get()\n // within same SSR timeframe would return the set value\n\n let all = ssr.req.headers.cookie || ''\n\n if (expire !== void 0 && expireValue < 0) {\n const val = get(key, ssr)\n if (val !== undefined) {\n all = all\n .replace(`${ key }=${ val }; `, '')\n .replace(`; ${ key }=${ val }`, '')\n .replace(`${ key }=${ val }`, '')\n }\n }\n else {\n all = all\n ? `${ keyValue }; ${ all }`\n : cookie\n }\n\n ssr.req.headers.cookie = all\n }\n else {\n document.cookie = cookie\n }\n}\n\nfunction get (key, ssr) {\n const\n cookieSource = ssr ? ssr.req.headers : document,\n cookies = cookieSource.cookie ? cookieSource.cookie.split('; ') : [],\n l = cookies.length\n let\n result = key ? null : {},\n i = 0,\n parts,\n name,\n cookie\n\n for (; i < l; i++) {\n parts = cookies[ i ].split('=')\n name = decode(parts.shift())\n cookie = parts.join('=')\n\n if (!key) {\n result[ name ] = cookie\n }\n else if (key === name) {\n result = read(cookie)\n break\n }\n }\n\n return result\n}\n\nfunction remove (key, options, ssr) {\n set(\n key,\n '',\n { expires: -1, ...options },\n ssr\n )\n}\n\nfunction has (key, ssr) {\n return get(key, ssr) !== null\n}\n\nexport function getObject (ssr) {\n return {\n get: key => get(key, ssr),\n set: (key, val, opts) => set(key, val, opts, ssr),\n has: key => has(key, ssr),\n remove: (key, options) => remove(key, options, ssr),\n getAll: () => get(null, ssr)\n }\n}\n\nconst Plugin = {\n install ({ $q, ssrContext }) {\n $q.cookies = __QUASAR_SSR_SERVER__\n ? getObject(ssrContext)\n : this\n }\n}\n\nif (__QUASAR_SSR__) {\n Plugin.parseSSR = ssrContext => {\n if (ssrContext !== void 0) {\n return getObject(ssrContext)\n }\n }\n}\n\nif (__QUASAR_SSR_SERVER__ !== true) {\n Object.assign(Plugin, getObject())\n}\n\nexport default Plugin\n","import { h, ref, computed, getCurrentInstance, toRaw } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\nimport useRefocusTarget from '../../composables/private/use-refocus-target.js'\nimport { useFormProps, useFormInject } from '../../composables/private/use-form.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport optionSizes from '../../utils/private/option-sizes.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { hSlot, hMergeSlot } from '../../utils/private/render.js'\n\nconst svg = h('svg', {\n key: 'svg',\n class: 'q-radio__bg absolute non-selectable',\n viewBox: '0 0 24 24'\n}, [\n h('path', {\n d: 'M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12'\n }),\n\n h('path', {\n class: 'q-radio__check',\n d: 'M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6'\n })\n])\n\nexport default createComponent({\n name: 'QRadio',\n\n props: {\n ...useDarkProps,\n ...useSizeProps,\n ...useFormProps,\n\n modelValue: { required: true },\n val: { required: true },\n\n label: String,\n leftLabel: Boolean,\n\n checkedIcon: String,\n uncheckedIcon: String,\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n disable: Boolean,\n tabindex: [ String, Number ]\n },\n\n emits: [ 'update:modelValue' ],\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n\n const isDark = useDark(props, proxy.$q)\n const sizeStyle = useSize(props, optionSizes)\n\n const rootRef = ref(null)\n const { refocusTargetEl, refocusTarget } = useRefocusTarget(props, rootRef)\n\n const isTrue = computed(() => toRaw(props.modelValue) === toRaw(props.val))\n\n const classes = computed(() =>\n 'q-radio cursor-pointer no-outline row inline no-wrap items-center'\n + (props.disable === true ? ' disabled' : '')\n + (isDark.value === true ? ' q-radio--dark' : '')\n + (props.dense === true ? ' q-radio--dense' : '')\n + (props.leftLabel === true ? ' reverse' : '')\n )\n\n const innerClass = computed(() => {\n const color = props.color !== void 0 && (\n props.keepColor === true\n || isTrue.value === true\n )\n ? ` text-${ props.color }`\n : ''\n\n return 'q-radio__inner relative-position '\n + `q-radio__inner--${ isTrue.value === true ? 'truthy' : 'falsy' }${ color }`\n })\n\n const icon = computed(() =>\n (isTrue.value === true\n ? props.checkedIcon\n : props.uncheckedIcon\n ) || null\n )\n\n const tabindex = computed(() => (\n props.disable === true ? -1 : props.tabindex || 0\n ))\n\n const formAttrs = computed(() => {\n const prop = { type: 'radio' }\n\n props.name !== void 0 && Object.assign(prop, {\n // see https://vuejs.org/guide/extras/render-function.html#creating-vnodes (.prop)\n '.checked': isTrue.value === true,\n '^checked': isTrue.value === true ? 'checked' : void 0,\n name: props.name,\n value: props.val\n })\n\n return prop\n })\n\n const injectFormInput = useFormInject(formAttrs)\n\n function onClick (e) {\n if (e !== void 0) {\n stopAndPrevent(e)\n refocusTarget(e)\n }\n\n if (props.disable !== true && isTrue.value !== true) {\n emit('update:modelValue', props.val, e)\n }\n }\n\n function onKeydown (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n stopAndPrevent(e)\n }\n }\n\n function onKeyup (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n onClick(e)\n }\n }\n\n // expose public methods\n Object.assign(proxy, { set: onClick })\n\n return () => {\n const content = icon.value !== null\n ? [\n h('div', {\n key: 'icon',\n class: 'q-radio__icon-container absolute-full flex flex-center no-wrap'\n }, [\n h(QIcon, {\n class: 'q-radio__icon',\n name: icon.value\n })\n ])\n ]\n : [ svg ]\n\n props.disable !== true && injectFormInput(\n content,\n 'unshift',\n ' q-radio__native q-ma-none q-pa-none'\n )\n\n const child = [\n h('div', {\n class: innerClass.value,\n style: sizeStyle.value,\n 'aria-hidden': 'true'\n }, content)\n ]\n\n if (refocusTargetEl.value !== null) {\n child.push(refocusTargetEl.value)\n }\n\n const label = props.label !== void 0\n ? hMergeSlot(slots.default, [ props.label ])\n : hSlot(slots.default)\n\n label !== void 0 && child.push(\n h('div', {\n class: 'q-radio__label q-anchor--skip'\n }, label)\n )\n\n return h('div', {\n ref: rootRef,\n class: classes.value,\n tabindex: tabindex.value,\n role: 'radio',\n 'aria-label': props.label,\n 'aria-checked': isTrue.value === true ? 'true' : 'false',\n 'aria-disabled': props.disable === true ? 'true' : void 0,\n onClick,\n onKeydown,\n onKeyup\n }, child)\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport QRadio from '../radio/QRadio.js'\nimport QCheckbox from '../checkbox/QCheckbox.js'\nimport QToggle from '../toggle/QToggle.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nconst components = {\n radio: QRadio,\n checkbox: QCheckbox,\n toggle: QToggle\n}\n\nconst typeValues = Object.keys(components)\n\nexport default createComponent({\n name: 'QOptionGroup',\n\n props: {\n ...useDarkProps,\n\n modelValue: {\n required: true\n },\n options: {\n type: Array,\n validator: opts => opts.every(opt => 'value' in opt && 'label' in opt)\n },\n\n name: String,\n\n type: {\n default: 'radio',\n validator: v => typeValues.includes(v)\n },\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n size: String,\n\n leftLabel: Boolean,\n inline: Boolean,\n disable: Boolean\n },\n\n emits: [ 'update:modelValue' ],\n\n setup (props, { emit, slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const arrayModel = Array.isArray(props.modelValue)\n\n if (props.type === 'radio') {\n if (arrayModel === true) {\n console.error('q-option-group: model should not be array')\n }\n }\n else if (arrayModel === false) {\n console.error('q-option-group: model should be array in your case')\n }\n\n const isDark = useDark(props, $q)\n\n const component = computed(() => components[ props.type ])\n\n const classes = computed(() =>\n 'q-option-group q-gutter-x-sm'\n + (props.inline === true ? ' q-option-group--inline' : '')\n )\n\n const attrs = computed(() => {\n const attrs = { role: 'group' }\n\n if (props.type === 'radio') {\n attrs.role = 'radiogroup'\n\n if (props.disable === true) {\n attrs[ 'aria-disabled' ] = 'true'\n }\n }\n\n return attrs\n })\n\n function onUpdateModelValue (value) {\n emit('update:modelValue', value)\n }\n\n return () => h('div', {\n class: classes.value,\n ...attrs.value\n }, props.options.map((opt, i) => {\n // TODO: (Qv3) Make the 'opt' a separate property instead of\n // the whole scope for consistency and flexibility\n // (e.g. { opt } instead of opt)\n const child = slots[ 'label-' + i ] !== void 0\n ? () => slots[ 'label-' + i ](opt)\n : (\n slots.label !== void 0\n ? () => slots.label(opt)\n : void 0\n )\n\n return h('div', [\n h(component.value, {\n modelValue: props.modelValue,\n val: opt.value,\n name: opt.name === void 0 ? props.name : opt.name,\n disable: props.disable || opt.disable,\n label: child === void 0 ? opt.label : null,\n leftLabel: opt.leftLabel === void 0 ? props.leftLabel : opt.leftLabel,\n color: opt.color === void 0 ? props.color : opt.color,\n checkedIcon: opt.checkedIcon,\n uncheckedIcon: opt.uncheckedIcon,\n dark: opt.dark || isDark.value,\n size: opt.size === void 0 ? props.size : opt.size,\n dense: props.dense,\n keepColor: opt.keepColor === void 0 ? props.keepColor : opt.keepColor,\n 'onUpdate:modelValue': onUpdateModelValue\n }, child)\n ])\n }))\n }\n})\n","import { h, ref, computed, watch, toRaw, getCurrentInstance } from 'vue'\n\nimport QDialog from '../dialog/QDialog.js'\nimport QBtn from '../btn/QBtn.js'\n\nimport QCard from '../card/QCard.js'\nimport QCardSection from '../card/QCardSection.js'\nimport QCardActions from '../card/QCardActions.js'\nimport QSeparator from '../separator/QSeparator.js'\n\nimport QInput from '../input/QInput.js'\nimport QOptionGroup from '../option-group/QOptionGroup.js'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { isKeyCode } from '../../utils/private/key-composition.js'\nimport { isObject } from '../../utils/is.js'\n\nexport default createComponent({\n name: 'DialogPlugin',\n\n props: {\n ...useDarkProps,\n\n title: String,\n message: String,\n prompt: Object,\n options: Object,\n progress: [ Boolean, Object ],\n\n html: Boolean,\n\n ok: {\n type: [ String, Object, Boolean ],\n default: true\n },\n cancel: [ String, Object, Boolean ],\n focus: {\n type: String,\n default: 'ok',\n validator: v => [ 'ok', 'cancel', 'none' ].includes(v)\n },\n\n stackButtons: Boolean,\n color: String,\n\n cardClass: [ String, Array, Object ],\n cardStyle: [ String, Array, Object ]\n },\n\n emits: [ 'ok', 'hide' ],\n\n setup (props, { emit }) {\n const { proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const isDark = useDark(props, $q)\n\n const dialogRef = ref(null)\n\n const model = ref(\n props.prompt !== void 0\n ? props.prompt.model\n : (props.options !== void 0 ? props.options.model : void 0)\n )\n\n const classes = computed(() =>\n 'q-dialog-plugin'\n + (isDark.value === true ? ' q-dialog-plugin--dark q-dark' : '')\n + (props.progress !== false ? ' q-dialog-plugin--progress' : '')\n )\n\n const vmColor = computed(() =>\n props.color || (isDark.value === true ? 'amber' : 'primary')\n )\n\n const spinner = computed(() => (\n props.progress === false\n ? null\n : (\n isObject(props.progress) === true\n ? {\n component: props.progress.spinner || QSpinner,\n props: { color: props.progress.color || vmColor.value }\n }\n : {\n component: QSpinner,\n props: { color: vmColor.value }\n }\n )\n ))\n\n const hasForm = computed(() =>\n props.prompt !== void 0 || props.options !== void 0\n )\n\n const formProps = computed(() => {\n if (hasForm.value !== true) {\n return {}\n }\n\n const { model, isValid, items, ...formProps } = props.prompt !== void 0\n ? props.prompt\n : props.options\n\n return formProps\n })\n\n const okLabel = computed(() => (\n isObject(props.ok) === true\n ? $q.lang.label.ok\n : (\n props.ok === true\n ? $q.lang.label.ok\n : props.ok\n )\n ))\n\n const cancelLabel = computed(() => (\n isObject(props.cancel) === true\n ? $q.lang.label.cancel\n : (\n props.cancel === true\n ? $q.lang.label.cancel\n : props.cancel\n )\n ))\n\n const okDisabled = computed(() => {\n if (props.prompt !== void 0) {\n return props.prompt.isValid !== void 0\n && props.prompt.isValid(model.value) !== true\n }\n if (props.options !== void 0) {\n return props.options.isValid !== void 0\n && props.options.isValid(model.value) !== true\n }\n return false\n })\n\n const okProps = computed(() => ({\n color: vmColor.value,\n label: okLabel.value,\n ripple: false,\n disable: okDisabled.value,\n ...(isObject(props.ok) === true ? props.ok : { flat: true }),\n 'data-autofocus': (props.focus === 'ok' && hasForm.value !== true) || void 0,\n onClick: onOk\n }))\n\n const cancelProps = computed(() => ({\n color: vmColor.value,\n label: cancelLabel.value,\n ripple: false,\n ...(isObject(props.cancel) === true ? props.cancel : { flat: true }),\n 'data-autofocus': (props.focus === 'cancel' && hasForm.value !== true) || void 0,\n onClick: onCancel\n }))\n\n watch(() => props.prompt && props.prompt.model, onUpdateModel)\n watch(() => props.options && props.options.model, onUpdateModel)\n\n function show () {\n dialogRef.value.show()\n }\n\n function hide () {\n dialogRef.value.hide()\n }\n\n function onOk () {\n emit('ok', toRaw(model.value))\n hide()\n }\n\n function onCancel () {\n hide()\n }\n\n function onDialogHide () {\n emit('hide')\n }\n\n function onUpdateModel (val) {\n model.value = val\n }\n\n function onInputKeyup (evt) {\n // if ENTER key\n if (\n okDisabled.value !== true\n && props.prompt.type !== 'textarea'\n && isKeyCode(evt, 13) === true\n ) {\n onOk()\n }\n }\n\n function getSection (classes, text) {\n return props.html === true\n ? h(QCardSection, {\n class: classes,\n innerHTML: text\n })\n : h(QCardSection, { class: classes }, () => text)\n }\n\n function getPrompt () {\n return [\n h(QInput, {\n color: vmColor.value,\n dense: true,\n autofocus: true,\n dark: isDark.value,\n ...formProps.value,\n modelValue: model.value,\n 'onUpdate:modelValue': onUpdateModel,\n onKeyup: onInputKeyup\n })\n ]\n }\n\n function getOptions () {\n return [\n h(QOptionGroup, {\n color: vmColor.value,\n options: props.options.items,\n dark: isDark.value,\n ...formProps.value,\n modelValue: model.value,\n 'onUpdate:modelValue': onUpdateModel\n })\n ]\n }\n\n function getButtons () {\n const child = []\n\n props.cancel && child.push(\n h(QBtn, cancelProps.value)\n )\n\n props.ok && child.push(\n h(QBtn, okProps.value)\n )\n\n return h(QCardActions, {\n class: props.stackButtons === true ? 'items-end' : '',\n vertical: props.stackButtons,\n align: 'right'\n }, () => child)\n }\n\n function getCardContent () {\n const child = []\n\n props.title && child.push(\n getSection('q-dialog__title', props.title)\n )\n\n props.progress !== false && child.push(\n h(\n QCardSection,\n { class: 'q-dialog__progress' },\n () => h(spinner.value.component, spinner.value.props)\n )\n )\n\n props.message && child.push(\n getSection('q-dialog__message', props.message)\n )\n\n if (props.prompt !== void 0) {\n child.push(\n h(\n QCardSection,\n { class: 'scroll q-dialog-plugin__form' },\n getPrompt\n )\n )\n }\n else if (props.options !== void 0) {\n child.push(\n h(QSeparator, { dark: isDark.value }),\n h(\n QCardSection,\n { class: 'scroll q-dialog-plugin__form' },\n getOptions\n ),\n h(QSeparator, { dark: isDark.value })\n )\n }\n\n if (props.ok || props.cancel) {\n child.push(getButtons())\n }\n\n return child\n }\n\n function getContent () {\n return [\n h(QCard, {\n class: [\n classes.value,\n props.cardClass\n ],\n style: props.cardStyle,\n dark: isDark.value\n }, getCardContent)\n ]\n }\n\n // expose public methods\n Object.assign(proxy, { show, hide })\n\n return () => h(QDialog, {\n ref: dialogRef,\n onHide: onDialogHide\n }, getContent)\n }\n})\n","import { h, ref, nextTick } from 'vue'\n\nimport { createChildApp } from '../../install-quasar.js'\nimport { createGlobalNode, removeGlobalNode } from './global-nodes.js'\n\nconst ssrAPI = {\n onOk: () => ssrAPI,\n onCancel: () => ssrAPI,\n onDismiss: () => ssrAPI,\n hide: () => ssrAPI,\n update: () => ssrAPI\n}\n\nexport function merge (target, source) {\n for (const key in source) {\n if (key !== 'spinner' && Object(source[ key ]) === source[ key ]) {\n target[ key ] = Object(target[ key ]) !== target[ key ]\n ? {}\n : { ...target[ key ] }\n\n merge(target[ key ], source[ key ])\n }\n else {\n target[ key ] = source[ key ]\n }\n }\n}\n\nexport default function (DefaultComponent, supportsCustomComponent, parentApp) {\n return pluginProps => {\n if (__QUASAR_SSR_SERVER__) { return ssrAPI }\n\n let DialogComponent, props\n const isCustom = supportsCustomComponent === true\n && pluginProps.component !== void 0\n\n if (isCustom === true) {\n const { component, componentProps } = pluginProps\n\n DialogComponent = (typeof component === 'string')\n ? parentApp.component(component)\n : component\n\n props = componentProps || {}\n }\n else {\n const { class: klass, style, ...otherProps } = pluginProps\n\n DialogComponent = DefaultComponent\n props = otherProps\n klass !== void 0 && (otherProps.cardClass = klass)\n style !== void 0 && (otherProps.cardStyle = style)\n }\n\n let vm, emittedOK = false\n const dialogRef = ref(null)\n const el = createGlobalNode(false, 'dialog')\n\n const applyState = cmd => {\n if (dialogRef.value !== null && dialogRef.value[ cmd ] !== void 0) {\n dialogRef.value[ cmd ]()\n return\n }\n\n const target = vm.$.subTree\n\n if (target && target.component) {\n // account for \"script setup\" way of declaring component\n if (target.component.proxy && target.component.proxy[ cmd ]) {\n target.component.proxy[ cmd ]()\n return\n }\n\n // account for \"script setup\" + async component way of declaring component\n if (\n target.component.subTree\n && target.component.subTree.component\n && target.component.subTree.component.proxy\n && target.component.subTree.component.proxy[ cmd ]\n ) {\n target.component.subTree.component.proxy[ cmd ]()\n return\n }\n }\n\n console.error('[Quasar] Incorrectly defined Dialog component')\n }\n\n const\n okFns = [],\n cancelFns = [],\n API = {\n onOk (fn) {\n okFns.push(fn)\n return API\n },\n onCancel (fn) {\n cancelFns.push(fn)\n return API\n },\n onDismiss (fn) {\n okFns.push(fn)\n cancelFns.push(fn)\n return API\n },\n hide () {\n applyState('hide')\n return API\n },\n update (componentProps) {\n if (vm !== null) {\n if (isCustom === true) {\n Object.assign(props, componentProps)\n }\n else {\n const { class: klass, style, ...cfg } = componentProps\n\n klass !== void 0 && (cfg.cardClass = klass)\n style !== void 0 && (cfg.cardStyle = style)\n merge(props, cfg)\n }\n\n vm.$forceUpdate()\n }\n\n return API\n }\n }\n\n const onOk = data => {\n emittedOK = true\n okFns.forEach(fn => { fn(data) })\n }\n\n const onHide = () => {\n app.unmount(el)\n removeGlobalNode(el)\n app = null\n vm = null\n\n if (emittedOK !== true) {\n cancelFns.forEach(fn => { fn() })\n }\n }\n\n let app = createChildApp({\n name: 'QGlobalDialog',\n setup: () => () => h(DialogComponent, {\n ...props,\n ref: dialogRef,\n onOk,\n onHide,\n onVnodeMounted (...args) {\n if (typeof props.onVnodeMounted === 'function') {\n props.onVnodeMounted(...args)\n }\n\n nextTick(() => applyState('show'))\n }\n })\n }, parentApp)\n\n vm = app.mount(el)\n\n return API\n }\n}\n","import DialogPlugin from '../components/dialog-plugin/DialogPlugin.js'\nimport globalDialog from '../utils/private/global-dialog.js'\n\nexport default {\n install ({ $q, parentApp }) {\n $q.dialog = globalDialog(DialogPlugin, true, parentApp)\n if (this.__installed !== true) {\n this.create = $q.dialog\n }\n }\n}\n","import { h, ref, markRaw, TransitionGroup } from 'vue'\n\nimport QAvatar from '../components/avatar/QAvatar.js'\nimport QIcon from '../components/icon/QIcon.js'\nimport QBtn from '../components/btn/QBtn.js'\nimport QSpinner from '../components/spinner/QSpinner.js'\n\nimport { createComponent } from '../utils/private/create.js'\nimport { noop } from '../utils/event.js'\nimport { createGlobalNode } from '../utils/private/global-nodes.js'\nimport { createChildApp } from '../install-quasar.js'\nimport { isObject } from '../utils/is.js'\n\nlet uid = 0\n\nconst defaults = {}\nconst groups = {}\nconst notificationsList = {}\nconst positionClass = {}\nconst emptyRE = /^\\s*$/\nconst notifRefs = []\n\nconst positionList = [\n 'top-left', 'top-right',\n 'bottom-left', 'bottom-right',\n 'top', 'bottom', 'left', 'right', 'center'\n]\n\nconst badgePositions = [\n 'top-left', 'top-right',\n 'bottom-left', 'bottom-right'\n]\n\nconst notifTypes = {\n positive: {\n icon: $q => $q.iconSet.type.positive,\n color: 'positive'\n },\n\n negative: {\n icon: $q => $q.iconSet.type.negative,\n color: 'negative'\n },\n\n warning: {\n icon: $q => $q.iconSet.type.warning,\n color: 'warning',\n textColor: 'dark'\n },\n\n info: {\n icon: $q => $q.iconSet.type.info,\n color: 'info'\n },\n\n ongoing: {\n group: false,\n timeout: 0,\n spinner: true,\n color: 'grey-8'\n }\n}\n\nfunction addNotification (config, $q, originalApi) {\n if (!config) {\n return logError('parameter required')\n }\n\n let Api\n const notif = { textColor: 'white' }\n\n if (config.ignoreDefaults !== true) {\n Object.assign(notif, defaults)\n }\n\n if (isObject(config) === false) {\n if (notif.type) {\n Object.assign(notif, notifTypes[ notif.type ])\n }\n\n config = { message: config }\n }\n\n Object.assign(notif, notifTypes[ config.type || notif.type ], config)\n\n if (typeof notif.icon === 'function') {\n notif.icon = notif.icon($q)\n }\n\n if (!notif.spinner) {\n notif.spinner = false\n }\n else {\n if (notif.spinner === true) {\n notif.spinner = QSpinner\n }\n\n notif.spinner = markRaw(notif.spinner)\n }\n\n notif.meta = {\n hasMedia: Boolean(notif.spinner !== false || notif.icon || notif.avatar),\n hasText: hasContent(notif.message) || hasContent(notif.caption)\n }\n\n if (notif.position) {\n if (positionList.includes(notif.position) === false) {\n return logError('wrong position', config)\n }\n }\n else {\n notif.position = 'bottom'\n }\n\n if (notif.timeout === void 0) {\n notif.timeout = 5000\n }\n else {\n const t = parseInt(notif.timeout, 10)\n if (isNaN(t) || t < 0) {\n return logError('wrong timeout', config)\n }\n notif.timeout = t\n }\n\n if (notif.timeout === 0) {\n notif.progress = false\n }\n else if (notif.progress === true) {\n notif.meta.progressClass = 'q-notification__progress' + (\n notif.progressClass\n ? ` ${ notif.progressClass }`\n : ''\n )\n\n notif.meta.progressStyle = {\n animationDuration: `${ notif.timeout + 1000 }ms`\n }\n }\n\n const actions = (\n Array.isArray(config.actions) === true\n ? config.actions\n : []\n ).concat(\n config.ignoreDefaults !== true && Array.isArray(defaults.actions) === true\n ? defaults.actions\n : []\n ).concat(\n notifTypes[ config.type ] !== void 0 && Array.isArray(notifTypes[ config.type ].actions) === true\n ? notifTypes[ config.type ].actions\n : []\n )\n\n const { closeBtn } = notif\n closeBtn && actions.push({\n label: typeof closeBtn === 'string'\n ? closeBtn\n : $q.lang.label.close\n })\n\n notif.actions = actions.map(({ handler, noDismiss, ...item }) => ({\n flat: true,\n ...item,\n onClick: typeof handler === 'function'\n ? () => {\n handler()\n noDismiss !== true && dismiss()\n }\n : () => { dismiss() }\n }))\n\n if (notif.multiLine === void 0) {\n notif.multiLine = notif.actions.length > 1\n }\n\n Object.assign(notif.meta, {\n class: 'q-notification row items-stretch'\n + ` q-notification--${ notif.multiLine === true ? 'multi-line' : 'standard' }`\n + (notif.color !== void 0 ? ` bg-${ notif.color }` : '')\n + (notif.textColor !== void 0 ? ` text-${ notif.textColor }` : '')\n + (notif.classes !== void 0 ? ` ${ notif.classes }` : ''),\n\n wrapperClass: 'q-notification__wrapper col relative-position border-radius-inherit '\n + (notif.multiLine === true ? 'column no-wrap justify-center' : 'row items-center'),\n\n contentClass: 'q-notification__content row items-center'\n + (notif.multiLine === true ? '' : ' col'),\n\n leftClass: notif.meta.hasText === true ? 'additional' : 'single',\n\n attrs: {\n role: 'alert',\n ...notif.attrs\n }\n })\n\n if (notif.group === false) {\n notif.group = void 0\n notif.meta.group = void 0\n }\n else {\n if (notif.group === void 0 || notif.group === true) {\n // do not replace notifications with different buttons\n notif.group = [\n notif.message,\n notif.caption,\n notif.multiline\n ].concat(\n notif.actions.map(props => `${ props.label }*${ props.icon }`)\n ).join('|')\n }\n\n notif.meta.group = notif.group + '|' + notif.position\n }\n\n if (notif.actions.length === 0) {\n notif.actions = void 0\n }\n else {\n notif.meta.actionsClass = 'q-notification__actions row items-center '\n + (notif.multiLine === true ? 'justify-end' : 'col-auto')\n + (notif.meta.hasMedia === true ? ' q-notification__actions--with-media' : '')\n }\n\n if (originalApi !== void 0) {\n // reset timeout if any\n if (originalApi.notif.meta.timer) {\n clearTimeout(originalApi.notif.meta.timer)\n originalApi.notif.meta.timer = void 0\n }\n\n // retain uid\n notif.meta.uid = originalApi.notif.meta.uid\n\n // replace notif\n const index = notificationsList[ notif.position ].value.indexOf(originalApi.notif)\n notificationsList[ notif.position ].value[ index ] = notif\n }\n else {\n const original = groups[ notif.meta.group ]\n\n // woohoo, it's a new notification\n if (original === void 0) {\n notif.meta.uid = uid++\n notif.meta.badge = 1\n\n if ([ 'left', 'right', 'center' ].indexOf(notif.position) !== -1) {\n notificationsList[ notif.position ].value.splice(\n Math.floor(notificationsList[ notif.position ].value.length / 2),\n 0,\n notif\n )\n }\n else {\n const action = notif.position.indexOf('top') > -1 ? 'unshift' : 'push'\n notificationsList[ notif.position ].value[ action ](notif)\n }\n\n if (notif.group !== void 0) {\n groups[ notif.meta.group ] = notif\n }\n }\n // ok, so it's NOT a new one\n else {\n // reset timeout if any\n if (original.meta.timer) {\n clearTimeout(original.meta.timer)\n original.meta.timer = void 0\n }\n\n if (notif.badgePosition !== void 0) {\n if (badgePositions.includes(notif.badgePosition) === false) {\n return logError('wrong badgePosition', config)\n }\n }\n else {\n notif.badgePosition = `top-${ notif.position.indexOf('left') > -1 ? 'right' : 'left' }`\n }\n\n notif.meta.uid = original.meta.uid\n notif.meta.badge = original.meta.badge + 1\n notif.meta.badgeClass = `q-notification__badge q-notification__badge--${ notif.badgePosition }`\n + (notif.badgeColor !== void 0 ? ` bg-${ notif.badgeColor }` : '')\n + (notif.badgeTextColor !== void 0 ? ` text-${ notif.badgeTextColor }` : '')\n + (notif.badgeClass ? ` ${ notif.badgeClass }` : '')\n\n const index = notificationsList[ notif.position ].value.indexOf(original)\n notificationsList[ notif.position ].value[ index ] = groups[ notif.meta.group ] = notif\n }\n }\n\n const dismiss = () => {\n removeNotification(notif)\n Api = void 0\n }\n\n if (notif.timeout > 0) {\n notif.meta.timer = setTimeout(() => {\n notif.meta.timer = void 0\n dismiss()\n }, notif.timeout + /* show duration */ 1000)\n }\n\n // only non-groupable can be updated\n if (notif.group !== void 0) {\n return props => {\n if (props !== void 0) {\n logError('trying to update a grouped one which is forbidden', config)\n }\n else {\n dismiss()\n }\n }\n }\n\n Api = {\n dismiss,\n config,\n notif\n }\n\n if (originalApi !== void 0) {\n Object.assign(originalApi, Api)\n return\n }\n\n return props => {\n // if notification wasn't previously dismissed\n if (Api !== void 0) {\n // if no params, then we must dismiss the notification\n if (props === void 0) {\n Api.dismiss()\n }\n // otherwise we're updating it\n else {\n const newNotif = Object.assign({}, Api.config, props, {\n group: false,\n position: notif.position\n })\n\n addNotification(newNotif, $q, Api)\n }\n }\n }\n}\n\nfunction removeNotification (notif) {\n if (notif.meta.timer) {\n clearTimeout(notif.meta.timer)\n notif.meta.timer = void 0\n }\n\n const index = notificationsList[ notif.position ].value.indexOf(notif)\n if (index !== -1) {\n if (notif.group !== void 0) {\n delete groups[ notif.meta.group ]\n }\n\n const el = notifRefs[ '' + notif.meta.uid ]\n\n if (el) {\n const { width, height } = getComputedStyle(el)\n\n el.style.left = `${ el.offsetLeft }px`\n el.style.width = width\n el.style.height = height\n }\n\n notificationsList[ notif.position ].value.splice(index, 1)\n\n if (typeof notif.onDismiss === 'function') {\n notif.onDismiss()\n }\n }\n}\n\nfunction hasContent (str) {\n return str !== void 0\n && str !== null\n && emptyRE.test(str) !== true\n}\n\nfunction logError (error, config) {\n console.error(`Notify: ${ error }`, config)\n return false\n}\n\nfunction getComponent () {\n return createComponent({\n name: 'QNotifications',\n\n // hide App from Vue devtools\n devtools: { hide: true },\n\n setup () {\n return () => h('div', { class: 'q-notifications' }, positionList.map(pos => {\n return h(TransitionGroup, {\n key: pos,\n class: positionClass[ pos ],\n tag: 'div',\n name: `q-notification--${ pos }`\n }, () => notificationsList[ pos ].value.map(notif => {\n const meta = notif.meta\n const mainChild = []\n\n if (meta.hasMedia === true) {\n if (notif.spinner !== false) {\n mainChild.push(\n h(notif.spinner, {\n class: 'q-notification__spinner q-notification__spinner--' + meta.leftClass,\n color: notif.spinnerColor,\n size: notif.spinnerSize\n })\n )\n }\n else if (notif.icon) {\n mainChild.push(\n h(QIcon, {\n class: 'q-notification__icon q-notification__icon--' + meta.leftClass,\n name: notif.icon,\n color: notif.iconColor,\n size: notif.iconSize,\n role: 'img'\n })\n )\n }\n else if (notif.avatar) {\n mainChild.push(\n h(QAvatar, {\n class: 'q-notification__avatar q-notification__avatar--' + meta.leftClass\n }, () => h('img', { src: notif.avatar, 'aria-hidden': 'true' }))\n )\n }\n }\n\n if (meta.hasText === true) {\n let msgChild\n const msgData = { class: 'q-notification__message col' }\n\n if (notif.html === true) {\n msgData.innerHTML = notif.caption\n ? `
${ notif.message }
${ notif.caption }
`\n : notif.message\n }\n else {\n const msgNode = [ notif.message ]\n msgChild = notif.caption\n ? [\n h('div', msgNode),\n h('div', { class: 'q-notification__caption' }, [ notif.caption ])\n ]\n : msgNode\n }\n\n mainChild.push(\n h('div', msgData, msgChild)\n )\n }\n\n const child = [\n h('div', { class: meta.contentClass }, mainChild)\n ]\n\n notif.progress === true && child.push(\n h('div', {\n key: `${ meta.uid }|p|${ meta.badge }`,\n class: meta.progressClass,\n style: meta.progressStyle\n })\n )\n\n notif.actions !== void 0 && child.push(\n h('div', {\n class: meta.actionsClass\n }, notif.actions.map(props => h(QBtn, props)))\n )\n\n meta.badge > 1 && child.push(\n h('div', {\n key: `${ meta.uid }|${ meta.badge }`,\n class: notif.meta.badgeClass,\n style: notif.badgeStyle\n }, [ meta.badge ])\n )\n\n return h('div', {\n ref: el => { notifRefs[ '' + meta.uid ] = el },\n key: meta.uid,\n class: meta.class,\n ...meta.attrs\n }, [\n h('div', { class: meta.wrapperClass }, child)\n ])\n }))\n }))\n }\n })\n}\n\nexport default {\n setDefaults (opts) {\n if (__QUASAR_SSR_SERVER__ !== true) {\n isObject(opts) === true && Object.assign(defaults, opts)\n }\n },\n\n registerType (typeName, typeOpts) {\n if (__QUASAR_SSR_SERVER__ !== true && isObject(typeOpts) === true) {\n notifTypes[ typeName ] = typeOpts\n }\n },\n\n install ({ $q, parentApp }) {\n $q.notify = this.create = __QUASAR_SSR_SERVER__\n ? noop\n : opts => addNotification(opts, $q)\n\n $q.notify.setDefaults = this.setDefaults\n $q.notify.registerType = this.registerType\n\n if ($q.config.notify !== void 0) {\n this.setDefaults($q.config.notify)\n }\n\n if (__QUASAR_SSR_SERVER__ !== true && this.__installed !== true) {\n positionList.forEach(pos => {\n notificationsList[ pos ] = ref([])\n\n const\n vert = [ 'left', 'center', 'right' ].includes(pos) === true ? 'center' : (pos.indexOf('top') > -1 ? 'top' : 'bottom'),\n align = pos.indexOf('left') > -1 ? 'start' : (pos.indexOf('right') > -1 ? 'end' : 'center'),\n classes = [ 'left', 'right' ].includes(pos) ? `items-${ pos === 'left' ? 'start' : 'end' } justify-center` : (pos === 'center' ? 'flex-center' : `items-${ align }`)\n\n positionClass[ pos ] = `q-notifications__list q-notifications__list--${ vert } fixed column no-wrap ${ classes }`\n })\n\n const el = createGlobalNode('q-notify')\n createChildApp(getComponent(), parentApp).mount(el)\n }\n }\n}\n","/* eslint-disable no-useless-escape */\n\nimport { ref, reactive } from 'vue'\nimport { injectProp } from '../utils/private/inject-obj-prop'\n\n/**\n * __ QUASAR_SSR __ -> runs on SSR on client or server\n * __ QUASAR_SSR_SERVER __ -> runs on SSR on server\n * __ QUASAR_SSR_CLIENT __ -> runs on SSR on client\n * __ QUASAR_SSR_PWA __ -> built with SSR+PWA; may run on SSR on client or on PWA client\n * (needs runtime detection)\n */\n\nexport const isRuntimeSsrPreHydration = __QUASAR_SSR_SERVER__\n ? { value: true }\n : ref(\n __QUASAR_SSR_CLIENT__ && (\n __QUASAR_SSR_PWA__ ? document.body.getAttribute('data-server-rendered') !== null : true\n )\n )\n\nexport let iosEmulated = false\nexport let iosCorrection\n\nfunction getMatch (userAgent, platformMatch) {\n const match = /(edg|edge|edga|edgios)\\/([\\w.]+)/.exec(userAgent)\n || /(opr)[\\/]([\\w.]+)/.exec(userAgent)\n || /(vivaldi)[\\/]([\\w.]+)/.exec(userAgent)\n || /(chrome|crios)[\\/]([\\w.]+)/.exec(userAgent)\n || /(version)(applewebkit)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent)\n || /(webkit)[\\/]([\\w.]+).*(version)[\\/]([\\w.]+).*(safari)[\\/]([\\w.]+)/.exec(userAgent)\n || /(firefox|fxios)[\\/]([\\w.]+)/.exec(userAgent)\n || /(webkit)[\\/]([\\w.]+)/.exec(userAgent)\n || /(opera)(?:.*version|)[\\/]([\\w.]+)/.exec(userAgent)\n || []\n\n return {\n browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || '',\n version: match[ 2 ] || match[ 4 ] || '0',\n versionNumber: match[ 4 ] || match[ 2 ] || '0',\n platform: platformMatch[ 0 ] || ''\n }\n}\n\nfunction getPlatformMatch (userAgent) {\n return /(ipad)/.exec(userAgent)\n || /(ipod)/.exec(userAgent)\n || /(windows phone)/.exec(userAgent)\n || /(iphone)/.exec(userAgent)\n || /(kindle)/.exec(userAgent)\n || /(silk)/.exec(userAgent)\n || /(android)/.exec(userAgent)\n || /(win)/.exec(userAgent)\n || /(mac)/.exec(userAgent)\n || /(linux)/.exec(userAgent)\n || /(cros)/.exec(userAgent)\n // TODO: Remove BlackBerry detection. BlackBerry OS, BlackBerry 10, and BlackBerry PlayBook OS\n // is officially dead as of January 4, 2022 (https://www.blackberry.com/us/en/support/devices/end-of-life)\n || /(playbook)/.exec(userAgent)\n || /(bb)/.exec(userAgent)\n || /(blackberry)/.exec(userAgent)\n || []\n}\n\nconst hasTouch = __QUASAR_SSR_SERVER__\n ? false\n : 'ontouchstart' in window || window.navigator.maxTouchPoints > 0\n\nfunction applyIosCorrection (is) {\n iosCorrection = { is: { ...is } }\n\n delete is.mac\n delete is.desktop\n\n const platform = Math.min(window.innerHeight, window.innerWidth) > 414\n ? 'ipad'\n : 'iphone'\n\n Object.assign(is, {\n mobile: true,\n ios: true,\n platform,\n [ platform ]: true\n })\n}\n\nfunction getPlatform (UA) {\n const\n userAgent = UA.toLowerCase(),\n platformMatch = getPlatformMatch(userAgent),\n matched = getMatch(userAgent, platformMatch),\n browser = {}\n\n if (matched.browser) {\n browser[ matched.browser ] = true\n browser.version = matched.version\n browser.versionNumber = parseInt(matched.versionNumber, 10)\n }\n\n if (matched.platform) {\n browser[ matched.platform ] = true\n }\n\n const knownMobiles = browser.android\n || browser.ios\n || browser.bb\n || browser.blackberry\n || browser.ipad\n || browser.iphone\n || browser.ipod\n || browser.kindle\n || browser.playbook\n || browser.silk\n || browser[ 'windows phone' ]\n\n // These are all considered mobile platforms, meaning they run a mobile browser\n if (knownMobiles === true || userAgent.indexOf('mobile') > -1) {\n browser.mobile = true\n\n if (browser.edga || browser.edgios) {\n browser.edge = true\n matched.browser = 'edge'\n }\n else if (browser.crios) {\n browser.chrome = true\n matched.browser = 'chrome'\n }\n else if (browser.fxios) {\n browser.firefox = true\n matched.browser = 'firefox'\n }\n }\n // If it's not mobile we should consider it's desktop platform, meaning it runs a desktop browser\n // It's a workaround for anonymized user agents\n // (browser.cros || browser.mac || browser.linux || browser.win)\n else {\n browser.desktop = true\n }\n\n // Set iOS if on iPod, iPad or iPhone\n if (browser.ipod || browser.ipad || browser.iphone) {\n browser.ios = true\n }\n\n if (browser[ 'windows phone' ]) {\n browser.winphone = true\n delete browser[ 'windows phone' ]\n }\n\n // TODO: The assumption about WebKit based browsers below is not completely accurate.\n // Google released Blink(a fork of WebKit) engine on April 3, 2013, which is really different than WebKit today.\n // Today, one might want to check for WebKit to deal with its bugs, which is used on all browsers on iOS, and Safari browser on all platforms.\n\n // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers\n if (\n browser.chrome\n || browser.opr\n || browser.safari\n || browser.vivaldi\n // we expect unknown, non iOS mobile browsers to be webkit based\n || (\n browser.mobile === true\n && browser.ios !== true\n && knownMobiles !== true\n )\n ) {\n browser.webkit = true\n }\n\n // TODO: (Qv3) rename the terms 'edge' to 'edge legacy'(or remove it) then 'edge chromium' to 'edge' to match with the known up-to-date terms\n // Microsoft Edge is the new Chromium-based browser. Microsoft Edge Legacy is the old EdgeHTML-based browser (EOL: March 9, 2021).\n if (browser.edg) {\n matched.browser = 'edgechromium'\n browser.edgeChromium = true\n }\n\n // Blackberry browsers are marked as Safari on BlackBerry\n if ((browser.safari && browser.blackberry) || browser.bb) {\n matched.browser = 'blackberry'\n browser.blackberry = true\n }\n\n // Playbook browsers are marked as Safari on Playbook\n if (browser.safari && browser.playbook) {\n matched.browser = 'playbook'\n browser.playbook = true\n }\n\n // Opera 15+ are identified as opr\n if (browser.opr) {\n matched.browser = 'opera'\n browser.opera = true\n }\n\n // Stock Android browsers are marked as Safari on Android.\n if (browser.safari && browser.android) {\n matched.browser = 'android'\n browser.android = true\n }\n\n // Kindle browsers are marked as Safari on Kindle\n if (browser.safari && browser.kindle) {\n matched.browser = 'kindle'\n browser.kindle = true\n }\n\n // Kindle Silk browsers are marked as Safari on Kindle\n if (browser.safari && browser.silk) {\n matched.browser = 'silk'\n browser.silk = true\n }\n\n if (browser.vivaldi) {\n matched.browser = 'vivaldi'\n browser.vivaldi = true\n }\n\n // Assign the name and platform variable\n browser.name = matched.browser\n browser.platform = matched.platform\n\n if (__QUASAR_SSR_SERVER__ !== true) {\n if (userAgent.indexOf('electron') > -1) {\n browser.electron = true\n }\n else if (document.location.href.indexOf('-extension://') > -1) {\n browser.bex = true\n }\n else {\n if (window.Capacitor !== void 0) {\n browser.capacitor = true\n browser.nativeMobile = true\n browser.nativeMobileWrapper = 'capacitor'\n }\n else if (window._cordovaNative !== void 0 || window.cordova !== void 0) {\n browser.cordova = true\n browser.nativeMobile = true\n browser.nativeMobileWrapper = 'cordova'\n }\n\n if (\n hasTouch === true\n && browser.mac === true\n && (\n (browser.desktop === true && browser.safari === true)\n || (\n browser.nativeMobile === true\n && browser.android !== true\n && browser.ios !== true\n && browser.ipad !== true\n )\n )\n ) {\n /*\n * Correction needed for iOS since the default\n * setting on iPad is to request desktop view; if we have\n * touch support and the user agent says it's a\n * desktop, we infer that it's an iPhone/iPad with desktop view\n * so we must fix the false positives\n */\n applyIosCorrection(browser)\n }\n }\n }\n\n return browser\n}\n\nconst userAgent = __QUASAR_SSR_SERVER__\n ? ''\n : navigator.userAgent || navigator.vendor || window.opera\n\nconst ssrClient = {\n has: {\n touch: false,\n webStorage: false\n },\n within: { iframe: false }\n}\n\n// We export \"client\" for hydration error-free parts,\n// like touch directives who do not (and must NOT) wait\n// for the client takeover;\n// Do NOT import this directly in your app, unless you really know\n// what you are doing.\nexport const client = __QUASAR_SSR_SERVER__\n ? ssrClient\n : {\n userAgent,\n is: getPlatform(userAgent),\n has: {\n touch: hasTouch\n },\n within: {\n iframe: window.self !== window.top\n }\n }\n\nconst Platform = {\n install (opts) {\n const { $q } = opts\n\n if (__QUASAR_SSR_SERVER__) {\n $q.platform = this.parseSSR(opts.ssrContext)\n }\n else if (isRuntimeSsrPreHydration.value === true) {\n // takeover should increase accuracy for\n // the rest of the props; we also avoid\n // hydration errors\n opts.onSSRHydrated.push(() => {\n Object.assign($q.platform, client)\n isRuntimeSsrPreHydration.value = false\n iosCorrection = void 0\n })\n\n // we need to make platform reactive\n // for the takeover phase\n $q.platform = reactive(this)\n }\n else {\n $q.platform = this\n }\n }\n}\n\nif (__QUASAR_SSR_SERVER__) {\n Platform.parseSSR = (ssrContext) => {\n const userAgent = ssrContext.req.headers[ 'user-agent' ] || ssrContext.req.headers[ 'User-Agent' ] || ''\n return {\n ...client,\n userAgent,\n is: getPlatform(userAgent)\n }\n }\n}\nelse {\n // do not access window.localStorage without\n // devland actually using it as this will get\n // reported under \"Cookies\" in Google Chrome\n let hasWebStorage\n\n injectProp(client.has, 'webStorage', () => {\n if (hasWebStorage !== void 0) {\n return hasWebStorage\n }\n\n try {\n if (window.localStorage) {\n hasWebStorage = true\n return true\n }\n }\n catch (e) {}\n\n hasWebStorage = false\n return false\n })\n\n iosEmulated = client.is.ios === true\n && window.navigator.vendor.toLowerCase().indexOf('apple') === -1\n\n if (isRuntimeSsrPreHydration.value === true) {\n // must match with server-side before\n // client taking over in order to prevent\n // hydration errors\n Object.assign(Platform, client, iosCorrection, ssrClient)\n }\n else {\n Object.assign(Platform, client)\n }\n}\n\nexport default Platform\n","export default function (fn, wait = 250, immediate) {\n let timer = null\n\n function debounced (/* ...args */) {\n const args = arguments\n\n const later = () => {\n timer = null\n if (immediate !== true) {\n fn.apply(this, args)\n }\n }\n\n if (timer !== null) {\n clearTimeout(timer)\n }\n else if (immediate === true) {\n fn.apply(this, args)\n }\n\n timer = setTimeout(later, wait)\n }\n\n debounced.cancel = () => {\n timer !== null && clearTimeout(timer)\n }\n\n return debounced\n}\n","import { unref } from 'vue'\n\nexport function offset (el) {\n if (el === window) {\n return { top: 0, left: 0 }\n }\n const { top, left } = el.getBoundingClientRect()\n return { top, left }\n}\n\nexport function style (el, property) {\n return window.getComputedStyle(el).getPropertyValue(property)\n}\n\nexport function height (el) {\n return el === window\n ? window.innerHeight\n : el.getBoundingClientRect().height\n}\n\nexport function width (el) {\n return el === window\n ? window.innerWidth\n : el.getBoundingClientRect().width\n}\n\nexport function css (element, css) {\n const style = element.style\n\n for (const prop in css) {\n style[ prop ] = css[ prop ]\n }\n}\n\nexport function cssBatch (elements, style) {\n elements.forEach(el => css(el, style))\n}\n\nexport function ready (fn) {\n if (typeof fn !== 'function') {\n return\n }\n\n if (document.readyState !== 'loading') {\n return fn()\n }\n\n document.addEventListener('DOMContentLoaded', fn, false)\n}\n\n// internal\nexport function getElement (el) {\n if (el === void 0 || el === null) {\n return void 0\n }\n\n if (typeof el === 'string') {\n try {\n return document.querySelector(el) || void 0\n }\n catch (err) {\n return void 0\n }\n }\n\n const target = unref(el)\n if (target) {\n return target.$el || target\n }\n}\n\n// internal\nexport function childHasFocus (el, focusedEl) {\n if (el === void 0 || el === null || el.contains(focusedEl) === true) {\n return true\n }\n\n for (let next = el.nextElementSibling; next !== null; next = next.nextElementSibling) {\n if (next.contains(focusedEl)) {\n return true\n }\n }\n\n return false\n}\n\nexport default {\n offset,\n style,\n height,\n width,\n css,\n cssBatch,\n ready\n}\n","export const listenOpts = {\n hasPassive: false,\n passiveCapture: true,\n notPassiveCapture: true\n}\n\ntry {\n const opts = Object.defineProperty({}, 'passive', {\n get () {\n Object.assign(listenOpts, {\n hasPassive: true,\n passive: { passive: true },\n notPassive: { passive: false },\n passiveCapture: { passive: true, capture: true },\n notPassiveCapture: { passive: false, capture: true }\n })\n }\n })\n window.addEventListener('qtest', null, opts)\n window.removeEventListener('qtest', null, opts)\n}\ncatch (e) {}\n\nexport function noop () {}\n\nexport function leftClick (e) {\n return e.button === 0\n}\n\nexport function middleClick (e) {\n return e.button === 1\n}\n\nexport function rightClick (e) {\n return e.button === 2\n}\n\nexport function position (e) {\n if (e.touches && e.touches[ 0 ]) {\n e = e.touches[ 0 ]\n }\n else if (e.changedTouches && e.changedTouches[ 0 ]) {\n e = e.changedTouches[ 0 ]\n }\n else if (e.targetTouches && e.targetTouches[ 0 ]) {\n e = e.targetTouches[ 0 ]\n }\n\n return {\n top: e.clientY,\n left: e.clientX\n }\n}\n\nexport function getEventPath (e) {\n if (e.path) {\n return e.path\n }\n if (e.composedPath) {\n return e.composedPath()\n }\n\n const path = []\n let el = e.target\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n return path\n }\n\n el = el.parentElement\n }\n}\n\n// Reasonable defaults\nconst\n LINE_HEIGHT = 40,\n PAGE_HEIGHT = 800\n\nexport function getMouseWheelDistance (e) {\n let x = e.deltaX, y = e.deltaY\n\n if ((x || y) && e.deltaMode) {\n const multiplier = e.deltaMode === 1 ? LINE_HEIGHT : PAGE_HEIGHT\n x *= multiplier\n y *= multiplier\n }\n\n if (e.shiftKey && !x) {\n [ y, x ] = [ x, y ]\n }\n\n return { x, y }\n}\n\nexport function stop (e) {\n e.stopPropagation()\n}\n\nexport function prevent (e) {\n e.cancelable !== false && e.preventDefault()\n}\n\nexport function stopAndPrevent (e) {\n e.cancelable !== false && e.preventDefault()\n e.stopPropagation()\n}\n\nexport function preventDraggable (el, status) {\n if (el === void 0 || (status === true && el.__dragPrevented === true)) {\n return\n }\n\n const fn = status === true\n ? el => {\n el.__dragPrevented = true\n el.addEventListener('dragstart', prevent, listenOpts.notPassiveCapture)\n }\n : el => {\n delete el.__dragPrevented\n el.removeEventListener('dragstart', prevent, listenOpts.notPassiveCapture)\n }\n\n el.querySelectorAll('a, img').forEach(fn)\n}\n\nexport function addEvt (ctx, targetName, events) {\n const name = `__q_${ targetName }_evt`\n\n ctx[ name ] = ctx[ name ] !== void 0\n ? ctx[ name ].concat(events)\n : events\n\n events.forEach(evt => {\n evt[ 0 ].addEventListener(evt[ 1 ], ctx[ evt[ 2 ] ], listenOpts[ evt[ 3 ] ])\n })\n}\n\nexport function cleanEvt (ctx, targetName) {\n const name = `__q_${ targetName }_evt`\n\n if (ctx[ name ] !== void 0) {\n ctx[ name ].forEach(evt => {\n evt[ 0 ].removeEventListener(evt[ 1 ], ctx[ evt[ 2 ] ], listenOpts[ evt[ 3 ] ])\n })\n ctx[ name ] = void 0\n }\n}\n\n/*\n * also update /types/utils/event.d.ts\n */\n\nexport default {\n listenOpts,\n leftClick,\n middleClick,\n rightClick,\n position,\n getEventPath,\n getMouseWheelDistance,\n stop,\n prevent,\n stopAndPrevent,\n preventDraggable\n}\n","const units = [ 'B', 'KB', 'MB', 'GB', 'TB', 'PB' ]\n\nexport function humanStorageSize (bytes) {\n let u = 0\n\n while (parseInt(bytes, 10) >= 1024 && u < units.length - 1) {\n bytes /= 1024\n ++u\n }\n\n return `${ bytes.toFixed(1) }${ units[ u ] }`\n}\n\nexport function capitalize (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function between (v, min, max) {\n return max <= min\n ? min\n : Math.min(max, Math.max(min, v))\n}\n\nexport function normalizeToInterval (v, min, max) {\n if (max <= min) {\n return min\n }\n\n const size = (max - min + 1)\n\n let index = min + (v - min) % size\n if (index < min) {\n index = size + index\n }\n\n return index === 0 ? 0 : index // fix for (-a % a) => -0\n}\n\nexport function pad (v, length = 2, char = '0') {\n if (v === void 0 || v === null) {\n return v\n }\n\n const val = '' + v\n return val.length >= length\n ? val\n : new Array(length - val.length + 1).join(char) + val\n}\n\nexport default {\n humanStorageSize,\n capitalize,\n between,\n normalizeToInterval,\n pad\n}\n","\nexport function isDeepEqual (a, b) {\n if (a === b) {\n return true\n }\n\n if (a !== null && b !== null && typeof a === 'object' && typeof b === 'object') {\n if (a.constructor !== b.constructor) {\n return false\n }\n\n let length, i\n\n if (a.constructor === Array) {\n length = a.length\n\n if (length !== b.length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n if (isDeepEqual(a[ i ], b[ i ]) !== true) {\n return false\n }\n }\n\n return true\n }\n\n if (a.constructor === Map) {\n if (a.size !== b.size) {\n return false\n }\n\n let iter = a.entries()\n\n i = iter.next()\n while (i.done !== true) {\n if (b.has(i.value[ 0 ]) !== true) {\n return false\n }\n i = iter.next()\n }\n\n iter = a.entries()\n i = iter.next()\n while (i.done !== true) {\n if (isDeepEqual(i.value[ 1 ], b.get(i.value[ 0 ])) !== true) {\n return false\n }\n i = iter.next()\n }\n\n return true\n }\n\n if (a.constructor === Set) {\n if (a.size !== b.size) {\n return false\n }\n\n const iter = a.entries()\n\n i = iter.next()\n while (i.done !== true) {\n if (b.has(i.value[ 0 ]) !== true) {\n return false\n }\n i = iter.next()\n }\n\n return true\n }\n\n if (a.buffer != null && a.buffer.constructor === ArrayBuffer) {\n length = a.length\n\n if (length !== b.length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n if (a[ i ] !== b[ i ]) {\n return false\n }\n }\n\n return true\n }\n\n if (a.constructor === RegExp) {\n return a.source === b.source && a.flags === b.flags\n }\n\n if (a.valueOf !== Object.prototype.valueOf) {\n return a.valueOf() === b.valueOf()\n }\n\n if (a.toString !== Object.prototype.toString) {\n return a.toString() === b.toString()\n }\n\n const keys = Object.keys(a).filter(key => a[ key ] !== void 0)\n length = keys.length\n\n if (length !== Object.keys(b).filter(key => b[ key ] !== void 0).length) {\n return false\n }\n\n for (i = length; i-- !== 0;) {\n const key = keys[ i ]\n if (isDeepEqual(a[ key ], b[ key ]) !== true) {\n return false\n }\n }\n\n return true\n }\n\n // true if both NaN, false otherwise\n return a !== a && b !== b // eslint-disable-line no-self-compare\n}\n\n// not perfect, but what we ARE interested is for Arrays not to slip in\n// as spread operator will mess things up in various areas\nexport function isObject (v) {\n return v !== null && typeof v === 'object' && Array.isArray(v) !== true\n}\n\nexport function isDate (v) {\n return Object.prototype.toString.call(v) === '[object Date]'\n}\n\nexport function isRegexp (v) {\n return Object.prototype.toString.call(v) === '[object RegExp]'\n}\n\nexport function isNumber (v) {\n return typeof v === 'number' && isFinite(v)\n}\n\nexport default {\n deepEqual: isDeepEqual,\n object: isObject,\n date: isDate,\n regexp: isRegexp,\n number: isNumber\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 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 { defineComponent, markRaw } from 'vue'\n\nexport const createComponent = raw => markRaw(defineComponent(raw))\nexport const createDirective = raw => markRaw(raw)\n","\nimport { reactive } from 'vue'\nimport { injectProp } from './inject-obj-prop'\n\nexport default __QUASAR_SSR_SERVER__\n ? (state, plugin) => {\n Object.assign(plugin, state)\n return plugin\n }\n : (state, plugin) => {\n const reactiveState = reactive(state)\n\n for (const name in state) {\n injectProp(\n plugin,\n name,\n () => reactiveState[ name ],\n val => { reactiveState[ name ] = val }\n )\n }\n\n return plugin\n }\n","import { client } from '../../plugins/Platform.js'\nimport { isKeyCode } from './key-composition.js'\n\nconst handlers = []\nlet escDown\n\nfunction onKeydown (evt) {\n escDown = evt.keyCode === 27\n}\n\nfunction onBlur () {\n if (escDown === true) {\n escDown = false\n }\n}\n\nfunction onKeyup (evt) {\n if (escDown === true) {\n escDown = false\n\n if (isKeyCode(evt, 27) === true) {\n handlers[ handlers.length - 1 ](evt)\n }\n }\n}\n\nfunction update (action) {\n window[ action ]('keydown', onKeydown)\n window[ action ]('blur', onBlur)\n window[ action ]('keyup', onKeyup)\n escDown = false\n}\n\nexport function addEscapeKey (fn) {\n if (client.is.desktop === true) {\n handlers.push(fn)\n\n if (handlers.length === 1) {\n update('addEventListener')\n }\n }\n}\n\nexport function removeEscapeKey (fn) {\n const index = handlers.indexOf(fn)\n if (index > -1) {\n handlers.splice(index, 1)\n\n if (handlers.length === 0) {\n update('removeEventListener')\n }\n }\n}\n","let queue = []\nlet waitFlags = []\n\nfunction clearFlag (flag) {\n waitFlags = waitFlags.filter(entry => entry !== flag)\n}\n\nexport function addFocusWaitFlag (flag) {\n clearFlag(flag)\n waitFlags.push(flag)\n}\n\nexport function removeFocusWaitFlag (flag) {\n clearFlag(flag)\n\n if (waitFlags.length === 0 && queue.length > 0) {\n // only call last focus handler (can't focus multiple things at once)\n queue[ queue.length - 1 ]()\n queue = []\n }\n}\n\nexport function addFocusFn (fn) {\n if (waitFlags.length === 0) {\n fn()\n }\n else {\n queue.push(fn)\n }\n}\n\nexport function removeFocusFn (fn) {\n queue = queue.filter(entry => entry !== fn)\n}\n","import { client } from '../../plugins/Platform.js'\n\nconst handlers = []\n\nfunction trigger (e) {\n handlers[ handlers.length - 1 ](e)\n}\n\nexport function addFocusout (fn) {\n if (client.is.desktop === true) {\n handlers.push(fn)\n\n if (handlers.length === 1) {\n document.body.addEventListener('focusin', trigger)\n }\n }\n}\n\nexport function removeFocusout (fn) {\n const index = handlers.indexOf(fn)\n if (index > -1) {\n handlers.splice(index, 1)\n\n if (handlers.length === 0) {\n document.body.removeEventListener('focusin', trigger)\n }\n }\n}\n","\nexport const globalConfig = {}\nexport let globalConfigIsFrozen = false\n\nexport function freezeGlobalConfig () {\n globalConfigIsFrozen = true\n}\n","import { globalConfig } from './global-config.js'\n\nconst nodesList = []\nconst portalTypeList = []\n\nlet portalIndex = 1\nlet target = __QUASAR_SSR_SERVER__\n ? void 0\n : document.body\n\nexport function createGlobalNode (id, portalType) {\n const el = document.createElement('div')\n\n el.id = portalType !== void 0\n ? `q-portal--${ portalType }--${ portalIndex++ }`\n : id\n\n if (globalConfig.globalNodes !== void 0) {\n const cls = globalConfig.globalNodes.class\n if (cls !== void 0) {\n el.className = cls\n }\n }\n\n target.appendChild(el)\n nodesList.push(el)\n portalTypeList.push(portalType)\n\n return el\n}\n\nexport function removeGlobalNode (el) {\n const nodeIndex = nodesList.indexOf(el)\n\n nodesList.splice(nodeIndex, 1)\n portalTypeList.splice(nodeIndex, 1)\n\n el.remove()\n}\n\nexport function changeGlobalNodesTarget (newTarget) {\n if (newTarget === target) {\n return\n }\n\n target = newTarget\n\n if (\n target === document.body\n // or we have less than 2 dialogs:\n || portalTypeList.reduce((acc, type) => (type === 'dialog' ? acc + 1 : acc), 0) < 2\n ) {\n nodesList.forEach(node => {\n if (node.contains(target) === false) {\n target.appendChild(node)\n }\n })\n\n return\n }\n\n const lastDialogIndex = portalTypeList.lastIndexOf('dialog')\n\n for (let i = 0; i < nodesList.length; i++) {\n const el = nodesList[ i ]\n\n if (\n (i === lastDialogIndex || portalTypeList[ i ] !== 'dialog')\n && el.contains(target) === false\n ) {\n target.appendChild(el)\n }\n }\n}\n","export function injectProp (target, propName, get, set) {\n Object.defineProperty(target, propName, {\n get,\n set,\n enumerable: true\n })\n return target\n}\n\nexport function injectMultipleProps (target, props) {\n for (const key in props) {\n injectProp(target, key, props[ key ])\n }\n return target\n}\n","let lastKeyCompositionStatus = false\n\nexport function onKeyDownComposition (evt) {\n lastKeyCompositionStatus = evt.isComposing === true\n}\n\nexport function shouldIgnoreKey (evt) {\n return lastKeyCompositionStatus === true\n || evt !== Object(evt)\n || evt.isComposing === true\n || evt.qKeyEvent === true\n}\n\nexport function isKeyCode (evt, keyCodes) {\n return shouldIgnoreKey(evt) === true\n ? false\n : [].concat(keyCodes).includes(evt.keyCode)\n}\n","export default {\n xs: 30,\n sm: 35,\n md: 40,\n lg: 50,\n xl: 60\n}\n","import { getParentProxy } from './vm.js'\n\nexport const portalProxyList = []\n\nexport function getPortalProxy (el) {\n return portalProxyList.find(proxy =>\n proxy.contentEl !== null\n && proxy.contentEl.contains(el)\n )\n}\n\nexport function closePortalMenus (proxy, evt) {\n do {\n if (proxy.$options.name === 'QMenu') {\n proxy.hide(evt)\n\n // is this a point of separation?\n if (proxy.$props.separateClosePopup === true) {\n return getParentProxy(proxy)\n }\n }\n else if (proxy.__qPortal === true) {\n // treat it as point of separation if parent is QPopupProxy\n // (so mobile matches desktop behavior)\n // and hide it too\n const parent = getParentProxy(proxy)\n\n if (parent !== void 0 && parent.$options.name === 'QPopupProxy') {\n proxy.hide(evt)\n return parent\n }\n else {\n return proxy\n }\n }\n\n proxy = getParentProxy(proxy)\n } while (proxy !== void 0 && proxy !== null)\n}\n\nexport function closePortals (proxy, evt, depth) {\n while (depth !== 0 && proxy !== void 0 && proxy !== null) {\n if (proxy.__qPortal === true) {\n depth--\n\n if (proxy.$options.name === 'QMenu') {\n proxy = closePortalMenus(proxy, evt)\n continue\n }\n\n proxy.hide(evt)\n }\n\n proxy = getParentProxy(proxy)\n }\n}\n","import { getScrollbarWidth } from '../scroll.js'\nimport { client } from '../../plugins/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\nexport function getTargetProps (el) {\n return {\n top: 0,\n center: el.offsetHeight / 2,\n bottom: el.offsetHeight,\n left: 0,\n middle: el.offsetWidth / 2,\n right: el.offsetWidth\n }\n}\n\nfunction getTopLeftProps (anchorProps, targetProps, cfg) {\n return {\n top: anchorProps[ cfg.anchorOrigin.vertical ] - targetProps[ cfg.selfOrigin.vertical ],\n left: anchorProps[ cfg.anchorOrigin.horizontal ] - targetProps[ cfg.selfOrigin.horizontal ]\n }\n}\n\n// cfg: { el, anchorEl, anchorOrigin, selfOrigin, offset, absoluteOffset, cover, fit, maxHeight, maxWidth }\nexport function setPosition (cfg) {\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 } = cfg.el\n\n const anchorProps = cfg.absoluteOffset === void 0\n ? getAnchorProps(cfg.anchorEl, cfg.cover === true ? [ 0, 0 ] : cfg.offset)\n : getAbsoluteAnchorProps(cfg.anchorEl, cfg.absoluteOffset, cfg.offset)\n\n let elStyle = {\n maxHeight: cfg.maxHeight,\n maxWidth: cfg.maxWidth,\n visibility: 'visible'\n }\n\n if (cfg.fit === true || cfg.cover === true) {\n elStyle.minWidth = anchorProps.width + 'px'\n if (cfg.cover === true) {\n elStyle.minHeight = anchorProps.height + 'px'\n }\n }\n\n Object.assign(cfg.el.style, elStyle)\n\n const targetProps = getTargetProps(cfg.el)\n let props = getTopLeftProps(anchorProps, targetProps, cfg)\n\n if (cfg.absoluteOffset === void 0 || cfg.offset === void 0) {\n applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.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, cfg.anchorOrigin, cfg.selfOrigin)\n\n let hasChanged = false\n\n // did it flip vertically?\n if (props.top !== top) {\n hasChanged = true\n const offsetY = 2 * cfg.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 * cfg.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, cfg)\n\n // and re-apply boundaries\n applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.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(cfg.el.style, elStyle)\n\n // restore scroll position\n if (cfg.el.scrollTop !== scrollTop) {\n cfg.el.scrollTop = scrollTop\n }\n if (cfg.el.scrollLeft !== scrollLeft) {\n cfg.el.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 { h, withDirectives } from 'vue'\n\nexport function hSlot (slot, otherwise) {\n return slot !== void 0\n ? slot() || otherwise\n : otherwise\n}\n\nexport function hUniqueSlot (slot, otherwise) {\n if (slot !== void 0) {\n const vnode = slot()\n if (vnode !== void 0 && vnode !== null) {\n return vnode.slice()\n }\n }\n\n return otherwise\n}\n\n/**\n * Source definitely exists,\n * so it's merged with the possible slot\n */\nexport function hMergeSlot (slot, source) {\n return slot !== void 0\n ? source.concat(slot())\n : source\n}\n\n/**\n * Merge with possible slot,\n * even if source might not exist\n */\nexport function hMergeSlotSafely (slot, source) {\n if (slot === void 0) {\n return source\n }\n\n return source !== void 0\n ? source.concat(slot())\n : slot()\n}\n\n/*\n * (String) key - unique vnode key\n * (Boolean) condition - should change ONLY when adding/removing directive\n */\nexport function hDir (\n tag,\n data,\n children,\n key,\n condition,\n getDirsFn\n) {\n data.key = key + condition\n\n const vnode = h(tag, data, children)\n\n return condition === true\n ? withDirectives(vnode, getDirsFn())\n : vnode\n}\n","import Platform from '../../plugins/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","export const quasarKey = '_q_'\nexport const timelineKey = '_q_t_'\nexport const stepperKey = '_q_s_'\nexport const layoutKey = '_q_l_'\nexport const pageContainerKey = '_q_pc_'\nexport const fabKey = '_q_f_'\nexport const formKey = '_q_fo_'\nexport const tabsKey = '_q_tabs_'\nexport const uploaderKey = '_q_u_'\n\nexport const emptyRenderFn = () => {}\n","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\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 && evt.target.nodeName.toUpperCase() !== 'INPUT'\n && (evt.qClonedBy === void 0 || evt.qClonedBy.indexOf(ctx.uid) === -1)\n}\n","\n// copied to docs too\nexport function getParentProxy (proxy) {\n if (Object(proxy.$parent) === proxy.$parent) {\n return proxy.$parent\n }\n\n let { parent } = proxy.$\n\n while (Object(parent) === parent) {\n if (Object(parent.proxy) === parent.proxy) {\n return parent.proxy\n }\n\n parent = parent.parent\n }\n}\n\nfunction fillNormalizedVNodes (children, vnode) {\n if (typeof vnode.type === 'symbol') {\n if (Array.isArray(vnode.children) === true) {\n vnode.children.forEach(child => {\n fillNormalizedVNodes(children, child)\n })\n }\n }\n else {\n children.add(vnode)\n }\n}\n\n// vnodes from rendered in advanced slots\nexport function getNormalizedVNodes (vnodes) {\n const children = new Set()\n\n vnodes.forEach(vnode => {\n fillNormalizedVNodes(children, vnode)\n })\n\n return Array.from(children)\n}\n\nexport function vmHasRouter (vm) {\n return vm.appContext.config.globalProperties.$router !== void 0\n}\n\nexport function vmIsDestroyed (vm) {\n return vm.isUnmounted === true || vm.isDeactivated === true\n}\n","import { css, getElement } from './dom.js'\n\nconst scrollTargets = __QUASAR_SSR_SERVER__\n ? []\n : [ null, document, document.body, document.scrollingElement, document.documentElement ]\n\nexport function getScrollTarget (el, targetEl) {\n let target = getElement(targetEl)\n\n if (target === void 0) {\n if (el === void 0 || el === null) {\n return window\n }\n\n target = el.closest('.scroll,.scroll-y,.overflow-auto')\n }\n\n return scrollTargets.includes(target)\n ? window\n : target\n}\n\nexport function getScrollHeight (el) {\n return (el === window ? document.body : el).scrollHeight\n}\n\nexport function getScrollWidth (el) {\n return (el === window ? document.body : el).scrollWidth\n}\n\nexport function getVerticalScrollPosition (scrollTarget) {\n return scrollTarget === window\n ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0\n : scrollTarget.scrollTop\n}\n\nexport function getHorizontalScrollPosition (scrollTarget) {\n return scrollTarget === window\n ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0\n : scrollTarget.scrollLeft\n}\n\nexport function animVerticalScrollTo (el, to, duration = 0 /* , prevTime */) {\n const prevTime = arguments[ 3 ] === void 0 ? performance.now() : arguments[ 3 ]\n const pos = getVerticalScrollPosition(el)\n\n if (duration <= 0) {\n if (pos !== to) {\n setScroll(el, to)\n }\n return\n }\n\n requestAnimationFrame(nowTime => {\n const frameTime = nowTime - prevTime\n const newPos = pos + (to - pos) / Math.max(frameTime, duration) * frameTime\n setScroll(el, newPos)\n if (newPos !== to) {\n animVerticalScrollTo(el, to, duration - frameTime, nowTime)\n }\n })\n}\n\nexport function animHorizontalScrollTo (el, to, duration = 0 /* , prevTime */) {\n const prevTime = arguments[ 3 ] === void 0 ? performance.now() : arguments[ 3 ]\n const pos = getHorizontalScrollPosition(el)\n\n if (duration <= 0) {\n if (pos !== to) {\n setHorizontalScroll(el, to)\n }\n return\n }\n\n requestAnimationFrame(nowTime => {\n const frameTime = nowTime - prevTime\n const newPos = pos + (to - pos) / Math.max(frameTime, duration) * frameTime\n setHorizontalScroll(el, newPos)\n if (newPos !== to) {\n animHorizontalScrollTo(el, to, duration - frameTime, nowTime)\n }\n })\n}\n\nfunction setScroll (scrollTarget, offset) {\n if (scrollTarget === window) {\n window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, offset)\n return\n }\n scrollTarget.scrollTop = offset\n}\n\nfunction setHorizontalScroll (scrollTarget, offset) {\n if (scrollTarget === window) {\n window.scrollTo(offset, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)\n return\n }\n scrollTarget.scrollLeft = offset\n}\n\nexport function setVerticalScrollPosition (scrollTarget, offset, duration) {\n if (duration) {\n animVerticalScrollTo(scrollTarget, offset, duration)\n return\n }\n setScroll(scrollTarget, offset)\n}\n\nexport function setHorizontalScrollPosition (scrollTarget, offset, duration) {\n if (duration) {\n animHorizontalScrollTo(scrollTarget, offset, duration)\n return\n }\n setHorizontalScroll(scrollTarget, offset)\n}\n\nlet size\nexport function getScrollbarWidth () {\n if (size !== undefined) {\n return size\n }\n\n const\n inner = document.createElement('p'),\n outer = document.createElement('div')\n\n css(inner, {\n width: '100%',\n height: '200px'\n })\n css(outer, {\n position: 'absolute',\n top: '0px',\n left: '0px',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n })\n\n outer.appendChild(inner)\n\n document.body.appendChild(outer)\n\n const w1 = inner.offsetWidth\n outer.style.overflow = 'scroll'\n let w2 = inner.offsetWidth\n\n if (w1 === w2) {\n w2 = outer.clientWidth\n }\n\n outer.remove()\n size = w1 - w2\n\n return size\n}\n\nexport function hasScrollbar (el, onY = true) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) {\n return false\n }\n\n return onY\n ? (\n el.scrollHeight > el.clientHeight && (\n el.classList.contains('scroll')\n || el.classList.contains('overflow-auto')\n || [ 'auto', 'scroll' ].includes(window.getComputedStyle(el)[ 'overflow-y' ])\n )\n )\n : (\n el.scrollWidth > el.clientWidth && (\n el.classList.contains('scroll')\n || el.classList.contains('overflow-auto')\n || [ 'auto', 'scroll' ].includes(window.getComputedStyle(el)[ 'overflow-x' ])\n )\n )\n}\n\nexport default {\n getScrollTarget,\n\n getScrollHeight,\n getScrollWidth,\n\n getVerticalScrollPosition,\n getHorizontalScrollPosition,\n\n animVerticalScrollTo,\n animHorizontalScrollTo,\n\n setVerticalScrollPosition,\n setHorizontalScrollPosition,\n\n getScrollbarWidth,\n hasScrollbar\n}\n","/**\n * Based on the work of https://github.com/jchook/uuid-random\n */\n\nlet\n buf,\n bufIdx = 0\nconst hexBytes = new Array(256)\n\n// Pre-calculate toString(16) for speed\nfor (let i = 0; i < 256; i++) {\n hexBytes[ i ] = (i + 0x100).toString(16).substring(1)\n}\n\n// Use best available PRNG\nconst randomBytes = (() => {\n // Node & Browser support\n const lib = typeof crypto !== 'undefined'\n ? crypto\n : (\n typeof window !== 'undefined'\n ? window.crypto || window.msCrypto\n : void 0\n )\n\n if (lib !== void 0) {\n if (lib.randomBytes !== void 0) {\n return lib.randomBytes\n }\n if (lib.getRandomValues !== void 0) {\n return n => {\n const bytes = new Uint8Array(n)\n lib.getRandomValues(bytes)\n return bytes\n }\n }\n }\n\n return n => {\n const r = []\n for (let i = n; i > 0; i--) {\n r.push(Math.floor(Math.random() * 256))\n }\n return r\n }\n})()\n\n// Buffer random numbers for speed\n// Reduce memory usage by decreasing this number (min 16)\n// or improve speed by increasing this number (try 16384)\nconst BUFFER_SIZE = 4096\n\nexport default function () {\n // Buffer some random bytes for speed\n if (buf === void 0 || (bufIdx + 16 > BUFFER_SIZE)) {\n bufIdx = 0\n buf = randomBytes(BUFFER_SIZE)\n }\n\n const b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16))\n b[ 6 ] = (b[ 6 ] & 0x0f) | 0x40\n b[ 8 ] = (b[ 8 ] & 0x3f) | 0x80\n\n return hexBytes[ b[ 0 ] ] + hexBytes[ b[ 1 ] ]\n + hexBytes[ b[ 2 ] ] + hexBytes[ b[ 3 ] ] + '-'\n + hexBytes[ b[ 4 ] ] + hexBytes[ b[ 5 ] ] + '-'\n + hexBytes[ b[ 6 ] ] + hexBytes[ b[ 7 ] ] + '-'\n + hexBytes[ b[ 8 ] ] + hexBytes[ b[ 9 ] ] + '-'\n + hexBytes[ b[ 10 ] ] + hexBytes[ b[ 11 ] ]\n + hexBytes[ b[ 12 ] ] + hexBytes[ b[ 13 ] ]\n + hexBytes[ b[ 14 ] ] + hexBytes[ b[ 15 ] ]\n}\n","import installQuasar from './install-quasar.js'\nimport lang from './lang.js'\nimport iconSet from './icon-set.js'\n\nexport default {\n version: __QUASAR_VERSION__,\n install: installQuasar,\n lang,\n iconSet\n}\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`onScopeDispose() is called when there is no active effect scope` +\n ` to be associated with.`);\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit; // set was tracked\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n }\n else {\n deps[ptr++] = dep;\n }\n // clear bits\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = new WeakMap();\n// The number of effects currently being tracked recursively.\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\n/**\n * The bitwise track markers support at most 30 levels of recursion.\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\n * When recursion depth is greater, fall back to using a full cleanup.\n */\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = undefined;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n }\n else {\n cleanupEffect(this);\n }\n return this.fn();\n }\n finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = undefined;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n // stopped while running itself - defer the cleanup\n if (activeEffect === this) {\n this.deferStop = true;\n }\n else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect) {\n const { deps } = effect;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === undefined ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, (depsMap = new Map()));\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, (dep = createDep()));\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { effect: activeEffect, target, type, key }\n : undefined;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit; // set newly tracked\n shouldTrack = !wasTracked(dep);\n }\n }\n else {\n // Full cleanup mode.\n shouldTrack = !dep.has(activeEffect);\n }\n if (shouldTrack) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n // never been tracked\n return;\n }\n let deps = [];\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\n // collection being cleared\n // trigger all effects for target\n deps = [...depsMap.values()];\n }\n else if (key === 'length' && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key) => {\n if (key === 'length' || key >= newLength) {\n deps.push(dep);\n }\n });\n }\n else {\n // schedule runs for SET | ADD | DELETE\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n // also run for iteration key on ADD | DELETE | Map.SET\n switch (type) {\n case \"add\" /* TriggerOpTypes.ADD */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n else if (isIntegerKey(key)) {\n // new index added to array -> length changes\n deps.push(depsMap.get('length'));\n }\n break;\n case \"delete\" /* TriggerOpTypes.DELETE */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\" /* TriggerOpTypes.SET */:\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { target, type, key, newValue, oldValue, oldTarget }\n : undefined;\n if (deps.length === 1) {\n if (deps[0]) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(deps[0], eventInfo);\n }\n else {\n triggerEffects(deps[0]);\n }\n }\n }\n else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(createDep(effects), eventInfo);\n }\n else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n // spread into array for stabilization\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect of effects) {\n if (effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n for (const effect of effects) {\n if (!effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\n if (effect !== activeEffect || effect.allowRecurse) {\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\n }\n if (effect.scheduler) {\n effect.scheduler();\n }\n else {\n effect.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n/*#__PURE__*/\nObject.getOwnPropertyNames(Symbol)\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\n // function\n .filter(key => key !== 'arguments' && key !== 'caller')\n .map(key => Symbol[key])\n .filter(isSymbol));\nconst get$1 = /*#__PURE__*/ createGetter();\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\n instrumentations[key] = function (...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\n }\n // we run the method using the original args first (which may be reactive)\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n // if that didn't work, run it again using raw values.\n return arr[key](...args.map(toRaw));\n }\n else {\n return res;\n }\n };\n });\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\n instrumentations[key] = function (...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\" /* TrackOpTypes.HAS */, key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get(target, key, receiver) {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\n return shallow;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\n receiver ===\n (isReadonly\n ? shallow\n ? shallowReadonlyMap\n : readonlyMap\n : shallow\n ? shallowReactiveMap\n : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === 'hasOwnProperty') {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\" /* TrackOpTypes.GET */, key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n // ref unwrapping - skip unwrap for Array + integer key.\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n // Convert returned value into a proxy as well. we do the isObject check\n // here to avoid invalid value warning. Also need to lazy access readonly\n // and reactive here to avoid circular dependency.\n return isReadonly ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /*#__PURE__*/ createSetter();\nconst shallowSet = /*#__PURE__*/ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key)\n ? Number(key) < target.length\n : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n // don't trigger if target is something up in the prototype chain of original\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n});\n// Props handlers are special in the sense that it should not unwrap top-level\n// refs (in order to allow refs to be explicitly passed down), but should\n// retain the reactivity of the normal readonly object.\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n});\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\n // of the value\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\n }\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n }\n else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n }\n else if (target !== rawTarget) {\n // #3602 readonly(reactive(Map))\n // ensure that the nested reactive `Map` can do tracking for itself\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\n }\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\n }\n return key === rawKey\n ? target.has(key)\n : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return Reflect.get(target, 'size', target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : undefined;\n // forward the operation before queueing reactions\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = (process.env.NODE_ENV !== 'production')\n ? isMap(target)\n ? new Map(target)\n : new Set(target)\n : undefined;\n // forward the operation before queueing reactions\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return target.forEach((value, key) => {\n // important: make sure the callback is\n // 1. invoked with the reactive map as `this` and 3rd arg\n // 2. the value received should be a corresponding reactive/readonly.\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function (...args) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\n const isKeyOnly = method === 'keys' && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly &&\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n // return a wrapped iterator which returns observed versions of the\n // values emitted from the real iterator\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done\n ? { value, done }\n : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if ((process.env.NODE_ENV !== 'production')) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\n iteratorMethods.forEach(method => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n ];\n}\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow\n ? isReadonly\n ? shallowReadonlyInstrumentations\n : shallowInstrumentations\n : isReadonly\n ? readonlyInstrumentations\n : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target\n ? instrumentations\n : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\n `which can lead to inconsistencies. ` +\n `Avoid differentiating between the raw and reactive versions ` +\n `of an object and only use the reactive version if possible.`);\n }\n}\n\nconst reactiveMap = new WeakMap();\nconst shallowReactiveMap = new WeakMap();\nconst readonlyMap = new WeakMap();\nconst shallowReadonlyMap = new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return 1 /* TargetType.COMMON */;\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n return 2 /* TargetType.COLLECTION */;\n default:\n return 0 /* TargetType.INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\n ? 0 /* TargetType.INVALID */\n : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\n/**\n * Creates a readonly copy of the original object. Note the returned copy is not\n * made reactive, but `readonly` can be called on an already reactive object.\n */\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n // target is already a Proxy, return it.\n // exception: calling readonly() on a reactive object\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\n return target;\n }\n // target already has corresponding Proxy\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n // only specific value types can be observed.\n const targetType = getTargetType(target);\n if (targetType === 0 /* TargetType.INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\n if (shouldTrack && activeEffect) {\n ref = toRaw(ref);\n if ((process.env.NODE_ENV !== 'production')) {\n trackEffects(ref.dep || (ref.dep = createDep()), {\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n trackEffects(ref.dep || (ref.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref, newVal) {\n ref = toRaw(ref);\n const dep = ref.dep;\n if (dep) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(dep, {\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value',\n newValue: newVal\n });\n }\n else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = undefined;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref) {\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs)\n ? objectWithRefs\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = undefined;\n this.__v_isRef = true;\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === undefined ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nfunction toRef(object, key, defaultValue) {\n const val = object[key];\n return isRef(val)\n ? val\n : new ObjectRefImpl(object, key, defaultValue);\n}\n\nvar _a$1;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = undefined;\n this.__v_isRef = true;\n this[_a$1] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\n }\n get value() {\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = (process.env.NODE_ENV !== 'production')\n ? () => {\n console.warn('Write operation failed: computed value is readonly');\n }\n : NOOP;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nvar _a;\nconst tick = /*#__PURE__*/ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = undefined;\n this._dirty = true;\n this.__v_isRef = true;\n this[_a] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n }\n else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n // chained upstream computeds are notified synchronously to ensure\n // value invalidation in case of sync access; normal effects are\n // deferred to be triggered in scheduler.\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(true /* computedTrigger */);\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return (this._value = this.effect.run());\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n return toRaw(this)._get();\n }\n}\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isRegExp, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n/**\n * @internal\n */\nfunction assertNumber(val, type) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n if (val === undefined) {\n return;\n }\n else if (typeof val !== 'number') {\n warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);\n }\n else if (isNaN(val)) {\n warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if ((process.env.NODE_ENV !== 'production')) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n else {\n // recover in prod to reduce the impact on end-user\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if ((process.env.NODE_ENV !== 'production') &&\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = (process.env.NODE_ENV !== 'production')\n ? (job) => checkRecursiveUpdates(seen, job)\n : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\nif ((process.env.NODE_ENV !== 'production')) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools &&\n typeof devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if ((process.env.NODE_ENV !== 'production')) {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if ((process.env.NODE_ENV !== 'production')) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = toHandlerKey(camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n hasOwn(options, hyphenate(key)) ||\n hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if ((process.env.NODE_ENV !== 'production')) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, (process.env.NODE_ENV !== 'production')\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if ((process.env.NODE_ENV !== 'production') &&\n result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!isModelListener(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Component inside renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;\n if ((process.env.NODE_ENV !== 'production')) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n if ((process.env.NODE_ENV !== 'production')) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n if ((process.env.NODE_ENV !== 'production')) {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n if ((process.env.NODE_ENV !== 'production')) {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' });\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' });\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n if ((process.env.NODE_ENV !== 'production') && !cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;\n // const instance = currentInstance\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n }\n else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\n getter = () => source.map(s => {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\n }\n });\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = NOOP;\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\n : hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if ((process.env.NODE_ENV !== 'production')) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\n // warn more than one non-comment child\n warn(' can only be used on a single element or component. ' +\n 'Use for lists.');\n break;\n }\n child = c;\n hasFound = true;\n if (!(process.env.NODE_ENV !== 'production'))\n break;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n // check mode\n if ((process.env.NODE_ENV !== 'production') &&\n mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of