{"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 + `window.__Q_META__=${ delete data.noscript && JSON.stringify(data) }`\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