{"version":3,"file":"js/chunk-vendors.85cdb480.js","mappings":"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","sources":["webpack://hydra.seguros.web/./node_modules/quasar/src/components/avatar/QAvatar.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/btn/use-btn.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/btn/QBtn.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/card/QCard.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/card/QCardActions.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/card/QCardSection.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/checkbox/QCheckbox.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/checkbox/use-checkbox.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/dialog/QDialog.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/icon/QIcon.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/input/use-mask.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-file-dom-props.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/input/QInput.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/radio/QRadio.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/option-group/QOptionGroup.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/separator/QSeparator.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/spinner/use-spinner.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/spinner/QSpinner.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/toggle/QToggle.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-align.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-dark.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/use-form-child.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/patterns.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/extend.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Meta.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/circular-progress/use-circular-progress.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/circular-progress/QCircularProgress.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-file.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/uploader/uploader-core.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/create-uploader-component.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/uid.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-validate.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-split-attrs.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-field.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-form.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-history.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-key-composition.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-model-toggle.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-portal.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-prevent-scroll.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-refocus-target.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-router-link.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-size.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-tick.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-timeout.js","webpack://hydra.seguros.web/./node_modules/quasar/src/composables/private/use-transition.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/throttle.js","webpack://hydra.seguros.web/./node_modules/quasar/src/directives/Ripple.js","webpack://hydra.seguros.web/./node_modules/quasar/src/history.js","webpack://hydra.seguros.web/./node_modules/quasar/icon-set/material-icons.mjs","webpack://hydra.seguros.web/./node_modules/quasar/src/icon-set.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Screen.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Dark.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/set-css-var.js","webpack://hydra.seguros.web/./node_modules/quasar/src/body.js","webpack://hydra.seguros.web/./node_modules/quasar/src/install-quasar.js","webpack://hydra.seguros.web/./node_modules/quasar/lang/en-US.mjs","webpack://hydra.seguros.web/./node_modules/quasar/src/lang.js","webpack://hydra.seguros.web/./node_modules/quasar/src/components/dialog-plugin/DialogPlugin.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/global-dialog.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Dialog.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Loading.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Notify.js","webpack://hydra.seguros.web/./node_modules/quasar/src/plugins/Platform.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/date.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/debounce.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/dom.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/event.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/format.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/prevent-scroll.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/create.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/date-persian.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/define-reactive-plugin.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/escape-key.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/focus-manager.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/focusout.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/get-emits-object.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/global-config.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/global-nodes.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/inject-obj-prop.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/is.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/key-composition.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/option-sizes.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/portal.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/render.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/symbols.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/private/vm.js","webpack://hydra.seguros.web/./node_modules/quasar/src/utils/scroll.js","webpack://hydra.seguros.web/./node_modules/quasar/src/vue-plugin.js","webpack://hydra.seguros.web/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://hydra.seguros.web/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://hydra.seguros.web/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://hydra.seguros.web/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/a-callable.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/a-possible-prototype.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/an-object.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/array-buffer-native.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/array-iteration-from-last.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/array-to-reversed.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/array-with.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/classof-raw.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/classof.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/create-property-descriptor.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/define-built-in.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/define-global-property.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/descriptors.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/document-create-element.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/engine-user-agent.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/engine-v8-version.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/fails.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/function-bind-context.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/function-bind-native.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/function-call.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/function-name.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/function-uncurry-this.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/get-built-in.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/get-method.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/global.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/has-own-property.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/hidden-keys.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/ie8-dom-define.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/indexed-object.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/inspect-source.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/internal-state.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/is-big-int-array.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/is-callable.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/is-object.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/is-pure.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/is-symbol.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/length-of-array-like.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/make-built-in.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/math-trunc.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/native-symbol.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/native-weak-map.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/object-define-property.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/regexp-flags.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/require-object-coercible.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/shared-key.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/shared-store.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/shared.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-big-int.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-length.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-object.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-offset.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-positive-integer.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-primitive.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-property-key.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/to-string-tag-support.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/try-to-string.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/uid.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://hydra.seguros.web/./node_modules/core-js/internals/well-known-symbol.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/es.regexp.flags.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/es.typed-array.find-last.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/es.typed-array.set.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/esnext.typed-array.find-last-index.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/esnext.typed-array.find-last.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/esnext.typed-array.to-reversed.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/esnext.typed-array.to-sorted.js","webpack://hydra.seguros.web/./node_modules/core-js/modules/esnext.typed-array.with.js","webpack://hydra.seguros.web/./node_modules/dayjs/dayjs.min.js","webpack://hydra.seguros.web/./node_modules/dayjs/locale/es.js","webpack://hydra.seguros.web/./node_modules/dayjs/plugin/customParseFormat.js","webpack://hydra.seguros.web/./node_modules/dayjs/plugin/utc.js","webpack://hydra.seguros.web/./node_modules/vue-loader/dist/exportHelper.js","webpack://hydra.seguros.web/./node_modules/vue3-cookies/dist/index.js","webpack://hydra.seguros.web/./node_modules/quasar/lang/es.mjs","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/bind.js","webpack://hydra.seguros.web/./node_modules/axios/lib/utils.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/AxiosError.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/null.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/toFormData.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/buildURL.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/InterceptorManager.js","webpack://hydra.seguros.web/./node_modules/axios/lib/defaults/transitional.js","webpack://hydra.seguros.web/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://hydra.seguros.web/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://hydra.seguros.web/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://hydra.seguros.web/./node_modules/axios/lib/platform/browser/index.js","webpack://hydra.seguros.web/./node_modules/axios/lib/platform/common/utils.js","webpack://hydra.seguros.web/./node_modules/axios/lib/platform/index.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://hydra.seguros.web/./node_modules/axios/lib/defaults/index.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/transformData.js","webpack://hydra.seguros.web/./node_modules/axios/lib/cancel/isCancel.js","webpack://hydra.seguros.web/./node_modules/axios/lib/cancel/CanceledError.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/settle.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/cookies.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/combineURLs.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/buildFullPath.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/speedometer.js","webpack://hydra.seguros.web/./node_modules/axios/lib/adapters/xhr.js","webpack://hydra.seguros.web/./node_modules/axios/lib/adapters/adapters.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/dispatchRequest.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/mergeConfig.js","webpack://hydra.seguros.web/./node_modules/axios/lib/env/data.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/validator.js","webpack://hydra.seguros.web/./node_modules/axios/lib/core/Axios.js","webpack://hydra.seguros.web/./node_modules/axios/lib/cancel/CancelToken.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/spread.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://hydra.seguros.web/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://hydra.seguros.web/./node_modules/axios/lib/axios.js","webpack://hydra.seguros.web/./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 { 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\nconst padding = {\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 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 round: Boolean,\n square: Boolean,\n outline: Boolean,\n flat: Boolean,\n unelevated: Boolean,\n rounded: Boolean,\n push: 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, linkProps, navigateToRouterLink } = useRouterLink('button')\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 padding ? padding[ 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(() => {\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 'standard'\n })\n\n const attributes = computed(() => {\n const acc = { tabindex: tabIndex.value }\n\n if (hasLink.value === true) {\n Object.assign(acc, linkProps.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 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 hasRouterLink,\n hasLink,\n linkTag,\n navigateToRouterLink,\n isActionable\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\n emits: [ 'click', 'keydown', 'touchstart', 'mousedown', 'keyup' ],\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n\n const {\n classes, style, innerClasses,\n attributes,\n hasRouterLink, hasLink, linkTag, navigateToRouterLink,\n isActionable\n } = useBtn(props)\n\n const rootRef = ref(null)\n const blurTargetRef = ref(null)\n\n let localTouchTargetEl = null, avoidMouseRipple, mouseTimer\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 onTouchstartPassive: onLoadingEvt,\n onClick: onLoadingEvt,\n onKeydown: onLoadingEvt,\n onKeyup: onLoadingEvt\n }\n }\n\n if (isActionable.value === true) {\n return {\n onClick,\n onKeydown,\n onMousedown,\n onTouchstart\n }\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 if (hasRouterLink.value === true) {\n const go = () => {\n e.__qNavigate = true\n navigateToRouterLink(e)\n }\n\n emit('click', e, go)\n e.defaultPrevented !== true && go()\n }\n else {\n emit('click', e)\n }\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 clearTimeout(mouseTimer)\n mouseTimer = setTimeout(() => {\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 { 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 vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$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 'aria-hidden': 'true'\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 '^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: '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 }, 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, nextTick, 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 { 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 transitions = {\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,\n transitionHide: String,\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', 'escape-key'\n ],\n\n setup (props, { slots, emit, attrs }) {\n const vm = getCurrentInstance()\n\n const innerRef = ref(null)\n const showing = ref(false)\n const transitionState = ref(false)\n const animating = ref(false)\n\n let shakeTimeout, 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, removeTimeout } = useTimeout()\n const { registerTick, removeTick } = useTick()\n\n const { showPortal, hidePortal, portalIsAccessible, renderPortal } = usePortal(\n vm, innerRef, renderPortalContent, /* pls do check if on a global dialog */ true\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 transitionShow = computed(() =>\n 'q-transition--'\n + (props.transitionShow === void 0 ? transitions[ props.position ][ 0 ] : props.transitionShow)\n )\n\n const transitionHide = computed(() =>\n 'q-transition--'\n + (props.transitionHide === void 0 ? transitions[ props.position ][ 1 ] : props.transitionHide)\n )\n\n const transition = computed(() => (\n transitionState.value === true\n ? transitionHide.value\n : transitionShow.value\n ))\n\n const transitionStyle = computed(\n () => `--q-transition-duration: ${ props.transitionDuration }ms`\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(showing, val => {\n nextTick(() => {\n transitionState.value = val\n })\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 removeTimeout()\n removeTick()\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\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 removeTimeout()\n removeTick()\n removeFromHistory()\n cleanup(true)\n animating.value = true\n hidePortal()\n\n if (refocusTarget !== null) {\n refocusTarget.focus()\n refocusTarget = null\n }\n\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 = node.querySelector(selector || '[autofocus], [data-autofocus]') || node\n node.focus({ preventScroll: true })\n })\n }\n\n function shake () {\n focus()\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 clearTimeout(shakeTimeout)\n shakeTimeout = setTimeout(() => {\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('escape-key')\n hide()\n }\n }\n }\n\n function cleanup (hiding) {\n clearTimeout(shakeTimeout)\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()\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 function renderPortalContent () {\n return h('div', {\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 onMousedown: onBackdropClick\n })\n : null\n )),\n\n h(\n Transition,\n { name: transition.value, appear: true },\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, 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 { 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 + '$'\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(val)\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 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'\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 ],\n\n setup (props, { emit, attrs }) {\n const temp = {}\n let emitCachedValue = NaN, typedNumber, stopValueWatcher, emitTimer, 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 = adjustHeight\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 emitValue (val, stopWatcher) {\n emitValueFn = () => {\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 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 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 parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px'\n inp.style.height = '1px'\n inp.style.overflow = 'hidden'\n\n inp.style.height = inp.scrollHeight + 'px'\n inp.style.overflow = overflow\n parentStyle.marginBottom = ''\n }\n }\n\n function onChange (e) {\n onComposition(e)\n\n clearTimeout(emitTimer)\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 clearTimeout(emitTimer)\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 const vm = getCurrentInstance()\n Object.assign(vm.proxy, {\n focus,\n select,\n getNativeElement: () => inputRef.value\n })\n\n return renderFn\n }\n})\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 'aria-hidden': 'true'\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 '^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 }, 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 = {}\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, 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 { 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 } 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 { 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 { 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 { 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, onBeforeUnmount, getCurrentInstance } 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 // register component to parent QForm\n props.disable !== true && $form.bindComponent(proxy)\n\n onBeforeUnmount(() => {\n // unregister component\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","const\n toString = Object.prototype.toString,\n hasOwn = Object.prototype.hasOwnProperty,\n class2type = {}\n\n'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(name => {\n class2type[ '[object ' + name + ']' ] = name.toLowerCase()\n})\n\nfunction type (obj) {\n return obj === null ? String(obj) : class2type[ toString.call(obj) ] || 'object'\n}\n\nfunction isPlainObject (obj) {\n if (!obj || type(obj) !== 'object') {\n return false\n }\n\n if (obj.constructor\n && !hasOwn.call(obj, 'constructor')\n && !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {\n return false\n }\n\n let key\n for (key in obj) {} // eslint-disable-line\n\n return key === void 0 || hasOwn.call(obj, key)\n}\n\nexport default function extend () {\n let\n options, name, src, copy, copyIsArray, clone,\n target = arguments[ 0 ] || {},\n i = 1,\n deep = false\n const length = arguments.length\n\n if (typeof target === 'boolean') {\n deep = target\n target = arguments[ 1 ] || {}\n i = 2\n }\n\n if (Object(target) !== target && type(target) !== 'function') {\n target = {}\n }\n\n if (length === i) {\n target = this\n i--\n }\n\n for (; i < length; i++) {\n if ((options = arguments[ i ]) !== null) {\n for (name in options) {\n src = target[ name ]\n copy = options[ name ]\n\n if (target === copy) {\n continue\n }\n\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {\n if (copyIsArray) {\n copyIsArray = false\n clone = src && type(src) === 'array' ? src : []\n }\n else {\n clone = src && isPlainObject(src) ? src : {}\n }\n\n target[ name ] = extend(deep, clone, copy)\n }\n else if (copy !== void 0) {\n target[ name ] = copy\n }\n }\n }\n }\n\n return target\n}\n","import { isRuntimeSsrPreHydration } from './Platform.js'\nimport extend from '../utils/extend.js'\n\nlet updateId, currentClientMeta\nexport const clientList = []\n\nfunction normalize (meta) {\n if (meta.title) {\n meta.title = meta.titleTemplate\n ? meta.titleTemplate(meta.title)\n : meta.title\n delete meta.titleTemplate\n }\n\n ;[ [ 'meta', 'content' ], [ 'link', 'href' ] ].forEach(type => {\n const\n metaType = meta[ type[ 0 ] ],\n metaProp = type[ 1 ]\n\n for (const name in metaType) {\n const metaLink = metaType[ name ]\n\n if (metaLink.template) {\n if (Object.keys(metaLink).length === 1) {\n delete metaType[ name ]\n }\n else {\n metaLink[ metaProp ] = metaLink.template(metaLink[ metaProp ] || '')\n delete metaLink.template\n }\n }\n }\n })\n}\n\nfunction changed (old, def) {\n if (Object.keys(old).length !== Object.keys(def).length) {\n return true\n }\n for (const key in old) {\n if (old[ key ] !== def[ key ]) {\n return true\n }\n }\n}\n\nfunction bodyFilter (name) {\n return [ 'class', 'style' ].includes(name) === false\n}\n\nfunction htmlFilter (name) {\n return [ 'lang', 'dir' ].includes(name) === false\n}\n\nfunction diff (meta, other) {\n const add = {}, remove = {}\n\n if (meta === void 0) {\n return { add: other, remove }\n }\n\n if (meta.title !== other.title) {\n add.title = other.title\n }\n\n ;[ 'meta', 'link', 'script', 'htmlAttr', 'bodyAttr' ].forEach(type => {\n const old = meta[ type ], cur = other[ type ]\n remove[ type ] = []\n\n if (old === void 0 || old === null) {\n add[ type ] = cur\n return\n }\n\n add[ type ] = {}\n\n for (const key in old) {\n if (cur.hasOwnProperty(key) === false) {\n remove[ type ].push(key)\n }\n }\n for (const key in cur) {\n if (old.hasOwnProperty(key) === false) {\n add[ type ][ key ] = cur[ key ]\n }\n else if (changed(old[ key ], cur[ key ]) === true) {\n remove[ type ].push(key)\n add[ type ][ key ] = cur[ key ]\n }\n }\n })\n\n return { add, remove }\n}\n\nfunction apply ({ add, remove }) {\n if (add.title) {\n document.title = add.title\n }\n\n if (Object.keys(remove).length > 0) {\n [ 'meta', 'link', 'script' ].forEach(type => {\n remove[ type ].forEach(name => {\n document.head.querySelector(`${ type }[data-qmeta=\"${ name }\"]`).remove()\n })\n })\n remove.htmlAttr.filter(htmlFilter).forEach(name => {\n document.documentElement.removeAttribute(name)\n })\n remove.bodyAttr.filter(bodyFilter).forEach(name => {\n document.body.removeAttribute(name)\n })\n }\n\n ;[ 'meta', 'link', 'script' ].forEach(type => {\n const metaType = add[ type ]\n\n for (const name in metaType) {\n const tag = document.createElement(type)\n for (const att in metaType[ name ]) {\n if (att !== 'innerHTML') {\n tag.setAttribute(att, metaType[ name ][ att ])\n }\n }\n tag.setAttribute('data-qmeta', name)\n if (type === 'script') {\n tag.innerHTML = metaType[ name ].innerHTML || ''\n }\n document.head.appendChild(tag)\n }\n })\n Object.keys(add.htmlAttr).filter(htmlFilter).forEach(name => {\n document.documentElement.setAttribute(name, add.htmlAttr[ name ] || '')\n })\n Object.keys(add.bodyAttr).filter(bodyFilter).forEach(name => {\n document.body.setAttribute(name, add.bodyAttr[ name ] || '')\n })\n}\n\nfunction getAttr (seed) {\n return att => {\n const val = seed[ att ]\n return att + (val !== true && val !== void 0 ? `=\"${ val }\"` : '')\n }\n}\n\nfunction getHead (meta) {\n let output = ''\n if (meta.title) {\n output += `${ meta.title }`\n }\n ;[ 'meta', 'link', 'script' ].forEach(type => {\n const metaType = meta[ type ]\n\n for (const att in metaType) {\n const attrs = Object.keys(metaType[ att ])\n .filter(att => att !== 'innerHTML')\n .map(getAttr(metaType[ att ]))\n\n output += `<${ type } ${ attrs.join(' ') } data-qmeta=\"${ att }\">`\n if (type === 'script') {\n output += (metaType[ att ].innerHTML || '') + ''\n }\n }\n })\n return output\n}\n\nfunction injectServerMeta (ssrContext) {\n const data = {\n title: '',\n titleTemplate: null,\n meta: {},\n link: {},\n htmlAttr: {},\n bodyAttr: {},\n noscript: {}\n }\n\n const list = ssrContext.__qMetaList\n\n for (let i = 0; i < list.length; i++) {\n extend(true, data, list[ i ])\n }\n\n normalize(data)\n\n const nonce = ssrContext.nonce !== void 0\n ? ` nonce=\"${ ssrContext.nonce }\"`\n : ''\n\n const ctx = ssrContext._meta\n\n const htmlAttr = Object.keys(data.htmlAttr).filter(htmlFilter)\n\n if (htmlAttr.length > 0) {\n ctx.htmlAttrs += (\n (ctx.htmlAttrs.length > 0 ? ' ' : '')\n + htmlAttr.map(getAttr(data.htmlAttr)).join(' ')\n )\n }\n\n ctx.headTags += getHead(data)\n\n const bodyAttr = Object.keys(data.bodyAttr).filter(bodyFilter)\n\n if (bodyAttr.length > 0) {\n ctx.bodyAttrs += (\n (ctx.bodyAttrs.length > 0 ? ' ' : '')\n + bodyAttr.map(getAttr(data.bodyAttr)).join(' ')\n )\n }\n\n ctx.bodyTags += Object.keys(data.noscript)\n .map(name => ``)\n .join('')\n + ``\n}\n\nfunction updateClientMeta () {\n const data = {\n title: '',\n titleTemplate: null,\n meta: {},\n link: {},\n script: {},\n htmlAttr: {},\n bodyAttr: {}\n }\n\n for (let i = 0; i < clientList.length; i++) {\n const { active, val } = clientList[ i ]\n\n if (active === true) {\n extend(true, data, val)\n }\n }\n\n normalize(data)\n\n apply(diff(currentClientMeta, data))\n currentClientMeta = data\n}\n\nexport function planClientUpdate () {\n clearTimeout(updateId)\n updateId = setTimeout(updateClientMeta, 50)\n}\n\nexport default {\n install (opts) {\n if (__QUASAR_SSR_SERVER__) {\n const { ssrContext } = opts\n\n ssrContext.__qMetaList = []\n ssrContext.onRendered(() => {\n injectServerMeta(ssrContext)\n })\n }\n else if (this.__installed !== true && isRuntimeSsrPreHydration.value === true) {\n currentClientMeta = window.__Q_META__\n document.getElementById('qmeta-init').remove()\n }\n }\n}\n","import { useSizeProps } from '../../composables/private/use-size.js'\n\n// also used by QKnob\nexport const useCircularCommonProps = {\n ...useSizeProps,\n\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n\n color: String,\n centerColor: String,\n trackColor: String,\n\n fontSize: String,\n\n // ratio\n thickness: {\n type: Number,\n default: 0.2,\n validator: v => v >= 0 && v <= 1\n },\n\n angle: {\n type: Number,\n default: 0\n },\n\n showValue: Boolean,\n reverse: Boolean,\n\n instantFeedback: Boolean\n}\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useSize from '../../composables/private/use-size.js'\nimport { useCircularCommonProps } from './use-circular-progress.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlotSafely } from '../../utils/private/render.js'\nimport { between } from '../../utils/format.js'\n\nconst\n radius = 50,\n diameter = 2 * radius,\n circumference = diameter * Math.PI,\n strokeDashArray = Math.round(circumference * 1000) / 1000\n\nexport default createComponent({\n name: 'QCircularProgress',\n\n props: {\n ...useCircularCommonProps,\n\n value: {\n type: Number,\n default: 0\n },\n\n animationSpeed: {\n type: [ String, Number ],\n default: 600\n },\n\n indeterminate: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n const sizeStyle = useSize(props)\n\n const svgStyle = computed(() => {\n const angle = ($q.lang.rtl === true ? -1 : 1) * props.angle\n\n return {\n transform: props.reverse !== ($q.lang.rtl === true)\n ? `scale3d(-1, 1, 1) rotate3d(0, 0, 1, ${ -90 - angle }deg)`\n : `rotate3d(0, 0, 1, ${ angle - 90 }deg)`\n }\n })\n\n const circleStyle = computed(() => (\n props.instantFeedback !== true && props.indeterminate !== true\n ? { transition: `stroke-dashoffset ${ props.animationSpeed }ms ease 0s, stroke ${ props.animationSpeed }ms ease` }\n : ''\n ))\n\n const viewBox = computed(() => diameter / (1 - props.thickness / 2))\n\n const viewBoxAttr = computed(() =>\n `${ viewBox.value / 2 } ${ viewBox.value / 2 } ${ viewBox.value } ${ viewBox.value }`\n )\n\n const normalized = computed(() => between(props.value, props.min, props.max))\n\n const strokeDashOffset = computed(() => circumference * (\n 1 - (normalized.value - props.min) / (props.max - props.min)\n ))\n\n const strokeWidth = computed(() => props.thickness / 2 * viewBox.value)\n\n function getCircle ({ thickness, offset, color, cls }) {\n return h('circle', {\n class: 'q-circular-progress__' + cls + (color !== void 0 ? ` text-${ color }` : ''),\n style: circleStyle.value,\n fill: 'transparent',\n stroke: 'currentColor',\n 'stroke-width': thickness,\n 'stroke-dasharray': strokeDashArray,\n 'stroke-dashoffset': offset,\n cx: viewBox.value,\n cy: viewBox.value,\n r: radius\n })\n }\n\n return () => {\n const svgChild = []\n\n props.centerColor !== void 0 && props.centerColor !== 'transparent' && svgChild.push(\n h('circle', {\n class: `q-circular-progress__center text-${ props.centerColor }`,\n fill: 'currentColor',\n r: radius - strokeWidth.value / 2,\n cx: viewBox.value,\n cy: viewBox.value\n })\n )\n\n props.trackColor !== void 0 && props.trackColor !== 'transparent' && svgChild.push(\n getCircle({\n cls: 'track',\n thickness: strokeWidth.value,\n offset: 0,\n color: props.trackColor\n })\n )\n\n svgChild.push(\n getCircle({\n cls: 'circle',\n thickness: strokeWidth.value,\n offset: strokeDashOffset.value,\n color: props.color\n })\n )\n\n const child = [\n h('svg', {\n class: 'q-circular-progress__svg',\n style: svgStyle.value,\n viewBox: viewBoxAttr.value,\n 'aria-hidden': 'true'\n }, svgChild)\n ]\n\n props.showValue === true && child.push(\n h('div', {\n class: 'q-circular-progress__text absolute-full row flex-center content-center',\n style: { fontSize: props.fontSize }\n }, slots.default !== void 0 ? slots.default() : [ h('div', normalized.value) ])\n )\n\n return h('div', {\n class: `q-circular-progress q-circular-progress--${ props.indeterminate === true ? 'in' : '' }determinate`,\n style: sizeStyle.value,\n role: 'progressbar',\n 'aria-valuemin': props.min,\n 'aria-valuemax': props.max,\n 'aria-valuenow': props.indeterminate === true ? void 0 : normalized.value\n }, hMergeSlotSafely(slots.internal, child)) // \"internal\" is used by QKnob\n }\n }\n})\n","import { h, ref, computed, getCurrentInstance } from 'vue'\n\nimport { stop, stopAndPrevent } from '../../utils/event.js'\n\nfunction filterFiles (files, rejectedFiles, failedPropValidation, filterFn) {\n const acceptedFiles = []\n\n files.forEach(file => {\n if (filterFn(file) === true) {\n acceptedFiles.push(file)\n }\n else {\n rejectedFiles.push({ failedPropValidation, file })\n }\n })\n\n return acceptedFiles\n}\n\nfunction stopAndPreventDrag (e) {\n e && e.dataTransfer && (e.dataTransfer.dropEffect = 'copy')\n stopAndPrevent(e)\n}\n\nexport const useFileProps = {\n multiple: Boolean,\n accept: String,\n capture: String,\n maxFileSize: [ Number, String ],\n maxTotalSize: [ Number, String ],\n maxFiles: [ Number, String ],\n filter: Function\n}\n\nexport const useFileEmits = [ 'rejected' ]\n\nexport default function ({\n editable,\n dnd,\n getFileInput,\n addFilesToQueue\n}) {\n const { props, emit, proxy } = getCurrentInstance()\n\n const dndRef = ref(null)\n\n const extensions = computed(() => (\n props.accept !== void 0\n ? props.accept.split(',').map(ext => {\n ext = ext.trim()\n if (ext === '*') { // support \"*\"\n return '*/'\n }\n else if (ext.endsWith('/*')) { // support \"image/*\" or \"*/*\"\n ext = ext.slice(0, ext.length - 1)\n }\n return ext.toUpperCase()\n })\n : null\n ))\n\n const maxFilesNumber = computed(() => parseInt(props.maxFiles, 10))\n const maxTotalSizeNumber = computed(() => parseInt(props.maxTotalSize, 10))\n\n function pickFiles (e) {\n if (editable.value) {\n if (e !== Object(e)) {\n e = { target: null }\n }\n\n if (e.target !== null && e.target.matches('input[type=\"file\"]') === true) {\n // stop propagation if it's not a real pointer event\n e.clientX === 0 && e.clientY === 0 && stop(e)\n }\n else {\n const input = getFileInput()\n input && input !== e.target && input.click(e)\n }\n }\n }\n\n function addFiles (files) {\n if (editable.value && files) {\n addFilesToQueue(null, files)\n }\n }\n\n function processFiles (e, filesToProcess, currentFileList, append) {\n let files = Array.from(filesToProcess || e.target.files)\n const rejectedFiles = []\n\n const done = () => {\n if (rejectedFiles.length > 0) {\n emit('rejected', rejectedFiles)\n }\n }\n\n // filter file types\n if (props.accept !== void 0 && extensions.value.indexOf('*/') === -1) {\n files = filterFiles(files, rejectedFiles, 'accept', file => {\n return extensions.value.some(ext => (\n file.type.toUpperCase().startsWith(ext)\n || file.name.toUpperCase().endsWith(ext)\n ))\n })\n\n if (files.length === 0) { return done() }\n }\n\n // filter max file size\n if (props.maxFileSize !== void 0) {\n const maxFileSize = parseInt(props.maxFileSize, 10)\n files = filterFiles(files, rejectedFiles, 'max-file-size', file => {\n return file.size <= maxFileSize\n })\n\n if (files.length === 0) { return done() }\n }\n\n // Cordova/iOS allows selecting multiple files even when the\n // multiple attribute is not specified. We also normalize drag'n'dropped\n // files here:\n if (props.multiple !== true && files.length > 0) {\n files = [ files[ 0 ] ]\n }\n\n // Compute key to use for each file\n files.forEach(file => {\n file.__key = file.webkitRelativePath + file.lastModified + file.name + file.size\n })\n\n // Avoid duplicate files\n const filenameMap = currentFileList.map(entry => entry.__key)\n files = filterFiles(files, rejectedFiles, 'duplicate', file => {\n return filenameMap.includes(file.__key) === false\n })\n\n if (files.length === 0) { return done() }\n\n if (props.maxTotalSize !== void 0) {\n let size = append === true\n ? currentFileList.reduce((total, file) => total + file.size, 0)\n : 0\n\n files = filterFiles(files, rejectedFiles, 'max-total-size', file => {\n size += file.size\n return size <= maxTotalSizeNumber.value\n })\n\n if (files.length === 0) { return done() }\n }\n\n // do we have custom filter function?\n if (typeof props.filter === 'function') {\n const filteredFiles = props.filter(files)\n files = filterFiles(files, rejectedFiles, 'filter', file => {\n return filteredFiles.includes(file)\n })\n }\n\n if (props.maxFiles !== void 0) {\n let filesNumber = append === true\n ? currentFileList.length\n : 0\n\n files = filterFiles(files, rejectedFiles, 'max-files', () => {\n filesNumber++\n return filesNumber <= maxFilesNumber.value\n })\n\n if (files.length === 0) { return done() }\n }\n\n done()\n\n if (files.length > 0) {\n return files\n }\n }\n\n function onDragover (e) {\n stopAndPreventDrag(e)\n dnd.value !== true && (dnd.value = true)\n }\n\n function onDragleave (e) {\n stopAndPrevent(e)\n e.relatedTarget !== dndRef.value && (dnd.value = false)\n }\n\n function onDrop (e) {\n stopAndPreventDrag(e)\n const files = e.dataTransfer.files\n\n if (files.length > 0) {\n addFilesToQueue(null, files)\n }\n\n dnd.value = false\n }\n\n function getDndNode (type) {\n if (dnd.value === true) {\n return h('div', {\n ref: dndRef,\n class: `q-${ type }__dnd absolute-full`,\n onDragenter: stopAndPreventDrag,\n onDragover: stopAndPreventDrag,\n onDragleave,\n onDrop\n })\n }\n }\n\n // expose public methods\n Object.assign(proxy, { pickFiles, addFiles })\n\n return {\n pickFiles,\n addFiles,\n onDragover,\n processFiles,\n getDndNode,\n maxFilesNumber,\n maxTotalSizeNumber\n }\n}\n","import { h, ref, isRef, computed, watch, provide, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport QIcon from '../icon/QIcon.js'\nimport QSpinner from '../spinner/QSpinner.js'\nimport QCircularProgress from '../circular-progress/QCircularProgress.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useFile, { useFileProps, useFileEmits } from '../../composables/private/use-file.js'\n\nimport { stop } from '../../utils/event.js'\nimport { humanStorageSize } from '../../utils/format.js'\nimport { uploaderKey } from '../../utils/private/symbols.js'\n\nfunction getProgressLabel (p) {\n return (p * 100).toFixed(2) + '%'\n}\n\nexport const coreProps = {\n ...useDarkProps,\n ...useFileProps,\n\n label: String,\n\n color: String,\n textColor: String,\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean,\n\n noThumbnails: Boolean,\n autoUpload: Boolean,\n hideUploadBtn: Boolean,\n\n disable: Boolean,\n readonly: Boolean\n}\n\nexport const coreEmits = [\n ...useFileEmits,\n 'start', 'finish', 'added', 'removed'\n]\n\nexport function getRenderer (getPlugin) {\n const vm = getCurrentInstance()\n const { props, slots, emit, proxy } = vm\n const { $q } = proxy\n\n const isDark = useDark(props, $q)\n\n function updateFileStatus (file, status, uploadedSize) {\n file.__status = status\n\n if (status === 'idle') {\n file.__uploaded = 0\n file.__progress = 0\n file.__sizeLabel = humanStorageSize(file.size)\n file.__progressLabel = '0.00%'\n return\n }\n if (status === 'failed') {\n proxy.$forceUpdate()\n return\n }\n\n file.__uploaded = status === 'uploaded'\n ? file.size\n : uploadedSize\n\n file.__progress = status === 'uploaded'\n ? 1\n : Math.min(0.9999, file.__uploaded / file.size)\n\n file.__progressLabel = getProgressLabel(file.__progress)\n proxy.$forceUpdate()\n }\n\n const state = {\n files: ref([]),\n queuedFiles: ref([]),\n uploadedFiles: ref([]),\n uploadedSize: ref(0),\n\n updateFileStatus,\n isAlive () {\n return vm.isDeactivated !== true && vm.isUnmounted !== true\n }\n }\n\n Object.assign(state, getPlugin({ props, slots, emit, helpers: state }))\n\n const uploadSize = ref(0)\n const editable = computed(() => props.disable !== true && props.readonly !== true)\n\n if (state.isBusy === void 0) {\n state.isBusy = ref(false)\n }\n\n const dnd = ref(false)\n\n const rootRef = ref(null)\n const inputRef = ref(null)\n\n provide(uploaderKey, renderInput)\n\n const {\n pickFiles,\n addFiles,\n onDragover,\n onDragleave,\n processFiles,\n getDndNode,\n maxFilesNumber,\n maxTotalSizeNumber\n } = useFile({ editable, dnd, getFileInput, addFilesToQueue })\n\n const canAddFiles = computed(() =>\n editable.value === true\n && state.isUploading.value !== true\n // if single selection and no files are queued:\n && (props.multiple === true || state.queuedFiles.value.length === 0)\n // if max-files is set and current number of files does not exceeds it:\n && (props.maxFiles === void 0 || state.files.value.length < maxFilesNumber.value)\n // if max-total-size is set and current upload size does not exceeds it:\n && (props.maxTotalSize === void 0 || uploadSize.value < maxTotalSizeNumber.value)\n )\n\n const canUpload = computed(() =>\n editable.value === true\n && state.isBusy.value !== true\n && state.isUploading.value !== true\n && state.queuedFiles.value.length > 0\n )\n\n const uploadProgress = computed(() => (\n uploadSize.value === 0\n ? 0\n : state.uploadedSize.value / uploadSize.value\n ))\n\n const uploadProgressLabel = computed(() => getProgressLabel(uploadProgress.value))\n const uploadSizeLabel = computed(() => humanStorageSize(uploadSize.value))\n\n const classes = computed(() =>\n 'q-uploader column no-wrap'\n + (isDark.value === true ? ' q-uploader--dark q-dark' : '')\n + (props.bordered === true ? ' q-uploader--bordered' : '')\n + (props.square === true ? ' q-uploader--square no-border-radius' : '')\n + (props.flat === true ? ' q-uploader--flat no-shadow' : '')\n + (props.disable === true ? ' disabled q-uploader--disable' : '')\n + (dnd.value === true ? ' q-uploader--dnd' : '')\n )\n\n const colorClass = computed(() =>\n 'q-uploader__header'\n + (props.color !== void 0 ? ` bg-${ props.color }` : '')\n + (props.textColor !== void 0 ? ` text-${ props.textColor }` : '')\n )\n\n watch(state.isUploading, (newVal, oldVal) => {\n if (oldVal === false && newVal === true) {\n emit('start')\n }\n else if (oldVal === true && newVal === false) {\n emit('finish')\n }\n })\n\n function reset () {\n if (props.disable === false) {\n state.abort()\n state.uploadedSize.value = 0\n uploadSize.value = 0\n revokeImgURLs()\n state.files.value = []\n state.queuedFiles.value = []\n state.uploadedFiles.value = []\n }\n }\n\n function removeUploadedFiles () {\n if (props.disable === false) {\n batchRemoveFiles([ 'uploaded' ], () => {\n state.uploadedFiles.value = []\n })\n }\n }\n\n function removeQueuedFiles () {\n batchRemoveFiles([ 'idle', 'failed' ], ({ size }) => {\n uploadSize.value -= size\n state.queuedFiles.value = []\n })\n }\n\n function batchRemoveFiles (statusList, cb) {\n if (props.disable === true) {\n return\n }\n\n const removed = {\n files: [],\n size: 0\n }\n\n const localFiles = state.files.value.filter(f => {\n if (statusList.indexOf(f.__status) === -1) {\n return true\n }\n\n removed.size += f.size\n removed.files.push(f)\n\n f.__img !== void 0 && window.URL.revokeObjectURL(f.__img.src)\n\n return false\n })\n\n if (removed.files.length > 0) {\n state.files.value = localFiles\n cb(removed)\n emit('removed', removed.files)\n }\n }\n\n function removeFile (file) {\n if (props.disable) { return }\n\n if (file.__status === 'uploaded') {\n state.uploadedFiles.value = state.uploadedFiles.value.filter(f => f.__key !== file.__key)\n }\n else if (file.__status === 'uploading') {\n file.__abort()\n }\n else {\n uploadSize.value -= file.size\n }\n\n state.files.value = state.files.value.filter(f => {\n if (f.__key !== file.__key) {\n return true\n }\n\n f.__img !== void 0 && window.URL.revokeObjectURL(f.__img.src)\n\n return false\n })\n\n state.queuedFiles.value = state.queuedFiles.value.filter(f => f.__key !== file.__key)\n emit('removed', [ file ])\n }\n\n function revokeImgURLs () {\n state.files.value.forEach(f => {\n f.__img !== void 0 && window.URL.revokeObjectURL(f.__img.src)\n })\n }\n\n function getFileInput () {\n return inputRef.value\n || rootRef.value.getElementsByClassName('q-uploader__input')[ 0 ]\n }\n\n function addFilesToQueue (e, fileList) {\n const localFiles = processFiles(e, fileList, state.files.value, true)\n const fileInput = getFileInput()\n\n if (fileInput !== void 0 && fileInput !== null) {\n fileInput.value = ''\n }\n\n if (localFiles === void 0) { return }\n\n localFiles.forEach(file => {\n state.updateFileStatus(file, 'idle')\n uploadSize.value += file.size\n\n if (props.noThumbnails !== true && file.type.toUpperCase().startsWith('IMAGE')) {\n const img = new Image()\n img.src = window.URL.createObjectURL(file)\n file.__img = img\n }\n })\n\n state.files.value = state.files.value.concat(localFiles)\n state.queuedFiles.value = state.queuedFiles.value.concat(localFiles)\n emit('added', localFiles)\n props.autoUpload === true && state.upload()\n }\n\n function upload () {\n canUpload.value === true && state.upload()\n }\n\n function getBtn (show, icon, fn) {\n if (show === true) {\n const data = {\n type: 'a',\n key: icon,\n icon: $q.iconSet.uploader[ icon ],\n flat: true,\n dense: true\n }\n\n let child = void 0\n\n if (icon === 'add') {\n data.onClick = pickFiles\n child = renderInput\n }\n else {\n data.onClick = fn\n }\n\n return h(QBtn, data, child)\n }\n }\n\n function renderInput () {\n return h('input', {\n ref: inputRef,\n class: 'q-uploader__input overflow-hidden absolute-full',\n tabindex: -1,\n type: 'file',\n title: '', // try to remove default tooltip\n accept: props.accept,\n multiple: props.multiple === true ? 'multiple' : void 0,\n capture: props.capture,\n onMousedown: stop, // need to stop refocus from QBtn\n onClick: pickFiles,\n onChange: addFilesToQueue\n })\n }\n\n function getHeader () {\n if (slots.header !== void 0) {\n return slots.header(slotScope.value)\n }\n\n return [\n h('div', {\n class: 'q-uploader__header-content column'\n }, [\n h('div', {\n class: 'flex flex-center no-wrap q-gutter-xs'\n }, [\n getBtn(state.queuedFiles.value.length > 0, 'removeQueue', removeQueuedFiles),\n getBtn(state.uploadedFiles.value.length > 0, 'removeUploaded', removeUploadedFiles),\n\n state.isUploading.value === true\n ? h(QSpinner, { class: 'q-uploader__spinner' })\n : null,\n\n h('div', { class: 'col column justify-center' }, [\n props.label !== void 0\n ? h('div', { class: 'q-uploader__title' }, [ props.label ])\n : null,\n\n h('div', { class: 'q-uploader__subtitle' }, [\n uploadSizeLabel.value + ' / ' + uploadProgressLabel.value\n ])\n ]),\n\n getBtn(canAddFiles.value, 'add'),\n getBtn(props.hideUploadBtn === false && canUpload.value === true, 'upload', state.upload),\n getBtn(state.isUploading.value, 'clear', state.abort)\n ])\n ])\n ]\n }\n\n function getList () {\n if (slots.list !== void 0) {\n return slots.list(slotScope.value)\n }\n\n return state.files.value.map(file => h('div', {\n key: file.__key,\n class: 'q-uploader__file relative-position'\n + (props.noThumbnails !== true && file.__img !== void 0 ? ' q-uploader__file--img' : '')\n + (\n file.__status === 'failed'\n ? ' q-uploader__file--failed'\n : (file.__status === 'uploaded' ? ' q-uploader__file--uploaded' : '')\n ),\n style: props.noThumbnails !== true && file.__img !== void 0\n ? { backgroundImage: 'url(\"' + file.__img.src + '\")' }\n : null\n }, [\n h('div', {\n class: 'q-uploader__file-header row flex-center no-wrap'\n }, [\n file.__status === 'failed'\n ? h(QIcon, {\n class: 'q-uploader__file-status',\n name: $q.iconSet.type.negative,\n color: 'negative'\n })\n : null,\n\n h('div', { class: 'q-uploader__file-header-content col' }, [\n h('div', { class: 'q-uploader__title' }, [ file.name ]),\n h('div', {\n class: 'q-uploader__subtitle row items-center no-wrap'\n }, [\n file.__sizeLabel + ' / ' + file.__progressLabel\n ])\n ]),\n\n file.__status === 'uploading'\n ? h(QCircularProgress, {\n value: file.__progress,\n min: 0,\n max: 1,\n indeterminate: file.__progress === 0\n })\n : h(QBtn, {\n round: true,\n dense: true,\n flat: true,\n icon: $q.iconSet.uploader[ file.__status === 'uploaded' ? 'done' : 'clear' ],\n onClick: () => { removeFile(file) }\n })\n ])\n ]))\n }\n\n onBeforeUnmount(() => {\n state.isUploading.value === true && state.abort()\n state.files.value.length > 0 && revokeImgURLs()\n })\n\n const publicMethods = {\n pickFiles,\n addFiles,\n reset,\n removeUploadedFiles,\n removeQueuedFiles,\n removeFile,\n upload,\n abort: state.abort\n }\n\n // TODO: the result of this computed, especially the dynamic part, isn't currently typed\n // This result in an error with Volar when accessing the state (eg. files array)\n const slotScope = computed(() => {\n const acc = {\n canAddFiles: canAddFiles.value,\n canUpload: canUpload.value,\n uploadSizeLabel: uploadSizeLabel.value,\n uploadProgressLabel: uploadProgressLabel.value\n }\n\n for (const key in state) {\n acc[ key ] = isRef(state[ key ]) === true\n ? state[ key ].value\n : state[ key ]\n }\n\n // TODO: (Qv3) Put the QUploader instance under `ref`\n // property for consistency and flexibility\n // return { ref: { ...acc, ...publicMethods } }\n return { ...acc, ...publicMethods }\n })\n\n // expose public methods\n Object.assign(proxy, publicMethods)\n\n return () => {\n const children = [\n h('div', { class: colorClass.value }, getHeader()),\n h('div', { class: 'q-uploader__list scroll' }, getList()),\n getDndNode('uploader')\n ]\n\n state.isBusy.value === true && children.push(\n h('div', {\n class: 'q-uploader__overlay absolute-full flex flex-center'\n }, [ h(QSpinner) ])\n )\n\n const data = { ref: rootRef, class: classes.value }\n\n if (canAddFiles.value === true) {\n Object.assign(data, { onDragover, onDragleave })\n }\n\n return h('div', data, children)\n }\n}\n","import { coreProps, coreEmits, getRenderer } from '../components/uploader/uploader-core.js'\n\nimport { createComponent } from './private/create.js'\nimport getEmitsObject from './private/get-emits-object.js'\nimport { isObject } from './private/is.js'\n\nconst coreEmitsObject = getEmitsObject(coreEmits)\n\nexport default ({ name, props, emits, injectPlugin }) => createComponent({\n name,\n\n props: {\n ...coreProps,\n ...props\n },\n\n emits: isObject(emits) === true\n ? { ...coreEmitsObject, ...emits }\n : [ ...coreEmits, ...emits ],\n\n setup () {\n return getRenderer(injectPlugin)\n }\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 { 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.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 if (innerLoading.value !== true && props.lazyRules !== true) {\n isDirtyModel.value = true\n }\n\n const update = (err, msg) => {\n if (innerError.value !== err) {\n innerError.value = err\n }\n\n const m = msg || void 0\n\n if (innerErrorMessage.value !== m) {\n innerErrorMessage.value = m\n }\n\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)\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', 'popup-show', 'popup-hide' ]\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\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 clearTimeout(focusoutTimer)\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 clearTimeout(focusoutTimer)\n focusoutTimer = setTimeout(() => {\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 }, [\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 // expose public methods\n Object.assign(proxy, { focus, blur })\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 clearTimeout(focusoutTimer)\n })\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 'before-show', 'show', 'before-hide', '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('before-show', 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('before-hide', 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 { portalList } from '../../utils/private/portal.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, checkGlobalDialog) {\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 = checkGlobalDialog === true && 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()\n }\n\n portalIsActive.value = true\n\n // register portal\n portalList.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 = portalList.indexOf(vm.proxy)\n if (index > -1) {\n portalList.splice(index, 1)\n }\n\n if (portalEl !== null) {\n removeGlobalNode(portalEl)\n portalEl = null\n }\n }\n\n onUnmounted(() => { hidePortal(true) })\n\n // expose publicly needed stuff for portal utils\n Object.assign(vm.proxy, { __qPortalInnerRef: innerRef })\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 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 { prevent } from '../../utils/event.js'\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) {\n const vm = getCurrentInstance()\n const { props, proxy } = vm\n\n const hasRouter = vmHasRouter(vm)\n const hasHrefLink = computed(() => props.disable !== true && props.href !== void 0)\n\n const hasRouterLinkProps = computed(() =>\n hasRouter === true\n && props.disable !== true\n && hasHrefLink.value !== true\n && props.to !== void 0 && props.to !== null && props.to !== ''\n )\n\n const linkRoute = computed(() => {\n if (hasRouterLinkProps.value === true) {\n try { return proxy.$router.resolve(props.to) }\n catch (err) {}\n }\n\n return null\n })\n\n const hasRouterLink = computed(() => linkRoute.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 linkProps = computed(() => (\n hasHrefLink.value === true\n ? {\n href: props.href,\n target: props.target\n }\n : (\n hasRouterLink.value === true\n ? {\n href: linkRoute.value.href,\n target: props.target\n }\n : {}\n )\n ))\n\n const linkActiveIndex = computed(() => {\n if (hasRouterLink.value === false) {\n return null\n }\n\n const\n { matched } = linkRoute.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, linkRoute.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, linkRoute.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 // should match RouterLink from Vue Router\n function navigateToRouterLink (e) {\n if (\n // component is not disabled\n props.disable === true\n\n // don't redirect with control keys\n || e.metaKey || e.altKey || e.ctrlKey || e.shiftKey\n\n // don't redirect when preventDefault called\n // ...unless calling go() from @click(e, go)\n || (e.__qNavigate !== true && e.defaultPrevented === true)\n\n // don't redirect on right click\n || (e.button !== undefined && e.button !== 0)\n\n // don't redirect if it should open in a new window\n || props.target === '_blank'\n ) {\n return false\n }\n\n prevent(e)\n\n return proxy.$router[ props.replace === true ? 'replace' : 'push' ](props.to)\n .catch(err => err)\n }\n\n return {\n hasRouterLink,\n hasHrefLink,\n hasLink,\n\n linkTag,\n linkRoute,\n linkIsActive,\n linkIsExactActive,\n linkClass,\n linkProps,\n\n navigateToRouterLink\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, onBeforeUnmount } from 'vue'\n\n/*\n * Usage:\n * registerTick(fn)\n * registerTick(fn)\n */\n\nexport default function () {\n let tickFn\n\n onBeforeUnmount(() => {\n tickFn = void 0\n })\n\n return {\n registerTick (fn) {\n tickFn = fn\n\n nextTick(() => {\n if (tickFn === fn) {\n tickFn()\n tickFn = void 0\n }\n })\n },\n\n removeTick () {\n tickFn = void 0\n }\n }\n}\n","import { onBeforeUnmount } from 'vue'\n\nexport default function () {\n let timer\n\n onBeforeUnmount(() => {\n clearTimeout(timer)\n })\n\n return {\n registerTimeout (fn, delay) {\n clearTimeout(timer)\n timer = setTimeout(fn, delay)\n },\n\n removeTimeout () {\n clearTimeout(timer)\n }\n }\n}\n","import { ref, computed, watch, nextTick } 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, showing) {\n const transitionState = ref(showing.value)\n\n watch(showing, val => {\n nextTick(() => { transitionState.value = val })\n })\n\n // return transition\n return {\n transition: computed(() => 'q-transition--' + (\n transitionState.value === true ? props.transitionHide : props.transitionShow\n )),\n\n transitionStyle: computed(() => `--q-transition-duration: ${ props.transitionDuration }ms`)\n }\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'\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 classes = document.body.className\n let newCls = classes\n\n if (iosCorrection !== void 0) {\n newCls = newCls.replace('desktop', 'platform-ios mobile')\n }\n\n if (client.has.touch === true) {\n newCls = newCls.replace('no-touch', 'touch')\n }\n\n if (client.within.iframe === true) {\n newCls += ' within-iframe'\n }\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/private/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 },\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 const dir = lang.rtl === true ? 'rtl' : 'ltr'\n const attrs = `lang=${ lang.isoName } dir=${ dir }`\n\n lang.set = ssrContext.$q.lang.set\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 ssrContext.$q.lang = lang\n }\n else {\n const el = document.documentElement\n el.setAttribute('dir', lang.rtl === true ? 'rtl' : 'ltr')\n el.setAttribute('lang', lang.isoName)\n\n lang.set = Plugin.set\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\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","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/private/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 modelValue: model.value,\n ...formProps.value,\n color: vmColor.value,\n dense: true,\n autofocus: true,\n dark: isDark.value,\n 'onUpdate:modelValue': onUpdateModel,\n onKeyup: onInputKeyup\n })\n ]\n }\n\n function getOptions () {\n return [\n h(QOptionGroup, {\n modelValue: model.value,\n ...formProps.value,\n color: vmColor.value,\n options: props.options.items,\n dark: isDark.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()\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, createApp, Transition, onMounted } from 'vue'\n\nimport QSpinner from '../components/spinner/QSpinner.js'\n\nimport defineReactivePlugin from '../utils/private/define-reactive-plugin.js'\nimport { createGlobalNode, removeGlobalNode } from '../utils/private/global-nodes.js'\nimport preventScroll from '../utils/prevent-scroll.js'\nimport { isObject } from '../utils/private/is.js'\n\nlet\n app,\n vm,\n uid = 0,\n timeout,\n props = {}\n\nconst originalDefaults = {\n delay: 0,\n message: false,\n html: false,\n spinnerSize: 80,\n spinnerColor: '',\n messageColor: '',\n backgroundColor: '',\n boxClass: '',\n spinner: QSpinner,\n customClass: ''\n}\n\nconst defaults = { ...originalDefaults }\n\nconst Plugin = defineReactivePlugin({\n isActive: false\n}, {\n show (opts) {\n if (__QUASAR_SSR_SERVER__) { return }\n\n props = isObject(opts) === true && opts.ignoreDefaults === true\n ? { ...originalDefaults, ...opts }\n : { ...defaults, ...opts }\n\n Plugin.isActive = true\n\n if (app !== void 0) {\n props.uid = uid\n vm.$forceUpdate()\n return\n }\n\n props.uid = ++uid\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n timeout = void 0\n\n const el = createGlobalNode('q-loading')\n\n app = createApp({\n name: 'QLoading',\n\n setup () {\n onMounted(() => {\n preventScroll(true)\n })\n\n function onAfterLeave () {\n // might be called to finalize\n // previous leave, even if it was cancelled\n if (Plugin.isActive !== true && app !== void 0) {\n preventScroll(false)\n app.unmount(el)\n removeGlobalNode(el)\n app = void 0\n vm = void 0\n }\n }\n\n function getContent () {\n if (Plugin.isActive !== true) {\n return null\n }\n\n const content = [\n h(props.spinner, {\n class: 'q-loading__spinner',\n color: props.spinnerColor,\n size: props.spinnerSize\n })\n ]\n\n props.message && content.push(\n h('div', {\n class: 'q-loading__message'\n + (props.messageColor ? ` text-${ props.messageColor }` : ''),\n [ props.html === true ? 'innerHTML' : 'textContent' ]: props.message\n })\n )\n\n return h('div', {\n class: 'q-loading fullscreen flex flex-center z-max ' + props.customClass.trim(),\n key: props.uid\n }, [\n h('div', {\n class: 'q-loading__backdrop'\n + (props.backgroundColor ? ` bg-${ props.backgroundColor }` : '')\n }),\n\n h('div', {\n class: 'q-loading__box column items-center ' + props.boxClass\n }, content)\n ])\n }\n\n return () => h(Transition, {\n name: 'q-transition--fade',\n appear: true,\n onAfterLeave\n }, getContent)\n }\n })\n\n vm = app.mount(el)\n }, props.delay)\n },\n\n hide () {\n if (__QUASAR_SSR_SERVER__ !== true && Plugin.isActive === true) {\n if (timeout !== void 0) {\n clearTimeout(timeout)\n timeout = void 0\n }\n\n Plugin.isActive = false\n }\n },\n\n setDefaults (opts) {\n if (__QUASAR_SSR_SERVER__ !== true) {\n isObject(opts) === true && Object.assign(defaults, opts)\n }\n },\n\n install ({ $q }) {\n $q.loading = this\n\n if (__QUASAR_SSR_SERVER__ !== true && $q.config.loading !== void 0) {\n this.setDefaults($q.config.loading)\n }\n }\n})\n\nexport default Plugin\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/private/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 clearTimeout(originalApi.notif.meta.timer)\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 clearTimeout(original.meta.timer)\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 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 clearTimeout(notif.meta.timer)\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 isRuntimeSsrPreHydration.value = false\n Object.assign($q.platform, client)\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","/* eslint no-fallthrough: 0 */\n\nimport { isDate } from './private/is.js'\nimport { pad, capitalize } from './format.js'\nimport { jalaaliMonthLength } from './private/date-persian.js'\nimport lang, { defaultLang } from '../lang.js'\n\nconst\n MILLISECONDS_IN_DAY = 86400000,\n MILLISECONDS_IN_HOUR = 3600000,\n MILLISECONDS_IN_MINUTE = 60000,\n defaultMask = 'YYYY-MM-DDTHH:mm:ss.SSSZ',\n token = /\\[((?:[^\\]\\\\]|\\\\]|\\\\)*)\\]|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,\n reverseToken = /(\\[[^\\]]*\\])|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\\s${}()|\\\\]+)/g,\n regexStore = {}\n\nfunction getRegexData (mask, dateLocale) {\n const\n days = '(' + dateLocale.days.join('|') + ')',\n key = mask + days\n\n if (regexStore[ key ] !== void 0) {\n return regexStore[ key ]\n }\n\n const\n daysShort = '(' + dateLocale.daysShort.join('|') + ')',\n months = '(' + dateLocale.months.join('|') + ')',\n monthsShort = '(' + dateLocale.monthsShort.join('|') + ')'\n\n const map = {}\n let index = 0\n\n const regexText = mask.replace(reverseToken, match => {\n index++\n switch (match) {\n case 'YY':\n map.YY = index\n return '(-?\\\\d{1,2})'\n case 'YYYY':\n map.YYYY = index\n return '(-?\\\\d{1,4})'\n case 'M':\n map.M = index\n return '(\\\\d{1,2})'\n case 'MM':\n map.M = index // bumping to M\n return '(\\\\d{2})'\n case 'MMM':\n map.MMM = index\n return monthsShort\n case 'MMMM':\n map.MMMM = index\n return months\n case 'D':\n map.D = index\n return '(\\\\d{1,2})'\n case 'Do':\n map.D = index++ // bumping to D\n return '(\\\\d{1,2}(st|nd|rd|th))'\n case 'DD':\n map.D = index // bumping to D\n return '(\\\\d{2})'\n case 'H':\n map.H = index\n return '(\\\\d{1,2})'\n case 'HH':\n map.H = index // bumping to H\n return '(\\\\d{2})'\n case 'h':\n map.h = index\n return '(\\\\d{1,2})'\n case 'hh':\n map.h = index // bumping to h\n return '(\\\\d{2})'\n case 'm':\n map.m = index\n return '(\\\\d{1,2})'\n case 'mm':\n map.m = index // bumping to m\n return '(\\\\d{2})'\n case 's':\n map.s = index\n return '(\\\\d{1,2})'\n case 'ss':\n map.s = index // bumping to s\n return '(\\\\d{2})'\n case 'S':\n map.S = index\n return '(\\\\d{1})'\n case 'SS':\n map.S = index // bump to S\n return '(\\\\d{2})'\n case 'SSS':\n map.S = index // bump to S\n return '(\\\\d{3})'\n case 'A':\n map.A = index\n return '(AM|PM)'\n case 'a':\n map.a = index\n return '(am|pm)'\n case 'aa':\n map.aa = index\n return '(a\\\\.m\\\\.|p\\\\.m\\\\.)'\n\n case 'ddd':\n return daysShort\n case 'dddd':\n return days\n case 'Q':\n case 'd':\n case 'E':\n return '(\\\\d{1})'\n case 'Qo':\n return '(1st|2nd|3rd|4th)'\n case 'DDD':\n case 'DDDD':\n return '(\\\\d{1,3})'\n case 'w':\n return '(\\\\d{1,2})'\n case 'ww':\n return '(\\\\d{2})'\n\n case 'Z': // to split: (?:(Z)()()|([+-])?(\\\\d{2}):?(\\\\d{2}))\n map.Z = index\n return '(Z|[+-]\\\\d{2}:\\\\d{2})'\n case 'ZZ':\n map.ZZ = index\n return '(Z|[+-]\\\\d{2}\\\\d{2})'\n\n case 'X':\n map.X = index\n return '(-?\\\\d+)'\n case 'x':\n map.x = index\n return '(-?\\\\d{4,})'\n\n default:\n index--\n if (match[ 0 ] === '[') {\n match = match.substring(1, match.length - 1)\n }\n return match.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n }\n })\n\n const res = { map, regex: new RegExp('^' + regexText) }\n regexStore[ key ] = res\n\n return res\n}\n\nfunction getDateLocale (paramDateLocale, langProps) {\n return paramDateLocale !== void 0\n ? paramDateLocale\n : (\n langProps !== void 0\n ? langProps.date\n : defaultLang.date\n )\n}\n\nfunction formatTimezone (offset, delimeter = '') {\n const\n sign = offset > 0 ? '-' : '+',\n absOffset = Math.abs(offset),\n hours = Math.floor(absOffset / 60),\n minutes = absOffset % 60\n\n return sign + pad(hours) + delimeter + pad(minutes)\n}\n\nfunction applyYearMonthDayChange (date, mod, sign) {\n let\n year = date.getFullYear(),\n month = date.getMonth()\n\n const day = date.getDate()\n\n if (mod.year !== void 0) {\n year += sign * mod.year\n delete mod.year\n }\n\n if (mod.month !== void 0) {\n month += sign * mod.month\n delete mod.month\n }\n\n date.setDate(1)\n date.setMonth(2)\n\n date.setFullYear(year)\n date.setMonth(month)\n date.setDate(Math.min(day, daysInMonth(date)))\n\n if (mod.date !== void 0) {\n date.setDate(date.getDate() + sign * mod.date)\n delete mod.date\n }\n\n return date\n}\n\nfunction applyYearMonthDay (date, mod, middle) {\n const\n year = mod.year !== void 0 ? mod.year : date[ `get${ middle }FullYear` ](),\n month = mod.month !== void 0 ? mod.month - 1 : date[ `get${ middle }Month` ](),\n maxDay = (new Date(year, month + 1, 0)).getDate(),\n day = Math.min(maxDay, mod.date !== void 0 ? mod.date : date[ `get${ middle }Date` ]())\n\n date[ `set${ middle }Date` ](1)\n date[ `set${ middle }Month` ](2)\n\n date[ `set${ middle }FullYear` ](year)\n date[ `set${ middle }Month` ](month)\n date[ `set${ middle }Date` ](day)\n\n delete mod.year\n delete mod.month\n delete mod.date\n\n return date\n}\n\nfunction getChange (date, rawMod, sign) {\n const\n mod = normalizeMod(rawMod),\n d = new Date(date),\n t = mod.year !== void 0 || mod.month !== void 0 || mod.date !== void 0\n ? applyYearMonthDayChange(d, mod, sign) // removes year/month/day\n : d\n\n for (const key in mod) {\n const op = capitalize(key)\n t[ `set${ op }` ](t[ `get${ op }` ]() + sign * mod[ key ])\n }\n\n return t\n}\n\nfunction normalizeMod (mod) {\n const acc = { ...mod }\n\n if (mod.years !== void 0) {\n acc.year = mod.years\n delete acc.years\n }\n\n if (mod.months !== void 0) {\n acc.month = mod.months\n delete acc.months\n }\n\n if (mod.days !== void 0) {\n acc.date = mod.days\n delete acc.days\n }\n if (mod.day !== void 0) {\n acc.date = mod.day\n delete acc.day\n }\n\n if (mod.hour !== void 0) {\n acc.hours = mod.hour\n delete acc.hour\n }\n\n if (mod.minute !== void 0) {\n acc.minutes = mod.minute\n delete acc.minute\n }\n\n if (mod.second !== void 0) {\n acc.seconds = mod.second\n delete acc.second\n }\n\n if (mod.millisecond !== void 0) {\n acc.milliseconds = mod.millisecond\n delete acc.millisecond\n }\n\n return acc\n}\n\nexport function adjustDate (date, rawMod, utc) {\n const\n mod = normalizeMod(rawMod),\n middle = utc === true ? 'UTC' : '',\n d = new Date(date),\n t = mod.year !== void 0 || mod.month !== void 0 || mod.date !== void 0\n ? applyYearMonthDay(d, mod, middle) // removes year/month/day\n : d\n\n for (const key in mod) {\n const op = key.charAt(0).toUpperCase() + key.slice(1)\n t[ `set${ middle }${ op }` ](mod[ key ])\n }\n\n return t\n}\n\nexport function extractDate (str, mask, dateLocale) {\n const d = __splitDate(str, mask, dateLocale)\n\n const date = new Date(\n d.year,\n d.month === null ? null : d.month - 1,\n d.day === null ? 1 : d.day,\n d.hour,\n d.minute,\n d.second,\n d.millisecond\n )\n\n const tzOffset = date.getTimezoneOffset()\n\n return d.timezoneOffset === null || d.timezoneOffset === tzOffset\n ? date\n : getChange(date, { minutes: d.timezoneOffset - tzOffset }, 1)\n}\n\nexport function __splitDate (str, mask, dateLocale, calendar, defaultModel) {\n const date = {\n year: null,\n month: null,\n day: null,\n hour: null,\n minute: null,\n second: null,\n millisecond: null,\n timezoneOffset: null,\n dateHash: null,\n timeHash: null\n }\n\n defaultModel !== void 0 && Object.assign(date, defaultModel)\n\n if (\n str === void 0\n || str === null\n || str === ''\n || typeof str !== 'string'\n ) {\n return date\n }\n\n if (mask === void 0) {\n mask = defaultMask\n }\n\n const\n langOpts = getDateLocale(dateLocale, lang.props),\n months = langOpts.months,\n monthsShort = langOpts.monthsShort\n\n const { regex, map } = getRegexData(mask, langOpts)\n\n const match = str.match(regex)\n\n if (match === null) {\n return date\n }\n\n let tzString = ''\n\n if (map.X !== void 0 || map.x !== void 0) {\n const stamp = parseInt(match[ map.X !== void 0 ? map.X : map.x ], 10)\n\n if (isNaN(stamp) === true || stamp < 0) {\n return date\n }\n\n const d = new Date(stamp * (map.X !== void 0 ? 1000 : 1))\n\n date.year = d.getFullYear()\n date.month = d.getMonth() + 1\n date.day = d.getDate()\n date.hour = d.getHours()\n date.minute = d.getMinutes()\n date.second = d.getSeconds()\n date.millisecond = d.getMilliseconds()\n }\n else {\n if (map.YYYY !== void 0) {\n date.year = parseInt(match[ map.YYYY ], 10)\n }\n else if (map.YY !== void 0) {\n const y = parseInt(match[ map.YY ], 10)\n date.year = y < 0 ? y : 2000 + y\n }\n\n if (map.M !== void 0) {\n date.month = parseInt(match[ map.M ], 10)\n if (date.month < 1 || date.month > 12) {\n return date\n }\n }\n else if (map.MMM !== void 0) {\n date.month = monthsShort.indexOf(match[ map.MMM ]) + 1\n }\n else if (map.MMMM !== void 0) {\n date.month = months.indexOf(match[ map.MMMM ]) + 1\n }\n\n if (map.D !== void 0) {\n date.day = parseInt(match[ map.D ], 10)\n\n if (date.year === null || date.month === null || date.day < 1) {\n return date\n }\n\n const maxDay = calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n\n if (date.day > maxDay) {\n return date\n }\n }\n\n if (map.H !== void 0) {\n date.hour = parseInt(match[ map.H ], 10) % 24\n }\n else if (map.h !== void 0) {\n date.hour = parseInt(match[ map.h ], 10) % 12\n if (\n (map.A && match[ map.A ] === 'PM')\n || (map.a && match[ map.a ] === 'pm')\n || (map.aa && match[ map.aa ] === 'p.m.')\n ) {\n date.hour += 12\n }\n date.hour = date.hour % 24\n }\n\n if (map.m !== void 0) {\n date.minute = parseInt(match[ map.m ], 10) % 60\n }\n\n if (map.s !== void 0) {\n date.second = parseInt(match[ map.s ], 10) % 60\n }\n\n if (map.S !== void 0) {\n date.millisecond = parseInt(match[ map.S ], 10) * 10 ** (3 - match[ map.S ].length)\n }\n\n if (map.Z !== void 0 || map.ZZ !== void 0) {\n tzString = (map.Z !== void 0 ? match[ map.Z ].replace(':', '') : match[ map.ZZ ])\n date.timezoneOffset = (tzString[ 0 ] === '+' ? -1 : 1) * (60 * tzString.slice(1, 3) + 1 * tzString.slice(3, 5))\n }\n }\n\n date.dateHash = pad(date.year, 6) + '/' + pad(date.month) + '/' + pad(date.day)\n date.timeHash = pad(date.hour) + ':' + pad(date.minute) + ':' + pad(date.second) + tzString\n\n return date\n}\n\nexport function isValid (date) {\n return typeof date === 'number'\n ? true\n : isNaN(Date.parse(date)) === false\n}\n\nexport function buildDate (mod, utc) {\n return adjustDate(new Date(), mod, utc)\n}\n\nexport function getDayOfWeek (date) {\n const dow = new Date(date).getDay()\n return dow === 0 ? 7 : dow\n}\n\nexport function getWeekOfYear (date) {\n // Remove time components of date\n const thursday = new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\n // Change date to Thursday same week\n thursday.setDate(thursday.getDate() - ((thursday.getDay() + 6) % 7) + 3)\n\n // Take January 4th as it is always in week 1 (see ISO 8601)\n const firstThursday = new Date(thursday.getFullYear(), 0, 4)\n\n // Change date to Thursday same week\n firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3)\n\n // Check if daylight-saving-time-switch occurred and correct for it\n const ds = thursday.getTimezoneOffset() - firstThursday.getTimezoneOffset()\n thursday.setHours(thursday.getHours() - ds)\n\n // Number of weeks between target Thursday and first Thursday\n const weekDiff = (thursday - firstThursday) / (MILLISECONDS_IN_DAY * 7)\n return 1 + Math.floor(weekDiff)\n}\n\nfunction getDayIdentifier (date) {\n return date.getFullYear() * 10000 + date.getMonth() * 100 + date.getDate()\n}\n\nfunction getDateIdentifier (date, onlyDate /* = false */) {\n const d = new Date(date)\n return onlyDate === true ? getDayIdentifier(d) : d.getTime()\n}\n\nexport function isBetweenDates (date, from, to, opts = {}) {\n const\n d1 = getDateIdentifier(from, opts.onlyDate),\n d2 = getDateIdentifier(to, opts.onlyDate),\n cur = getDateIdentifier(date, opts.onlyDate)\n\n return (cur > d1 || (opts.inclusiveFrom === true && cur === d1))\n && (cur < d2 || (opts.inclusiveTo === true && cur === d2))\n}\n\nexport function addToDate (date, mod) {\n return getChange(date, mod, 1)\n}\nexport function subtractFromDate (date, mod) {\n return getChange(date, mod, -1)\n}\n\nexport function startOfDate (date, unit, utc) {\n const\n t = new Date(date),\n prefix = `set${ utc === true ? 'UTC' : '' }`\n\n switch (unit) {\n case 'year':\n case 'years':\n t[ `${ prefix }Month` ](0)\n case 'month':\n case 'months':\n t[ `${ prefix }Date` ](1)\n case 'day':\n case 'days':\n case 'date':\n t[ `${ prefix }Hours` ](0)\n case 'hour':\n case 'hours':\n t[ `${ prefix }Minutes` ](0)\n case 'minute':\n case 'minutes':\n t[ `${ prefix }Seconds` ](0)\n case 'second':\n case 'seconds':\n t[ `${ prefix }Milliseconds` ](0)\n }\n return t\n}\n\nexport function endOfDate (date, unit, utc) {\n const\n t = new Date(date),\n prefix = `set${ utc === true ? 'UTC' : '' }`\n\n switch (unit) {\n case 'year':\n case 'years':\n t[ `${ prefix }Month` ](11)\n case 'month':\n case 'months':\n t[ `${ prefix }Date` ](daysInMonth(t))\n case 'day':\n case 'days':\n case 'date':\n t[ `${ prefix }Hours` ](23)\n case 'hour':\n case 'hours':\n t[ `${ prefix }Minutes` ](59)\n case 'minute':\n case 'minutes':\n t[ `${ prefix }Seconds` ](59)\n case 'second':\n case 'seconds':\n t[ `${ prefix }Milliseconds` ](999)\n }\n return t\n}\n\nexport function getMaxDate (date /* , ...args */) {\n let t = new Date(date)\n Array.prototype.slice.call(arguments, 1).forEach(d => {\n t = Math.max(t, new Date(d))\n })\n return t\n}\n\nexport function getMinDate (date /*, ...args */) {\n let t = new Date(date)\n Array.prototype.slice.call(arguments, 1).forEach(d => {\n t = Math.min(t, new Date(d))\n })\n return t\n}\n\nfunction getDiff (t, sub, interval) {\n return (\n (t.getTime() - t.getTimezoneOffset() * MILLISECONDS_IN_MINUTE)\n - (sub.getTime() - sub.getTimezoneOffset() * MILLISECONDS_IN_MINUTE)\n ) / interval\n}\n\nexport function getDateDiff (date, subtract, unit = 'days') {\n const\n t = new Date(date),\n sub = new Date(subtract)\n\n switch (unit) {\n case 'years':\n case 'year':\n return (t.getFullYear() - sub.getFullYear())\n\n case 'months':\n case 'month':\n return (t.getFullYear() - sub.getFullYear()) * 12 + t.getMonth() - sub.getMonth()\n\n case 'days':\n case 'day':\n case 'date':\n return getDiff(startOfDate(t, 'day'), startOfDate(sub, 'day'), MILLISECONDS_IN_DAY)\n\n case 'hours':\n case 'hour':\n return getDiff(startOfDate(t, 'hour'), startOfDate(sub, 'hour'), MILLISECONDS_IN_HOUR)\n\n case 'minutes':\n case 'minute':\n return getDiff(startOfDate(t, 'minute'), startOfDate(sub, 'minute'), MILLISECONDS_IN_MINUTE)\n\n case 'seconds':\n case 'second':\n return getDiff(startOfDate(t, 'second'), startOfDate(sub, 'second'), 1000)\n }\n}\n\nexport function getDayOfYear (date) {\n return getDateDiff(date, startOfDate(date, 'year'), 'days') + 1\n}\n\nexport function inferDateFormat (date) {\n return isDate(date) === true\n ? 'date'\n : (typeof date === 'number' ? 'number' : 'string')\n}\n\nexport function getDateBetween (date, min, max) {\n const t = new Date(date)\n\n if (min) {\n const low = new Date(min)\n if (t < low) {\n return low\n }\n }\n\n if (max) {\n const high = new Date(max)\n if (t > high) {\n return high\n }\n }\n\n return t\n}\n\nexport function isSameDate (date, date2, unit) {\n const\n t = new Date(date),\n d = new Date(date2)\n\n if (unit === void 0) {\n return t.getTime() === d.getTime()\n }\n\n switch (unit) {\n case 'second':\n case 'seconds':\n if (t.getSeconds() !== d.getSeconds()) {\n return false\n }\n case 'minute': // intentional fall-through\n case 'minutes':\n if (t.getMinutes() !== d.getMinutes()) {\n return false\n }\n case 'hour': // intentional fall-through\n case 'hours':\n if (t.getHours() !== d.getHours()) {\n return false\n }\n case 'day': // intentional fall-through\n case 'days':\n case 'date':\n if (t.getDate() !== d.getDate()) {\n return false\n }\n case 'month': // intentional fall-through\n case 'months':\n if (t.getMonth() !== d.getMonth()) {\n return false\n }\n case 'year': // intentional fall-through\n case 'years':\n if (t.getFullYear() !== d.getFullYear()) {\n return false\n }\n break\n default:\n throw new Error(`date isSameDate unknown unit ${ unit }`)\n }\n\n return true\n}\n\nexport function daysInMonth (date) {\n return (new Date(date.getFullYear(), date.getMonth() + 1, 0)).getDate()\n}\n\nfunction getOrdinal (n) {\n if (n >= 11 && n <= 13) {\n return `${ n }th`\n }\n switch (n % 10) {\n case 1: return `${ n }st`\n case 2: return `${ n }nd`\n case 3: return `${ n }rd`\n }\n return `${ n }th`\n}\n\nconst formatter = {\n // Year: 00, 01, ..., 99\n YY (date, dateLocale, forcedYear) {\n // workaround for < 1900 with new Date()\n const y = this.YYYY(date, dateLocale, forcedYear) % 100\n return y >= 0\n ? pad(y)\n : '-' + pad(Math.abs(y))\n },\n\n // Year: 1900, 1901, ..., 2099\n YYYY (date, _dateLocale, forcedYear) {\n // workaround for < 1900 with new Date()\n return forcedYear !== void 0 && forcedYear !== null\n ? forcedYear\n : date.getFullYear()\n },\n\n // Month: 1, 2, ..., 12\n M (date) {\n return date.getMonth() + 1\n },\n\n // Month: 01, 02, ..., 12\n MM (date) {\n return pad(date.getMonth() + 1)\n },\n\n // Month Short Name: Jan, Feb, ...\n MMM (date, dateLocale) {\n return dateLocale.monthsShort[ date.getMonth() ]\n },\n\n // Month Name: January, February, ...\n MMMM (date, dateLocale) {\n return dateLocale.months[ date.getMonth() ]\n },\n\n // Quarter: 1, 2, 3, 4\n Q (date) {\n return Math.ceil((date.getMonth() + 1) / 3)\n },\n\n // Quarter: 1st, 2nd, 3rd, 4th\n Qo (date) {\n return getOrdinal(this.Q(date))\n },\n\n // Day of month: 1, 2, ..., 31\n D (date) {\n return date.getDate()\n },\n\n // Day of month: 1st, 2nd, ..., 31st\n Do (date) {\n return getOrdinal(date.getDate())\n },\n\n // Day of month: 01, 02, ..., 31\n DD (date) {\n return pad(date.getDate())\n },\n\n // Day of year: 1, 2, ..., 366\n DDD (date) {\n return getDayOfYear(date)\n },\n\n // Day of year: 001, 002, ..., 366\n DDDD (date) {\n return pad(getDayOfYear(date), 3)\n },\n\n // Day of week: 0, 1, ..., 6\n d (date) {\n return date.getDay()\n },\n\n // Day of week: Su, Mo, ...\n dd (date, dateLocale) {\n return this.dddd(date, dateLocale).slice(0, 2)\n },\n\n // Day of week: Sun, Mon, ...\n ddd (date, dateLocale) {\n return dateLocale.daysShort[ date.getDay() ]\n },\n\n // Day of week: Sunday, Monday, ...\n dddd (date, dateLocale) {\n return dateLocale.days[ date.getDay() ]\n },\n\n // Day of ISO week: 1, 2, ..., 7\n E (date) {\n return date.getDay() || 7\n },\n\n // Week of Year: 1 2 ... 52 53\n w (date) {\n return getWeekOfYear(date)\n },\n\n // Week of Year: 01 02 ... 52 53\n ww (date) {\n return pad(getWeekOfYear(date))\n },\n\n // Hour: 0, 1, ... 23\n H (date) {\n return date.getHours()\n },\n\n // Hour: 00, 01, ..., 23\n HH (date) {\n return pad(date.getHours())\n },\n\n // Hour: 1, 2, ..., 12\n h (date) {\n const hours = date.getHours()\n return hours === 0\n ? 12\n : (hours > 12 ? hours % 12 : hours)\n },\n\n // Hour: 01, 02, ..., 12\n hh (date) {\n return pad(this.h(date))\n },\n\n // Minute: 0, 1, ..., 59\n m (date) {\n return date.getMinutes()\n },\n\n // Minute: 00, 01, ..., 59\n mm (date) {\n return pad(date.getMinutes())\n },\n\n // Second: 0, 1, ..., 59\n s (date) {\n return date.getSeconds()\n },\n\n // Second: 00, 01, ..., 59\n ss (date) {\n return pad(date.getSeconds())\n },\n\n // 1/10 of second: 0, 1, ..., 9\n S (date) {\n return Math.floor(date.getMilliseconds() / 100)\n },\n\n // 1/100 of second: 00, 01, ..., 99\n SS (date) {\n return pad(Math.floor(date.getMilliseconds() / 10))\n },\n\n // Millisecond: 000, 001, ..., 999\n SSS (date) {\n return pad(date.getMilliseconds(), 3)\n },\n\n // Meridiem: AM, PM\n A (date) {\n return this.H(date) < 12 ? 'AM' : 'PM'\n },\n\n // Meridiem: am, pm\n a (date) {\n return this.H(date) < 12 ? 'am' : 'pm'\n },\n\n // Meridiem: a.m., p.m.\n aa (date) {\n return this.H(date) < 12 ? 'a.m.' : 'p.m.'\n },\n\n // Timezone: -01:00, +00:00, ... +12:00\n Z (date, _dateLocale, _forcedYear, forcedTimezoneOffset) {\n const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null\n ? date.getTimezoneOffset()\n : forcedTimezoneOffset\n\n return formatTimezone(tzOffset, ':')\n },\n\n // Timezone: -0100, +0000, ... +1200\n ZZ (date, _dateLocale, _forcedYear, forcedTimezoneOffset) {\n const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null\n ? date.getTimezoneOffset()\n : forcedTimezoneOffset\n\n return formatTimezone(tzOffset)\n },\n\n // Seconds timestamp: 512969520\n X (date) {\n return Math.floor(date.getTime() / 1000)\n },\n\n // Milliseconds timestamp: 512969520900\n x (date) {\n return date.getTime()\n }\n}\n\nexport function formatDate (val, mask, dateLocale, __forcedYear, __forcedTimezoneOffset) {\n if (\n (val !== 0 && !val)\n || val === Infinity\n || val === -Infinity\n ) {\n return\n }\n\n const date = new Date(val)\n\n if (isNaN(date)) {\n return\n }\n\n if (mask === void 0) {\n mask = defaultMask\n }\n\n const locale = getDateLocale(dateLocale, lang.props)\n\n return mask.replace(\n token,\n (match, text) => (\n match in formatter\n ? formatter[ match ](date, locale, __forcedYear, __forcedTimezoneOffset)\n : (text === void 0 ? match : text.split('\\\\]').join(']'))\n )\n )\n}\n\nexport function clone (date) {\n return isDate(date) === true\n ? new Date(date.getTime())\n : date\n}\n\nexport default {\n isValid,\n extractDate,\n buildDate,\n getDayOfWeek,\n getWeekOfYear,\n isBetweenDates,\n addToDate,\n subtractFromDate,\n adjustDate,\n startOfDate,\n endOfDate,\n getMaxDate,\n getMinDate,\n getDateDiff,\n getDayOfYear,\n inferDateFormat,\n getDateBetween,\n isSameDate,\n daysInMonth,\n formatDate,\n clone\n}\n","export default function (fn, wait = 250, immediate) {\n let timeout\n\n function debounced (/* ...args */) {\n const args = arguments\n\n const later = () => {\n timeout = void 0\n if (immediate !== true) {\n fn.apply(this, args)\n }\n }\n\n clearTimeout(timeout)\n if (immediate === true && timeout === void 0) {\n fn.apply(this, args)\n }\n timeout = setTimeout(later, wait)\n }\n\n debounced.cancel = () => {\n clearTimeout(timeout)\n }\n\n return debounced\n}\n","import { isRef } 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 = isRef(el) === true\n ? el.value\n : el\n\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","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 closeTimer\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 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 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 window.scrollTo(scrollPositionX, scrollPositionY)\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 !== void 0) {\n clearTimeout(closeTimer)\n closeTimer = void 0\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 clearTimeout(closeTimer)\n\n closeTimer = setTimeout(() => {\n apply(action)\n closeTimer = void 0\n }, 100)\n return\n }\n }\n\n apply(action)\n}\n","import { defineComponent, markRaw } from 'vue'\n\nexport const createComponent = raw => markRaw(defineComponent(raw))\nexport const createDirective = raw => markRaw(raw)\n","// taken from https://github.com/jalaali/jalaali-js\n\n/*\n Jalaali years starting the 33-year rule.\n*/\nconst breaks = [\n -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210,\n 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178\n]\n\n/*\n Converts a Gregorian date to Jalaali.\n*/\nexport function toJalaali (gy, gm, gd) {\n if (Object.prototype.toString.call(gy) === '[object Date]') {\n gd = gy.getDate()\n gm = gy.getMonth() + 1\n gy = gy.getFullYear()\n }\n return d2j(g2d(gy, gm, gd))\n}\n\n/*\n Converts a Jalaali date to Gregorian.\n*/\nexport function toGregorian (jy, jm, jd) {\n return d2g(j2d(jy, jm, jd))\n}\n\n/*\n Is this a leap year or not?\n*/\nfunction isLeapJalaaliYear (jy) {\n return jalCalLeap(jy) === 0\n}\n\n/*\n Number of days in a given month in a Jalaali year.\n*/\nexport function jalaaliMonthLength (jy, jm) {\n if (jm <= 6) return 31\n if (jm <= 11) return 30\n if (isLeapJalaaliYear(jy)) return 30\n return 29\n}\n\n/*\n This function determines if the Jalaali (Persian) year is\n leap (366-day long) or is the common year (365 days)\n\n @param jy Jalaali calendar year (-61 to 3177)\n @returns number of years since the last leap year (0 to 4)\n */\nfunction jalCalLeap (jy) {\n const bl = breaks.length\n let\n jp = breaks[ 0 ],\n jm,\n jump,\n leap,\n n,\n i\n\n if (jy < jp || jy >= breaks[ bl - 1 ]) { throw new Error('Invalid Jalaali year ' + jy) }\n\n for (i = 1; i < bl; i += 1) {\n jm = breaks[ i ]\n jump = jm - jp\n if (jy < jm) { break }\n jp = jm\n }\n n = jy - jp\n\n if (jump - n < 6) { n = n - jump + div(jump + 4, 33) * 33 }\n leap = mod(mod(n + 1, 33) - 1, 4)\n if (leap === -1) {\n leap = 4\n }\n\n return leap\n}\n\n/*\n This function determines if the Jalaali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalaali year (jy).\n\n @param jy Jalaali calendar year (-61 to 3177)\n @param withoutLeap when don't need leap (true or false) default is false\n @return\n leap: number of years since the last leap year (0 to 4)\n gy: Gregorian year of the beginning of Jalaali year\n march: the March day of Farvardin the 1st (1st day of jy)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n*/\nfunction jalCal (jy, withoutLeap) {\n const\n bl = breaks.length,\n gy = jy + 621\n let\n leapJ = -14,\n jp = breaks[ 0 ],\n jm,\n jump,\n leap,\n n,\n i\n\n if (jy < jp || jy >= breaks[ bl - 1 ]) { throw new Error('Invalid Jalaali year ' + jy) }\n\n // Find the limiting years for the Jalaali year jy.\n for (i = 1; i < bl; i += 1) {\n jm = breaks[ i ]\n jump = jm - jp\n if (jy < jm) { break }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4)\n jp = jm\n }\n n = jy - jp\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalaali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4)\n if (mod(jump, 33) === 4 && jump - n === 4) { leapJ += 1 }\n\n // And the same in the Gregorian calendar (until the year gy).\n const leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG\n\n // Find how many years have passed since the last leap year.\n if (!withoutLeap) {\n if (jump - n < 6) { n = n - jump + div(jump + 4, 33) * 33 }\n leap = mod(mod(n + 1, 33) - 1, 4)\n if (leap === -1) {\n leap = 4\n }\n }\n\n return {\n leap: leap,\n gy: gy,\n march: march\n }\n}\n\n/*\n Converts a date of the Jalaali calendar to the Julian Day number.\n\n @param jy Jalaali year (1 to 3100)\n @param jm Jalaali month (1 to 12)\n @param jd Jalaali day (1 to 29/31)\n @return Julian Day number\n*/\nfunction j2d (jy, jm, jd) {\n const r = jalCal(jy, true)\n return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1\n}\n\n/*\n Converts the Julian Day number to a date in the Jalaali calendar.\n\n @param jdn Julian Day number\n @return\n jy: Jalaali year (1 to 3100)\n jm: Jalaali month (1 to 12)\n jd: Jalaali day (1 to 29/31)\n*/\nfunction d2j (jdn) {\n const gy = d2g(jdn).gy // Calculate Gregorian year (gy).\n let\n jy = gy - 621,\n jd,\n jm,\n k\n const\n r = jalCal(jy, false),\n jdn1f = g2d(gy, 3, r.march)\n\n // Find number of days that passed since 1 Farvardin.\n k = jdn - jdn1f\n if (k >= 0) {\n if (k <= 185) {\n // The first 6 months.\n jm = 1 + div(k, 31)\n jd = mod(k, 31) + 1\n return {\n jy: jy,\n jm: jm,\n jd: jd\n }\n }\n else {\n // The remaining months.\n k -= 186\n }\n }\n else {\n // Previous Jalaali year.\n jy -= 1\n k += 179\n if (r.leap === 1) { k += 1 }\n }\n jm = 7 + div(k, 30)\n jd = mod(k, 30) + 1\n return {\n jy: jy,\n jm: jm,\n jd: jd\n }\n}\n\n/*\n Calculates the Julian Day number from Gregorian or Julian\n calendar dates. This integer number corresponds to the noon of\n the date (i.e. 12 hours of Universal Time).\n The procedure was tested to be good since 1 March, -100100 (of both\n calendars) up to a few million years into the future.\n\n @param gy Calendar year (years BC numbered 0, -1, -2, ...)\n @param gm Calendar month (1 to 12)\n @param gd Calendar day of the month (1 to 28/29/30/31)\n @return Julian Day number\n*/\nfunction g2d (gy, gm, gd) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4)\n + div(153 * mod(gm + 9, 12) + 2, 5)\n + gd - 34840408\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752\n return d\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n\n @param jdn Julian Day number\n @return\n gy: Calendar year (years BC numbered 0, -1, -2, ...)\n gm: Calendar month (1 to 12)\n gd: Calendar day of the month M (1 to 28/29/30/31)\n*/\nfunction d2g (jdn) {\n let j = 4 * jdn + 139361631\n j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908\n const\n i = div(mod(j, 1461), 4) * 5 + 308,\n gd = div(mod(i, 153), 5) + 1,\n gm = mod(div(i, 153), 12) + 1,\n gy = div(j, 1461) - 100100 + div(8 - gm, 6)\n return {\n gy: gy,\n gm: gm,\n gd: gd\n }\n}\n\n/*\n Utility helper functions.\n*/\n\nfunction div (a, b) {\n return ~~(a / b)\n}\n\nfunction mod (a, b) {\n return a - ~~(a / b) * b\n}\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","const trueFn = () => true\n\nexport default function (emitsArray) {\n const emitsObject = {}\n\n emitsArray.forEach(val => {\n emitsObject[ val ] = trueFn\n })\n\n return emitsObject\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 globalNodes = []\nlet target = __QUASAR_SSR_SERVER__\n ? void 0\n : document.body\n\nexport function createGlobalNode (id) {\n const el = document.createElement('div')\n\n if (id !== void 0) {\n el.id = id\n }\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 globalNodes.push(el)\n\n return el\n}\n\nexport function removeGlobalNode (el) {\n globalNodes.splice(globalNodes.indexOf(el), 1)\n el.remove()\n}\n\nexport function changeGlobalNodesTarget (el) {\n if (el !== target) {\n target = el\n\n globalNodes.forEach(el => {\n if (el.contains(target) === false) {\n target.appendChild(el)\n }\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}\n\nexport function injectMultipleProps (target, props) {\n for (const key in props) {\n injectProp(target, key, props[ key ])\n }\n}\n","const\n hasMap = typeof Map === 'function',\n hasSet = typeof Set === 'function',\n hasArrayBuffer = typeof ArrayBuffer === 'function'\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 (hasMap === true && a.constructor === Map) {\n if (a.size !== b.size) {\n return false\n }\n\n i = a.entries().next()\n while (i.done !== true) {\n if (b.has(i.value[ 0 ]) !== true) {\n return false\n }\n i = i.next()\n }\n\n i = a.entries().next()\n while (i.done !== true) {\n if (isDeepEqual(i.value[ 1 ], b.get(i.value[ 0 ])) !== true) {\n return false\n }\n i = i.next()\n }\n\n return true\n }\n\n if (hasSet === true && a.constructor === Set) {\n if (a.size !== b.size) {\n return false\n }\n\n i = a.entries().next()\n while (i.done !== true) {\n if (b.has(i.value[ 0 ]) !== true) {\n return false\n }\n i = i.next()\n }\n\n return true\n }\n\n if (hasArrayBuffer === true && 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","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 { getParentVm } from './vm.js'\n\nexport const portalList = []\n\nexport function getPortalVm (el) {\n return portalList.find(vm =>\n vm.__qPortalInnerRef.value !== null\n && vm.__qPortalInnerRef.value.contains(el)\n )\n}\n\nexport function closePortalMenus (vm, evt) {\n do {\n if (vm.$options.name === 'QMenu') {\n vm.hide(evt)\n\n // is this a point of separation?\n if (vm.$props.separateClosePopup === true) {\n return getParentVm(vm)\n }\n }\n else if (vm.__qPortalInnerRef !== void 0) {\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 = getParentVm(vm)\n\n if (parent !== void 0 && parent.$options.name === 'QPopupProxy') {\n vm.hide(evt)\n return parent\n }\n else {\n return vm\n }\n }\n\n vm = getParentVm(vm)\n } while (vm !== void 0 && vm !== null)\n}\n\nexport function closePortals (vm, evt, depth) {\n while (depth !== 0 && vm !== void 0 && vm !== null) {\n if (vm.__qPortalInnerRef !== void 0) {\n depth--\n\n if (vm.$options.name === 'QMenu') {\n vm = closePortalMenus(vm, evt)\n continue\n }\n\n vm.hide(evt)\n }\n\n vm = getParentVm(vm)\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","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","// used directly by docs too\nexport function getParentVm (vm) {\n if (Object(vm.$parent) === vm.$parent) {\n return vm.$parent\n }\n\n vm = vm.$.parent\n\n while (Object(vm) === vm) {\n if (Object(vm.proxy) === vm.proxy) {\n return vm.proxy\n }\n\n vm = vm.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","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","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) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\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, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, 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, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, 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 = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of \r\n const key = parentKey == null\r\n ? child.key\r\n : String(parentKey) + String(child.key != null ? child.key : i);\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(key != null ? cloneVNode(child, { key }) : child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest =\r\n loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n name: 'AsyncComponentWrapper',\r\n __asyncLoader: load,\r\n get __asyncResolved() {\r\n return resolvedComp;\r\n },\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (isInSSRComponentSetup)) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\r\n // parent is keep-alive, force update so the loaded component's\r\n // name is taken into account\r\n queueJob(instance.parent.update);\r\n }\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children, shapeFlag }, parent }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n // if the internal renderer is not registered, it indicates that this is server-side rendering,\r\n // for KeepAlive, we just need to render its children\r\n if (!sharedContext.renderer) {\r\n return () => {\r\n const children = slots.default && slots.default();\r\n return children && children.length === 1 ? children[0] : children;\r\n };\r\n }\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n instance.__v_cache = cache;\r\n }\r\n const parentSuspense = instance.suspense;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense, true);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n // for async components, name check should be based in its loaded\r\n // inner component if available\r\n const name = getComponentName(isAsyncWrapper(vnode)\r\n ? vnode.type.__asyncResolved || {}\r\n : comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').includes(name);\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n unsetCurrentInstance();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n(!isInSSRComponentSetup || lifecycle === \"sp\" /* SERVER_PREFETCH */) &&\r\n injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onServerPrefetch = createHook(\"sp\" /* SERVER_PREFETCH */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n}\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = getExposeProxy(internalInstance) ||\r\n internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n let hook = binding.dir[name];\r\n if (hook) {\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n resetTracking();\r\n }\r\n }\r\n}\n\nconst COMPONENTS = 'components';\r\nconst DIRECTIVES = 'directives';\r\n/**\r\n * @private\r\n */\r\nfunction resolveComponent(name, maybeSelfReference) {\r\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\r\n}\r\nconst NULL_DYNAMIC_COMPONENT = Symbol();\r\n/**\r\n * @private\r\n */\r\nfunction resolveDynamicComponent(component) {\r\n if (isString(component)) {\r\n return resolveAsset(COMPONENTS, component, false) || component;\r\n }\r\n else {\r\n // invalid types will fallthrough to createVNode and raise warning\r\n return (component || NULL_DYNAMIC_COMPONENT);\r\n }\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction resolveDirective(name) {\r\n return resolveAsset(DIRECTIVES, name);\r\n}\r\n// implementation\r\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\r\n const instance = currentRenderingInstance || currentInstance;\r\n if (instance) {\r\n const Component = instance.type;\r\n // explicit self name has highest priority\r\n if (type === COMPONENTS) {\r\n const selfName = getComponentName(Component, false /* do not include inferred name to avoid breaking existing code */);\r\n if (selfName &&\r\n (selfName === name ||\r\n selfName === camelize(name) ||\r\n selfName === capitalize(camelize(name)))) {\r\n return Component;\r\n }\r\n }\r\n const res = \r\n // local registration\r\n // check instance[type] first which is resolved for options API\r\n resolve(instance[type] || Component[type], name) ||\r\n // global registration\r\n resolve(instance.appContext[type], name);\r\n if (!res && maybeSelfReference) {\r\n // fallback to implicit self-reference\r\n return Component;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && warnMissing && !res) {\r\n const extra = type === COMPONENTS\r\n ? `\\nIf this is a native custom element, make sure to exclude it from ` +\r\n `component resolution via compilerOptions.isCustomElement.`\r\n : ``;\r\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\r\n }\r\n return res;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`resolve${capitalize(type.slice(0, -1))} ` +\r\n `can only be used in render() or setup().`);\r\n }\r\n}\r\nfunction resolve(registry, name) {\r\n return (registry &&\r\n (registry[name] ||\r\n registry[camelize(name)] ||\r\n registry[capitalize(camelize(name))]));\r\n}\n\n/**\r\n * Actual implementation\r\n */\r\nfunction renderList(source, renderItem, cache, index) {\r\n let ret;\r\n const cached = (cache && cache[index]);\r\n if (isArray(source) || isString(source)) {\r\n ret = new Array(source.length);\r\n for (let i = 0, l = source.length; i < l; i++) {\r\n ret[i] = renderItem(source[i], i, undefined, cached && cached[i]);\r\n }\r\n }\r\n else if (typeof source === 'number') {\r\n if ((process.env.NODE_ENV !== 'production') && !Number.isInteger(source)) {\r\n warn(`The v-for range expect an integer value but got ${source}.`);\r\n }\r\n ret = new Array(source);\r\n for (let i = 0; i < source; i++) {\r\n ret[i] = renderItem(i + 1, i, undefined, cached && cached[i]);\r\n }\r\n }\r\n else if (isObject(source)) {\r\n if (source[Symbol.iterator]) {\r\n ret = Array.from(source, (item, i) => renderItem(item, i, undefined, cached && cached[i]));\r\n }\r\n else {\r\n const keys = Object.keys(source);\r\n ret = new Array(keys.length);\r\n for (let i = 0, l = keys.length; i < l; i++) {\r\n const key = keys[i];\r\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\r\n }\r\n }\r\n }\r\n else {\r\n ret = [];\r\n }\r\n if (cache) {\r\n cache[index] = ret;\r\n }\r\n return ret;\r\n}\n\n/**\r\n * Compiler runtime helper for creating dynamic slots object\r\n * @private\r\n */\r\nfunction createSlots(slots, dynamicSlots) {\r\n for (let i = 0; i < dynamicSlots.length; i++) {\r\n const slot = dynamicSlots[i];\r\n // array of dynamic slot generated by \r\n if (isArray(slot)) {\r\n for (let j = 0; j < slot.length; j++) {\r\n slots[slot[j].name] = slot[j].fn;\r\n }\r\n }\r\n else if (slot) {\r\n // conditional single slot generated by \r\n slots[slot.name] = slot.fn;\r\n }\r\n }\r\n return slots;\r\n}\n\n/**\r\n * Compiler runtime helper for rendering ``\r\n * @private\r\n */\r\nfunction renderSlot(slots, name, props = {}, \r\n// this is not a user-facing function, so the fallback is always generated by\r\n// the compiler and guaranteed to be a function returning an array\r\nfallback, noSlotted) {\r\n if (currentRenderingInstance.isCE ||\r\n (currentRenderingInstance.parent &&\r\n isAsyncWrapper(currentRenderingInstance.parent) &&\r\n currentRenderingInstance.parent.isCE)) {\r\n return createVNode('slot', name === 'default' ? null : { name }, fallback && fallback());\r\n }\r\n let slot = slots[name];\r\n if ((process.env.NODE_ENV !== 'production') && slot && slot.length > 1) {\r\n warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +\r\n `function. You need to mark this component with $dynamic-slots in the ` +\r\n `parent template.`);\r\n slot = () => [];\r\n }\r\n // a compiled slot disables block tracking by default to avoid manual\r\n // invocation interfering with template-based block tracking, but in\r\n // `renderSlot` we can be sure that it's template-based so we can force\r\n // enable it.\r\n if (slot && slot._c) {\r\n slot._d = false;\r\n }\r\n openBlock();\r\n const validSlotContent = slot && ensureValidVNode(slot(props));\r\n const rendered = createBlock(Fragment, { key: props.key || `_${name}` }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* STABLE */\r\n ? 64 /* STABLE_FRAGMENT */\r\n : -2 /* BAIL */);\r\n if (!noSlotted && rendered.scopeId) {\r\n rendered.slotScopeIds = [rendered.scopeId + '-s'];\r\n }\r\n if (slot && slot._c) {\r\n slot._d = true;\r\n }\r\n return rendered;\r\n}\r\nfunction ensureValidVNode(vnodes) {\r\n return vnodes.some(child => {\r\n if (!isVNode(child))\r\n return true;\r\n if (child.type === Comment)\r\n return false;\r\n if (child.type === Fragment &&\r\n !ensureValidVNode(child.children))\r\n return false;\r\n return true;\r\n })\r\n ? vnodes\r\n : null;\r\n}\n\n/**\r\n * For prefixing keys in v-on=\"obj\" with \"on\"\r\n * @private\r\n */\r\nfunction toHandlers(obj) {\r\n const ret = {};\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(obj)) {\r\n warn(`v-on with no argument expects an object value.`);\r\n return ret;\r\n }\r\n for (const key in obj) {\r\n ret[toHandlerKey(key)] = obj[key];\r\n }\r\n return ret;\r\n}\n\n/**\r\n * #2437 In Vue 3, functional components do not have a public instance proxy but\r\n * they exist in the internal parent chain. For code that relies on traversing\r\n * public $parent chains, skip functional ones and go to the parent instead.\r\n */\r\nconst getPublicInstance = (i) => {\r\n if (!i)\r\n return null;\r\n if (isStatefulComponent(i))\r\n return getExposeProxy(i) || i.proxy;\r\n return getPublicInstance(i.parent);\r\n};\r\nconst publicPropertiesMap = \r\n// Move PURE marker to new line to workaround compiler discarding it\r\n// due to type annotation\r\n/*#__PURE__*/ extend(Object.create(null), {\r\n $: i => i,\r\n $el: i => i.vnode.el,\r\n $data: i => i.data,\r\n $props: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.props) : i.props),\r\n $attrs: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.attrs) : i.attrs),\r\n $slots: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.slots) : i.slots),\r\n $refs: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.refs) : i.refs),\r\n $parent: i => getPublicInstance(i.parent),\r\n $root: i => getPublicInstance(i.root),\r\n $emit: i => i.emit,\r\n $options: i => (__VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type),\r\n $forceUpdate: i => i.f || (i.f = () => queueJob(i.update)),\r\n $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy)),\r\n $watch: i => (__VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP)\r\n});\r\nconst isReservedPrefix = (key) => key === '_' || key === '$';\r\nconst PublicInstanceProxyHandlers = {\r\n get({ _: instance }, key) {\r\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\r\n // for internal formatters to know that this is a Vue instance\r\n if ((process.env.NODE_ENV !== 'production') && key === '__isVue') {\r\n return true;\r\n }\r\n // prioritize