{"version":3,"file":"chunk-vendors.69ee771e3280b09f.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/an-object.js","webpack://client/./node_modules/core-js/internals/array-includes.js","webpack://client/./node_modules/core-js/internals/array-set-length.js","webpack://client/./node_modules/core-js/internals/classof-raw.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/does-not-exceed-safe-integer.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/export.js","webpack://client/./node_modules/core-js/internals/fails.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/inspect-source.js","webpack://client/./node_modules/core-js/internals/internal-state.js","webpack://client/./node_modules/core-js/internals/is-array.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/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/ordinary-to-primitive.js","webpack://client/./node_modules/core-js/internals/own-keys.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/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/modules/es.array.push.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 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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\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 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 $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return 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 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 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 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 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","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\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 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","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 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 $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 $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar SILENT_ON_NON_WRITABLE_LENGTH = !function () {\n try {\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: INCORRECT_TO_LENGTH || SILENT_ON_NON_WRITABLE_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\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 '