{"version":3,"file":"chunk-vendors.28d2113cf01e88c5.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/components/VCheckbox/VCheckbox.ts","webpack://client/../../../src/components/VChip/VChip.ts","webpack://client/../../../src/components/VDialog/VDialog.ts","webpack://client/../../../src/components/VDivider/VDivider.ts","webpack://client/../../../src/components/VTextField/index.ts","webpack://client/../../../src/components/VFileInput/VFileInput.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/rippleable/index.ts","webpack://client/../../../src/mixins/roundable/index.ts","webpack://client/../../../src/mixins/routable/index.ts","webpack://client/../../../src/mixins/selectable/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","// 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 './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\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 this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\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","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on ', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data!.attrs!.multiple = this.multiple\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // due to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: (e: MouseEvent) => {\n // Clicking the label already delegates to input element, so we shouldn't click it twice\n if (e.target && (e.target as HTMLElement).nodeName === 'LABEL') return\n\n this.$refs.input.click()\n },\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\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 '