{"version":3,"file":"chunk-vendors.0f9ecdeaff632a68.js","mappings":"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","sources":["webpack://client/./node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/Errors.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/HttpClient.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/Loggers.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/Utils.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/HeaderNames.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/ITransport.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/AbortController.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/HttpConnection.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/Subject.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/HubConnection.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js","webpack://client/./node_modules/@microsoft/signalr/dist/esm/ILogger.js","webpack://client/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://client/./node_modules/axios/index.js","webpack://client/./node_modules/axios/lib/adapters/xhr.js","webpack://client/./node_modules/axios/lib/axios.js","webpack://client/./node_modules/axios/lib/cancel/CancelToken.js","webpack://client/./node_modules/axios/lib/cancel/CanceledError.js","webpack://client/./node_modules/axios/lib/cancel/isCancel.js","webpack://client/./node_modules/axios/lib/core/Axios.js","webpack://client/./node_modules/axios/lib/core/AxiosError.js","webpack://client/./node_modules/axios/lib/core/InterceptorManager.js","webpack://client/./node_modules/axios/lib/core/buildFullPath.js","webpack://client/./node_modules/axios/lib/core/dispatchRequest.js","webpack://client/./node_modules/axios/lib/core/mergeConfig.js","webpack://client/./node_modules/axios/lib/core/settle.js","webpack://client/./node_modules/axios/lib/core/transformData.js","webpack://client/./node_modules/axios/lib/defaults/index.js","webpack://client/./node_modules/axios/lib/defaults/transitional.js","webpack://client/./node_modules/axios/lib/env/data.js","webpack://client/./node_modules/axios/lib/helpers/bind.js","webpack://client/./node_modules/axios/lib/helpers/buildURL.js","webpack://client/./node_modules/axios/lib/helpers/combineURLs.js","webpack://client/./node_modules/axios/lib/helpers/cookies.js","webpack://client/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://client/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://client/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://client/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://client/./node_modules/axios/lib/helpers/null.js","webpack://client/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://client/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://client/./node_modules/axios/lib/helpers/spread.js","webpack://client/./node_modules/axios/lib/helpers/toFormData.js","webpack://client/./node_modules/axios/lib/helpers/validator.js","webpack://client/./node_modules/axios/lib/utils.js","webpack://client/./node_modules/core-js/internals/a-callable.js","webpack://client/./node_modules/core-js/internals/a-possible-prototype.js","webpack://client/./node_modules/core-js/internals/an-object.js","webpack://client/./node_modules/core-js/internals/array-includes.js","webpack://client/./node_modules/core-js/internals/classof-raw.js","webpack://client/./node_modules/core-js/internals/classof.js","webpack://client/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://client/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://client/./node_modules/core-js/internals/create-property-descriptor.js","webpack://client/./node_modules/core-js/internals/define-built-in.js","webpack://client/./node_modules/core-js/internals/define-global-property.js","webpack://client/./node_modules/core-js/internals/descriptors.js","webpack://client/./node_modules/core-js/internals/document-create-element.js","webpack://client/./node_modules/core-js/internals/engine-user-agent.js","webpack://client/./node_modules/core-js/internals/engine-v8-version.js","webpack://client/./node_modules/core-js/internals/enum-bug-keys.js","webpack://client/./node_modules/core-js/internals/error-stack-clear.js","webpack://client/./node_modules/core-js/internals/error-stack-installable.js","webpack://client/./node_modules/core-js/internals/export.js","webpack://client/./node_modules/core-js/internals/fails.js","webpack://client/./node_modules/core-js/internals/function-apply.js","webpack://client/./node_modules/core-js/internals/function-bind-native.js","webpack://client/./node_modules/core-js/internals/function-call.js","webpack://client/./node_modules/core-js/internals/function-name.js","webpack://client/./node_modules/core-js/internals/function-uncurry-this.js","webpack://client/./node_modules/core-js/internals/get-built-in.js","webpack://client/./node_modules/core-js/internals/get-method.js","webpack://client/./node_modules/core-js/internals/global.js","webpack://client/./node_modules/core-js/internals/has-own-property.js","webpack://client/./node_modules/core-js/internals/hidden-keys.js","webpack://client/./node_modules/core-js/internals/ie8-dom-define.js","webpack://client/./node_modules/core-js/internals/indexed-object.js","webpack://client/./node_modules/core-js/internals/inherit-if-required.js","webpack://client/./node_modules/core-js/internals/inspect-source.js","webpack://client/./node_modules/core-js/internals/install-error-cause.js","webpack://client/./node_modules/core-js/internals/internal-state.js","webpack://client/./node_modules/core-js/internals/is-callable.js","webpack://client/./node_modules/core-js/internals/is-forced.js","webpack://client/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://client/./node_modules/core-js/internals/is-object.js","webpack://client/./node_modules/core-js/internals/is-pure.js","webpack://client/./node_modules/core-js/internals/is-symbol.js","webpack://client/./node_modules/core-js/internals/length-of-array-like.js","webpack://client/./node_modules/core-js/internals/make-built-in.js","webpack://client/./node_modules/core-js/internals/math-trunc.js","webpack://client/./node_modules/core-js/internals/normalize-string-argument.js","webpack://client/./node_modules/core-js/internals/object-define-property.js","webpack://client/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://client/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://client/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://client/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://client/./node_modules/core-js/internals/object-keys-internal.js","webpack://client/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://client/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://client/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://client/./node_modules/core-js/internals/own-keys.js","webpack://client/./node_modules/core-js/internals/proxy-accessor.js","webpack://client/./node_modules/core-js/internals/require-object-coercible.js","webpack://client/./node_modules/core-js/internals/shared-key.js","webpack://client/./node_modules/core-js/internals/shared-store.js","webpack://client/./node_modules/core-js/internals/shared.js","webpack://client/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://client/./node_modules/core-js/internals/to-absolute-index.js","webpack://client/./node_modules/core-js/internals/to-indexed-object.js","webpack://client/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://client/./node_modules/core-js/internals/to-length.js","webpack://client/./node_modules/core-js/internals/to-object.js","webpack://client/./node_modules/core-js/internals/to-primitive.js","webpack://client/./node_modules/core-js/internals/to-property-key.js","webpack://client/./node_modules/core-js/internals/to-string-tag-support.js","webpack://client/./node_modules/core-js/internals/to-string.js","webpack://client/./node_modules/core-js/internals/try-to-string.js","webpack://client/./node_modules/core-js/internals/uid.js","webpack://client/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://client/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://client/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://client/./node_modules/core-js/internals/well-known-symbol.js","webpack://client/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://client/./node_modules/core-js/modules/es.error.cause.js","webpack://client/../../../src/components/VToolbar/VToolbar.ts","webpack://client/../../../src/directives/scroll/index.ts","webpack://client/../../../src/mixins/scrollable/index.ts","webpack://client/../../../src/components/VAppBar/VAppBar.ts","webpack://client/../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack://client/../../../src/components/VApp/VApp.ts","webpack://client/../../../src/components/VAvatar/VAvatar.ts","webpack://client/../../../src/components/VBadge/VBadge.ts","webpack://client/../../../src/components/VProgressCircular/index.ts","webpack://client/../../../src/components/VBtn/VBtn.ts","webpack://client/../../../src/components/VBtn/index.ts","webpack://client/../../../src/components/VCard/VCard.ts","webpack://client/../../../src/components/VCard/index.ts","webpack://client/../../../src/mixins/rippleable/index.ts","webpack://client/../../../src/mixins/selectable/index.ts","webpack://client/../../../src/components/VCheckbox/VCheckbox.ts","webpack://client/../../../src/components/VDialog/VDialog.ts","webpack://client/../../../src/components/VDivider/VDivider.ts","webpack://client/../../../src/components/VForm/VForm.ts","webpack://client/../../../src/components/VGrid/VCol.ts","webpack://client/../../../src/components/VGrid/grid.ts","webpack://client/../../../src/components/VGrid/VContainer.ts","webpack://client/../../../src/components/VGrid/VRow.ts","webpack://client/../../../src/components/VGrid/VSpacer.ts","webpack://client/../../../src/components/VIcon/VIcon.ts","webpack://client/../../../src/components/VIcon/index.ts","webpack://client/../../../src/components/VResponsive/VResponsive.ts","webpack://client/../../../src/components/VResponsive/index.ts","webpack://client/../../../src/components/VImg/VImg.ts","webpack://client/../../../src/components/VMessages/VMessages.ts","webpack://client/../../../src/components/VMessages/index.ts","webpack://client/../../../src/components/VInput/VInput.ts","webpack://client/../../../src/components/VInput/index.ts","webpack://client/../../../src/components/VItemGroup/VItemGroup.ts","webpack://client/../../../src/components/VLabel/VLabel.ts","webpack://client/../../../src/components/VLabel/index.ts","webpack://client/../../../src/components/VList/VList.ts","webpack://client/../../../src/components/VList/VListItem.ts","webpack://client/../../../src/components/VList/VListItemAction.ts","webpack://client/../../../src/components/VAvatar/index.ts","webpack://client/../../../src/components/VList/VListItemAvatar.ts","webpack://client/../../../src/components/VList/VListItemIcon.ts","webpack://client/../../../src/components/VList/VListGroup.ts","webpack://client/../../../src/components/VList/VListItemGroup.ts","webpack://client/../../../src/components/VList/index.ts","webpack://client/../../../src/components/VMain/VMain.ts","webpack://client/../../../src/mixins/menuable/index.ts","webpack://client/../../../src/components/VMenu/VMenu.ts","webpack://client/../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack://client/../../../src/components/VProgressCircular/VProgressCircular.ts","webpack://client/../../../src/components/VProgressLinear/VProgressLinear.ts","webpack://client/../../../src/components/VProgressLinear/index.ts","webpack://client/../../../src/components/VSheet/VSheet.ts","webpack://client/../../../src/components/VSheet/index.ts","webpack://client/../../../src/components/VSubheader/VSubheader.ts","webpack://client/../../../src/components/VCounter/VCounter.ts","webpack://client/../../../src/components/VCounter/index.ts","webpack://client/../../../src/mixins/intersectable/index.ts","webpack://client/../../../src/components/VTextField/VTextField.ts","webpack://client/../../../src/components/VThemeProvider/VThemeProvider.ts","webpack://client/../../../src/components/VWindow/VWindow.ts","webpack://client/../../../src/components/VWindow/VWindowItem.ts","webpack://client/../../../src/components/transitions/createTransition.ts","webpack://client/../../../src/components/transitions/expand-transition.ts","webpack://client/../../../src/components/transitions/index.ts","webpack://client/../../../src/directives/click-outside/index.ts","webpack://client/../../../src/directives/intersect/index.ts","webpack://client/../../../src/directives/resize/index.ts","webpack://client/../../../src/directives/ripple/index.ts","webpack://client/../../../src/directives/touch/index.ts","webpack://client/../src/install.ts","webpack://client/../../src/locale/en.ts","webpack://client/../../../src/presets/default/index.ts","webpack://client/../../../src/services/presets/index.ts","webpack://client/../../../src/services/application/index.ts","webpack://client/../../../src/services/breakpoint/index.ts","webpack://client/../../../../src/services/icons/presets/mdi-svg.ts","webpack://client/../../../../src/services/icons/presets/md.ts","webpack://client/../../../../src/services/icons/presets/mdi.ts","webpack://client/../../../../src/services/icons/presets/fa.ts","webpack://client/../../../../src/services/icons/presets/fa4.ts","webpack://client/../../../../src/services/icons/presets/fa-svg.ts","webpack://client/../../../../src/services/icons/presets/index.ts","webpack://client/../../../src/services/icons/index.ts","webpack://client/../../../src/services/lang/index.ts","webpack://client/../../../src/util/color/transformSRGB.ts","webpack://client/../../../src/util/color/transformCIELAB.ts","webpack://client/../../../src/services/theme/utils.ts","webpack://client/../../../src/services/theme/index.ts","webpack://client/../src/framework.ts","webpack://client/../../../src/mixins/activatable/index.ts","webpack://client/../../../src/mixins/applicationable/index.ts","webpack://client/../../../src/mixins/binds-attrs/index.ts","webpack://client/../../../src/mixins/bootable/index.ts","webpack://client/../../../src/mixins/colorable/index.ts","webpack://client/../../../src/mixins/comparable/index.ts","webpack://client/../../../src/mixins/delayable/index.ts","webpack://client/../../../src/mixins/dependent/index.ts","webpack://client/../../../src/mixins/detachable/index.ts","webpack://client/../../../src/mixins/elevatable/index.ts","webpack://client/../../../src/mixins/groupable/index.ts","webpack://client/../../../src/mixins/loadable/index.ts","webpack://client/../../../src/mixins/measurable/index.ts","webpack://client/../../../src/mixins/mobile/index.ts","webpack://client/../../../src/components/VOverlay/VOverlay.ts","webpack://client/../../../src/components/VOverlay/index.ts","webpack://client/../../../src/mixins/overlayable/index.ts","webpack://client/../../../src/mixins/positionable/index.ts","webpack://client/../../../src/mixins/proxyable/index.ts","webpack://client/../../../src/mixins/registrable/index.ts","webpack://client/../../../src/mixins/returnable/index.ts","webpack://client/../../../src/mixins/roundable/index.ts","webpack://client/../../../src/mixins/routable/index.ts","webpack://client/../../../src/mixins/sizeable/index.ts","webpack://client/../../../src/mixins/ssr-bootable/index.ts","webpack://client/../../../src/mixins/stackable/index.ts","webpack://client/../../../src/mixins/themeable/index.ts","webpack://client/../../../src/mixins/toggleable/index.ts","webpack://client/../../../src/mixins/transitionable/index.ts","webpack://client/../../../src/mixins/validatable/index.ts","webpack://client/../../../src/services/goto/easing-patterns.ts","webpack://client/../../../src/services/goto/util.ts","webpack://client/../../../src/services/goto/index.ts","webpack://client/../../../src/services/service/index.ts","webpack://client/../../src/util/colorUtils.ts","webpack://client/../../src/util/console.ts","webpack://client/../../src/util/dom.ts","webpack://client/../../src/util/helpers.ts","webpack://client/../../src/util/mergeData.ts","webpack://client/../../src/util/mixins.ts","webpack://client/./node_modules/vue-router/dist/vue-router.esm.js","webpack://client/./node_modules/vue/dist/vue.runtime.esm.js"],"sourcesContent":["// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// 0, 2, 10, 30 second delays before reconnect attempts.\r\nconst DEFAULT_RETRY_DELAYS_IN_MILLISECONDS = [0, 2000, 10000, 30000, null];\r\n/** @private */\r\nexport class DefaultReconnectPolicy {\r\n constructor(retryDelays) {\r\n this._retryDelays = retryDelays !== undefined ? [...retryDelays, null] : DEFAULT_RETRY_DELAYS_IN_MILLISECONDS;\r\n }\r\n nextRetryDelayInMilliseconds(retryContext) {\r\n return this._retryDelays[retryContext.previousRetryCount];\r\n }\r\n}\r\n//# sourceMappingURL=DefaultReconnectPolicy.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Error thrown when an HTTP request fails. */\r\nexport class HttpError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n * @param {number} statusCode The HTTP status code represented by this error.\r\n */\r\n constructor(errorMessage, statusCode) {\r\n const trueProto = new.target.prototype;\r\n super(`${errorMessage}: Status code '${statusCode}'`);\r\n this.statusCode = statusCode;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when a timeout elapses. */\r\nexport class TimeoutError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.TimeoutError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage = \"A timeout occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when an action is aborted. */\r\nexport class AbortError extends Error {\r\n /** Constructs a new instance of {@link AbortError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage = \"An abort occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport is unsupported by the browser. */\r\n/** @private */\r\nexport class UnsupportedTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.UnsupportedTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'UnsupportedTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport is disabled by the browser. */\r\n/** @private */\r\nexport class DisabledTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.DisabledTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'DisabledTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport cannot be started. */\r\n/** @private */\r\nexport class FailedToStartTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToStartTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'FailedToStartTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the negotiation with the server failed to complete. */\r\n/** @private */\r\nexport class FailedToNegotiateWithServerError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToNegotiateWithServerError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n */\r\n constructor(message) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.errorType = 'FailedToNegotiateWithServerError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when multiple errors have occured. */\r\n/** @private */\r\nexport class AggregateErrors extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.AggregateErrors}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {Error[]} innerErrors The collection of errors this error is aggregating.\r\n */\r\n constructor(message, innerErrors) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.innerErrors = innerErrors;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n//# sourceMappingURL=Errors.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Represents an HTTP response. */\r\nexport class HttpResponse {\r\n constructor(statusCode, statusText, content) {\r\n this.statusCode = statusCode;\r\n this.statusText = statusText;\r\n this.content = content;\r\n }\r\n}\r\n/** Abstraction over an HTTP client.\r\n *\r\n * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms.\r\n */\r\nexport class HttpClient {\r\n get(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"GET\",\r\n url,\r\n });\r\n }\r\n post(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"POST\",\r\n url,\r\n });\r\n }\r\n delete(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"DELETE\",\r\n url,\r\n });\r\n }\r\n /** Gets all cookies that apply to the specified URL.\r\n *\r\n * @param url The URL that the cookies are valid for.\r\n * @returns {string} A string containing all the key-value cookie pairs for the specified URL.\r\n */\r\n // @ts-ignore\r\n getCookieString(url) {\r\n return \"\";\r\n }\r\n}\r\n//# sourceMappingURL=HttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** A logger that does nothing when log messages are sent to it. */\r\nexport class NullLogger {\r\n constructor() { }\r\n /** @inheritDoc */\r\n // eslint-disable-next-line\r\n log(_logLevel, _message) {\r\n }\r\n}\r\n/** The singleton instance of the {@link @microsoft/signalr.NullLogger}. */\r\nNullLogger.instance = new NullLogger();\r\n//# sourceMappingURL=Loggers.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { NullLogger } from \"./Loggers\";\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR client. */\r\nexport const VERSION = \"6.0.8\";\r\n/** @private */\r\nexport class Arg {\r\n static isRequired(val, name) {\r\n if (val === null || val === undefined) {\r\n throw new Error(`The '${name}' argument is required.`);\r\n }\r\n }\r\n static isNotEmpty(val, name) {\r\n if (!val || val.match(/^\\s*$/)) {\r\n throw new Error(`The '${name}' argument should not be empty.`);\r\n }\r\n }\r\n static isIn(val, values, name) {\r\n // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.\r\n if (!(val in values)) {\r\n throw new Error(`Unknown ${name} value: ${val}.`);\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport class Platform {\r\n // react-native has a window but no document so we should check both\r\n static get isBrowser() {\r\n return typeof window === \"object\" && typeof window.document === \"object\";\r\n }\r\n // WebWorkers don't have a window object so the isBrowser check would fail\r\n static get isWebWorker() {\r\n return typeof self === \"object\" && \"importScripts\" in self;\r\n }\r\n // react-native has a window but no document\r\n static get isReactNative() {\r\n return typeof window === \"object\" && typeof window.document === \"undefined\";\r\n }\r\n // Node apps shouldn't have a window object, but WebWorkers don't either\r\n // so we need to check for both WebWorker and window\r\n static get isNode() {\r\n return !this.isBrowser && !this.isWebWorker && !this.isReactNative;\r\n }\r\n}\r\n/** @private */\r\nexport function getDataDetail(data, includeContent) {\r\n let detail = \"\";\r\n if (isArrayBuffer(data)) {\r\n detail = `Binary data of length ${data.byteLength}`;\r\n if (includeContent) {\r\n detail += `. Content: '${formatArrayBuffer(data)}'`;\r\n }\r\n }\r\n else if (typeof data === \"string\") {\r\n detail = `String data of length ${data.length}`;\r\n if (includeContent) {\r\n detail += `. Content: '${data}'`;\r\n }\r\n }\r\n return detail;\r\n}\r\n/** @private */\r\nexport function formatArrayBuffer(data) {\r\n const view = new Uint8Array(data);\r\n // Uint8Array.map only supports returning another Uint8Array?\r\n let str = \"\";\r\n view.forEach((num) => {\r\n const pad = num < 16 ? \"0\" : \"\";\r\n str += `0x${pad}${num.toString(16)} `;\r\n });\r\n // Trim of trailing space.\r\n return str.substr(0, str.length - 1);\r\n}\r\n// Also in signalr-protocol-msgpack/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val) {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n/** @private */\r\nexport async function sendMessage(logger, transportName, httpClient, url, accessTokenFactory, content, options) {\r\n let headers = {};\r\n if (accessTokenFactory) {\r\n const token = await accessTokenFactory();\r\n if (token) {\r\n headers = {\r\n [\"Authorization\"]: `Bearer ${token}`,\r\n };\r\n }\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n logger.log(LogLevel.Trace, `(${transportName} transport) sending data. ${getDataDetail(content, options.logMessageContent)}.`);\r\n const responseType = isArrayBuffer(content) ? \"arraybuffer\" : \"text\";\r\n const response = await httpClient.post(url, {\r\n content,\r\n headers: { ...headers, ...options.headers },\r\n responseType,\r\n timeout: options.timeout,\r\n withCredentials: options.withCredentials,\r\n });\r\n logger.log(LogLevel.Trace, `(${transportName} transport) request complete. Response status: ${response.statusCode}.`);\r\n}\r\n/** @private */\r\nexport function createLogger(logger) {\r\n if (logger === undefined) {\r\n return new ConsoleLogger(LogLevel.Information);\r\n }\r\n if (logger === null) {\r\n return NullLogger.instance;\r\n }\r\n if (logger.log !== undefined) {\r\n return logger;\r\n }\r\n return new ConsoleLogger(logger);\r\n}\r\n/** @private */\r\nexport class SubjectSubscription {\r\n constructor(subject, observer) {\r\n this._subject = subject;\r\n this._observer = observer;\r\n }\r\n dispose() {\r\n const index = this._subject.observers.indexOf(this._observer);\r\n if (index > -1) {\r\n this._subject.observers.splice(index, 1);\r\n }\r\n if (this._subject.observers.length === 0 && this._subject.cancelCallback) {\r\n this._subject.cancelCallback().catch((_) => { });\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport class ConsoleLogger {\r\n constructor(minimumLogLevel) {\r\n this._minLevel = minimumLogLevel;\r\n this.out = console;\r\n }\r\n log(logLevel, message) {\r\n if (logLevel >= this._minLevel) {\r\n const msg = `[${new Date().toISOString()}] ${LogLevel[logLevel]}: ${message}`;\r\n switch (logLevel) {\r\n case LogLevel.Critical:\r\n case LogLevel.Error:\r\n this.out.error(msg);\r\n break;\r\n case LogLevel.Warning:\r\n this.out.warn(msg);\r\n break;\r\n case LogLevel.Information:\r\n this.out.info(msg);\r\n break;\r\n default:\r\n // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug\r\n this.out.log(msg);\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport function getUserAgentHeader() {\r\n let userAgentHeaderName = \"X-SignalR-User-Agent\";\r\n if (Platform.isNode) {\r\n userAgentHeaderName = \"User-Agent\";\r\n }\r\n return [userAgentHeaderName, constructUserAgent(VERSION, getOsName(), getRuntime(), getRuntimeVersion())];\r\n}\r\n/** @private */\r\nexport function constructUserAgent(version, os, runtime, runtimeVersion) {\r\n // Microsoft SignalR/[Version] ([Detailed Version]; [Operating System]; [Runtime]; [Runtime Version])\r\n let userAgent = \"Microsoft SignalR/\";\r\n const majorAndMinor = version.split(\".\");\r\n userAgent += `${majorAndMinor[0]}.${majorAndMinor[1]}`;\r\n userAgent += ` (${version}; `;\r\n if (os && os !== \"\") {\r\n userAgent += `${os}; `;\r\n }\r\n else {\r\n userAgent += \"Unknown OS; \";\r\n }\r\n userAgent += `${runtime}`;\r\n if (runtimeVersion) {\r\n userAgent += `; ${runtimeVersion}`;\r\n }\r\n else {\r\n userAgent += \"; Unknown Runtime Version\";\r\n }\r\n userAgent += \")\";\r\n return userAgent;\r\n}\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getOsName() {\r\n if (Platform.isNode) {\r\n switch (process.platform) {\r\n case \"win32\":\r\n return \"Windows NT\";\r\n case \"darwin\":\r\n return \"macOS\";\r\n case \"linux\":\r\n return \"Linux\";\r\n default:\r\n return process.platform;\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n}\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getRuntimeVersion() {\r\n if (Platform.isNode) {\r\n return process.versions.node;\r\n }\r\n return undefined;\r\n}\r\nfunction getRuntime() {\r\n if (Platform.isNode) {\r\n return \"NodeJS\";\r\n }\r\n else {\r\n return \"Browser\";\r\n }\r\n}\r\n/** @private */\r\nexport function getErrorString(e) {\r\n if (e.stack) {\r\n return e.stack;\r\n }\r\n else if (e.message) {\r\n return e.message;\r\n }\r\n return `${e}`;\r\n}\r\n/** @private */\r\nexport function getGlobalThis() {\r\n // globalThis is semi-new and not available in Node until v12\r\n if (typeof globalThis !== \"undefined\") {\r\n return globalThis;\r\n }\r\n if (typeof self !== \"undefined\") {\r\n return self;\r\n }\r\n if (typeof window !== \"undefined\") {\r\n return window;\r\n }\r\n if (typeof global !== \"undefined\") {\r\n return global;\r\n }\r\n throw new Error(\"could not find global\");\r\n}\r\n//# sourceMappingURL=Utils.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Platform, getGlobalThis } from \"./Utils\";\r\nexport class FetchHttpClient extends HttpClient {\r\n constructor(logger) {\r\n super();\r\n this._logger = logger;\r\n if (typeof fetch === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n // Cookies aren't automatically handled in Node so we need to add a CookieJar to preserve cookies across requests\r\n this._jar = new (requireFunc(\"tough-cookie\")).CookieJar();\r\n this._fetchType = requireFunc(\"node-fetch\");\r\n // node-fetch doesn't have a nice API for getting and setting cookies\r\n // fetch-cookie will wrap a fetch implementation with a default CookieJar or a provided one\r\n this._fetchType = requireFunc(\"fetch-cookie\")(this._fetchType, this._jar);\r\n }\r\n else {\r\n this._fetchType = fetch.bind(getGlobalThis());\r\n }\r\n if (typeof AbortController === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n // Node needs EventListener methods on AbortController which our custom polyfill doesn't provide\r\n this._abortControllerType = requireFunc(\"abort-controller\");\r\n }\r\n else {\r\n this._abortControllerType = AbortController;\r\n }\r\n }\r\n /** @inheritDoc */\r\n async send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n throw new AbortError();\r\n }\r\n if (!request.method) {\r\n throw new Error(\"No method defined.\");\r\n }\r\n if (!request.url) {\r\n throw new Error(\"No url defined.\");\r\n }\r\n const abortController = new this._abortControllerType();\r\n let error;\r\n // Hook our abortSignal into the abort controller\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n abortController.abort();\r\n error = new AbortError();\r\n };\r\n }\r\n // If a timeout has been passed in, setup a timeout to call abort\r\n // Type needs to be any to fit window.setTimeout and NodeJS.setTimeout\r\n let timeoutId = null;\r\n if (request.timeout) {\r\n const msTimeout = request.timeout;\r\n timeoutId = setTimeout(() => {\r\n abortController.abort();\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n error = new TimeoutError();\r\n }, msTimeout);\r\n }\r\n let response;\r\n try {\r\n response = await this._fetchType(request.url, {\r\n body: request.content,\r\n cache: \"no-cache\",\r\n credentials: request.withCredentials === true ? \"include\" : \"same-origin\",\r\n headers: {\r\n \"Content-Type\": \"text/plain;charset=UTF-8\",\r\n \"X-Requested-With\": \"XMLHttpRequest\",\r\n ...request.headers,\r\n },\r\n method: request.method,\r\n mode: \"cors\",\r\n redirect: \"follow\",\r\n signal: abortController.signal,\r\n });\r\n }\r\n catch (e) {\r\n if (error) {\r\n throw error;\r\n }\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${e}.`);\r\n throw e;\r\n }\r\n finally {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n }\r\n if (!response.ok) {\r\n const errorMessage = await deserializeContent(response, \"text\");\r\n throw new HttpError(errorMessage || response.statusText, response.status);\r\n }\r\n const content = deserializeContent(response, request.responseType);\r\n const payload = await content;\r\n return new HttpResponse(response.status, response.statusText, payload);\r\n }\r\n getCookieString(url) {\r\n let cookies = \"\";\r\n if (Platform.isNode && this._jar) {\r\n // @ts-ignore: unused variable\r\n this._jar.getCookies(url, (e, c) => cookies = c.join(\"; \"));\r\n }\r\n return cookies;\r\n }\r\n}\r\nfunction deserializeContent(response, responseType) {\r\n let content;\r\n switch (responseType) {\r\n case \"arraybuffer\":\r\n content = response.arrayBuffer();\r\n break;\r\n case \"text\":\r\n content = response.text();\r\n break;\r\n case \"blob\":\r\n case \"document\":\r\n case \"json\":\r\n throw new Error(`${responseType} is not supported.`);\r\n default:\r\n content = response.text();\r\n break;\r\n }\r\n return content;\r\n}\r\n//# sourceMappingURL=FetchHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nexport class XhrHttpClient extends HttpClient {\r\n constructor(logger) {\r\n super();\r\n this._logger = logger;\r\n }\r\n /** @inheritDoc */\r\n send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest();\r\n xhr.open(request.method, request.url, true);\r\n xhr.withCredentials = request.withCredentials === undefined ? true : request.withCredentials;\r\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n xhr.setRequestHeader(\"Content-Type\", \"text/plain;charset=UTF-8\");\r\n const headers = request.headers;\r\n if (headers) {\r\n Object.keys(headers)\r\n .forEach((header) => {\r\n xhr.setRequestHeader(header, headers[header]);\r\n });\r\n }\r\n if (request.responseType) {\r\n xhr.responseType = request.responseType;\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n xhr.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n if (request.timeout) {\r\n xhr.timeout = request.timeout;\r\n }\r\n xhr.onload = () => {\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText));\r\n }\r\n else {\r\n reject(new HttpError(xhr.response || xhr.responseText || xhr.statusText, xhr.status));\r\n }\r\n };\r\n xhr.onerror = () => {\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${xhr.status}: ${xhr.statusText}.`);\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n };\r\n xhr.ontimeout = () => {\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n reject(new TimeoutError());\r\n };\r\n xhr.send(request.content || \"\");\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=XhrHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError } from \"./Errors\";\r\nimport { FetchHttpClient } from \"./FetchHttpClient\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { Platform } from \"./Utils\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n/** Default implementation of {@link @microsoft/signalr.HttpClient}. */\r\nexport class DefaultHttpClient extends HttpClient {\r\n /** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */\r\n constructor(logger) {\r\n super();\r\n if (typeof fetch !== \"undefined\" || Platform.isNode) {\r\n this._httpClient = new FetchHttpClient(logger);\r\n }\r\n else if (typeof XMLHttpRequest !== \"undefined\") {\r\n this._httpClient = new XhrHttpClient(logger);\r\n }\r\n else {\r\n throw new Error(\"No usable HttpClient found.\");\r\n }\r\n }\r\n /** @inheritDoc */\r\n send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return this._httpClient.send(request);\r\n }\r\n getCookieString(url) {\r\n return this._httpClient.getCookieString(url);\r\n }\r\n}\r\n//# sourceMappingURL=DefaultHttpClient.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nexport class HeaderNames {\r\n}\r\nHeaderNames.Authorization = \"Authorization\";\r\nHeaderNames.Cookie = \"Cookie\";\r\n//# sourceMappingURL=HeaderNames.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// This will be treated as a bit flag in the future, so we keep it using power-of-two values.\r\n/** Specifies a specific HTTP transport type. */\r\nexport var HttpTransportType;\r\n(function (HttpTransportType) {\r\n /** Specifies no transport preference. */\r\n HttpTransportType[HttpTransportType[\"None\"] = 0] = \"None\";\r\n /** Specifies the WebSockets transport. */\r\n HttpTransportType[HttpTransportType[\"WebSockets\"] = 1] = \"WebSockets\";\r\n /** Specifies the Server-Sent Events transport. */\r\n HttpTransportType[HttpTransportType[\"ServerSentEvents\"] = 2] = \"ServerSentEvents\";\r\n /** Specifies the Long Polling transport. */\r\n HttpTransportType[HttpTransportType[\"LongPolling\"] = 4] = \"LongPolling\";\r\n})(HttpTransportType || (HttpTransportType = {}));\r\n/** Specifies the transfer format for a connection. */\r\nexport var TransferFormat;\r\n(function (TransferFormat) {\r\n /** Specifies that only text data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Text\"] = 1] = \"Text\";\r\n /** Specifies that binary data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Binary\"] = 2] = \"Binary\";\r\n})(TransferFormat || (TransferFormat = {}));\r\n//# sourceMappingURL=ITransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController\r\n// We don't actually ever use the API being polyfilled, we always use the polyfill because\r\n// it's a very new API right now.\r\n// Not exported from index.\r\n/** @private */\r\nexport class AbortController {\r\n constructor() {\r\n this._isAborted = false;\r\n this.onabort = null;\r\n }\r\n abort() {\r\n if (!this._isAborted) {\r\n this._isAborted = true;\r\n if (this.onabort) {\r\n this.onabort();\r\n }\r\n }\r\n }\r\n get signal() {\r\n return this;\r\n }\r\n get aborted() {\r\n return this._isAborted;\r\n }\r\n}\r\n//# sourceMappingURL=AbortController.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortController } from \"./AbortController\";\r\nimport { HttpError, TimeoutError } from \"./Errors\";\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, sendMessage } from \"./Utils\";\r\n// Not exported from 'index', this type is internal.\r\n/** @private */\r\nexport class LongPollingTransport {\r\n constructor(httpClient, accessTokenFactory, logger, options) {\r\n this._httpClient = httpClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logger = logger;\r\n this._pollAbort = new AbortController();\r\n this._options = options;\r\n this._running = false;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n // This is an internal type, not exported from 'index' so this is really just internal.\r\n get pollAborted() {\r\n return this._pollAbort.aborted;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._url = url;\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Connecting.\");\r\n // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)\r\n if (transferFormat === TransferFormat.Binary &&\r\n (typeof XMLHttpRequest !== \"undefined\" && typeof new XMLHttpRequest().responseType !== \"string\")) {\r\n throw new Error(\"Binary protocols over XmlHttpRequest not implementing advanced features are not supported.\");\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n const headers = { [name]: value, ...this._options.headers };\r\n const pollOptions = {\r\n abortSignal: this._pollAbort.signal,\r\n headers,\r\n timeout: 100000,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n if (transferFormat === TransferFormat.Binary) {\r\n pollOptions.responseType = \"arraybuffer\";\r\n }\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(pollOptions, token);\r\n // Make initial long polling request\r\n // Server uses first long polling request to finish initializing connection and it returns without data\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n // Mark running as false so that the poll immediately ends and runs the close logic\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n }\r\n else {\r\n this._running = true;\r\n }\r\n this._receiving = this._poll(this._url, pollOptions);\r\n }\r\n async _getAccessToken() {\r\n if (this._accessTokenFactory) {\r\n return await this._accessTokenFactory();\r\n }\r\n return null;\r\n }\r\n _updateHeaderToken(request, token) {\r\n if (!request.headers) {\r\n request.headers = {};\r\n }\r\n if (token) {\r\n request.headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n return;\r\n }\r\n if (request.headers[HeaderNames.Authorization]) {\r\n delete request.headers[HeaderNames.Authorization];\r\n }\r\n }\r\n async _poll(url, pollOptions) {\r\n try {\r\n while (this._running) {\r\n // We have to get the access token on each poll, in case it changes\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(pollOptions, token);\r\n try {\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode === 204) {\r\n this._logger.log(LogLevel.Information, \"(LongPolling transport) Poll terminated by server.\");\r\n this._running = false;\r\n }\r\n else if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n // Unexpected status code\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n }\r\n else {\r\n // Process the response\r\n if (response.content) {\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) data received. ${getDataDetail(response.content, this._options.logMessageContent)}.`);\r\n if (this.onreceive) {\r\n this.onreceive(response.content);\r\n }\r\n }\r\n else {\r\n // This is another way timeout manifest.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n if (!this._running) {\r\n // Log but disregard errors that occur after stopping\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) Poll errored after shutdown: ${e.message}`);\r\n }\r\n else {\r\n if (e instanceof TimeoutError) {\r\n // Ignore timeouts and reissue the poll.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n else {\r\n // Close the connection with the error as the result.\r\n this._closeError = e;\r\n this._running = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Polling complete.\");\r\n // We will reach here with pollAborted==false when the server returned a response causing the transport to stop.\r\n // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.\r\n if (!this.pollAborted) {\r\n this._raiseOnClose();\r\n }\r\n }\r\n }\r\n async send(data) {\r\n if (!this._running) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"LongPolling\", this._httpClient, this._url, this._accessTokenFactory, data, this._options);\r\n }\r\n async stop() {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stopping polling.\");\r\n // Tell receiving loop to stop, abort any current request, and then wait for it to finish\r\n this._running = false;\r\n this._pollAbort.abort();\r\n try {\r\n await this._receiving;\r\n // Send DELETE to clean up long polling on the server\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) sending DELETE request to ${this._url}.`);\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n const deleteOptions = {\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(deleteOptions, token);\r\n await this._httpClient.delete(this._url, deleteOptions);\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) DELETE request sent.\");\r\n }\r\n finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stop finished.\");\r\n // Raise close event here instead of in polling\r\n // It needs to happen after the DELETE request is sent\r\n this._raiseOnClose();\r\n }\r\n }\r\n _raiseOnClose() {\r\n if (this.onclose) {\r\n let logMessage = \"(LongPolling transport) Firing onclose event.\";\r\n if (this._closeError) {\r\n logMessage += \" Error: \" + this._closeError;\r\n }\r\n this._logger.log(LogLevel.Trace, logMessage);\r\n this.onclose(this._closeError);\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=LongPollingTransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform, sendMessage } from \"./Utils\";\r\n/** @private */\r\nexport class ServerSentEventsTransport {\r\n constructor(httpClient, accessTokenFactory, logger, options) {\r\n this._httpClient = httpClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logger = logger;\r\n this._options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(SSE transport) Connecting.\");\r\n // set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for send\r\n this._url = url;\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n return new Promise((resolve, reject) => {\r\n let opened = false;\r\n if (transferFormat !== TransferFormat.Text) {\r\n reject(new Error(\"The Server-Sent Events transport only supports the 'Text' transfer format\"));\r\n return;\r\n }\r\n let eventSource;\r\n if (Platform.isBrowser || Platform.isWebWorker) {\r\n eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials });\r\n }\r\n else {\r\n // Non-browser passes cookies via the dictionary\r\n const cookies = this._httpClient.getCookieString(url);\r\n const headers = {};\r\n headers.Cookie = cookies;\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials, headers: { ...headers, ...this._options.headers } });\r\n }\r\n try {\r\n eventSource.onmessage = (e) => {\r\n if (this.onreceive) {\r\n try {\r\n this._logger.log(LogLevel.Trace, `(SSE transport) data received. ${getDataDetail(e.data, this._options.logMessageContent)}.`);\r\n this.onreceive(e.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n // @ts-ignore: not using event on purpose\r\n eventSource.onerror = (e) => {\r\n // EventSource doesn't give any useful information about server side closes.\r\n if (opened) {\r\n this._close();\r\n }\r\n else {\r\n reject(new Error(\"EventSource failed to connect. The connection could not be found on the server,\"\r\n + \" either the connection ID is not present on the server, or a proxy is refusing/buffering the connection.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\"));\r\n }\r\n };\r\n eventSource.onopen = () => {\r\n this._logger.log(LogLevel.Information, `SSE connected to ${this._url}`);\r\n this._eventSource = eventSource;\r\n opened = true;\r\n resolve();\r\n };\r\n }\r\n catch (e) {\r\n reject(e);\r\n return;\r\n }\r\n });\r\n }\r\n async send(data) {\r\n if (!this._eventSource) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"SSE\", this._httpClient, this._url, this._accessTokenFactory, data, this._options);\r\n }\r\n stop() {\r\n this._close();\r\n return Promise.resolve();\r\n }\r\n _close(e) {\r\n if (this._eventSource) {\r\n this._eventSource.close();\r\n this._eventSource = undefined;\r\n if (this.onclose) {\r\n this.onclose(e);\r\n }\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=ServerSentEventsTransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform } from \"./Utils\";\r\n/** @private */\r\nexport class WebSocketTransport {\r\n constructor(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) {\r\n this._logger = logger;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logMessageContent = logMessageContent;\r\n this._webSocketConstructor = webSocketConstructor;\r\n this._httpClient = httpClient;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n this._headers = headers;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n return new Promise((resolve, reject) => {\r\n url = url.replace(/^http/, \"ws\");\r\n let webSocket;\r\n const cookies = this._httpClient.getCookieString(url);\r\n let opened = false;\r\n if (Platform.isNode) {\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n if (cookies) {\r\n headers[HeaderNames.Cookie] = `${cookies}`;\r\n }\r\n // Only pass headers when in non-browser environments\r\n webSocket = new this._webSocketConstructor(url, undefined, {\r\n headers: { ...headers, ...this._headers },\r\n });\r\n }\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new this._webSocketConstructor(url);\r\n }\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n webSocket.onopen = (_event) => {\r\n this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`);\r\n this._webSocket = webSocket;\r\n opened = true;\r\n resolve();\r\n };\r\n webSocket.onerror = (event) => {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"There was an error with the transport\";\r\n }\r\n this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`);\r\n };\r\n webSocket.onmessage = (message) => {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`);\r\n if (this.onreceive) {\r\n try {\r\n this.onreceive(message.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n webSocket.onclose = (event) => {\r\n // Don't call close handler if connection was never established\r\n // We'll reject the connect call instead\r\n if (opened) {\r\n this._close(event);\r\n }\r\n else {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"WebSocket failed to connect. The connection could not be found on the server,\"\r\n + \" either the endpoint may not be a SignalR endpoint,\"\r\n + \" the connection ID is not present on the server, or there is a proxy blocking WebSockets.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\";\r\n }\r\n reject(new Error(error));\r\n }\r\n };\r\n });\r\n }\r\n send(data) {\r\n if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);\r\n this._webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n }\r\n stop() {\r\n if (this._webSocket) {\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this._close(undefined);\r\n }\r\n return Promise.resolve();\r\n }\r\n _close(event) {\r\n // webSocket will be null if the transport did not start successfully\r\n if (this._webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this._webSocket.onclose = () => { };\r\n this._webSocket.onmessage = () => { };\r\n this._webSocket.onerror = () => { };\r\n this._webSocket.close();\r\n this._webSocket = undefined;\r\n }\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || \"no reason given\"}).`));\r\n }\r\n else if (event instanceof Error) {\r\n this.onclose(event);\r\n }\r\n else {\r\n this.onclose();\r\n }\r\n }\r\n }\r\n _isCloseEvent(event) {\r\n return event && typeof event.wasClean === \"boolean\" && typeof event.code === \"number\";\r\n }\r\n}\r\n//# sourceMappingURL=WebSocketTransport.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nimport { AggregateErrors, DisabledTransportError, FailedToNegotiateWithServerError, FailedToStartTransportError, HttpError, UnsupportedTransportError } from \"./Errors\";\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nimport { LongPollingTransport } from \"./LongPollingTransport\";\r\nimport { ServerSentEventsTransport } from \"./ServerSentEventsTransport\";\r\nimport { Arg, createLogger, getUserAgentHeader, Platform } from \"./Utils\";\r\nimport { WebSocketTransport } from \"./WebSocketTransport\";\r\nconst MAX_REDIRECTS = 100;\r\n/** @private */\r\nexport class HttpConnection {\r\n constructor(url, options = {}) {\r\n this._stopPromiseResolver = () => { };\r\n this.features = {};\r\n this._negotiateVersion = 1;\r\n Arg.isRequired(url, \"url\");\r\n this._logger = createLogger(options.logger);\r\n this.baseUrl = this._resolveUrl(url);\r\n options = options || {};\r\n options.logMessageContent = options.logMessageContent === undefined ? false : options.logMessageContent;\r\n if (typeof options.withCredentials === \"boolean\" || options.withCredentials === undefined) {\r\n options.withCredentials = options.withCredentials === undefined ? true : options.withCredentials;\r\n }\r\n else {\r\n throw new Error(\"withCredentials option was not a 'boolean' or 'undefined' value\");\r\n }\r\n options.timeout = options.timeout === undefined ? 100 * 1000 : options.timeout;\r\n let webSocketModule = null;\r\n let eventSourceModule = null;\r\n if (Platform.isNode && typeof require !== \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n webSocketModule = requireFunc(\"ws\");\r\n eventSourceModule = requireFunc(\"eventsource\");\r\n }\r\n if (!Platform.isNode && typeof WebSocket !== \"undefined\" && !options.WebSocket) {\r\n options.WebSocket = WebSocket;\r\n }\r\n else if (Platform.isNode && !options.WebSocket) {\r\n if (webSocketModule) {\r\n options.WebSocket = webSocketModule;\r\n }\r\n }\r\n if (!Platform.isNode && typeof EventSource !== \"undefined\" && !options.EventSource) {\r\n options.EventSource = EventSource;\r\n }\r\n else if (Platform.isNode && !options.EventSource) {\r\n if (typeof eventSourceModule !== \"undefined\") {\r\n options.EventSource = eventSourceModule;\r\n }\r\n }\r\n this._httpClient = options.httpClient || new DefaultHttpClient(this._logger);\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n this._connectionStarted = false;\r\n this._options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n async start(transferFormat) {\r\n transferFormat = transferFormat || TransferFormat.Binary;\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Debug, `Starting connection with transfer format '${TransferFormat[transferFormat]}'.`);\r\n if (this._connectionState !== \"Disconnected\" /* Disconnected */) {\r\n return Promise.reject(new Error(\"Cannot start an HttpConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n this._connectionState = \"Connecting\" /* Connecting */;\r\n this._startInternalPromise = this._startInternal(transferFormat);\r\n await this._startInternalPromise;\r\n // The TypeScript compiler thinks that connectionState must be Connecting here. The TypeScript compiler is wrong.\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"Failed to start the HttpConnection before stop() was called.\";\r\n this._logger.log(LogLevel.Error, message);\r\n // We cannot await stopPromise inside startInternal since stopInternal awaits the startInternalPromise.\r\n await this._stopPromise;\r\n return Promise.reject(new Error(message));\r\n }\r\n else if (this._connectionState !== \"Connected\" /* Connected */) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!\";\r\n this._logger.log(LogLevel.Error, message);\r\n return Promise.reject(new Error(message));\r\n }\r\n this._connectionStarted = true;\r\n }\r\n send(data) {\r\n if (this._connectionState !== \"Connected\" /* Connected */) {\r\n return Promise.reject(new Error(\"Cannot send data if the connection is not in the 'Connected' State.\"));\r\n }\r\n if (!this._sendQueue) {\r\n this._sendQueue = new TransportSendQueue(this.transport);\r\n }\r\n // Transport will not be null if state is connected\r\n return this._sendQueue.send(data);\r\n }\r\n async stop(error) {\r\n if (this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n this._connectionState = \"Disconnecting\" /* Disconnecting */;\r\n this._stopPromise = new Promise((resolve) => {\r\n // Don't complete stop() until stopConnection() completes.\r\n this._stopPromiseResolver = resolve;\r\n });\r\n // stopInternal should never throw so just observe it.\r\n await this._stopInternal(error);\r\n await this._stopPromise;\r\n }\r\n async _stopInternal(error) {\r\n // Set error as soon as possible otherwise there is a race between\r\n // the transport closing and providing an error and the error from a close message\r\n // We would prefer the close message error.\r\n this._stopError = error;\r\n try {\r\n await this._startInternalPromise;\r\n }\r\n catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n // The transport's onclose will trigger stopConnection which will run our onclose event.\r\n // The transport should always be set if currently connected. If it wasn't set, it's likely because\r\n // stop was called during start() and start() failed.\r\n if (this.transport) {\r\n try {\r\n await this.transport.stop();\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.transport.stop() threw error '${e}'.`);\r\n this._stopConnection();\r\n }\r\n this.transport = undefined;\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, \"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.\");\r\n }\r\n }\r\n async _startInternal(transferFormat) {\r\n // Store the original base url and the access token factory since they may change\r\n // as part of negotiating\r\n let url = this.baseUrl;\r\n this._accessTokenFactory = this._options.accessTokenFactory;\r\n try {\r\n if (this._options.skipNegotiation) {\r\n if (this._options.transport === HttpTransportType.WebSockets) {\r\n // No need to add a connection ID in this case\r\n this.transport = this._constructTransport(HttpTransportType.WebSockets);\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n await this._startTransport(url, transferFormat);\r\n }\r\n else {\r\n throw new Error(\"Negotiation can only be skipped when using the WebSocket transport directly.\");\r\n }\r\n }\r\n else {\r\n let negotiateResponse = null;\r\n let redirects = 0;\r\n do {\r\n negotiateResponse = await this._getNegotiationResponse(url);\r\n // the user tries to stop the connection when it is being started\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */ || this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n throw new Error(\"The connection was stopped during negotiation.\");\r\n }\r\n if (negotiateResponse.error) {\r\n throw new Error(negotiateResponse.error);\r\n }\r\n if (negotiateResponse.ProtocolVersion) {\r\n throw new Error(\"Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.\");\r\n }\r\n if (negotiateResponse.url) {\r\n url = negotiateResponse.url;\r\n }\r\n if (negotiateResponse.accessToken) {\r\n // Replace the current access token factory with one that uses\r\n // the returned access token\r\n const accessToken = negotiateResponse.accessToken;\r\n this._accessTokenFactory = () => accessToken;\r\n }\r\n redirects++;\r\n } while (negotiateResponse.url && redirects < MAX_REDIRECTS);\r\n if (redirects === MAX_REDIRECTS && negotiateResponse.url) {\r\n throw new Error(\"Negotiate redirection limit exceeded.\");\r\n }\r\n await this._createTransport(url, this._options.transport, negotiateResponse, transferFormat);\r\n }\r\n if (this.transport instanceof LongPollingTransport) {\r\n this.features.inherentKeepAlive = true;\r\n }\r\n if (this._connectionState === \"Connecting\" /* Connecting */) {\r\n // Ensure the connection transitions to the connected state prior to completing this.startInternalPromise.\r\n // start() will handle the case when stop was called and startInternal exits still in the disconnecting state.\r\n this._logger.log(LogLevel.Debug, \"The HttpConnection connected successfully.\");\r\n this._connectionState = \"Connected\" /* Connected */;\r\n }\r\n // stop() is waiting on us via this.startInternalPromise so keep this.transport around so it can clean up.\r\n // This is the only case startInternal can exit in neither the connected nor disconnected state because stopConnection()\r\n // will transition to the disconnected state. start() will wait for the transition using the stopPromise.\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, \"Failed to start the connection: \" + e);\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n this.transport = undefined;\r\n // if start fails, any active calls to stop assume that start will complete the stop promise\r\n this._stopPromiseResolver();\r\n return Promise.reject(e);\r\n }\r\n }\r\n async _getNegotiationResponse(url) {\r\n const headers = {};\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n }\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n const negotiateUrl = this._resolveNegotiateUrl(url);\r\n this._logger.log(LogLevel.Debug, `Sending negotiation request: ${negotiateUrl}.`);\r\n try {\r\n const response = await this._httpClient.post(negotiateUrl, {\r\n content: \"\",\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n });\r\n if (response.statusCode !== 200) {\r\n return Promise.reject(new Error(`Unexpected status code returned from negotiate '${response.statusCode}'`));\r\n }\r\n const negotiateResponse = JSON.parse(response.content);\r\n if (!negotiateResponse.negotiateVersion || negotiateResponse.negotiateVersion < 1) {\r\n // Negotiate version 0 doesn't use connectionToken\r\n // So we set it equal to connectionId so all our logic can use connectionToken without being aware of the negotiate version\r\n negotiateResponse.connectionToken = negotiateResponse.connectionId;\r\n }\r\n return negotiateResponse;\r\n }\r\n catch (e) {\r\n let errorMessage = \"Failed to complete negotiation with the server: \" + e;\r\n if (e instanceof HttpError) {\r\n if (e.statusCode === 404) {\r\n errorMessage = errorMessage + \" Either this is not a SignalR endpoint or there is a proxy blocking the connection.\";\r\n }\r\n }\r\n this._logger.log(LogLevel.Error, errorMessage);\r\n return Promise.reject(new FailedToNegotiateWithServerError(errorMessage));\r\n }\r\n }\r\n _createConnectUrl(url, connectionToken) {\r\n if (!connectionToken) {\r\n return url;\r\n }\r\n return url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + `id=${connectionToken}`;\r\n }\r\n async _createTransport(url, requestedTransport, negotiateResponse, requestedTransferFormat) {\r\n let connectUrl = this._createConnectUrl(url, negotiateResponse.connectionToken);\r\n if (this._isITransport(requestedTransport)) {\r\n this._logger.log(LogLevel.Debug, \"Connection was provided an instance of ITransport, using that directly.\");\r\n this.transport = requestedTransport;\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiateResponse.connectionId;\r\n return;\r\n }\r\n const transportExceptions = [];\r\n const transports = negotiateResponse.availableTransports || [];\r\n let negotiate = negotiateResponse;\r\n for (const endpoint of transports) {\r\n const transportOrError = this._resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat);\r\n if (transportOrError instanceof Error) {\r\n // Store the error and continue, we don't want to cause a re-negotiate in these cases\r\n transportExceptions.push(`${endpoint.transport} failed:`);\r\n transportExceptions.push(transportOrError);\r\n }\r\n else if (this._isITransport(transportOrError)) {\r\n this.transport = transportOrError;\r\n if (!negotiate) {\r\n try {\r\n negotiate = await this._getNegotiationResponse(url);\r\n }\r\n catch (ex) {\r\n return Promise.reject(ex);\r\n }\r\n connectUrl = this._createConnectUrl(url, negotiate.connectionToken);\r\n }\r\n try {\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiate.connectionId;\r\n return;\r\n }\r\n catch (ex) {\r\n this._logger.log(LogLevel.Error, `Failed to start the transport '${endpoint.transport}': ${ex}`);\r\n negotiate = undefined;\r\n transportExceptions.push(new FailedToStartTransportError(`${endpoint.transport} failed: ${ex}`, HttpTransportType[endpoint.transport]));\r\n if (this._connectionState !== \"Connecting\" /* Connecting */) {\r\n const message = \"Failed to select transport before stop() was called.\";\r\n this._logger.log(LogLevel.Debug, message);\r\n return Promise.reject(new Error(message));\r\n }\r\n }\r\n }\r\n }\r\n if (transportExceptions.length > 0) {\r\n return Promise.reject(new AggregateErrors(`Unable to connect to the server with any of the available transports. ${transportExceptions.join(\" \")}`, transportExceptions));\r\n }\r\n return Promise.reject(new Error(\"None of the transports supported by the client are supported by the server.\"));\r\n }\r\n _constructTransport(transport) {\r\n switch (transport) {\r\n case HttpTransportType.WebSockets:\r\n if (!this._options.WebSocket) {\r\n throw new Error(\"'WebSocket' is not supported in your environment.\");\r\n }\r\n return new WebSocketTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options.logMessageContent, this._options.WebSocket, this._options.headers || {});\r\n case HttpTransportType.ServerSentEvents:\r\n if (!this._options.EventSource) {\r\n throw new Error(\"'EventSource' is not supported in your environment.\");\r\n }\r\n return new ServerSentEventsTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options);\r\n case HttpTransportType.LongPolling:\r\n return new LongPollingTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options);\r\n default:\r\n throw new Error(`Unknown transport: ${transport}.`);\r\n }\r\n }\r\n _startTransport(url, transferFormat) {\r\n this.transport.onreceive = this.onreceive;\r\n this.transport.onclose = (e) => this._stopConnection(e);\r\n return this.transport.connect(url, transferFormat);\r\n }\r\n _resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat) {\r\n const transport = HttpTransportType[endpoint.transport];\r\n if (transport === null || transport === undefined) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n return new Error(`Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n }\r\n else {\r\n if (transportMatches(requestedTransport, transport)) {\r\n const transferFormats = endpoint.transferFormats.map((s) => TransferFormat[s]);\r\n if (transferFormats.indexOf(requestedTransferFormat) >= 0) {\r\n if ((transport === HttpTransportType.WebSockets && !this._options.WebSocket) ||\r\n (transport === HttpTransportType.ServerSentEvents && !this._options.EventSource)) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it is not supported in your environment.'`);\r\n return new UnsupportedTransportError(`'${HttpTransportType[transport]}' is not supported in your environment.`, transport);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Selecting transport '${HttpTransportType[transport]}'.`);\r\n try {\r\n return this._constructTransport(transport);\r\n }\r\n catch (ex) {\r\n return ex;\r\n }\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it does not support the requested transfer format '${TransferFormat[requestedTransferFormat]}'.`);\r\n return new Error(`'${HttpTransportType[transport]}' does not support ${TransferFormat[requestedTransferFormat]}.`);\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it was disabled by the client.`);\r\n return new DisabledTransportError(`'${HttpTransportType[transport]}' is disabled by the client.`, transport);\r\n }\r\n }\r\n }\r\n _isITransport(transport) {\r\n return transport && typeof (transport) === \"object\" && \"connect\" in transport;\r\n }\r\n _stopConnection(error) {\r\n this._logger.log(LogLevel.Debug, `HttpConnection.stopConnection(${error}) called while in state ${this._connectionState}.`);\r\n this.transport = undefined;\r\n // If we have a stopError, it takes precedence over the error from the transport\r\n error = this._stopError || error;\r\n this._stopError = undefined;\r\n if (this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is already in the disconnected state.`);\r\n return;\r\n }\r\n if (this._connectionState === \"Connecting\" /* Connecting */) {\r\n this._logger.log(LogLevel.Warning, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is still in the connecting state.`);\r\n throw new Error(`HttpConnection.stopConnection(${error}) was called while the connection is still in the connecting state.`);\r\n }\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n // A call to stop() induced this call to stopConnection and needs to be completed.\r\n // Any stop() awaiters will be scheduled to continue after the onclose callback fires.\r\n this._stopPromiseResolver();\r\n }\r\n if (error) {\r\n this._logger.log(LogLevel.Error, `Connection disconnected with error '${error}'.`);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Information, \"Connection disconnected.\");\r\n }\r\n if (this._sendQueue) {\r\n this._sendQueue.stop().catch((e) => {\r\n this._logger.log(LogLevel.Error, `TransportSendQueue.stop() threw error '${e}'.`);\r\n });\r\n this._sendQueue = undefined;\r\n }\r\n this.connectionId = undefined;\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n if (this._connectionStarted) {\r\n this._connectionStarted = false;\r\n try {\r\n if (this.onclose) {\r\n this.onclose(error);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.onclose(${error}) threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n _resolveUrl(url) {\r\n // startsWith is not supported in IE\r\n if (url.lastIndexOf(\"https://\", 0) === 0 || url.lastIndexOf(\"http://\", 0) === 0) {\r\n return url;\r\n }\r\n if (!Platform.isBrowser) {\r\n throw new Error(`Cannot resolve '${url}'.`);\r\n }\r\n // Setting the url to the href propery of an anchor tag handles normalization\r\n // for us. There are 3 main cases.\r\n // 1. Relative path normalization e.g \"b\" -> \"http://localhost:5000/a/b\"\r\n // 2. Absolute path normalization e.g \"/a/b\" -> \"http://localhost:5000/a/b\"\r\n // 3. Networkpath reference normalization e.g \"//localhost:5000/a/b\" -> \"http://localhost:5000/a/b\"\r\n const aTag = window.document.createElement(\"a\");\r\n aTag.href = url;\r\n this._logger.log(LogLevel.Information, `Normalizing '${url}' to '${aTag.href}'.`);\r\n return aTag.href;\r\n }\r\n _resolveNegotiateUrl(url) {\r\n const index = url.indexOf(\"?\");\r\n let negotiateUrl = url.substring(0, index === -1 ? url.length : index);\r\n if (negotiateUrl[negotiateUrl.length - 1] !== \"/\") {\r\n negotiateUrl += \"/\";\r\n }\r\n negotiateUrl += \"negotiate\";\r\n negotiateUrl += index === -1 ? \"\" : url.substring(index);\r\n if (negotiateUrl.indexOf(\"negotiateVersion\") === -1) {\r\n negotiateUrl += index === -1 ? \"?\" : \"&\";\r\n negotiateUrl += \"negotiateVersion=\" + this._negotiateVersion;\r\n }\r\n return negotiateUrl;\r\n }\r\n}\r\nfunction transportMatches(requestedTransport, actualTransport) {\r\n return !requestedTransport || ((actualTransport & requestedTransport) !== 0);\r\n}\r\n/** @private */\r\nexport class TransportSendQueue {\r\n constructor(_transport) {\r\n this._transport = _transport;\r\n this._buffer = [];\r\n this._executing = true;\r\n this._sendBufferedData = new PromiseSource();\r\n this._transportResult = new PromiseSource();\r\n this._sendLoopPromise = this._sendLoop();\r\n }\r\n send(data) {\r\n this._bufferData(data);\r\n if (!this._transportResult) {\r\n this._transportResult = new PromiseSource();\r\n }\r\n return this._transportResult.promise;\r\n }\r\n stop() {\r\n this._executing = false;\r\n this._sendBufferedData.resolve();\r\n return this._sendLoopPromise;\r\n }\r\n _bufferData(data) {\r\n if (this._buffer.length && typeof (this._buffer[0]) !== typeof (data)) {\r\n throw new Error(`Expected data to be of type ${typeof (this._buffer)} but was of type ${typeof (data)}`);\r\n }\r\n this._buffer.push(data);\r\n this._sendBufferedData.resolve();\r\n }\r\n async _sendLoop() {\r\n while (true) {\r\n await this._sendBufferedData.promise;\r\n if (!this._executing) {\r\n if (this._transportResult) {\r\n this._transportResult.reject(\"Connection stopped.\");\r\n }\r\n break;\r\n }\r\n this._sendBufferedData = new PromiseSource();\r\n const transportResult = this._transportResult;\r\n this._transportResult = undefined;\r\n const data = typeof (this._buffer[0]) === \"string\" ?\r\n this._buffer.join(\"\") :\r\n TransportSendQueue._concatBuffers(this._buffer);\r\n this._buffer.length = 0;\r\n try {\r\n await this._transport.send(data);\r\n transportResult.resolve();\r\n }\r\n catch (error) {\r\n transportResult.reject(error);\r\n }\r\n }\r\n }\r\n static _concatBuffers(arrayBuffers) {\r\n const totalLength = arrayBuffers.map((b) => b.byteLength).reduce((a, b) => a + b);\r\n const result = new Uint8Array(totalLength);\r\n let offset = 0;\r\n for (const item of arrayBuffers) {\r\n result.set(new Uint8Array(item), offset);\r\n offset += item.byteLength;\r\n }\r\n return result.buffer;\r\n }\r\n}\r\nclass PromiseSource {\r\n constructor() {\r\n this.promise = new Promise((resolve, reject) => [this._resolver, this._rejecter] = [resolve, reject]);\r\n }\r\n resolve() {\r\n this._resolver();\r\n }\r\n reject(reason) {\r\n this._rejecter(reason);\r\n }\r\n}\r\n//# sourceMappingURL=HttpConnection.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// Not exported from index\r\n/** @private */\r\nexport class TextMessageFormat {\r\n static write(output) {\r\n return `${output}${TextMessageFormat.RecordSeparator}`;\r\n }\r\n static parse(input) {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n const messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n }\r\n}\r\nTextMessageFormat.RecordSeparatorCode = 0x1e;\r\nTextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n//# sourceMappingURL=TextMessageFormat.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n/** @private */\r\nexport class HandshakeProtocol {\r\n // Handshake request is always JSON\r\n writeHandshakeRequest(handshakeRequest) {\r\n return TextMessageFormat.write(JSON.stringify(handshakeRequest));\r\n }\r\n parseHandshakeResponse(data) {\r\n let messageData;\r\n let remainingData;\r\n if (isArrayBuffer(data)) {\r\n // Format is binary but still need to read JSON text from handshake response\r\n const binaryData = new Uint8Array(data);\r\n const separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = String.fromCharCode.apply(null, Array.prototype.slice.call(binaryData.slice(0, responseLength)));\r\n remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null;\r\n }\r\n else {\r\n const textData = data;\r\n const separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = textData.substring(0, responseLength);\r\n remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null;\r\n }\r\n // At this point we should have just the single handshake message\r\n const messages = TextMessageFormat.parse(messageData);\r\n const response = JSON.parse(messages[0]);\r\n if (response.type) {\r\n throw new Error(\"Expected a handshake response from the server.\");\r\n }\r\n const responseMessage = response;\r\n // multiple messages could have arrived with handshake\r\n // return additional data to be parsed as usual, or null if all parsed\r\n return [remainingData, responseMessage];\r\n }\r\n}\r\n//# sourceMappingURL=HandshakeProtocol.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Defines the type of a Hub Message. */\r\nexport var MessageType;\r\n(function (MessageType) {\r\n /** Indicates the message is an Invocation message and implements the {@link @microsoft/signalr.InvocationMessage} interface. */\r\n MessageType[MessageType[\"Invocation\"] = 1] = \"Invocation\";\r\n /** Indicates the message is a StreamItem message and implements the {@link @microsoft/signalr.StreamItemMessage} interface. */\r\n MessageType[MessageType[\"StreamItem\"] = 2] = \"StreamItem\";\r\n /** Indicates the message is a Completion message and implements the {@link @microsoft/signalr.CompletionMessage} interface. */\r\n MessageType[MessageType[\"Completion\"] = 3] = \"Completion\";\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @microsoft/signalr.StreamInvocationMessage} interface. */\r\n MessageType[MessageType[\"StreamInvocation\"] = 4] = \"StreamInvocation\";\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @microsoft/signalr.CancelInvocationMessage} interface. */\r\n MessageType[MessageType[\"CancelInvocation\"] = 5] = \"CancelInvocation\";\r\n /** Indicates the message is a Ping message and implements the {@link @microsoft/signalr.PingMessage} interface. */\r\n MessageType[MessageType[\"Ping\"] = 6] = \"Ping\";\r\n /** Indicates the message is a Close message and implements the {@link @microsoft/signalr.CloseMessage} interface. */\r\n MessageType[MessageType[\"Close\"] = 7] = \"Close\";\r\n})(MessageType || (MessageType = {}));\r\n//# sourceMappingURL=IHubProtocol.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { SubjectSubscription } from \"./Utils\";\r\n/** Stream implementation to stream items to the server. */\r\nexport class Subject {\r\n constructor() {\r\n this.observers = [];\r\n }\r\n next(item) {\r\n for (const observer of this.observers) {\r\n observer.next(item);\r\n }\r\n }\r\n error(err) {\r\n for (const observer of this.observers) {\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n }\r\n complete() {\r\n for (const observer of this.observers) {\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n }\r\n subscribe(observer) {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n }\r\n}\r\n//# sourceMappingURL=Subject.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HandshakeProtocol } from \"./HandshakeProtocol\";\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Subject } from \"./Subject\";\r\nimport { Arg, getErrorString, Platform } from \"./Utils\";\r\nconst DEFAULT_TIMEOUT_IN_MS = 30 * 1000;\r\nconst DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000;\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport var HubConnectionState;\r\n(function (HubConnectionState) {\r\n /** The hub connection is disconnected. */\r\n HubConnectionState[\"Disconnected\"] = \"Disconnected\";\r\n /** The hub connection is connecting. */\r\n HubConnectionState[\"Connecting\"] = \"Connecting\";\r\n /** The hub connection is connected. */\r\n HubConnectionState[\"Connected\"] = \"Connected\";\r\n /** The hub connection is disconnecting. */\r\n HubConnectionState[\"Disconnecting\"] = \"Disconnecting\";\r\n /** The hub connection is reconnecting. */\r\n HubConnectionState[\"Reconnecting\"] = \"Reconnecting\";\r\n})(HubConnectionState || (HubConnectionState = {}));\r\n/** Represents a connection to a SignalR Hub. */\r\nexport class HubConnection {\r\n constructor(connection, logger, protocol, reconnectPolicy) {\r\n this._nextKeepAlive = 0;\r\n this._freezeEventListener = () => {\r\n this._logger.log(LogLevel.Warning, \"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep\");\r\n };\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n this._logger = logger;\r\n this._protocol = protocol;\r\n this.connection = connection;\r\n this._reconnectPolicy = reconnectPolicy;\r\n this._handshakeProtocol = new HandshakeProtocol();\r\n this.connection.onreceive = (data) => this._processIncomingData(data);\r\n this.connection.onclose = (error) => this._connectionClosed(error);\r\n this._callbacks = {};\r\n this._methods = {};\r\n this._closedCallbacks = [];\r\n this._reconnectingCallbacks = [];\r\n this._reconnectedCallbacks = [];\r\n this._invocationId = 0;\r\n this._receivedHandshakeResponse = false;\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n this._cachedPingMessage = this._protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n static create(connection, logger, protocol, reconnectPolicy) {\r\n return new HubConnection(connection, logger, protocol, reconnectPolicy);\r\n }\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get state() {\r\n return this._connectionState;\r\n }\r\n /** Represents the connection id of the {@link HubConnection} on the server. The connection id will be null when the connection is either\r\n * in the disconnected state or if the negotiation step was skipped.\r\n */\r\n get connectionId() {\r\n return this.connection ? (this.connection.connectionId || null) : null;\r\n }\r\n /** Indicates the url of the {@link HubConnection} to the server. */\r\n get baseUrl() {\r\n return this.connection.baseUrl || \"\";\r\n }\r\n /**\r\n * Sets a new url for the HubConnection. Note that the url can only be changed when the connection is in either the Disconnected or\r\n * Reconnecting states.\r\n * @param {string} url The url to connect to.\r\n */\r\n set baseUrl(url) {\r\n if (this._connectionState !== HubConnectionState.Disconnected && this._connectionState !== HubConnectionState.Reconnecting) {\r\n throw new Error(\"The HubConnection must be in the Disconnected or Reconnecting state to change the url.\");\r\n }\r\n if (!url) {\r\n throw new Error(\"The HubConnection url must be a valid url.\");\r\n }\r\n this.connection.baseUrl = url;\r\n }\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n start() {\r\n this._startPromise = this._startWithStateTransitions();\r\n return this._startPromise;\r\n }\r\n async _startWithStateTransitions() {\r\n if (this._connectionState !== HubConnectionState.Disconnected) {\r\n return Promise.reject(new Error(\"Cannot start a HubConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n this._connectionState = HubConnectionState.Connecting;\r\n this._logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n try {\r\n await this._startInternal();\r\n if (Platform.isBrowser) {\r\n // Log when the browser freezes the tab so users know why their connection unexpectedly stopped working\r\n window.document.addEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n this._connectionState = HubConnectionState.Connected;\r\n this._connectionStarted = true;\r\n this._logger.log(LogLevel.Debug, \"HubConnection connected successfully.\");\r\n }\r\n catch (e) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._logger.log(LogLevel.Debug, `HubConnection failed to start successfully because of error '${e}'.`);\r\n return Promise.reject(e);\r\n }\r\n }\r\n async _startInternal() {\r\n this._stopDuringStartError = undefined;\r\n this._receivedHandshakeResponse = false;\r\n // Set up the promise before any connection is (re)started otherwise it could race with received messages\r\n const handshakePromise = new Promise((resolve, reject) => {\r\n this._handshakeResolver = resolve;\r\n this._handshakeRejecter = reject;\r\n });\r\n await this.connection.start(this._protocol.transferFormat);\r\n try {\r\n const handshakeRequest = {\r\n protocol: this._protocol.name,\r\n version: this._protocol.version,\r\n };\r\n this._logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(handshakeRequest));\r\n this._logger.log(LogLevel.Information, `Using HubProtocol '${this._protocol.name}'.`);\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this._cleanupTimeout();\r\n this._resetTimeoutPeriod();\r\n this._resetKeepAliveInterval();\r\n await handshakePromise;\r\n // It's important to check the stopDuringStartError instead of just relying on the handshakePromise\r\n // being rejected on close, because this continuation can run after both the handshake completed successfully\r\n // and the connection was closed.\r\n if (this._stopDuringStartError) {\r\n // It's important to throw instead of returning a rejected promise, because we don't want to allow any state\r\n // transitions to occur between now and the calling code observing the exceptions. Returning a rejected promise\r\n // will cause the calling continuation to get scheduled to run later.\r\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\r\n throw this._stopDuringStartError;\r\n }\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Debug, `Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`);\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n // HttpConnection.stop() should not complete until after the onclose callback is invoked.\r\n // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes.\r\n await this.connection.stop(e);\r\n throw e;\r\n }\r\n }\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n async stop() {\r\n // Capture the start promise before the connection might be restarted in an onclose callback.\r\n const startPromise = this._startPromise;\r\n this._stopPromise = this._stopInternal();\r\n await this._stopPromise;\r\n try {\r\n // Awaiting undefined continues immediately\r\n await startPromise;\r\n }\r\n catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n }\r\n _stopInternal(error) {\r\n if (this._connectionState === HubConnectionState.Disconnected) {\r\n this._logger.log(LogLevel.Debug, `Call to HubConnection.stop(${error}) ignored because it is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n this._connectionState = HubConnectionState.Disconnecting;\r\n this._logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n if (this._reconnectDelayHandle) {\r\n // We're in a reconnect delay which means the underlying connection is currently already stopped.\r\n // Just clear the handle to stop the reconnect loop (which no one is waiting on thankfully) and\r\n // fire the onclose callbacks.\r\n this._logger.log(LogLevel.Debug, \"Connection stopped during reconnect delay. Done reconnecting.\");\r\n clearTimeout(this._reconnectDelayHandle);\r\n this._reconnectDelayHandle = undefined;\r\n this._completeClose();\r\n return Promise.resolve();\r\n }\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n this._stopDuringStartError = error || new Error(\"The connection was stopped before the hub handshake could complete.\");\r\n // HttpConnection.stop() should not complete until after either HttpConnection.start() fails\r\n // or the onclose callback is invoked. The onclose callback will transition the HubConnection\r\n // to the disconnected state if need be before HttpConnection.stop() completes.\r\n return this.connection.stop(error);\r\n }\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n stream(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createStreamInvocation(methodName, args, streamIds);\r\n // eslint-disable-next-line prefer-const\r\n let promiseQueue;\r\n const subject = new Subject();\r\n subject.cancelCallback = () => {\r\n const cancelInvocation = this._createCancelInvocation(invocationDescriptor.invocationId);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n return promiseQueue.then(() => {\r\n return this._sendWithProtocol(cancelInvocation);\r\n });\r\n };\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n }\r\n else {\r\n subject.complete();\r\n }\r\n }\r\n else {\r\n subject.next((invocationEvent.item));\r\n }\r\n }\r\n };\r\n promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n subject.error(e);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n this._launchStreams(streams, promiseQueue);\r\n return subject;\r\n }\r\n _sendMessage(message) {\r\n this._resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n }\r\n /**\r\n * Sends a js object to the server.\r\n * @param message The js object to serialize and send.\r\n */\r\n _sendWithProtocol(message) {\r\n return this._sendMessage(this._protocol.writeMessage(message));\r\n }\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n send(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const sendPromise = this._sendWithProtocol(this._createInvocation(methodName, args, true, streamIds));\r\n this._launchStreams(streams, sendPromise);\r\n return sendPromise;\r\n }\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n invoke(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createInvocation(methodName, args, false, streamIds);\r\n const p = new Promise((resolve, reject) => {\r\n // invocationId will always have a value for a non-blocking invocation\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => {\r\n if (error) {\r\n reject(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n }\r\n else {\r\n resolve(invocationEvent.result);\r\n }\r\n }\r\n else {\r\n reject(new Error(`Unexpected message type: ${invocationEvent.type}`));\r\n }\r\n }\r\n };\r\n const promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n this._launchStreams(streams, promiseQueue);\r\n });\r\n return p;\r\n }\r\n /** Registers a handler that will be invoked when the hub method with the specified method name is invoked.\r\n *\r\n * @param {string} methodName The name of the hub method to define.\r\n * @param {Function} newMethod The handler that will be raised when the hub method is invoked.\r\n */\r\n on(methodName, newMethod) {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n if (!this._methods[methodName]) {\r\n this._methods[methodName] = [];\r\n }\r\n // Preventing adding the same handler multiple times.\r\n if (this._methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n this._methods[methodName].push(newMethod);\r\n }\r\n off(methodName, method) {\r\n if (!methodName) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n const handlers = this._methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n const removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n }\r\n else {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any).\r\n */\r\n onclose(callback) {\r\n if (callback) {\r\n this._closedCallbacks.push(callback);\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection starts reconnecting.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection starts reconnecting. Optionally receives a single argument containing the error that caused the connection to start reconnecting (if any).\r\n */\r\n onreconnecting(callback) {\r\n if (callback) {\r\n this._reconnectingCallbacks.push(callback);\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection successfully reconnects.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection successfully reconnects.\r\n */\r\n onreconnected(callback) {\r\n if (callback) {\r\n this._reconnectedCallbacks.push(callback);\r\n }\r\n }\r\n _processIncomingData(data) {\r\n this._cleanupTimeout();\r\n if (!this._receivedHandshakeResponse) {\r\n data = this._processHandshakeResponse(data);\r\n this._receivedHandshakeResponse = true;\r\n }\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n const messages = this._protocol.parseMessages(data, this._logger);\r\n for (const message of messages) {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n this._invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion: {\r\n const callback = this._callbacks[message.invocationId];\r\n if (callback) {\r\n if (message.type === MessageType.Completion) {\r\n delete this._callbacks[message.invocationId];\r\n }\r\n try {\r\n callback(message);\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream callback threw error: ${getErrorString(e)}`);\r\n }\r\n }\r\n break;\r\n }\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close: {\r\n this._logger.log(LogLevel.Information, \"Close message received from server.\");\r\n const error = message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined;\r\n if (message.allowReconnect === true) {\r\n // It feels wrong not to await connection.stop() here, but processIncomingData is called as part of an onreceive callback which is not async,\r\n // this is already the behavior for serverTimeout(), and HttpConnection.Stop() should catch and log all possible exceptions.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(error);\r\n }\r\n else {\r\n // We cannot await stopInternal() here, but subsequent calls to stop() will await this if stopInternal() is still ongoing.\r\n this._stopPromise = this._stopInternal(error);\r\n }\r\n break;\r\n }\r\n default:\r\n this._logger.log(LogLevel.Warning, `Invalid message type: ${message.type}.`);\r\n break;\r\n }\r\n }\r\n }\r\n this._resetTimeoutPeriod();\r\n }\r\n _processHandshakeResponse(data) {\r\n let responseMessage;\r\n let remainingData;\r\n try {\r\n [remainingData, responseMessage] = this._handshakeProtocol.parseHandshakeResponse(data);\r\n }\r\n catch (e) {\r\n const message = \"Error parsing handshake response: \" + e;\r\n this._logger.log(LogLevel.Error, message);\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n const message = \"Server returned handshake error: \" + responseMessage.error;\r\n this._logger.log(LogLevel.Error, message);\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n this._handshakeResolver();\r\n return remainingData;\r\n }\r\n _resetKeepAliveInterval() {\r\n if (this.connection.features.inherentKeepAlive) {\r\n return;\r\n }\r\n // Set the time we want the next keep alive to be sent\r\n // Timer will be setup on next message receive\r\n this._nextKeepAlive = new Date().getTime() + this.keepAliveIntervalInMilliseconds;\r\n this._cleanupPingTimer();\r\n }\r\n _resetTimeoutPeriod() {\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this._timeoutHandle = setTimeout(() => this.serverTimeout(), this.serverTimeoutInMilliseconds);\r\n // Set keepAlive timer if there isn't one\r\n if (this._pingServerHandle === undefined) {\r\n let nextPing = this._nextKeepAlive - new Date().getTime();\r\n if (nextPing < 0) {\r\n nextPing = 0;\r\n }\r\n // The timer needs to be set from a networking callback to avoid Chrome timer throttling from causing timers to run once a minute\r\n this._pingServerHandle = setTimeout(async () => {\r\n if (this._connectionState === HubConnectionState.Connected) {\r\n try {\r\n await this._sendMessage(this._cachedPingMessage);\r\n }\r\n catch {\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this._cleanupPingTimer();\r\n }\r\n }\r\n }, nextPing);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n serverTimeout() {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise. This could trigger reconnecting.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n }\r\n _invokeClientMethod(invocationMessage) {\r\n const methods = this._methods[invocationMessage.target.toLowerCase()];\r\n if (methods) {\r\n try {\r\n methods.forEach((m) => m.apply(this, invocationMessage.arguments));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `A callback for the method ${invocationMessage.target.toLowerCase()} threw error '${e}'.`);\r\n }\r\n if (invocationMessage.invocationId) {\r\n // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.\r\n const message = \"Server requested a response, which is not supported in this version of the client.\";\r\n this._logger.log(LogLevel.Error, message);\r\n // We don't want to wait on the stop itself.\r\n this._stopPromise = this._stopInternal(new Error(message));\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Warning, `No client method with the name '${invocationMessage.target}' found.`);\r\n }\r\n }\r\n _connectionClosed(error) {\r\n this._logger.log(LogLevel.Debug, `HubConnection.connectionClosed(${error}) called while in state ${this._connectionState}.`);\r\n // Triggering this.handshakeRejecter is insufficient because it could already be resolved without the continuation having run yet.\r\n this._stopDuringStartError = this._stopDuringStartError || error || new Error(\"The underlying connection was closed before the hub handshake could complete.\");\r\n // If the handshake is in progress, start will be waiting for the handshake promise, so we complete it.\r\n // If it has already completed, this should just noop.\r\n if (this._handshakeResolver) {\r\n this._handshakeResolver();\r\n }\r\n this._cancelCallbacksWithError(error || new Error(\"Invocation canceled due to the underlying connection being closed.\"));\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose(error);\r\n }\r\n else if (this._connectionState === HubConnectionState.Connected && this._reconnectPolicy) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._reconnect(error);\r\n }\r\n else if (this._connectionState === HubConnectionState.Connected) {\r\n this._completeClose(error);\r\n }\r\n // If none of the above if conditions were true were called the HubConnection must be in either:\r\n // 1. The Connecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail it.\r\n // 2. The Reconnecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail the current reconnect attempt\r\n // and potentially continue the reconnect() loop.\r\n // 3. The Disconnected state in which case we're already done.\r\n }\r\n _completeClose(error) {\r\n if (this._connectionStarted) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n if (Platform.isBrowser) {\r\n window.document.removeEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n try {\r\n this._closedCallbacks.forEach((c) => c.apply(this, [error]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onclose callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n async _reconnect(error) {\r\n const reconnectStartTime = Date.now();\r\n let previousReconnectAttempts = 0;\r\n let retryError = error !== undefined ? error : new Error(\"Attempting to reconnect due to a unknown error.\");\r\n let nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, 0, retryError);\r\n if (nextRetryDelay === null) {\r\n this._logger.log(LogLevel.Debug, \"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.\");\r\n this._completeClose(error);\r\n return;\r\n }\r\n this._connectionState = HubConnectionState.Reconnecting;\r\n if (error) {\r\n this._logger.log(LogLevel.Information, `Connection reconnecting because of error '${error}'.`);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Information, \"Connection reconnecting.\");\r\n }\r\n if (this._reconnectingCallbacks.length !== 0) {\r\n try {\r\n this._reconnectingCallbacks.forEach((c) => c.apply(this, [error]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnecting callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n // Exit early if an onreconnecting callback called connection.stop().\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.\");\r\n return;\r\n }\r\n }\r\n while (nextRetryDelay !== null) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt number ${previousReconnectAttempts} will start in ${nextRetryDelay} ms.`);\r\n await new Promise((resolve) => {\r\n this._reconnectDelayHandle = setTimeout(resolve, nextRetryDelay);\r\n });\r\n this._reconnectDelayHandle = undefined;\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state during reconnect delay. Done reconnecting.\");\r\n return;\r\n }\r\n try {\r\n await this._startInternal();\r\n this._connectionState = HubConnectionState.Connected;\r\n this._logger.log(LogLevel.Information, \"HubConnection reconnected successfully.\");\r\n if (this._reconnectedCallbacks.length !== 0) {\r\n try {\r\n this._reconnectedCallbacks.forEach((c) => c.apply(this, [this.connection.connectionId]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`);\r\n }\r\n }\r\n return;\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt failed because of error '${e}'.`);\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, `Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`);\r\n // The TypeScript compiler thinks that connectionState must be Connected here. The TypeScript compiler is wrong.\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose();\r\n }\r\n return;\r\n }\r\n retryError = e instanceof Error ? e : new Error(e.toString());\r\n nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError);\r\n }\r\n }\r\n this._logger.log(LogLevel.Information, `Reconnect retries have been exhausted after ${Date.now() - reconnectStartTime} ms and ${previousReconnectAttempts} failed attempts. Connection disconnecting.`);\r\n this._completeClose();\r\n }\r\n _getNextRetryDelay(previousRetryCount, elapsedMilliseconds, retryReason) {\r\n try {\r\n return this._reconnectPolicy.nextRetryDelayInMilliseconds({\r\n elapsedMilliseconds,\r\n previousRetryCount,\r\n retryReason,\r\n });\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `IRetryPolicy.nextRetryDelayInMilliseconds(${previousRetryCount}, ${elapsedMilliseconds}) threw error '${e}'.`);\r\n return null;\r\n }\r\n }\r\n _cancelCallbacksWithError(error) {\r\n const callbacks = this._callbacks;\r\n this._callbacks = {};\r\n Object.keys(callbacks)\r\n .forEach((key) => {\r\n const callback = callbacks[key];\r\n try {\r\n callback(null, error);\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream 'error' callback called with '${error}' threw error: ${getErrorString(e)}`);\r\n }\r\n });\r\n }\r\n _cleanupPingTimer() {\r\n if (this._pingServerHandle) {\r\n clearTimeout(this._pingServerHandle);\r\n this._pingServerHandle = undefined;\r\n }\r\n }\r\n _cleanupTimeout() {\r\n if (this._timeoutHandle) {\r\n clearTimeout(this._timeoutHandle);\r\n }\r\n }\r\n _createInvocation(methodName, args, nonblocking, streamIds) {\r\n if (nonblocking) {\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n else {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n }\r\n _launchStreams(streams, promiseQueue) {\r\n if (streams.length === 0) {\r\n return;\r\n }\r\n // Synchronize stream data so they arrive in-order on the server\r\n if (!promiseQueue) {\r\n promiseQueue = Promise.resolve();\r\n }\r\n // We want to iterate over the keys, since the keys are the stream ids\r\n // eslint-disable-next-line guard-for-in\r\n for (const streamId in streams) {\r\n streams[streamId].subscribe({\r\n complete: () => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId)));\r\n },\r\n error: (err) => {\r\n let message;\r\n if (err instanceof Error) {\r\n message = err.message;\r\n }\r\n else if (err && err.toString) {\r\n message = err.toString();\r\n }\r\n else {\r\n message = \"Unknown error\";\r\n }\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId, message)));\r\n },\r\n next: (item) => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createStreamItemMessage(streamId, item)));\r\n },\r\n });\r\n }\r\n }\r\n _replaceStreamingParams(args) {\r\n const streams = [];\r\n const streamIds = [];\r\n for (let i = 0; i < args.length; i++) {\r\n const argument = args[i];\r\n if (this._isObservable(argument)) {\r\n const streamId = this._invocationId;\r\n this._invocationId++;\r\n // Store the stream for later use\r\n streams[streamId] = argument;\r\n streamIds.push(streamId.toString());\r\n // remove stream from args\r\n args.splice(i, 1);\r\n }\r\n }\r\n return [streams, streamIds];\r\n }\r\n _isObservable(arg) {\r\n // This allows other stream implementations to just work (like rxjs)\r\n return arg && arg.subscribe && typeof arg.subscribe === \"function\";\r\n }\r\n _createStreamInvocation(methodName, args, streamIds) {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n }\r\n _createCancelInvocation(id) {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n }\r\n _createStreamItemMessage(id, item) {\r\n return {\r\n invocationId: id,\r\n item,\r\n type: MessageType.StreamItem,\r\n };\r\n }\r\n _createCompletionMessage(id, error, result) {\r\n if (error) {\r\n return {\r\n error,\r\n invocationId: id,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n return {\r\n invocationId: id,\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n}\r\n//# sourceMappingURL=HubConnection.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nconst JSON_HUB_PROTOCOL_NAME = \"json\";\r\n/** Implements the JSON Hub Protocol. */\r\nexport class JsonHubProtocol {\r\n constructor() {\r\n /** @inheritDoc */\r\n this.name = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n this.version = 1;\r\n /** @inheritDoc */\r\n this.transferFormat = TransferFormat.Text;\r\n }\r\n /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n parseMessages(input, logger) {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n if (!input) {\r\n return [];\r\n }\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n // Parse the messages\r\n const messages = TextMessageFormat.parse(input);\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = JSON.parse(message);\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this._isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this._isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this._isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n return hubMessages;\r\n }\r\n /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n writeMessage(message) {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n }\r\n _isInvocationMessage(message) {\r\n this._assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n if (message.invocationId !== undefined) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n }\r\n _isStreamItemMessage(message) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n }\r\n _isCompletionMessage(message) {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n if (!message.result && message.error) {\r\n this._assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n }\r\n _assertNotEmptyString(value, errorMessage) {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=JsonHubProtocol.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { DefaultReconnectPolicy } from \"./DefaultReconnectPolicy\";\r\nimport { HttpConnection } from \"./HttpConnection\";\r\nimport { HubConnection } from \"./HubConnection\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { Arg, ConsoleLogger } from \"./Utils\";\r\nconst LogLevelNameMapping = {\r\n trace: LogLevel.Trace,\r\n debug: LogLevel.Debug,\r\n info: LogLevel.Information,\r\n information: LogLevel.Information,\r\n warn: LogLevel.Warning,\r\n warning: LogLevel.Warning,\r\n error: LogLevel.Error,\r\n critical: LogLevel.Critical,\r\n none: LogLevel.None,\r\n};\r\nfunction parseLogLevel(name) {\r\n // Case-insensitive matching via lower-casing\r\n // Yes, I know case-folding is a complicated problem in Unicode, but we only support\r\n // the ASCII strings defined in LogLevelNameMapping anyway, so it's fine -anurse.\r\n const mapping = LogLevelNameMapping[name.toLowerCase()];\r\n if (typeof mapping !== \"undefined\") {\r\n return mapping;\r\n }\r\n else {\r\n throw new Error(`Unknown log level: ${name}`);\r\n }\r\n}\r\n/** A builder for configuring {@link @microsoft/signalr.HubConnection} instances. */\r\nexport class HubConnectionBuilder {\r\n configureLogging(logging) {\r\n Arg.isRequired(logging, \"logging\");\r\n if (isLogger(logging)) {\r\n this.logger = logging;\r\n }\r\n else if (typeof logging === \"string\") {\r\n const logLevel = parseLogLevel(logging);\r\n this.logger = new ConsoleLogger(logLevel);\r\n }\r\n else {\r\n this.logger = new ConsoleLogger(logging);\r\n }\r\n return this;\r\n }\r\n withUrl(url, transportTypeOrOptions) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isNotEmpty(url, \"url\");\r\n this.url = url;\r\n // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed\r\n // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.\r\n if (typeof transportTypeOrOptions === \"object\") {\r\n this.httpConnectionOptions = { ...this.httpConnectionOptions, ...transportTypeOrOptions };\r\n }\r\n else {\r\n this.httpConnectionOptions = {\r\n ...this.httpConnectionOptions,\r\n transport: transportTypeOrOptions,\r\n };\r\n }\r\n return this;\r\n }\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use the specified Hub Protocol.\r\n *\r\n * @param {IHubProtocol} protocol The {@link @microsoft/signalr.IHubProtocol} implementation to use.\r\n */\r\n withHubProtocol(protocol) {\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.protocol = protocol;\r\n return this;\r\n }\r\n withAutomaticReconnect(retryDelaysOrReconnectPolicy) {\r\n if (this.reconnectPolicy) {\r\n throw new Error(\"A reconnectPolicy has already been set.\");\r\n }\r\n if (!retryDelaysOrReconnectPolicy) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy();\r\n }\r\n else if (Array.isArray(retryDelaysOrReconnectPolicy)) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy(retryDelaysOrReconnectPolicy);\r\n }\r\n else {\r\n this.reconnectPolicy = retryDelaysOrReconnectPolicy;\r\n }\r\n return this;\r\n }\r\n /** Creates a {@link @microsoft/signalr.HubConnection} from the configuration options specified in this builder.\r\n *\r\n * @returns {HubConnection} The configured {@link @microsoft/signalr.HubConnection}.\r\n */\r\n build() {\r\n // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one\r\n // provided to configureLogger\r\n const httpConnectionOptions = this.httpConnectionOptions || {};\r\n // If it's 'null', the user **explicitly** asked for null, don't mess with it.\r\n if (httpConnectionOptions.logger === undefined) {\r\n // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.\r\n httpConnectionOptions.logger = this.logger;\r\n }\r\n // Now create the connection\r\n if (!this.url) {\r\n throw new Error(\"The 'HubConnectionBuilder.withUrl' method must be called before building the connection.\");\r\n }\r\n const connection = new HttpConnection(this.url, httpConnectionOptions);\r\n return HubConnection.create(connection, this.logger || NullLogger.instance, this.protocol || new JsonHubProtocol(), this.reconnectPolicy);\r\n }\r\n}\r\nfunction isLogger(logger) {\r\n return logger.log !== undefined;\r\n}\r\n//# sourceMappingURL=HubConnectionBuilder.js.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here.\r\n/** Indicates the severity of a log message.\r\n *\r\n * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc.\r\n */\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n /** Log level for very low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n /** Log level for low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\r\n /** Log level for informational diagnostic messages. */\r\n LogLevel[LogLevel[\"Information\"] = 2] = \"Information\";\r\n /** Log level for diagnostic messages that indicate a non-fatal problem. */\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n /** Log level for diagnostic messages that indicate a failure in the current operation. */\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */\r\n LogLevel[LogLevel[\"Critical\"] = 5] = \"Critical\";\r\n /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */\r\n LogLevel[LogLevel[\"None\"] = 6] = \"None\";\r\n})(LogLevel || (LogLevel = {}));\r\n//# sourceMappingURL=ILogger.js.map","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\n\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar SPECIAL_DOCUMENT_ALL = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = SPECIAL_DOCUMENT_ALL ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n hideOnScroll (val: boolean) {\n this.isActive = !val || this.currentScroll < this.computedScrollThreshold\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","import './VAvatar.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n Colorable,\n Measurable,\n Roundable,\n /* @vue/component */\n).extend({\n name: 'v-avatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n size: {\n type: [Number, String],\n default: 48,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-avatar--left': this.left,\n 'v-avatar--right': this.right,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return {\n height: convertToUnit(this.size),\n minWidth: convertToUnit(this.size),\n width: convertToUnit(this.size),\n ...this.measurableStyles,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-avatar',\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n }\n\n return h('div', this.setBackgroundColor(this.color, data), this.$slots.default)\n },\n})\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, this.$slots.default)\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n raised: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.options.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n const style: Dictionary = {\n ...VSheet.options.computed.styles.call(this),\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n },\n },\n\n methods: {\n genProgress () {\n const render = Loadable.options.methods.genProgress.call(this)\n\n if (!render) return null\n\n return this.$createElement('div', {\n staticClass: 'v-card__progress',\n key: 'progress',\n }, [render])\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.attrs = data.attrs || {}\n data.attrs.tabindex = 0\n }\n\n return h(tag, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n this.$slots.default,\n ])\n },\n})\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","import './VIcon.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Sizeable from '../../mixins/sizeable'\nimport Themeable from '../../mixins/themeable'\n\n// Util\nimport { convertToUnit, keys, remapInternalIcon } from '../../util/helpers'\n\n// Types\nimport Vue, { CreateElement, VNode, VNodeChildren, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { VuetifyIcon, VuetifyIconComponent } from 'vuetify/types/services/icons'\n\nenum SIZE_MAP {\n xSmall = '12px',\n small = '16px',\n default = '24px',\n medium = '28px',\n large = '36px',\n xLarge = '40px'\n}\n\nfunction isFontAwesome5 (iconType: string): boolean {\n return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val))\n}\n\nfunction isSvgPath (icon: string): boolean {\n return (/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\\dz]$/i.test(icon) && icon.length > 4)\n}\n\nconst VIcon = mixins(\n BindsAttrs,\n Colorable,\n Sizeable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-icon',\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n left: Boolean,\n right: Boolean,\n size: [Number, String],\n tag: {\n type: String,\n required: false,\n default: 'i',\n },\n },\n\n computed: {\n medium () {\n return false\n },\n hasClickListener (): boolean {\n return Boolean(\n this.listeners$.click || this.listeners$['!click']\n )\n },\n },\n\n methods: {\n getIcon (): VuetifyIcon {\n let iconName = ''\n if (this.$slots.default) iconName = this.$slots.default[0].text!.trim()\n\n return remapInternalIcon(this, iconName)\n },\n getSize (): string | undefined {\n const sizes = {\n xSmall: this.xSmall,\n small: this.small,\n medium: this.medium,\n large: this.large,\n xLarge: this.xLarge,\n }\n\n const explicitSize = keys(sizes).find(key => sizes[key])\n\n return (\n (explicitSize && SIZE_MAP[explicitSize]) || convertToUnit(this.size)\n )\n },\n // Component data for both font icon and SVG wrapper span\n getDefaultData (): VNodeData {\n return {\n staticClass: 'v-icon notranslate',\n class: {\n 'v-icon--disabled': this.disabled,\n 'v-icon--left': this.left,\n 'v-icon--link': this.hasClickListener,\n 'v-icon--right': this.right,\n 'v-icon--dense': this.dense,\n },\n attrs: {\n 'aria-hidden': !this.hasClickListener,\n disabled: this.hasClickListener && this.disabled,\n type: this.hasClickListener ? 'button' : undefined,\n ...this.attrs$,\n },\n on: this.listeners$,\n }\n },\n getSvgWrapperData () {\n const fontSize = this.getSize()\n const wrapperData = {\n ...this.getDefaultData(),\n style: fontSize ? {\n fontSize,\n height: fontSize,\n width: fontSize,\n } : undefined,\n }\n this.applyColors(wrapperData)\n\n return wrapperData\n },\n applyColors (data: VNodeData): void {\n data.class = { ...data.class, ...this.themeClasses }\n this.setTextColor(this.color, data)\n },\n renderFontIcon (icon: string, h: CreateElement): VNode {\n const newChildren: VNodeChildren = []\n const data = this.getDefaultData()\n\n let iconType = 'material-icons'\n // Material Icon delimiter is _\n // https://material.io/icons/\n const delimiterIndex = icon.indexOf('-')\n const isMaterialIcon = delimiterIndex <= -1\n\n if (isMaterialIcon) {\n // Material icon uses ligatures.\n newChildren.push(icon)\n } else {\n iconType = icon.slice(0, delimiterIndex)\n if (isFontAwesome5(iconType)) iconType = ''\n }\n\n data.class[iconType] = true\n data.class[icon] = !isMaterialIcon\n\n const fontSize = this.getSize()\n if (fontSize) data.style = { fontSize }\n\n this.applyColors(data)\n\n return h(this.hasClickListener ? 'button' : this.tag, data, newChildren)\n },\n renderSvgIcon (icon: string, h: CreateElement): VNode {\n const svgData: VNodeData = {\n class: 'v-icon__svg',\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 24 24',\n role: 'img',\n 'aria-hidden': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n svgData.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h('svg', svgData, [\n h('path', {\n attrs: {\n d: icon,\n },\n }),\n ]),\n ])\n },\n renderSvgIconComponent (\n icon: VuetifyIconComponent,\n h: CreateElement\n ): VNode {\n const data: VNodeData = {\n class: {\n 'v-icon__component': true,\n },\n }\n\n const size = this.getSize()\n if (size) {\n data.style = {\n fontSize: size,\n height: size,\n width: size,\n }\n }\n\n this.applyColors(data)\n\n const component = icon.component\n data.props = icon.props\n data.nativeOn = data.on\n\n return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [\n h(component, data),\n ])\n },\n },\n\n render (h: CreateElement): VNode {\n const icon = this.getIcon()\n\n if (typeof icon === 'string') {\n if (isSvgPath(icon)) {\n return this.renderSvgIcon(icon, h)\n }\n return this.renderFontIcon(icon, h)\n }\n\n return this.renderSvgIconComponent(icon, h)\n },\n})\n\nexport default Vue.extend({\n name: 'v-icon',\n\n $_wrapperFor: VIcon,\n\n functional: true,\n\n render (h, { data, children }): VNode {\n let iconName = ''\n\n // Support usage of v-text and v-html\n if (data.domProps) {\n iconName = data.domProps.textContent ||\n data.domProps.innerHTML ||\n iconName\n\n // Remove nodes so it doesn't\n // overwrite our changes\n delete data.domProps.textContent\n delete data.domProps.innerHTML\n }\n\n return h(VIcon, data, iconName ? [iconName] : children)\n },\n})\n","import VIcon from './VIcon'\n\nexport { VIcon }\nexport default VIcon\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","// Styles\nimport './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const data = mergeData({\n attrs: {\n 'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","// Styles\nimport './VList.sass'\nimport VListGroup from './VListGroup'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VListGroupInstance = InstanceType\n\ninterface options extends InstanceType {\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default VSheet.extend().extend({\n name: 'v-list',\n\n provide (): object {\n return {\n isInList: true,\n list: this,\n }\n },\n\n inject: {\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n props: {\n dense: Boolean,\n disabled: Boolean,\n expand: Boolean,\n flat: Boolean,\n nav: Boolean,\n rounded: Boolean,\n subheader: Boolean,\n threeLine: Boolean,\n twoLine: Boolean,\n },\n\n data: () => ({\n groups: [] as VListGroupInstance[],\n }),\n\n computed: {\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-list--dense': this.dense,\n 'v-list--disabled': this.disabled,\n 'v-list--flat': this.flat,\n 'v-list--nav': this.nav,\n 'v-list--rounded': this.rounded,\n 'v-list--subheader': this.subheader,\n 'v-list--two-line': this.twoLine,\n 'v-list--three-line': this.threeLine,\n }\n },\n },\n\n methods: {\n register (content: VListGroupInstance) {\n this.groups.push(content)\n },\n unregister (content: VListGroupInstance) {\n const index = this.groups.findIndex(g => g._uid === content._uid)\n\n if (index > -1) this.groups.splice(index, 1)\n },\n listClick (uid: number) {\n if (this.expand) return\n\n for (const group of this.groups) {\n group.toggle(uid)\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-list',\n class: this.classes,\n style: this.styles,\n attrs: {\n role: this.isInNav || this.isInMenu ? undefined : 'list',\n ...this.attrs$,\n },\n }\n\n return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default])\n },\n})\n","// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-action',\n\n functional: true,\n\n render (h, { data, children = [] }): VNode {\n data.staticClass = data.staticClass ? `v-list-item__action ${data.staticClass}` : 'v-list-item__action'\n const filteredChild = children.filter(VNode => {\n return VNode.isComment === false && VNode.text !== ' '\n })\n if (filteredChild.length > 1) data.staticClass += ' v-list-item__action--stack'\n\n return h('div', data, children)\n },\n})\n","import VAvatar from './VAvatar'\n\nexport { VAvatar }\nexport default VAvatar\n","// Components\nimport VAvatar from '../VAvatar'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default VAvatar.extend({\n name: 'v-list-item-avatar',\n\n props: {\n horizontal: Boolean,\n size: {\n type: [Number, String],\n default: 40,\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-item__avatar--horizontal': this.horizontal,\n ...VAvatar.options.computed.classes.call(this),\n 'v-avatar--tile': this.tile || this.horizontal,\n }\n },\n },\n\n render (h): VNode {\n const render = VAvatar.options.render.call(this, h)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-list-item__avatar'\n\n return render\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-list-item-icon',\n\n functional: true,\n\n render (h, { data, children }): VNode {\n data.staticClass = (`v-list-item__icon ${data.staticClass || ''}`).trim()\n\n return h('div', data, children)\n },\n})\n","// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType\n\ninterface options extends ExtractVue {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return this.$createElement(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n\n if (!icon && !this.$slots.appendIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__append-icon',\n }, [\n this.$slots.appendIcon || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return this.$createElement(VListItem, {\n staticClass: 'v-list-group__header',\n attrs: {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n },\n class: {\n [this.activeClass]: this.isActive,\n },\n props: {\n inputValue: this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.listeners$,\n click: this.click,\n },\n }, [\n this.genPrependIcon(),\n this.$slots.activator,\n this.genAppendIcon(),\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n this.$createElement('div', {\n staticClass: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n\n if (!icon && !this.$slots.prependIcon) return null\n\n return this.$createElement(VListItemIcon, {\n staticClass: 'v-list-group__header__prepend-icon',\n }, [\n this.$slots.prependIcon || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n","// Styles\nimport './VListItemGroup.sass'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItemGroup,\n Colorable\n).extend({\n name: 'v-list-item-group',\n\n provide () {\n return {\n isInGroup: true,\n listItemGroup: this,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-list-item-group': true,\n }\n },\n },\n\n methods: {\n genData (): object {\n return this.setTextColor(this.color, {\n ...BaseItemGroup.options.methods.genData.call(this),\n attrs: {\n role: 'listbox',\n },\n })\n },\n },\n})\n","import { createSimpleFunctional } from '../../util/helpers'\n\nimport VList from './VList'\nimport VListGroup from './VListGroup'\nimport VListItem from './VListItem'\nimport VListItemGroup from './VListItemGroup'\nimport VListItemAction from './VListItemAction'\nimport VListItemAvatar from './VListItemAvatar'\nimport VListItemIcon from './VListItemIcon'\n\nexport const VListItemActionText = createSimpleFunctional('v-list-item__action-text', 'span')\nexport const VListItemContent = createSimpleFunctional('v-list-item__content', 'div')\nexport const VListItemTitle = createSimpleFunctional('v-list-item__title', 'div')\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item__subtitle', 'div')\n\nexport {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemAvatar,\n VListItemIcon,\n VListItemGroup,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VList,\n VListGroup,\n VListItem,\n VListItemAction,\n VListItemActionText,\n VListItemAvatar,\n VListItemContent,\n VListItemGroup,\n VListItemIcon,\n VListItemSubtitle,\n VListItemTitle,\n },\n}\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Mixins\nimport Stackable from '../stackable'\nimport { factory as positionableFactory } from '../positionable'\nimport Activatable from '../activatable'\nimport Detachable from '../detachable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Stackable,\n positionableFactory(['top', 'right', 'bottom', 'left', 'absolute']),\n Activatable,\n Detachable,\n)\n\ninterface dimensions {\n top: number\n left: number\n bottom: number\n right: number\n width: number\n height: number\n offsetTop: number\n scrollHeight: number\n offsetLeft: number\n}\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n dimensions: {\n activator: dimensions\n content: dimensions\n }\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n activatorNode: [] as VNode[],\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n relativeYOffset: 0,\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += activatorLeft\n if (this.left || (this.$vuetify.rtl && !this.right)) left -= (minWidth - a.width)\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n absoluteYOffset (): number {\n return this.pageYOffset - this.relativeYOffset\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n\n if (this.hasWindow) {\n window.addEventListener('resize', this.updateDimensions, false)\n }\n },\n\n beforeDestroy () {\n if (this.hasWindow) {\n window.removeEventListener('resize', this.updateDimensions, false)\n }\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: this.positionY || this.absoluteY,\n offsetLeft: this.positionX || this.absoluteX,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.absoluteYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.absoluteYOffset && !this.allowOverflow) {\n top = this.absoluteYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) {\n this.activatorFixed = false\n return\n }\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n if (onClick) {\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n if (this.$refs.content) {\n if (this.$refs.content.offsetParent) {\n const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent)\n\n this.relativeYOffset = window.pageYOffset + offsetRect.top\n dimensions.activator.top -= this.relativeYOffset\n dimensions.activator.left -= window.pageXOffset + offsetRect.left\n }\n\n dimensions.content = this.measure(this.$refs.content)\n }\n\n this.dimensions = dimensions\n })\n },\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, this.$slots.default)\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","// Styles\nimport './VCounter.sass'\n\n// Mixins\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-counter',\n\n functional: true,\n\n props: {\n value: {\n type: [Number, String],\n default: '',\n },\n max: [Number, String],\n },\n\n render (h, ctx): VNode {\n const { props } = ctx\n const max = parseInt(props.max, 10)\n const value = parseInt(props.value, 10)\n const content = max ? `${value} / ${max}` : String(props.value)\n const isGreater = max && (value > max)\n\n return h('div', {\n staticClass: 'v-counter',\n class: {\n 'error--text': isGreater,\n ...functionalThemeClasses(ctx),\n },\n }, content)\n },\n})\n","import VCounter from './VCounter'\n\nexport { VCounter }\nexport default VCounter\n","// Directives\nimport Intersect from '../../directives/intersect'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\nexport default function intersectable (options: { onVisible: string[] }) {\n return Vue.extend({\n name: 'intersectable',\n\n data: () => ({\n isIntersecting: false,\n }),\n\n mounted () {\n Intersect.inserted(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n destroyed () {\n Intersect.unbind(this.$el as HTMLElement, {\n name: 'intersect',\n value: this.onObserve,\n }, this.$vnode)\n },\n\n methods: {\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isIntersecting = isIntersecting\n\n if (!isIntersecting) return\n\n for (let i = 0, length = options.onVisible.length; i < length; i++) {\n const callback = (this as any)[options.onVisible[i]]\n\n if (typeof callback === 'function') {\n callback()\n continue\n }\n\n consoleWarn(options.onVisible[i] + ' method is not available on the instance but referenced in intersectable mixin options')\n }\n },\n },\n })\n}\n","// Styles\nimport './VTextField.sass'\n\n// Extensions\nimport VInput from '../VInput'\n\n// Components\nimport VCounter from '../VCounter'\nimport VLabel from '../VLabel'\n\n// Mixins\nimport Intersectable from '../../mixins/intersectable'\nimport Loadable from '../../mixins/loadable'\nimport Validatable from '../../mixins/validatable'\n\n// Directives\nimport resize from '../../directives/resize'\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { attachedRoot } from '../../util/dom'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking, consoleWarn } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, PropType } from 'vue/types'\n\nconst baseMixins = mixins(\n VInput,\n Intersectable({\n onVisible: [\n 'onResize',\n 'tryAutofocus',\n ],\n }),\n Loadable,\n)\ninterface options extends InstanceType {\n $refs: {\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-text-field',\n\n directives: {\n resize,\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n appendOuterIcon: String,\n autofocus: Boolean,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n counter: [Boolean, Number, String],\n counterValue: Function as PropType<(value: any) => number>,\n filled: Boolean,\n flat: Boolean,\n fullWidth: Boolean,\n label: String,\n outlined: Boolean,\n placeholder: String,\n prefix: String,\n prependInnerIcon: String,\n persistentPlaceholder: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n singleLine: Boolean,\n solo: Boolean,\n soloInverted: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n },\n\n data: () => ({\n badInput: false,\n labelWidth: 0,\n prefixWidth: 0,\n prependWidth: 0,\n initialValue: null,\n isBooted: false,\n isClearing: false,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-text-field': true,\n 'v-text-field--full-width': this.fullWidth,\n 'v-text-field--prefix': this.prefix,\n 'v-text-field--single-line': this.isSingle,\n 'v-text-field--solo': this.isSolo,\n 'v-text-field--solo-inverted': this.soloInverted,\n 'v-text-field--solo-flat': this.flat,\n 'v-text-field--filled': this.filled,\n 'v-text-field--is-booted': this.isBooted,\n 'v-text-field--enclosed': this.isEnclosed,\n 'v-text-field--reverse': this.reverse,\n 'v-text-field--outlined': this.outlined,\n 'v-text-field--placeholder': this.placeholder,\n 'v-text-field--rounded': this.rounded,\n 'v-text-field--shaped': this.shaped,\n }\n },\n computedColor (): string | undefined {\n const computedColor = Validatable.options.computed.computedColor.call(this)\n\n if (!this.soloInverted || !this.isFocused) return computedColor\n\n return this.color || 'primary'\n },\n computedCounterValue (): number {\n if (typeof this.counterValue === 'function') {\n return this.counterValue(this.internalValue)\n }\n return [...(this.internalValue || '').toString()].length\n },\n hasCounter (): boolean {\n return this.counter !== false && this.counter != null\n },\n hasDetails (): boolean {\n return VInput.options.computed.hasDetails.call(this) || this.hasCounter\n },\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit('input', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.lazyValue?.toString().length > 0 || this.badInput\n },\n isEnclosed (): boolean {\n return (\n this.filled ||\n this.isSolo ||\n this.outlined\n )\n },\n isLabelActive (): boolean {\n return this.isDirty || dirtyTypes.includes(this.type)\n },\n isSingle (): boolean {\n return (\n this.isSolo ||\n this.singleLine ||\n this.fullWidth ||\n // https://material.io/components/text-fields/#filled-text-field\n (this.filled && !this.hasLabel)\n )\n },\n isSolo (): boolean {\n return this.solo || this.soloInverted\n },\n labelPosition (): Record<'left' | 'right', string | number | undefined> {\n let offset = (this.prefix && !this.labelValue) ? this.prefixWidth : 0\n\n if (this.labelValue && this.prependWidth) offset -= this.prependWidth\n\n return (this.$vuetify.rtl === this.reverse) ? {\n left: offset,\n right: 'auto',\n } : {\n left: 'auto',\n right: offset,\n }\n },\n showLabel (): boolean {\n return this.hasLabel && !(this.isSingle && this.labelValue)\n },\n labelValue (): boolean {\n return this.isFocused || this.isLabelActive || this.persistentPlaceholder\n },\n },\n\n watch: {\n // labelValue: 'setLabelWidth', // moved to mounted, see #11533\n outlined: 'setLabelWidth',\n label () {\n this.$nextTick(this.setLabelWidth)\n },\n prefix () {\n this.$nextTick(this.setPrefixWidth)\n },\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('box')) {\n breaking('box', 'filled', this)\n }\n\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n /* istanbul ignore if */\n if (this.shaped && !(this.filled || this.outlined || this.isSolo)) {\n consoleWarn('shaped should be used with either filled or outlined', this)\n }\n },\n\n mounted () {\n // #11533\n this.$watch(() => this.labelValue, this.setLabelWidth)\n this.autofocus && this.tryAutofocus()\n requestAnimationFrame(() => {\n this.isBooted = true\n requestAnimationFrame(() => {\n if (!this.isIntersecting) {\n this.onResize()\n }\n })\n })\n },\n\n methods: {\n /** @public */\n focus () {\n this.onFocus()\n },\n /** @public */\n blur (e?: Event) {\n // https://github.com/vuetifyjs/vuetify/issues/5913\n // Safari tab order gets broken if called synchronous\n window.requestAnimationFrame(() => {\n this.$refs.input && this.$refs.input.blur()\n })\n },\n clearableCallback () {\n this.$refs.input && this.$refs.input.focus()\n this.$nextTick(() => this.internalValue = null)\n },\n genAppendSlot () {\n const slot = []\n\n if (this.$slots['append-outer']) {\n slot.push(this.$slots['append-outer'] as VNode[])\n } else if (this.appendOuterIcon) {\n slot.push(this.genIcon('appendOuter'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n genPrependInnerSlot () {\n const slot = []\n\n if (this.$slots['prepend-inner']) {\n slot.push(this.$slots['prepend-inner'] as VNode[])\n } else if (this.prependInnerIcon) {\n slot.push(this.genIcon('prependInner'))\n }\n\n return this.genSlot('prepend', 'inner', slot)\n },\n genIconSlot () {\n const slot = []\n\n if (this.$slots.append) {\n slot.push(this.$slots.append as VNode[])\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'inner', slot)\n },\n genInputSlot () {\n const input = VInput.options.methods.genInputSlot.call(this)\n\n const prepend = this.genPrependInnerSlot()\n\n if (prepend) {\n input.children = input.children || []\n input.children.unshift(prepend)\n }\n\n return input\n },\n genClearIcon () {\n if (!this.clearable) return null\n\n // if the text field has no content then don't display the clear icon.\n // We add an empty div because other controls depend on a ref to append inner\n if (!this.isDirty) {\n return this.genSlot('append', 'inner', [\n this.$createElement('div'),\n ])\n }\n\n return this.genSlot('append', 'inner', [\n this.genIcon('clear', this.clearableCallback),\n ])\n },\n genCounter () {\n if (!this.hasCounter) return null\n\n const max = this.counter === true ? this.attrs$.maxlength : this.counter\n\n const props = {\n dark: this.dark,\n light: this.light,\n max,\n value: this.computedCounterValue,\n }\n\n return this.$scopedSlots.counter?.({ props }) ?? this.$createElement(VCounter, { props })\n },\n genControl () {\n return VInput.options.methods.genControl.call(this)\n },\n genDefaultSlot () {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(),\n this.genClearIcon(),\n this.genIconSlot(),\n this.genProgress(),\n ]\n },\n genFieldset () {\n if (!this.outlined) return null\n\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLabel () {\n if (!this.showLabel) return null\n\n const data = {\n props: {\n absolute: true,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: !this.isSingle && (this.isFocused || !!this.validationState),\n for: this.computedId,\n left: this.labelPosition.left,\n light: this.light,\n right: this.labelPosition.right,\n value: this.labelValue,\n },\n }\n\n return this.$createElement(VLabel, data, this.$slots.label || this.label)\n },\n genLegend () {\n const width = !this.singleLine && (this.labelValue || this.isDirty) ? this.labelWidth : 0\n const span = this.$createElement('span', {\n domProps: { innerHTML: '​' },\n staticClass: 'notranslate',\n })\n\n return this.$createElement('legend', {\n style: {\n width: !this.isSingle ? convertToUnit(width) : undefined,\n },\n }, [span])\n },\n genInput () {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n const { title, ...inputAttrs } = this.attrs$\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: (this.type === 'number' && Object.is(this.lazyValue, -0)) ? '-0' : this.lazyValue,\n },\n attrs: {\n ...inputAttrs,\n autofocus: this.autofocus,\n disabled: this.isDisabled,\n id: this.computedId,\n placeholder: this.persistentPlaceholder || this.isFocused || !this.hasLabel ? this.placeholder : undefined,\n readonly: this.isReadonly,\n type: this.type,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: this.onInput,\n focus: this.onFocus,\n keydown: this.onKeyDown,\n }),\n ref: 'input',\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n })\n },\n genMessages () {\n if (!this.showDetails) return null\n\n const messagesNode = VInput.options.methods.genMessages.call(this)\n const counterNode = this.genCounter()\n\n return this.$createElement('div', {\n staticClass: 'v-text-field__details',\n }, [\n messagesNode,\n counterNode,\n ])\n },\n genTextFieldSlot () {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n this.genInput(),\n this.suffix ? this.genAffix('suffix') : null,\n ])\n },\n genAffix (type: 'prefix' | 'suffix') {\n return this.$createElement('div', {\n class: `v-text-field__${type}`,\n ref: type,\n }, this[type])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick () {\n if (this.isFocused || this.isDisabled || !this.$refs.input) return\n\n this.$refs.input.focus()\n },\n onFocus (e?: Event) {\n if (!this.$refs.input) return\n\n const root = attachedRoot(this.$el)\n if (!root) return\n\n if (root.activeElement !== this.$refs.input) {\n return this.$refs.input.focus()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event) {\n const target = e.target as HTMLInputElement\n this.internalValue = target.value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n if (\n e.keyCode === keyCodes.enter &&\n this.lazyValue !== this.initialValue\n ) {\n this.initialValue = this.lazyValue\n this.$emit('change', this.initialValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event) {\n if (this.hasMouseDown) this.focus()\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n setLabelWidth () {\n if (!this.outlined) return\n\n this.labelWidth = this.$refs.label\n ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)\n : 0\n },\n setPrefixWidth () {\n if (!this.$refs.prefix) return\n\n this.prefixWidth = this.$refs.prefix.offsetWidth\n },\n setPrependWidth () {\n if (!this.outlined || !this.$refs['prepend-inner']) return\n\n this.prependWidth = this.$refs['prepend-inner'].offsetWidth\n },\n tryAutofocus () {\n if (\n !this.autofocus ||\n typeof document === 'undefined' ||\n !this.$refs.input) return false\n\n const root = attachedRoot(this.$el)\n if (!root || root.activeElement === this.$refs.input) return false\n\n this.$refs.input.focus()\n\n return true\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onResize () {\n this.setLabelWidth()\n this.setPrefixWidth()\n this.setPrependWidth()\n },\n },\n})\n","// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-theme-provider',\n\n props: { root: Boolean },\n\n computed: {\n isDark (): boolean {\n return this.root\n ? this.rootIsDark\n : Themeable.options.computed.isDark.call(this)\n },\n },\n\n render (): VNode {\n /* istanbul ignore next */\n return (\n this.$slots.default! &&\n this.$slots.default!.find(node => !node.isComment && node.text !== ' ')!\n )\n },\n})\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n","import { upperFirst } from '../../util/helpers'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = `offset${upperFirst(sizeProperty)}` as 'offsetHeight' | 'offsetWidth'\n\n return {\n beforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n enter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n afterEnter: resetStyles,\n enterCancelled: resetStyles,\n\n leave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n afterLeave,\n leaveCancelled: afterLeave,\n }\n\n function afterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import {\n createSimpleTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createSimpleTransition('carousel-transition')\nexport const VCarouselReverseTransition = createSimpleTransition('carousel-reverse-transition')\nexport const VTabTransition = createSimpleTransition('tab-transition')\nexport const VTabReverseTransition = createSimpleTransition('tab-reverse-transition')\nexport const VMenuTransition = createSimpleTransition('menu-transition')\nexport const VFabTransition = createSimpleTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogTransition = createSimpleTransition('dialog-transition')\nexport const VDialogBottomTransition = createSimpleTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createSimpleTransition('dialog-top-transition')\nexport const VFadeTransition = createSimpleTransition('fade-transition')\nexport const VScaleTransition = createSimpleTransition('scale-transition')\nexport const VScrollXTransition = createSimpleTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createSimpleTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createSimpleTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createSimpleTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createSimpleTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createSimpleTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createSimpleTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createSimpleTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport default {\n $_vuetify_subcomponents: {\n VCarouselTransition,\n VCarouselReverseTransition,\n VDialogTransition,\n VDialogBottomTransition,\n VDialogTopTransition,\n VFabTransition,\n VFadeTransition,\n VMenuTransition,\n VScaleTransition,\n VScrollXTransition,\n VScrollXReverseTransition,\n VScrollYTransition,\n VScrollYReverseTransition,\n VSlideXTransition,\n VSlideXReverseTransition,\n VSlideYTransition,\n VSlideYReverseTransition,\n VTabReverseTransition,\n VTabTransition,\n VExpandTransition,\n VExpandXTransition,\n },\n}\n","import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[vnode.context!._uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n const observe = el._observe?.[vnode.context!._uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","import OurVue, { VueConstructor } from 'vue'\nimport { VuetifyUseOptions } from 'vuetify/types'\nimport { consoleError } from './util/console'\n\nexport function install (Vue: VueConstructor, args: VuetifyUseOptions = {}) {\n if ((install as any).installed) return\n (install as any).installed = true\n\n if (OurVue !== Vue) {\n consoleError(`Multiple instances of Vue detected\nSee https://github.com/vuetifyjs/vuetify/issues/4068\n\nIf you're seeing \"$attrs is readonly\", it's caused by this`)\n }\n\n const components = args.components || {}\n const directives = args.directives || {}\n\n for (const name in directives) {\n const directive = directives[name]\n\n Vue.directive(name, directive)\n }\n\n (function registerComponents (components: any) {\n if (components) {\n for (const key in components) {\n const component = components[key]\n if (component && !registerComponents(component.$_vuetify_subcomponents)) {\n Vue.component(key, component as typeof Vue)\n }\n }\n return true\n }\n return false\n })(components)\n\n // Used to avoid multiple mixins being setup\n // when in dev mode and hot module reload\n // https://github.com/vuejs/vue/issues/5089#issuecomment-284260111\n if (Vue.$_vuetify_installed) return\n Vue.$_vuetify_installed = true\n\n Vue.mixin({\n beforeCreate () {\n const options = this.$options as any\n\n if (options.vuetify) {\n options.vuetify.init(this, this.$ssrContext)\n this.$vuetify = Vue.observable(options.vuetify.framework)\n } else {\n this.$vuetify = (options.parent && options.parent.$vuetify) || this\n }\n },\n beforeMount () {\n // @ts-ignore\n if (this.$options.vuetify && this.$el && this.$el.hasAttribute('data-server-rendered')) {\n // @ts-ignore\n this.$vuetify.isHydrating = true\n // @ts-ignore\n this.$vuetify.breakpoint.update(true)\n }\n },\n mounted () {\n // @ts-ignore\n if (this.$options.vuetify && this.$vuetify.isHydrating) {\n // @ts-ignore\n this.$vuetify.isHydrating = false\n // @ts-ignore\n this.$vuetify.breakpoint.update()\n }\n },\n })\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Current Page, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Rating {0} of {1}',\n },\n },\n}\n","// Styles\nimport '../../styles/main.sass'\n\n// Locale\nimport { en } from '../../locale'\n\n// Icons\n// TODO: Enable for v3\n// import mdi from '../../services/icons/presets/mdi'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\n\nexport const preset: VuetifyPreset = {\n breakpoint: {\n // TODO: update to MD2 spec in v3 - 1280\n mobileBreakpoint: 1264,\n scrollBarWidth: 16,\n thresholds: {\n xs: 600,\n sm: 960,\n md: 1280,\n lg: 1920,\n },\n },\n icons: {\n // TODO: remove v3\n iconfont: 'mdi',\n values: {},\n },\n lang: {\n current: 'en',\n locales: { en },\n // Default translator exists in lang service\n t: undefined as any,\n },\n rtl: false,\n theme: {\n dark: false,\n default: 'light',\n disable: false,\n options: {\n cspNonce: undefined,\n customProperties: undefined,\n minifyTheme: undefined,\n themeCache: undefined,\n variations: true,\n },\n themes: {\n light: {\n primary: '#1976D2',\n secondary: '#424242',\n accent: '#82B1FF',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n dark: {\n primary: '#2196F3',\n secondary: '#424242',\n accent: '#FF4081',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n },\n },\n}\n","// Preset\nimport { preset as Preset } from '../../presets/default'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport Vuetify from 'vuetify/types'\nimport { Service } from '../service'\nimport {\n UserVuetifyPreset,\n VuetifyPreset,\n} from 'vuetify/types/services/presets'\n\nexport class Presets extends Service {\n static property: 'presets' = 'presets'\n\n constructor (\n parentPreset: Partial,\n parent: Vuetify,\n ) {\n super()\n\n // The default preset\n const defaultPreset = mergeDeep({}, Preset)\n // The user provided preset\n const { userPreset } = parent\n // The user provided global preset\n const {\n preset: globalPreset = {},\n ...preset\n } = userPreset\n\n if (globalPreset.preset != null) {\n consoleWarn('Global presets do not support the **preset** option, it can be safely omitted')\n }\n\n parent.preset = mergeDeep(\n mergeDeep(defaultPreset, globalPreset),\n preset\n ) as VuetifyPreset\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { TargetPropValues, TargetProp, Application as IApplication } from 'vuetify/types/services/application'\n\nexport class Application extends Service implements IApplication {\n static property: 'application' = 'application'\n\n bar = 0\n\n top = 0\n\n left = 0\n\n insetFooter = 0\n\n right = 0\n\n bottom = 0\n\n footer = 0\n\n application: Dictionary = {\n bar: {},\n top: {},\n left: {},\n insetFooter: {},\n right: {},\n bottom: {},\n footer: {},\n }\n\n register (\n uid: number,\n location: TargetProp,\n size: number\n ) {\n this.application[location][uid] = size\n\n this.update(location)\n }\n\n unregister (uid: number, location: TargetProp) {\n if (this.application[location][uid] == null) return\n\n delete this.application[location][uid]\n this.update(location)\n }\n\n update (location: TargetProp) {\n this[location] = Object.values(this.application[location])\n .reduce((acc: number, cur: number): number => (acc + cur), 0)\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Breakpoint as IBreakpoint } from 'vuetify/types/services/breakpoint'\n\nexport class Breakpoint extends Service implements IBreakpoint {\n public static property: 'breakpoint' = 'breakpoint'\n\n // Public\n public xs = false\n\n public sm = false\n\n public md = false\n\n public lg = false\n\n public xl = false\n\n public xsOnly = false\n\n public smOnly = false\n\n public smAndDown = false\n\n public smAndUp = false\n\n public mdOnly = false\n\n public mdAndDown = false\n\n public mdAndUp = false\n\n public lgOnly = false\n\n public lgAndDown = false\n\n public lgAndUp = false\n\n public xlOnly = false\n\n // Value is xs to match v2.x functionality\n public name: IBreakpoint['name'] = 'xs'\n\n public height = 0\n\n public width = 0\n\n // TODO: Add functionality to detect this dynamically in v3\n // Value is true to match v2.x functionality\n public mobile = true\n\n public mobileBreakpoint: IBreakpoint['mobileBreakpoint']\n\n public thresholds: IBreakpoint['thresholds']\n\n public scrollBarWidth: IBreakpoint['scrollBarWidth']\n\n private resizeTimeout = 0\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n mobileBreakpoint,\n scrollBarWidth,\n thresholds,\n } = preset[Breakpoint.property]\n\n this.mobileBreakpoint = mobileBreakpoint\n this.scrollBarWidth = scrollBarWidth\n this.thresholds = thresholds\n }\n\n public init () {\n this.update()\n\n /* istanbul ignore if */\n if (typeof window === 'undefined') return\n\n window.addEventListener(\n 'resize',\n this.onResize.bind(this),\n { passive: true }\n )\n }\n\n /* eslint-disable-next-line max-statements */\n public update (ssr = false) {\n const height = ssr ? 0 : this.getClientHeight()\n const width = ssr ? 0 : this.getClientWidth()\n\n const xs = width < this.thresholds.xs\n const sm = width < this.thresholds.sm && !xs\n const md = width < (this.thresholds.md - this.scrollBarWidth) && !(sm || xs)\n const lg = width < (this.thresholds.lg - this.scrollBarWidth) && !(md || sm || xs)\n const xl = width >= (this.thresholds.lg - this.scrollBarWidth)\n\n this.height = height\n this.width = width\n\n this.xs = xs\n this.sm = sm\n this.md = md\n this.lg = lg\n this.xl = xl\n\n this.xsOnly = xs\n this.smOnly = sm\n this.smAndDown = (xs || sm) && !(md || lg || xl)\n this.smAndUp = !xs && (sm || md || lg || xl)\n this.mdOnly = md\n this.mdAndDown = (xs || sm || md) && !(lg || xl)\n this.mdAndUp = !(xs || sm) && (md || lg || xl)\n this.lgOnly = lg\n this.lgAndDown = (xs || sm || md || lg) && !xl\n this.lgAndUp = !(xs || sm || md) && (lg || xl)\n this.xlOnly = xl\n\n switch (true) {\n case (xs):\n this.name = 'xs'\n break\n case (sm):\n this.name = 'sm'\n break\n case (md):\n this.name = 'md'\n break\n case (lg):\n this.name = 'lg'\n break\n default:\n this.name = 'xl'\n break\n }\n\n if (typeof this.mobileBreakpoint === 'number') {\n this.mobile = width < parseInt(this.mobileBreakpoint, 10)\n\n return\n }\n\n const breakpoints = {\n xs: 0,\n sm: 1,\n md: 2,\n lg: 3,\n xl: 4,\n } as const\n\n const current = breakpoints[this.name]\n const max = breakpoints[this.mobileBreakpoint]\n\n this.mobile = current <= max\n }\n\n private onResize () {\n clearTimeout(this.resizeTimeout)\n\n // Added debounce to match what\n // v-resize used to do but was\n // removed due to a memory leak\n // https://github.com/vuetifyjs/vuetify/pull/2997\n this.resizeTimeout = window.setTimeout(this.update.bind(this), 200)\n }\n\n // Cross-browser support as described in:\n // https://stackoverflow.com/questions/1248081\n private getClientWidth () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth || 0\n )\n }\n\n private getClientHeight () {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return 0 // SSR\n return Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight || 0\n )\n }\n}\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n cancel: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n close: 'M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n delete: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z', // delete (e.g. v-chip close)\n clear: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n success: 'M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z',\n info: 'M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2ZM13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n warning: 'M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n error: 'M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n prev: 'M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n next: 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n checkboxOn: 'M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n checkboxOff: 'M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n checkboxIndeterminate: 'M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n delimiter: 'M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z', // for carousel\n sort: 'M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n expand: 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n menu: 'M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n subgroup: 'M7,10L12,15L17,10H7Z',\n dropdown: 'M7,10L12,15L17,10H7Z',\n radioOn: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n radioOff: 'M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n edit: 'M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n ratingEmpty: 'M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n ratingFull: 'M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n ratingHalf: 'M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n loading: 'M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n first: 'M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n last: 'M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n unfold: 'M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n file: 'M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n plus: 'M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n minus: 'M19,13H5V11H19V13Z',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'check',\n cancel: 'cancel',\n close: 'close',\n delete: 'cancel', // delete (e.g. v-chip close)\n clear: 'clear',\n success: 'check_circle',\n info: 'info',\n warning: 'priority_high',\n error: 'warning',\n prev: 'chevron_left',\n next: 'chevron_right',\n checkboxOn: 'check_box',\n checkboxOff: 'check_box_outline_blank',\n checkboxIndeterminate: 'indeterminate_check_box',\n delimiter: 'fiber_manual_record', // for carousel\n sort: 'arrow_upward',\n expand: 'keyboard_arrow_down',\n menu: 'menu',\n subgroup: 'arrow_drop_down',\n dropdown: 'arrow_drop_down',\n radioOn: 'radio_button_checked',\n radioOff: 'radio_button_unchecked',\n edit: 'edit',\n ratingEmpty: 'star_border',\n ratingFull: 'star',\n ratingHalf: 'star_half',\n loading: 'cached',\n first: 'first_page',\n last: 'last_page',\n unfold: 'unfold_more',\n file: 'attach_file',\n plus: 'add',\n minus: 'remove',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-exclamation',\n error: 'mdi-alert',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sort: 'fas fa-sort-up',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\n\nconst icons: VuetifyIcons = {\n complete: 'fa fa-check',\n cancel: 'fa fa-times-circle',\n close: 'fa fa-times',\n delete: 'fa fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fa fa-times-circle', // delete (e.g. v-chip close)\n success: 'fa fa-check-circle',\n info: 'fa fa-info-circle',\n warning: 'fa fa-exclamation',\n error: 'fa fa-exclamation-triangle',\n prev: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n checkboxOn: 'fa fa-check-square',\n checkboxOff: 'fa fa-square-o',\n checkboxIndeterminate: 'fa fa-minus-square',\n delimiter: 'fa fa-circle', // for carousel\n sort: 'fa fa-sort-up',\n expand: 'fa fa-chevron-down',\n menu: 'fa fa-bars',\n subgroup: 'fa fa-caret-down',\n dropdown: 'fa fa-caret-down',\n radioOn: 'fa fa-dot-circle-o',\n radioOff: 'fa fa-circle-o',\n edit: 'fa fa-pencil',\n ratingEmpty: 'fa fa-star-o',\n ratingFull: 'fa fa-star',\n ratingHalf: 'fa fa-star-half-o',\n loading: 'fa fa-refresh',\n first: 'fa fa-step-backward',\n last: 'fa fa-step-forward',\n unfold: 'fa fa-angle-double-down',\n file: 'fa fa-paperclip',\n plus: 'fa fa-plus',\n minus: 'fa fa-minus',\n}\n\nexport default icons\n","import { VuetifyIcons } from 'vuetify/types/services/icons'\nimport { Component } from 'vue'\nimport icons from './fa'\n\nexport function convertToComponentDeclarations (\n component: Component | string,\n iconSet: VuetifyIcons,\n) {\n const result: Partial = {}\n\n for (const key in iconSet) {\n result[key] = {\n component,\n props: {\n icon: (iconSet[key] as string).split(' fa-'),\n },\n }\n }\n\n return result as VuetifyIcons\n}\n\nexport default convertToComponentDeclarations('font-awesome-icon', icons)\n","import mdiSvg from './mdi-svg'\nimport md from './md'\nimport mdi from './mdi'\nimport fa from './fa'\nimport fa4 from './fa4'\nimport faSvg from './fa-svg'\n\nexport default Object.freeze({\n mdiSvg,\n md,\n mdi,\n fa,\n fa4,\n faSvg,\n})\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { mergeDeep } from '../../util/helpers'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport { Icons as IIcons } from 'vuetify/types/services/icons'\n\n// Presets\nimport presets from './presets'\n\nexport class Icons extends Service implements IIcons {\n static property: 'icons' = 'icons'\n\n public iconfont: IIcons['iconfont']\n\n public values: IIcons['values']\n\n public component: IIcons['component']\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n iconfont,\n values,\n component,\n } = preset[Icons.property]\n\n this.component = component\n this.iconfont = iconfont\n this.values = mergeDeep(\n presets[iconfont],\n values\n ) as IIcons['values']\n }\n}\n","// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\n// Types\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyLocale,\n Lang as ILang,\n} from 'vuetify/types/services/lang'\n\nconst LANG_PREFIX = '$vuetify.'\nconst fallback = Symbol('Lang fallback')\n\nfunction getTranslation (\n locale: VuetifyLocale,\n key: string,\n usingDefault = false,\n defaultLocale: VuetifyLocale\n): string {\n const shortKey = key.replace(LANG_PREFIX, '')\n let translation = getObjectValueByPath(locale, shortKey, fallback) as string | typeof fallback\n\n if (translation === fallback) {\n if (usingDefault) {\n consoleError(`Translation key \"${shortKey}\" not found in fallback`)\n translation = key\n } else {\n consoleWarn(`Translation key \"${shortKey}\" not found, falling back to default`)\n translation = getTranslation(defaultLocale, key, true, defaultLocale)\n }\n }\n\n return translation\n}\n\nexport class Lang extends Service implements ILang {\n static property: 'lang' = 'lang'\n\n public current: ILang['current']\n\n public defaultLocale = 'en'\n\n public locales: ILang['locales']\n\n private translator: ILang['t']\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n current,\n locales,\n t,\n } = preset[Lang.property]\n\n this.current = current\n this.locales = locales\n this.translator = t || this.defaultTranslator\n }\n\n public currentLocale (key: string) {\n const translation = this.locales[this.current]\n const defaultLocale = this.locales[this.defaultLocale]\n\n return getTranslation(translation, key, false, defaultLocale)\n }\n\n public t (key: string, ...params: any[]) {\n if (!key.startsWith(LANG_PREFIX)) return this.replace(key, params)\n\n return this.translator(key, ...params)\n }\n\n private defaultTranslator (key: string, ...params: any[]) {\n return this.replace(this.currentLocale(key), params)\n }\n\n private replace (str: string, params: any[]) {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n }\n}\n","import { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import { XYZ, LAB } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","import { keys } from '../../util/helpers'\nimport { colorToInt, intToHex, colorToHex, ColorInt } from '../../util/colorUtils'\nimport * as sRGB from '../../util/color/transformSRGB'\nimport * as LAB from '../../util/color/transformCIELAB'\nimport {\n VuetifyParsedTheme,\n VuetifyThemeItem,\n} from 'vuetify/types/services/theme'\n\nexport function parse (\n theme: Record,\n isItem = false,\n variations = true,\n): VuetifyParsedTheme {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n const parsedTheme: any = {}\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n if (value == null) continue\n\n if (!variations) {\n parsedTheme[name] = { base: intToHex(colorToInt(value)) }\n } else if (isItem) {\n /* istanbul ignore else */\n if (name === 'base' || name.startsWith('lighten') || name.startsWith('darken')) {\n parsedTheme[name] = colorToHex(value)\n }\n } else if (typeof value === 'object') {\n parsedTheme[name] = parse(value, true, variations)\n } else {\n parsedTheme[name] = genVariations(name, colorToInt(value))\n }\n }\n\n if (!isItem) {\n parsedTheme.anchor = anchor || parsedTheme.base || parsedTheme.primary.base\n }\n\n return parsedTheme\n}\n\n/**\n * Generate the CSS for a base color (.primary)\n */\nconst genBaseColor = (name: string, value: string): string => {\n return `\n.v-application .${name} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\n/**\n * Generate the CSS for a variant color (.primary.darken-2)\n */\nconst genVariantColor = (name: string, variant: string, value: string): string => {\n const [type, n] = variant.split(/(\\d)/, 2)\n return `\n.v-application .${name}.${type}-${n} {\n background-color: ${value} !important;\n border-color: ${value} !important;\n}\n.v-application .${name}--text.text--${type}-${n} {\n color: ${value} !important;\n caret-color: ${value} !important;\n}`\n}\n\nconst genColorVariableName = (name: string, variant = 'base'): string => `--v-${name}-${variant}`\n\nconst genColorVariable = (name: string, variant = 'base'): string => `var(${genColorVariableName(name, variant)})`\n\nexport function genStyles (theme: VuetifyParsedTheme, cssVar = false): string {\n const { anchor, ...variant } = theme\n const colors = Object.keys(variant)\n\n if (!colors.length) return ''\n\n let variablesCss = ''\n let css = ''\n\n const aColor = cssVar ? genColorVariable('anchor') : anchor\n css += `.v-application a { color: ${aColor}; }`\n cssVar && (variablesCss += ` ${genColorVariableName('anchor')}: ${anchor};\\n`)\n\n for (let i = 0; i < colors.length; ++i) {\n const name = colors[i]\n const value = theme[name]\n\n css += genBaseColor(name, cssVar ? genColorVariable(name) : value.base)\n cssVar && (variablesCss += ` ${genColorVariableName(name)}: ${value.base};\\n`)\n\n const variants = keys(value)\n for (let i = 0; i < variants.length; ++i) {\n const variant = variants[i]\n const variantValue = value[variant]\n if (variant === 'base') continue\n\n css += genVariantColor(name, variant, cssVar ? genColorVariable(name, variant) : variantValue)\n cssVar && (variablesCss += ` ${genColorVariableName(name, variant)}: ${variantValue};\\n`)\n }\n }\n\n if (cssVar) {\n variablesCss = `:root {\\n${variablesCss}}\\n\\n`\n }\n\n return variablesCss + css\n}\n\nexport function genVariations (name: string, value: ColorInt): Record {\n const values: Record = {\n base: intToHex(value),\n }\n\n for (let i = 5; i > 0; --i) {\n values[`lighten${i}`] = intToHex(lighten(value, i))\n }\n\n for (let i = 1; i <= 4; ++i) {\n values[`darken${i}`] = intToHex(darken(value, i))\n }\n\n return values\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = LAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n return sRGB.fromXYZ(LAB.toXYZ(lab))\n}\n","/* eslint-disable no-multi-spaces */\n// Extensions\nimport { Service } from '../service'\n\n// Utilities\nimport * as ThemeUtils from './utils'\nimport { getNestedValue } from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\nimport { VuetifyPreset } from 'vuetify/types/services/presets'\nimport {\n VuetifyParsedTheme,\n VuetifyThemes,\n VuetifyThemeVariant,\n Theme as ITheme,\n} from 'vuetify/types/services/theme'\n\nexport class Theme extends Service {\n static property: 'theme' = 'theme'\n\n public disabled = false\n\n public options: ITheme['options']\n\n public styleEl?: HTMLStyleElement\n\n public themes: VuetifyThemes\n\n public defaults: VuetifyThemes\n\n private isDark = null as boolean | null\n\n private unwatch = null as (() => void) | null\n\n private vueMeta = null as any | null\n\n constructor (preset: VuetifyPreset) {\n super()\n\n const {\n dark,\n disable,\n options,\n themes,\n } = preset[Theme.property]\n\n this.dark = Boolean(dark)\n this.defaults = this.themes = themes\n this.options = options\n\n if (disable) {\n this.disabled = true\n\n return\n }\n\n this.themes = {\n dark: this.fillVariant(themes.dark, true),\n light: this.fillVariant(themes.light, false),\n }\n }\n\n // When setting css, check for element and apply new values\n /* eslint-disable-next-line accessor-pairs */\n set css (val: string) {\n if (this.vueMeta) {\n if (this.isVueMeta23) {\n this.applyVueMeta23()\n }\n return\n }\n this.checkOrCreateStyleElement() && (this.styleEl!.innerHTML = val)\n }\n\n set dark (val: boolean) {\n const oldDark = this.isDark\n\n this.isDark = val\n // Only apply theme after dark\n // has already been set before\n oldDark != null && this.applyTheme()\n }\n\n get dark () {\n return Boolean(this.isDark)\n }\n\n // Apply current theme default\n // only called on client side\n public applyTheme (): void {\n if (this.disabled) return this.clearCss()\n\n this.css = this.generatedStyles\n }\n\n public clearCss (): void {\n this.css = ''\n }\n\n // Initialize theme for SSR and SPA\n // Attach to ssrContext head or\n // apply new theme to document\n public init (root: Vue, ssrContext?: any): void {\n if (this.disabled) return\n\n /* istanbul ignore else */\n if ((root as any).$meta) {\n this.initVueMeta(root)\n } else if (ssrContext) {\n this.initSSR(ssrContext)\n }\n\n this.initTheme(root)\n }\n\n // Allows for you to set target theme\n public setTheme (theme: 'light' | 'dark', value: object) {\n this.themes[theme] = Object.assign(this.themes[theme], value)\n this.applyTheme()\n }\n\n // Reset theme defaults\n public resetThemes () {\n this.themes.light = Object.assign({}, this.defaults.light)\n this.themes.dark = Object.assign({}, this.defaults.dark)\n this.applyTheme()\n }\n\n // Check for existence of style element\n private checkOrCreateStyleElement (): boolean {\n this.styleEl = document.getElementById('vuetify-theme-stylesheet') as HTMLStyleElement\n\n /* istanbul ignore next */\n if (this.styleEl) return true\n\n this.genStyleElement() // If doesn't have it, create it\n\n return Boolean(this.styleEl)\n }\n\n private fillVariant (\n theme: Partial = {},\n dark: boolean\n ): VuetifyThemeVariant {\n const defaultTheme = this.themes[dark ? 'dark' : 'light']\n\n return Object.assign({},\n defaultTheme,\n theme\n )\n }\n\n // Generate the style element\n // if applicable\n private genStyleElement (): void {\n /* istanbul ignore if */\n if (typeof document === 'undefined') return\n\n /* istanbul ignore next */\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n this.styleEl.id = 'vuetify-theme-stylesheet'\n\n if (this.options.cspNonce) {\n this.styleEl.setAttribute('nonce', this.options.cspNonce)\n }\n\n document.head.appendChild(this.styleEl)\n }\n\n private initVueMeta (root: any) {\n this.vueMeta = root.$meta()\n if (this.isVueMeta23) {\n // vue-meta needs to apply after mounted()\n root.$nextTick(() => {\n this.applyVueMeta23()\n })\n return\n }\n\n const metaKeyName = typeof this.vueMeta.getOptions === 'function' ? this.vueMeta.getOptions().keyName : 'metaInfo'\n const metaInfo = root.$options[metaKeyName] || {}\n\n root.$options[metaKeyName] = () => {\n metaInfo.style = metaInfo.style || []\n\n const vuetifyStylesheet = metaInfo.style.find((s: any) => s.id === 'vuetify-theme-stylesheet')\n\n if (!vuetifyStylesheet) {\n metaInfo.style.push({\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: (this.options || {}).cspNonce,\n })\n } else {\n vuetifyStylesheet.cssText = this.generatedStyles\n }\n\n return metaInfo\n }\n }\n\n private applyVueMeta23 () {\n const { set } = this.vueMeta.addApp('vuetify')\n\n set({\n style: [{\n cssText: this.generatedStyles,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n nonce: this.options.cspNonce,\n }],\n })\n }\n\n private initSSR (ssrContext?: any) {\n // SSR\n const nonce = this.options.cspNonce ? ` nonce=\"${this.options.cspNonce}\"` : ''\n ssrContext.head = ssrContext.head || ''\n ssrContext.head += ``\n }\n\n private initTheme (root: Vue) {\n // Only watch for reactivity on client side\n if (typeof document === 'undefined') return\n\n // If we get here somehow, ensure\n // existing instance is removed\n if (this.unwatch) {\n this.unwatch()\n this.unwatch = null\n }\n\n // TODO: Update to use RFC if merged\n // https://github.com/vuejs/rfcs/blob/advanced-reactivity-api/active-rfcs/0000-advanced-reactivity-api.md\n root.$once('hook:created', () => {\n const obs = Vue.observable({ themes: this.themes })\n this.unwatch = root.$watch(() => obs.themes, () => this.applyTheme(), { deep: true })\n })\n this.applyTheme()\n }\n\n get currentTheme () {\n const target = this.dark ? 'dark' : 'light'\n\n return this.themes[target]\n }\n\n get generatedStyles (): string {\n const theme = this.parsedTheme\n /* istanbul ignore next */\n const options = this.options || {}\n let css\n\n if (options.themeCache != null) {\n css = options.themeCache.get(theme)\n /* istanbul ignore if */\n if (css != null) return css\n }\n\n css = ThemeUtils.genStyles(theme, options.customProperties)\n\n if (options.minifyTheme != null) {\n css = options.minifyTheme(css)\n }\n\n if (options.themeCache != null) {\n options.themeCache.set(theme, css)\n }\n\n return css\n }\n\n get parsedTheme (): VuetifyParsedTheme {\n return ThemeUtils.parse(\n this.currentTheme || {},\n undefined,\n getNestedValue(this.options, ['variations'], true)\n )\n }\n\n // Is using v2.3 of vue-meta\n // https://github.com/nuxt/vue-meta/releases/tag/v2.3.0\n private get isVueMeta23 (): boolean {\n return typeof this.vueMeta.addApp === 'function'\n }\n}\n","import { install } from './install'\n\n// Types\nimport Vue from 'vue'\nimport {\n UserVuetifyPreset,\n VuetifyPreset,\n} from 'vuetify/types/services/presets'\nimport {\n VuetifyService,\n VuetifyServiceContract,\n} from 'vuetify/types/services'\n\n// Services\nimport * as services from './services'\n\nexport default class Vuetify {\n static install = install\n\n static installed = false\n\n static version = __VUETIFY_VERSION__\n\n static config = {\n silent: false,\n }\n\n public framework: Dictionary = {\n isHydrating: false,\n } as any\n\n public installed: string[] = []\n\n public preset = {} as VuetifyPreset\n\n public userPreset: UserVuetifyPreset = {}\n\n constructor (userPreset: UserVuetifyPreset = {}) {\n this.userPreset = userPreset\n\n this.use(services.Presets)\n this.use(services.Application)\n this.use(services.Breakpoint)\n this.use(services.Goto)\n this.use(services.Icons)\n this.use(services.Lang)\n this.use(services.Theme)\n }\n\n // Called on the new vuetify instance\n // bootstrap in install beforeCreate\n // Exposes ssrContext if available\n init (root: Vue, ssrContext?: object) {\n this.installed.forEach(property => {\n const service = this.framework[property]\n\n service.framework = this.framework\n\n service.init(root, ssrContext)\n })\n\n // rtl is not installed and\n // will never be called by\n // the init process\n this.framework.rtl = Boolean(this.preset.rtl) as any\n }\n\n // Instantiate a VuetifyService\n use (Service: VuetifyService) {\n const property = Service.property\n\n if (this.installed.includes(property)) return\n\n // TODO maybe a specific type for arg 2?\n this.framework[property] = new Service(this.preset, this as any)\n this.installed.push(property)\n }\n}\n","// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '