From 50a5750fc8bb74a78b1db5d587c2f5400a1fb58e Mon Sep 17 00:00:00 2001 From: GMrrc <143954951+GMrrc@users.noreply.github.com> Date: Thu, 14 Nov 2024 17:23:28 +0100 Subject: [PATCH] add js folder --- .gitignore | 2 +- js/main.js | 32289 +++++++++++++++++++++++++++++++++++++++++++++++ js/main.js.map | 1 + 3 files changed, 32291 insertions(+), 1 deletion(-) create mode 100644 js/main.js create mode 100644 js/main.js.map diff --git a/.gitignore b/.gitignore index e8388fe..daea873 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,4 @@ /tests/.phpunit.cache /node_modules/ -/js/ + diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..64b21a5 --- /dev/null +++ b/js/main.js @@ -0,0 +1,32289 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@nextcloud/browser-storage/dist/index.js": +/*!***************************************************************!*\ + !*** ./node_modules/@nextcloud/browser-storage/dist/index.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.clearAll = clearAll; +exports.clearNonPersistent = clearNonPersistent; +exports.getBuilder = getBuilder; +var _storagebuilder = _interopRequireDefault(__webpack_require__(/*! ./storagebuilder */ "./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js")); +var _scopedstorage = _interopRequireDefault(__webpack_require__(/*! ./scopedstorage */ "./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js")); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +/** + * Get the storage builder for an app + * @param appId App ID to scope storage + */ +function getBuilder(appId) { + return new _storagebuilder.default(appId); +} + +/** + * Clear values from storage + * @param storage The storage to clear + * @param pred Callback to check if value should be cleared + */ +function clearStorage(storage, pred) { + Object.keys(storage).filter(k => pred ? pred(k) : true).map(storage.removeItem.bind(storage)); +} + +/** + * Clear all values from all storages + */ +function clearAll() { + const storages = [window.sessionStorage, window.localStorage]; + storages.map(s => clearStorage(s)); +} + +/** + * Clear ony non persistent values + */ +function clearNonPersistent() { + const storages = [window.sessionStorage, window.localStorage]; + storages.map(s => clearStorage(s, k => !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT))); +} +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ "./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +class ScopedStorage { + constructor(scope, wrapped, persistent) { + _defineProperty(this, "scope", void 0); + _defineProperty(this, "wrapped", void 0); + this.scope = "".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, "_").concat(btoa(scope), "_"); + this.wrapped = wrapped; + } + scopeKey(key) { + return "".concat(this.scope).concat(key); + } + setItem(key, value) { + this.wrapped.setItem(this.scopeKey(key), value); + } + getItem(key) { + return this.wrapped.getItem(this.scopeKey(key)); + } + removeItem(key) { + this.wrapped.removeItem(this.scopeKey(key)); + } + clear() { + Object.keys(this.wrapped).filter(key => key.startsWith(this.scope)).map(this.wrapped.removeItem.bind(this.wrapped)); + } +} +exports["default"] = ScopedStorage; +_defineProperty(ScopedStorage, "GLOBAL_SCOPE_VOLATILE", 'nextcloud_vol'); +_defineProperty(ScopedStorage, "GLOBAL_SCOPE_PERSISTENT", 'nextcloud_per'); +//# sourceMappingURL=scopedstorage.js.map + +/***/ }), + +/***/ "./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js": +/*!************************************************************************!*\ + !*** ./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _scopedstorage = _interopRequireDefault(__webpack_require__(/*! ./scopedstorage */ "./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js")); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +class StorageBuilder { + constructor(appId) { + _defineProperty(this, "appId", void 0); + _defineProperty(this, "persisted", false); + _defineProperty(this, "clearedOnLogout", false); + this.appId = appId; + } + persist() { + let persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + this.persisted = persist; + return this; + } + clearOnLogout() { + let clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + this.clearedOnLogout = clear; + return this; + } + build() { + return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout); + } +} +exports["default"] = StorageBuilder; +//# sourceMappingURL=storagebuilder.js.map + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js ***! + \*********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const debug = __webpack_require__(/*! ../internal/debug */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js") +const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(/*! ../internal/constants */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js") +const { safeRe: re, t } = __webpack_require__(/*! ../internal/re */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js") + +const parseOptions = __webpack_require__(/*! ../internal/parse-options */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js") +const { compareIdentifiers } = __webpack_require__(/*! ../internal/identifiers */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js") +class SemVer { + constructor (version, options) { + options = parseOptions(options) + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return ( + compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) + ) + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('build compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier, identifierBase) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier, identifierBase) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier, identifierBase) + this.inc('pre', identifier, identifierBase) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase) + } + this.inc('pre', identifier, identifierBase) + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0 + + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + + if (this.prerelease.length === 0) { + this.prerelease = [base] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base] + if (identifierBase === false) { + prerelease = [identifier] + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease + } + } else { + this.prerelease = prerelease + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format() + if (this.build.length) { + this.raw += `+${this.build.join('.')}` + } + return this + } +} + +module.exports = SemVer + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/functions/major.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const SemVer = __webpack_require__(/*! ../classes/semver */ "./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js") +const major = (a, loose) => new SemVer(a, loose).major +module.exports = major + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const SemVer = __webpack_require__(/*! ../classes/semver */ "./node_modules/@nextcloud/event-bus/node_modules/semver/classes/semver.js") +const parse = (version, options, throwErrors = false) => { + if (version instanceof SemVer) { + return version + } + try { + return new SemVer(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +} + +module.exports = parse + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/functions/valid.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +const parse = __webpack_require__(/*! ./parse */ "./node_modules/@nextcloud/event-bus/node_modules/semver/functions/parse.js") +const valid = (version, options) => { + const v = parse(version, options) + return v ? v.version : null +} +module.exports = valid + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js ***! + \*************************************************************************************/ +/***/ ((module) => { + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +] + +module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +} + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js ***! + \*********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/* provided dependency */ var process = __webpack_require__(/*! ./node_modules/process/browser.js */ "./node_modules/process/browser.js"); +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/identifiers.js ***! + \***************************************************************************************/ +/***/ ((module) => { + +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers, +} + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/parse-options.js ***! + \*****************************************************************************************/ +/***/ ((module) => { + +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }) +const emptyOpts = Object.freeze({ }) +const parseOptions = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +} +module.exports = parseOptions + + +/***/ }), + +/***/ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@nextcloud/event-bus/node_modules/semver/internal/re.js ***! + \******************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = __webpack_require__(/*! ./constants */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/constants.js") +const debug = __webpack_require__(/*! ./debug */ "./node_modules/@nextcloud/event-bus/node_modules/semver/internal/debug.js") +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) +createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) +createToken('COERCERTLFULL', src[t.COERCEFULL], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') + + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js": +/*!*************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js ***! + \*************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _nextcloud_vue_dist_Components_NcAppContent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/NcAppContent.js */ "./node_modules/@nextcloud/vue/dist/Components/NcAppContent.mjs"); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'App', + components: { + NcAppContent: _nextcloud_vue_dist_Components_NcAppContent_js__WEBPACK_IMPORTED_MODULE_0__["default"] + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true": +/*!************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true ***! + \************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* binding */ render), +/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) +/* harmony export */ }); +var render = function render() { + var _vm = this, + _c = _vm._self._c; + return _c("NcAppContent", [_c("div", { + attrs: { + id: "webtransfer" + } + }, [_c("h1", [_vm._v("Hello world!")])])]); +}; +var staticRenderFns = []; +render._withStripped = true; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/NcAppContent-CpXVlHUj.css": +/*!*****************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/NcAppContent-CpXVlHUj.css ***! + \*****************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js"); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +// Imports + + +var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +// Module +___CSS_LOADER_EXPORT___.push([module.id, `/** + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/** + * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/* +* Ensure proper alignment of the vue material icons +*/ +.material-design-icon[data-v-089eb524] { + display: flex; + align-self: center; + justify-self: center; + align-items: center; + justify-content: center; +} +.app-details-toggle[data-v-089eb524] { + position: sticky; + width: var(--default-clickable-area); + height: var(--default-clickable-area); + padding: calc((var(--default-clickable-area) - 16px) / 2); + cursor: pointer; + opacity: 0.6; + transform: rotate(180deg); + background-color: var(--color-main-background); + z-index: 2000; + top: var(--app-navigation-padding); + inset-inline-start: calc(var(--default-clickable-area) + var(--app-navigation-padding) * 2); +} +.app-details-toggle--mobile[data-v-089eb524] { + inset-inline-start: var(--app-navigation-padding); +} +.app-details-toggle[data-v-089eb524]:active, .app-details-toggle[data-v-089eb524]:hover, .app-details-toggle[data-v-089eb524]:focus { + opacity: 1; +}/** + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/** + * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/* +* Ensure proper alignment of the vue material icons +*/ +.material-design-icon[data-v-de6986e3] { + display: flex; + align-self: center; + justify-self: center; + align-items: center; + justify-content: center; +} +.app-content[data-v-de6986e3] { + position: initial; + z-index: 1000; + flex-basis: 100vw; + height: 100%; + margin: 0 !important; + background-color: var(--color-main-background); + min-width: 0; +} +.app-content[data-v-de6986e3]:not(.app-content--has-list) { + overflow: auto; +} +.app-content-wrapper[data-v-de6986e3] { + position: relative; + width: 100%; + height: 100%; +} +.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-de6986e3] .app-content-list { + display: flex; +} +.app-content-wrapper--no-split.app-content-wrapper--show-list[data-v-de6986e3] .app-content-details { + display: none; +} +.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-de6986e3] .app-content-list { + display: none; +} +.app-content-wrapper--no-split.app-content-wrapper--show-details[data-v-de6986e3] .app-content-details { + display: block; +} +[data-v-de6986e3] .splitpanes.default-theme .app-content-list { + max-width: none; + /* Thin scrollbar is hard to catch on resizable columns */ + scrollbar-width: auto; +} +[data-v-de6986e3] .splitpanes.default-theme .splitpanes__pane { + background-color: transparent; + transition: none; +} +[data-v-de6986e3] .splitpanes.default-theme .splitpanes__pane-list { + min-width: 300px; + position: sticky; +} +@media only screen and (width < 1024px) { +[data-v-de6986e3] .splitpanes.default-theme .splitpanes__pane-list { + display: none; +} +} +[data-v-de6986e3] .splitpanes.default-theme .splitpanes__pane-details { + overflow-y: auto; +} +@media only screen and (width < 1024px) { +[data-v-de6986e3] .splitpanes.default-theme .splitpanes__pane-details { + min-width: 100%; +} +} +[data-v-de6986e3] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter { + background-color: var(--color-main-background); + border-left: 1px solid var(--color-border); +} +[data-v-de6986e3] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter::before,[data-v-de6986e3] .splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter::after { + background-color: var(--color-border); +} +.app-content-wrapper--show-list[data-v-de6986e3] .app-content-list { + max-width: none; +}`, ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/NcButton-BHDLon1_.css": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/NcButton-BHDLon1_.css ***! + \*************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js"); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +// Imports + + +var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +// Module +___CSS_LOADER_EXPORT___.push([module.id, `/** + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/** + * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/* +* Ensure proper alignment of the vue material icons +*/ +.material-design-icon[data-v-c3d9e0ce] { + display: flex; + align-self: center; + justify-self: center; + align-items: center; + justify-content: center; +} +.button-vue[data-v-c3d9e0ce] { + --button-size: var(--default-clickable-area); + --button-radius: var(--border-radius-element, calc(var(--button-size) / 2)); + --button-padding: clamp(var(--default-grid-baseline), var(--button-radius), calc(var(--default-grid-baseline) * 4)); + position: relative; + width: fit-content; + overflow: hidden; + border: 0; + padding: 0; + font-size: var(--default-font-size); + font-weight: bold; + min-height: var(--button-size); + min-width: var(--button-size); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + border-radius: var(--button-radius); + transition-property: color, border-color, background-color; + transition-duration: 0.1s; + transition-timing-function: linear; + color: var(--color-primary-element-light-text); + background-color: var(--color-primary-element-light); +} +.button-vue--size-small[data-v-c3d9e0ce] { + --button-size: var(--clickable-area-small, 24px); + --button-radius: var(--border-radius); +} +.button-vue--size-large[data-v-c3d9e0ce] { + --button-size: var(--clickable-area-large, 48px); +} +.button-vue *[data-v-c3d9e0ce], +.button-vue span[data-v-c3d9e0ce] { + cursor: pointer; +} +.button-vue[data-v-c3d9e0ce]:focus { + outline: none; +} +.button-vue[data-v-c3d9e0ce]:disabled { + cursor: default; + opacity: 0.5; + filter: saturate(0.7); +} +.button-vue:disabled *[data-v-c3d9e0ce] { + cursor: default; +} +.button-vue[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: var(--color-primary-element-light-hover); +} +.button-vue[data-v-c3d9e0ce]:active { + background-color: var(--color-primary-element-light); +} +.button-vue__wrapper[data-v-c3d9e0ce] { + display: inline-flex; + align-items: center; + justify-content: center; + width: 100%; +} +.button-vue--end .button-vue__wrapper[data-v-c3d9e0ce] { + justify-content: end; +} +.button-vue--start .button-vue__wrapper[data-v-c3d9e0ce] { + justify-content: start; +} +.button-vue--reverse .button-vue__wrapper[data-v-c3d9e0ce] { + flex-direction: row-reverse; +} +.button-vue--reverse.button-vue--icon-and-text[data-v-c3d9e0ce] { + padding-inline: var(--button-padding) var(--default-grid-baseline); +} +.button-vue__icon[data-v-c3d9e0ce] { + height: var(--button-size); + width: var(--button-size); + min-height: var(--button-size); + min-width: var(--button-size); + display: flex; + justify-content: center; + align-items: center; +} +.button-vue--size-small .button-vue__icon[data-v-c3d9e0ce] > * { + max-height: 16px; + max-width: 16px; +} +.button-vue--size-small .button-vue__icon[data-v-c3d9e0ce] svg { + height: 16px; + width: 16px; +} +.button-vue__text[data-v-c3d9e0ce] { + font-weight: bold; + margin-bottom: 1px; + padding: 2px 0; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.button-vue--icon-only[data-v-c3d9e0ce] { + line-height: 1; + width: var(--button-size) !important; +} +.button-vue--text-only[data-v-c3d9e0ce] { + padding: 0 var(--button-padding); +} +.button-vue--text-only .button-vue__text[data-v-c3d9e0ce] { + margin-left: 4px; + margin-right: 4px; +} +.button-vue--icon-and-text[data-v-c3d9e0ce] { + --button-padding: min(calc(var(--default-grid-baseline) + var(--button-radius)), calc(var(--default-grid-baseline) * 4)); + padding-block: 0; + padding-inline: var(--default-grid-baseline) var(--button-padding); +} +.button-vue--wide[data-v-c3d9e0ce] { + width: 100%; +} +.button-vue[data-v-c3d9e0ce]:focus-visible { + outline: 2px solid var(--color-main-text) !important; + box-shadow: 0 0 0 4px var(--color-main-background) !important; +} +.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-c3d9e0ce] { + outline: 2px solid var(--color-primary-element-text); + border-radius: var(--border-radius-element, var(--border-radius)); + background-color: transparent; +} +.button-vue--vue-primary[data-v-c3d9e0ce] { + background-color: var(--color-primary-element); + color: var(--color-primary-element-text); +} +.button-vue--vue-primary[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: var(--color-primary-element-hover); +} +.button-vue--vue-primary[data-v-c3d9e0ce]:active { + background-color: var(--color-primary-element); +} +.button-vue--vue-secondary[data-v-c3d9e0ce] { + color: var(--color-primary-element-light-text); + background-color: var(--color-primary-element-light); +} +.button-vue--vue-secondary[data-v-c3d9e0ce]:hover:not(:disabled) { + color: var(--color-primary-element-light-text); + background-color: var(--color-primary-element-light-hover); +} +.button-vue--vue-tertiary[data-v-c3d9e0ce] { + color: var(--color-main-text); + background-color: transparent; +} +.button-vue--vue-tertiary[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: var(--color-background-hover); +} +.button-vue--vue-tertiary-no-background[data-v-c3d9e0ce] { + color: var(--color-main-text); + background-color: transparent; +} +.button-vue--vue-tertiary-no-background[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: transparent; +} +.button-vue--vue-tertiary-on-primary[data-v-c3d9e0ce] { + color: var(--color-primary-element-text); + background-color: transparent; +} +.button-vue--vue-tertiary-on-primary[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: transparent; +} +.button-vue--vue-success[data-v-c3d9e0ce] { + background-color: var(--color-success); + color: white; +} +.button-vue--vue-success[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: var(--color-success-hover); +} +.button-vue--vue-success[data-v-c3d9e0ce]:active { + background-color: var(--color-success); +} +.button-vue--vue-warning[data-v-c3d9e0ce] { + background-color: var(--color-warning); + color: white; +} +.button-vue--vue-warning[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: var(--color-warning-hover); +} +.button-vue--vue-warning[data-v-c3d9e0ce]:active { + background-color: var(--color-warning); +} +.button-vue--vue-error[data-v-c3d9e0ce] { + background-color: var(--color-error); + color: white; +} +.button-vue--vue-error[data-v-c3d9e0ce]:hover:not(:disabled) { + background-color: var(--color-error-hover); +} +.button-vue--vue-error[data-v-c3d9e0ce]:active { + background-color: var(--color-error); +}`, ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/Tooltip-DQ4Plm4r.css": +/*!************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/Tooltip-DQ4Plm4r.css ***! + \************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js"); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +// Imports + + +var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +// Module +___CSS_LOADER_EXPORT___.push([module.id, `/** + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/** + * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +/* +* Ensure proper alignment of the vue material icons +*/ +.material-design-icon { + display: flex; + align-self: center; + justify-self: center; + align-items: center; + justify-content: center; +} + +/** +* SPDX-FileCopyrightText: 2011-2015 Twitter, Inc. +* SPDX-FileCopyrightText: 2015-2016 Owncloud, Inc. +* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors +* SPDX-License-Identifier: MIT +*/ +.v-popper--theme-tooltip.v-popper__popper { + position: absolute; + z-index: 100000; + top: 0; + right: auto; + left: auto; + display: block; + margin: 0; + padding: 0; + text-align: left; + text-align: start; + opacity: 0; + line-height: 1.6; + line-break: auto; + filter: drop-shadow(0 1px 10px var(--color-box-shadow)); +} +.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container { + bottom: -10px; + border-bottom-width: 0; + border-top-color: var(--color-main-background); +} +.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container { + top: -10px; + border-top-width: 0; + border-bottom-color: var(--color-main-background); +} +.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container { + right: 100%; + border-left-width: 0; + border-right-color: var(--color-main-background); +} +.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container { + left: 100%; + border-right-width: 0; + border-left-color: var(--color-main-background); +} +.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true] { + visibility: hidden; + transition: opacity 0.15s, visibility 0.15s; + opacity: 0; +} +.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false] { + visibility: visible; + transition: opacity 0.15s; + opacity: 1; +} +.v-popper--theme-tooltip .v-popper__inner { + max-width: 350px; + padding: 5px 8px; + text-align: center; + color: var(--color-main-text); + border-radius: var(--border-radius); + background-color: var(--color-main-background); +} +.v-popper--theme-tooltip .v-popper__arrow-container { + position: absolute; + z-index: 1; + width: 0; + height: 0; + margin: 0; + border-style: solid; + border-color: transparent; + border-width: 10px; +}`, ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/splitpanes/dist/splitpanes.css": +/*!*******************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/splitpanes/dist/splitpanes.css ***! + \*******************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js"); +/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +// Imports + + +var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +// Module +___CSS_LOADER_EXPORT___.push([module.id, `.splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;-o-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;-o-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;-o-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:before,.splitpanes.default-theme .splitpanes__splitter:hover:after{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px} +`, ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss": +/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss ***! + \*******************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/css-loader/dist/runtime/noSourceMaps.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +// Imports + + +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +// Module +___CSS_LOADER_EXPORT___.push([module.id, `#webtransfer[data-v-7ba5bd90] { + display: flex; + justify-content: center; + margin: 16px; +}`, ""]); +// Exports +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/api.js": +/*!*****************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/api.js ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +module.exports = function (cssWithMappingToString) { + var list = []; + + // return the list of modules as css string + list.toString = function toString() { + return this.map(function (item) { + var content = ""; + var needLayer = typeof item[5] !== "undefined"; + if (item[4]) { + content += "@supports (".concat(item[4], ") {"); + } + if (item[2]) { + content += "@media ".concat(item[2], " {"); + } + if (needLayer) { + content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); + } + content += cssWithMappingToString(item); + if (needLayer) { + content += "}"; + } + if (item[2]) { + content += "}"; + } + if (item[4]) { + content += "}"; + } + return content; + }).join(""); + }; + + // import a list of modules into the list + list.i = function i(modules, media, dedupe, supports, layer) { + if (typeof modules === "string") { + modules = [[null, modules, undefined]]; + } + var alreadyImportedModules = {}; + if (dedupe) { + for (var k = 0; k < this.length; k++) { + var id = this[k][0]; + if (id != null) { + alreadyImportedModules[id] = true; + } + } + } + for (var _k = 0; _k < modules.length; _k++) { + var item = [].concat(modules[_k]); + if (dedupe && alreadyImportedModules[item[0]]) { + continue; + } + if (typeof layer !== "undefined") { + if (typeof item[5] === "undefined") { + item[5] = layer; + } else { + item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); + item[5] = layer; + } + } + if (media) { + if (!item[2]) { + item[2] = media; + } else { + item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); + item[2] = media; + } + } + if (supports) { + if (!item[4]) { + item[4] = "".concat(supports); + } else { + item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); + item[4] = supports; + } + } + list.push(item); + } + }; + return list; +}; + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js": +/*!**************************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/noSourceMaps.js ***! + \**************************************************************/ +/***/ ((module) => { + +"use strict"; + + +module.exports = function (i) { + return i[1]; +}; + +/***/ }), + +/***/ "./node_modules/escape-html/index.js": +/*!*******************************************!*\ + !*** ./node_modules/escape-html/index.js ***! + \*******************************************/ +/***/ ((module) => { + +"use strict"; +/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */ + + + +/** + * Module variables. + * @private + */ + +var matchHtmlRegExp = /["'&<>]/; + +/** + * Module exports. + * @public + */ + +module.exports = escapeHtml; + +/** + * Escape special characters in the given string of html. + * + * @param {string} string The string to escape for inserting into HTML + * @return {string} + * @public + */ + +function escapeHtml(string) { + var str = '' + string; + var match = matchHtmlRegExp.exec(str); + + if (!match) { + return str; + } + + var escape; + var html = ''; + var index = 0; + var lastIndex = 0; + + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: // " + escape = '"'; + break; + case 38: // & + escape = '&'; + break; + case 39: // ' + escape = '''; + break; + case 60: // < + escape = '<'; + break; + case 62: // > + escape = '>'; + break; + default: + continue; + } + + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + + lastIndex = index + 1; + html += escape; + } + + return lastIndex !== index + ? html + str.substring(lastIndex, index) + : html; +} + + +/***/ }), + +/***/ "./node_modules/floating-vue/dist/floating-vue.es.js": +/*!***********************************************************!*\ + !*** ./node_modules/floating-vue/dist/floating-vue.es.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Dropdown: () => (/* binding */ Dropdown), +/* harmony export */ HIDE_EVENT_MAP: () => (/* binding */ HIDE_EVENT_MAP), +/* harmony export */ Menu: () => (/* binding */ Menu), +/* harmony export */ Popper: () => (/* binding */ Popper), +/* harmony export */ PopperContent: () => (/* binding */ PopperContent), +/* harmony export */ PopperMethods: () => (/* binding */ PopperMethods), +/* harmony export */ PopperWrapper: () => (/* binding */ PopperWrapper), +/* harmony export */ SHOW_EVENT_MAP: () => (/* binding */ SHOW_EVENT_MAP), +/* harmony export */ ThemeClass: () => (/* binding */ ThemeClass), +/* harmony export */ Tooltip: () => (/* binding */ Tooltip), +/* harmony export */ TooltipDirective: () => (/* binding */ TooltipDirective), +/* harmony export */ VClosePopper: () => (/* binding */ VClosePopper), +/* harmony export */ VTooltip: () => (/* binding */ VTooltip), +/* harmony export */ createTooltip: () => (/* binding */ createTooltip), +/* harmony export */ "default": () => (/* binding */ plugin), +/* harmony export */ destroyTooltip: () => (/* binding */ destroyTooltip), +/* harmony export */ hideAllPoppers: () => (/* binding */ hideAllPoppers), +/* harmony export */ install: () => (/* binding */ install), +/* harmony export */ options: () => (/* binding */ options), +/* harmony export */ placements: () => (/* binding */ placements) +/* harmony export */ }); +/* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/dom */ "./node_modules/floating-vue/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js"); +/* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/dom */ "./node_modules/floating-vue/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js"); +/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js"); +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __objRest = (source, exclude) => { + var target = {}; + for (var prop in source) + if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) + target[prop] = source[prop]; + if (source != null && __getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(source)) { + if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) + target[prop] = source[prop]; + } + return target; +}; + + +function assign(to, from) { + for (const key in from) { + if (Object.prototype.hasOwnProperty.call(from, key)) { + if (typeof from[key] === "object" && to[key]) { + assign(to[key], from[key]); + } else { + to[key] = from[key]; + } + } + } +} +const config = { + disabled: false, + distance: 5, + skidding: 0, + container: "body", + boundary: void 0, + instantMove: false, + disposeTimeout: 5e3, + popperTriggers: [], + strategy: "absolute", + preventOverflow: true, + flip: true, + shift: true, + overflowPadding: 0, + arrowPadding: 0, + arrowOverflow: true, + themes: { + tooltip: { + placement: "top", + triggers: ["hover", "focus", "touch"], + hideTriggers: (events) => [...events, "click"], + delay: { + show: 200, + hide: 0 + }, + handleResize: false, + html: false, + loadingContent: "..." + }, + dropdown: { + placement: "bottom", + triggers: ["click"], + delay: 0, + handleResize: true, + autoHide: true + }, + menu: { + $extend: "dropdown", + triggers: ["hover", "focus"], + popperTriggers: ["hover", "focus"], + delay: { + show: 0, + hide: 400 + } + } + } +}; +function getDefaultConfig(theme, key) { + let themeConfig = config.themes[theme] || {}; + let value; + do { + value = themeConfig[key]; + if (typeof value === "undefined") { + if (themeConfig.$extend) { + themeConfig = config.themes[themeConfig.$extend] || {}; + } else { + themeConfig = null; + value = config[key]; + } + } else { + themeConfig = null; + } + } while (themeConfig); + return value; +} +function getThemeClasses(theme) { + const result = [theme]; + let themeConfig = config.themes[theme] || {}; + do { + if (themeConfig.$extend && !themeConfig.$resetCss) { + result.push(themeConfig.$extend); + themeConfig = config.themes[themeConfig.$extend] || {}; + } else { + themeConfig = null; + } + } while (themeConfig); + return result.map((c) => `v-popper--theme-${c}`); +} +function getAllParentThemes(theme) { + const result = [theme]; + let themeConfig = config.themes[theme] || {}; + do { + if (themeConfig.$extend) { + result.push(themeConfig.$extend); + themeConfig = config.themes[themeConfig.$extend] || {}; + } else { + themeConfig = null; + } + } while (themeConfig); + return result; +} +var vueResize = ""; +let supportsPassive = false; +if (typeof window !== "undefined") { + supportsPassive = false; + try { + const opts = Object.defineProperty({}, "passive", { + get() { + supportsPassive = true; + } + }); + window.addEventListener("test", null, opts); + } catch (e) { + } +} +let isIOS = false; +if (typeof window !== "undefined" && typeof navigator !== "undefined") { + isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; +} +const placements = ["auto", "top", "bottom", "left", "right"].reduce((acc, base) => acc.concat([ + base, + `${base}-start`, + `${base}-end` +]), []); +const SHOW_EVENT_MAP = { + hover: "mouseenter", + focus: "focus", + click: "click", + touch: "touchstart" +}; +const HIDE_EVENT_MAP = { + hover: "mouseleave", + focus: "blur", + click: "click", + touch: "touchend" +}; +function removeFromArray(array, item) { + const index = array.indexOf(item); + if (index !== -1) { + array.splice(index, 1); + } +} +function nextFrame() { + return new Promise((resolve) => requestAnimationFrame(() => { + requestAnimationFrame(resolve); + })); +} +const shownPoppers = []; +let hidingPopper = null; +const shownPoppersByTheme = {}; +function getShownPoppersByTheme(theme) { + let list = shownPoppersByTheme[theme]; + if (!list) { + list = shownPoppersByTheme[theme] = []; + } + return list; +} +let Element = function() { +}; +if (typeof window !== "undefined") { + Element = window.Element; +} +function defaultPropFactory(prop) { + return function() { + const props = this.$props; + return getDefaultConfig(props.theme, prop); + }; +} +const PROVIDE_KEY = "__floating-vue__popper"; +var PrivatePopper = () => ({ + name: "VPopper", + props: { + theme: { + type: String, + required: true + }, + targetNodes: { + type: Function, + required: true + }, + referenceNode: { + type: Function, + required: true + }, + popperNode: { + type: Function, + required: true + }, + shown: { + type: Boolean, + default: false + }, + showGroup: { + type: String, + default: null + }, + ariaId: { + default: null + }, + disabled: { + type: Boolean, + default: defaultPropFactory("disabled") + }, + positioningDisabled: { + type: Boolean, + default: defaultPropFactory("positioningDisabled") + }, + placement: { + type: String, + default: defaultPropFactory("placement"), + validator: (value) => placements.includes(value) + }, + delay: { + type: [String, Number, Object], + default: defaultPropFactory("delay") + }, + distance: { + type: [Number, String], + default: defaultPropFactory("distance") + }, + skidding: { + type: [Number, String], + default: defaultPropFactory("skidding") + }, + triggers: { + type: Array, + default: defaultPropFactory("triggers") + }, + showTriggers: { + type: [Array, Function], + default: defaultPropFactory("showTriggers") + }, + hideTriggers: { + type: [Array, Function], + default: defaultPropFactory("hideTriggers") + }, + popperTriggers: { + type: Array, + default: defaultPropFactory("popperTriggers") + }, + popperShowTriggers: { + type: [Array, Function], + default: defaultPropFactory("popperShowTriggers") + }, + popperHideTriggers: { + type: [Array, Function], + default: defaultPropFactory("popperHideTriggers") + }, + container: { + type: [String, Object, Element, Boolean], + default: defaultPropFactory("container") + }, + boundary: { + type: [String, Element], + default: defaultPropFactory("boundary") + }, + strategy: { + type: String, + validator: (value) => ["absolute", "fixed"].includes(value), + default: defaultPropFactory("strategy") + }, + autoHide: { + type: [Boolean, Function], + default: defaultPropFactory("autoHide") + }, + handleResize: { + type: Boolean, + default: defaultPropFactory("handleResize") + }, + instantMove: { + type: Boolean, + default: defaultPropFactory("instantMove") + }, + eagerMount: { + type: Boolean, + default: defaultPropFactory("eagerMount") + }, + popperClass: { + type: [String, Array, Object], + default: defaultPropFactory("popperClass") + }, + computeTransformOrigin: { + type: Boolean, + default: defaultPropFactory("computeTransformOrigin") + }, + autoMinSize: { + type: Boolean, + default: defaultPropFactory("autoMinSize") + }, + autoSize: { + type: [Boolean, String], + default: defaultPropFactory("autoSize") + }, + autoMaxSize: { + type: Boolean, + default: defaultPropFactory("autoMaxSize") + }, + autoBoundaryMaxSize: { + type: Boolean, + default: defaultPropFactory("autoBoundaryMaxSize") + }, + preventOverflow: { + type: Boolean, + default: defaultPropFactory("preventOverflow") + }, + overflowPadding: { + type: [Number, String], + default: defaultPropFactory("overflowPadding") + }, + arrowPadding: { + type: [Number, String], + default: defaultPropFactory("arrowPadding") + }, + arrowOverflow: { + type: Boolean, + default: defaultPropFactory("arrowOverflow") + }, + flip: { + type: Boolean, + default: defaultPropFactory("flip") + }, + shift: { + type: Boolean, + default: defaultPropFactory("shift") + }, + shiftCrossAxis: { + type: Boolean, + default: defaultPropFactory("shiftCrossAxis") + }, + noAutoFocus: { + type: Boolean, + default: defaultPropFactory("noAutoFocus") + } + }, + provide() { + return { + [PROVIDE_KEY]: { + parentPopper: this + } + }; + }, + inject: { + [PROVIDE_KEY]: { default: null } + }, + data() { + return { + isShown: false, + isMounted: false, + skipTransition: false, + classes: { + showFrom: false, + showTo: false, + hideFrom: false, + hideTo: true + }, + result: { + x: 0, + y: 0, + placement: "", + strategy: this.strategy, + arrow: { + x: 0, + y: 0, + centerOffset: 0 + }, + transformOrigin: null + }, + shownChildren: /* @__PURE__ */ new Set(), + lastAutoHide: true + }; + }, + computed: { + popperId() { + return this.ariaId != null ? this.ariaId : this.randomId; + }, + shouldMountContent() { + return this.eagerMount || this.isMounted; + }, + slotData() { + return { + popperId: this.popperId, + isShown: this.isShown, + shouldMountContent: this.shouldMountContent, + skipTransition: this.skipTransition, + autoHide: typeof this.autoHide === "function" ? this.lastAutoHide : this.autoHide, + show: this.show, + hide: this.hide, + handleResize: this.handleResize, + onResize: this.onResize, + classes: __spreadProps(__spreadValues({}, this.classes), { + popperClass: this.popperClass + }), + result: this.positioningDisabled ? null : this.result + }; + }, + parentPopper() { + var _a; + return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper; + }, + hasPopperShowTriggerHover() { + var _a, _b; + return ((_a = this.popperTriggers) == null ? void 0 : _a.includes("hover")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes("hover")); + } + }, + watch: __spreadValues(__spreadValues({ + shown: "$_autoShowHide", + disabled(value) { + if (value) { + this.dispose(); + } else { + this.init(); + } + }, + async container() { + if (this.isShown) { + this.$_ensureTeleport(); + await this.$_computePosition(); + } + } + }, [ + "triggers", + "positioningDisabled" + ].reduce((acc, prop) => { + acc[prop] = "$_refreshListeners"; + return acc; + }, {})), [ + "placement", + "distance", + "skidding", + "boundary", + "strategy", + "overflowPadding", + "arrowPadding", + "preventOverflow", + "shift", + "shiftCrossAxis", + "flip" + ].reduce((acc, prop) => { + acc[prop] = "$_computePosition"; + return acc; + }, {})), + created() { + this.$_isDisposed = true; + this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join("_")}`; + if (this.autoMinSize) { + console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize="min"` instead.'); + } + if (this.autoMaxSize) { + console.warn("[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead."); + } + }, + mounted() { + this.init(); + this.$_detachPopperNode(); + }, + activated() { + this.$_autoShowHide(); + }, + deactivated() { + this.hide(); + }, + beforeDestroy() { + this.dispose(); + }, + methods: { + show({ event = null, skipDelay = false, force = false } = {}) { + var _a, _b; + if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this) + return; + this.$_pendingHide = false; + if (force || !this.disabled) { + if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) { + this.parentPopper.lockedChild = null; + } + this.$_scheduleShow(event, skipDelay); + this.$emit("show"); + this.$_showFrameLocked = true; + requestAnimationFrame(() => { + this.$_showFrameLocked = false; + }); + } + this.$emit("update:shown", true); + }, + hide({ event = null, skipDelay = false, skipAiming = false } = {}) { + var _a; + if (this.$_hideInProgress) + return; + if (this.shownChildren.size > 0) { + this.$_pendingHide = true; + return; + } + if (!skipAiming && this.hasPopperShowTriggerHover && this.$_isAimingPopper()) { + if (this.parentPopper) { + this.parentPopper.lockedChild = this; + clearTimeout(this.parentPopper.lockedChildTimer); + this.parentPopper.lockedChildTimer = setTimeout(() => { + if (this.parentPopper.lockedChild === this) { + this.parentPopper.lockedChild.hide({ skipDelay }); + this.parentPopper.lockedChild = null; + } + }, 1e3); + } + return; + } + if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) { + this.parentPopper.lockedChild = null; + } + this.$_pendingHide = false; + this.$_scheduleHide(event, skipDelay); + this.$emit("hide"); + this.$emit("update:shown", false); + }, + init() { + if (!this.$_isDisposed) + return; + this.$_isDisposed = false; + this.isMounted = false; + this.$_events = []; + this.$_preventShow = false; + this.$_referenceNode = this.referenceNode(); + this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE); + this.$_popperNode = this.popperNode(); + this.$_innerNode = this.$_popperNode.querySelector(".v-popper__inner"); + this.$_arrowNode = this.$_popperNode.querySelector(".v-popper__arrow-container"); + this.$_swapTargetAttrs("title", "data-original-title"); + this.$_detachPopperNode(); + if (this.triggers.length) { + this.$_addEventListeners(); + } + if (this.shown) { + this.show(); + } + }, + dispose() { + if (this.$_isDisposed) + return; + this.$_isDisposed = true; + this.$_removeEventListeners(); + this.hide({ skipDelay: true }); + this.$_detachPopperNode(); + this.isMounted = false; + this.isShown = false; + this.$_updateParentShownChildren(false); + this.$_swapTargetAttrs("data-original-title", "title"); + this.$emit("dispose"); + }, + async onResize() { + if (this.isShown) { + await this.$_computePosition(); + this.$emit("resize"); + } + }, + async $_computePosition() { + var _a; + if (this.$_isDisposed || this.positioningDisabled) + return; + const options2 = { + strategy: this.strategy, + middleware: [] + }; + if (this.distance || this.skidding) { + options2.middleware.push((0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.offset)({ + mainAxis: this.distance, + crossAxis: this.skidding + })); + } + const isPlacementAuto = this.placement.startsWith("auto"); + if (isPlacementAuto) { + options2.middleware.push((0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.autoPlacement)({ + alignment: (_a = this.placement.split("-")[1]) != null ? _a : "" + })); + } else { + options2.placement = this.placement; + } + if (this.preventOverflow) { + if (this.shift) { + options2.middleware.push((0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.shift)({ + padding: this.overflowPadding, + boundary: this.boundary, + crossAxis: this.shiftCrossAxis + })); + } + if (!isPlacementAuto && this.flip) { + options2.middleware.push((0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.flip)({ + padding: this.overflowPadding, + boundary: this.boundary + })); + } + } + options2.middleware.push((0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.arrow)({ + element: this.$_arrowNode, + padding: this.arrowPadding + })); + if (this.arrowOverflow) { + options2.middleware.push({ + name: "arrowOverflow", + fn: ({ placement, rects, middlewareData }) => { + let overflow; + const { centerOffset } = middlewareData.arrow; + if (placement.startsWith("top") || placement.startsWith("bottom")) { + overflow = Math.abs(centerOffset) > rects.reference.width / 2; + } else { + overflow = Math.abs(centerOffset) > rects.reference.height / 2; + } + return { + data: { + overflow + } + }; + } + }); + } + if (this.autoMinSize || this.autoSize) { + const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? "min" : null; + options2.middleware.push({ + name: "autoSize", + fn: ({ rects, placement, middlewareData }) => { + var _a2; + if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) { + return {}; + } + let width; + let height; + if (placement.startsWith("top") || placement.startsWith("bottom")) { + width = rects.reference.width; + } else { + height = rects.reference.height; + } + this.$_innerNode.style[autoSize === "min" ? "minWidth" : autoSize === "max" ? "maxWidth" : "width"] = width != null ? `${width}px` : null; + this.$_innerNode.style[autoSize === "min" ? "minHeight" : autoSize === "max" ? "maxHeight" : "height"] = height != null ? `${height}px` : null; + return { + data: { + skip: true + }, + reset: { + rects: true + } + }; + } + }); + } + if (this.autoMaxSize || this.autoBoundaryMaxSize) { + this.$_innerNode.style.maxWidth = null; + this.$_innerNode.style.maxHeight = null; + options2.middleware.push((0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.size)({ + boundary: this.boundary, + padding: this.overflowPadding, + apply: ({ width, height }) => { + this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null; + this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null; + } + })); + } + const data = await (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__.computePosition)(this.$_referenceNode, this.$_popperNode, options2); + Object.assign(this.result, { + x: data.x, + y: data.y, + placement: data.placement, + strategy: data.strategy, + arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow) + }); + }, + $_scheduleShow(event = null, skipDelay = false) { + this.$_updateParentShownChildren(true); + this.$_hideInProgress = false; + clearTimeout(this.$_scheduleTimer); + if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) { + hidingPopper.$_applyHide(true); + this.$_applyShow(true); + return; + } + if (skipDelay) { + this.$_applyShow(); + } else { + this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay("show")); + } + }, + $_scheduleHide(event = null, skipDelay = false) { + if (this.shownChildren.size > 0) { + this.$_pendingHide = true; + return; + } + this.$_updateParentShownChildren(false); + this.$_hideInProgress = true; + clearTimeout(this.$_scheduleTimer); + if (this.isShown) { + hidingPopper = this; + } + if (skipDelay) { + this.$_applyHide(); + } else { + this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay("hide")); + } + }, + $_computeDelay(type) { + const delay = this.delay; + return parseInt(delay && delay[type] || delay || 0); + }, + async $_applyShow(skipTransition = false) { + clearTimeout(this.$_disposeTimer); + clearTimeout(this.$_scheduleTimer); + this.skipTransition = skipTransition; + if (this.isShown) { + return; + } + this.$_ensureTeleport(); + await nextFrame(); + await this.$_computePosition(); + await this.$_applyShowEffect(); + if (!this.positioningDisabled) { + this.$_registerEventListeners([ + ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__.getScrollParents)(this.$_referenceNode), + ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__.getScrollParents)(this.$_popperNode) + ], "scroll", () => { + this.$_computePosition(); + }); + } + }, + async $_applyShowEffect() { + if (this.$_hideInProgress) + return; + if (this.computeTransformOrigin) { + const bounds = this.$_referenceNode.getBoundingClientRect(); + const popperWrapper = this.$_popperNode.querySelector(".v-popper__wrapper"); + const parentBounds = popperWrapper.parentNode.getBoundingClientRect(); + const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft); + const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop); + this.result.transformOrigin = `${x}px ${y}px`; + } + this.isShown = true; + this.$_applyAttrsToTarget({ + "aria-describedby": this.popperId, + "data-popper-shown": "" + }); + const showGroup = this.showGroup; + if (showGroup) { + let popover; + for (let i = 0; i < shownPoppers.length; i++) { + popover = shownPoppers[i]; + if (popover.showGroup !== showGroup) { + popover.hide(); + popover.$emit("close-group"); + } + } + } + shownPoppers.push(this); + document.body.classList.add("v-popper--some-open"); + for (const theme of getAllParentThemes(this.theme)) { + getShownPoppersByTheme(theme).push(this); + document.body.classList.add(`v-popper--some-open--${theme}`); + } + this.$emit("apply-show"); + this.classes.showFrom = true; + this.classes.showTo = false; + this.classes.hideFrom = false; + this.classes.hideTo = false; + await nextFrame(); + this.classes.showFrom = false; + this.classes.showTo = true; + if (!this.noAutoFocus) + this.$_popperNode.focus(); + }, + async $_applyHide(skipTransition = false) { + if (this.shownChildren.size > 0) { + this.$_pendingHide = true; + this.$_hideInProgress = false; + return; + } + clearTimeout(this.$_scheduleTimer); + if (!this.isShown) { + return; + } + this.skipTransition = skipTransition; + removeFromArray(shownPoppers, this); + if (shownPoppers.length === 0) { + document.body.classList.remove("v-popper--some-open"); + } + for (const theme of getAllParentThemes(this.theme)) { + const list = getShownPoppersByTheme(theme); + removeFromArray(list, this); + if (list.length === 0) { + document.body.classList.remove(`v-popper--some-open--${theme}`); + } + } + if (hidingPopper === this) { + hidingPopper = null; + } + this.isShown = false; + this.$_applyAttrsToTarget({ + "aria-describedby": void 0, + "data-popper-shown": void 0 + }); + clearTimeout(this.$_disposeTimer); + const disposeTime = getDefaultConfig(this.theme, "disposeTimeout"); + if (disposeTime !== null) { + this.$_disposeTimer = setTimeout(() => { + if (this.$_popperNode) { + this.$_detachPopperNode(); + this.isMounted = false; + } + }, disposeTime); + } + this.$_removeEventListeners("scroll"); + this.$emit("apply-hide"); + this.classes.showFrom = false; + this.classes.showTo = false; + this.classes.hideFrom = true; + this.classes.hideTo = false; + await nextFrame(); + this.classes.hideFrom = false; + this.classes.hideTo = true; + }, + $_autoShowHide() { + if (this.shown) { + this.show(); + } else { + this.hide(); + } + }, + $_ensureTeleport() { + if (this.$_isDisposed) + return; + let container = this.container; + if (typeof container === "string") { + container = window.document.querySelector(container); + } else if (container === false) { + container = this.$_targetNodes[0].parentNode; + } + if (!container) { + throw new Error("No container for popover: " + this.container); + } + container.appendChild(this.$_popperNode); + this.isMounted = true; + }, + $_addEventListeners() { + const handleShow = (event) => { + if (this.isShown && !this.$_hideInProgress) { + return; + } + event.usedByTooltip = true; + !this.$_preventShow && this.show({ event }); + }; + this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow); + this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow); + const handleHide = (skipAiming) => (event) => { + if (event.usedByTooltip) { + return; + } + this.hide({ event, skipAiming }); + }; + this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide(false)); + this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide(true)); + }, + $_registerEventListeners(targetNodes, eventType, handler) { + this.$_events.push({ targetNodes, eventType, handler }); + targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? { + passive: true + } : void 0)); + }, + $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) { + let triggers = commonTriggers; + if (customTrigger != null) { + triggers = typeof customTrigger === "function" ? customTrigger(triggers) : customTrigger; + } + triggers.forEach((trigger) => { + const eventType = eventMap[trigger]; + if (eventType) { + this.$_registerEventListeners(targetNodes, eventType, handler); + } + }); + }, + $_removeEventListeners(filterEventType) { + const newList = []; + this.$_events.forEach((listener) => { + const { targetNodes, eventType, handler } = listener; + if (!filterEventType || filterEventType === eventType) { + targetNodes.forEach((node) => node.removeEventListener(eventType, handler)); + } else { + newList.push(listener); + } + }); + this.$_events = newList; + }, + $_refreshListeners() { + if (!this.$_isDisposed) { + this.$_removeEventListeners(); + this.$_addEventListeners(); + } + }, + $_handleGlobalClose(event, touch = false) { + if (this.$_showFrameLocked) + return; + this.hide({ event }); + if (event.closePopover) { + this.$emit("close-directive"); + } else { + this.$emit("auto-hide"); + } + if (touch) { + this.$_preventShow = true; + setTimeout(() => { + this.$_preventShow = false; + }, 300); + } + }, + $_detachPopperNode() { + this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode); + }, + $_swapTargetAttrs(attrFrom, attrTo) { + for (const el of this.$_targetNodes) { + const value = el.getAttribute(attrFrom); + if (value) { + el.removeAttribute(attrFrom); + el.setAttribute(attrTo, value); + } + } + }, + $_applyAttrsToTarget(attrs) { + for (const el of this.$_targetNodes) { + for (const n in attrs) { + const value = attrs[n]; + if (value == null) { + el.removeAttribute(n); + } else { + el.setAttribute(n, value); + } + } + } + }, + $_updateParentShownChildren(value) { + let parent = this.parentPopper; + while (parent) { + if (value) { + parent.shownChildren.add(this.randomId); + } else { + parent.shownChildren.delete(this.randomId); + if (parent.$_pendingHide) { + parent.hide(); + } + } + parent = parent.parentPopper; + } + }, + $_isAimingPopper() { + const referenceBounds = this.$el.getBoundingClientRect(); + if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) { + const popperBounds = this.$_popperNode.getBoundingClientRect(); + const vectorX = mouseX - mousePreviousX; + const vectorY = mouseY - mousePreviousY; + const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY; + const newVectorLength = distance + popperBounds.width + popperBounds.height; + const edgeX = mousePreviousX + vectorX * newVectorLength; + const edgeY = mousePreviousY + vectorY * newVectorLength; + return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom); + } + return false; + } + }, + render() { + return this.$scopedSlots.default(this.slotData)[0]; + } +}); +if (typeof document !== "undefined" && typeof window !== "undefined") { + if (isIOS) { + document.addEventListener("touchstart", handleGlobalMousedown, supportsPassive ? { + passive: true, + capture: true + } : true); + document.addEventListener("touchend", handleGlobalTouchend, supportsPassive ? { + passive: true, + capture: true + } : true); + } else { + window.addEventListener("mousedown", handleGlobalMousedown, true); + window.addEventListener("click", handleGlobalClick, true); + } + window.addEventListener("resize", computePositionAllShownPoppers); +} +function handleGlobalMousedown(event) { + for (let i = 0; i < shownPoppers.length; i++) { + const popper = shownPoppers[i]; + try { + const popperContent = popper.popperNode(); + popper.$_mouseDownContains = popperContent.contains(event.target); + } catch (e) { + } + } +} +function handleGlobalClick(event) { + handleGlobalClose(event); +} +function handleGlobalTouchend(event) { + handleGlobalClose(event, true); +} +function handleGlobalClose(event, touch = false) { + const preventClose = {}; + for (let i = shownPoppers.length - 1; i >= 0; i--) { + const popper = shownPoppers[i]; + try { + const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event); + popper.$_pendingHide = false; + requestAnimationFrame(() => { + popper.$_pendingHide = false; + if (preventClose[popper.randomId]) + return; + if (shouldAutoHide(popper, contains, event)) { + popper.$_handleGlobalClose(event, touch); + if (!event.closeAllPopover && event.closePopover && contains) { + let parent2 = popper.parentPopper; + while (parent2) { + preventClose[parent2.randomId] = true; + parent2 = parent2.parentPopper; + } + return; + } + let parent = popper.parentPopper; + while (parent) { + if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) { + parent.$_handleGlobalClose(event, touch); + } else { + break; + } + parent = parent.parentPopper; + } + } + }); + } catch (e) { + } + } +} +function isContainingEventTarget(popper, event) { + const popperContent = popper.popperNode(); + return popper.$_mouseDownContains || popperContent.contains(event.target); +} +function shouldAutoHide(popper, contains, event) { + return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains; +} +function getAutoHideResult(popper, event) { + if (typeof popper.autoHide === "function") { + const result = popper.autoHide(event); + popper.lastAutoHide = result; + return result; + } + return popper.autoHide; +} +function computePositionAllShownPoppers(event) { + for (let i = 0; i < shownPoppers.length; i++) { + const popper = shownPoppers[i]; + popper.$_computePosition(event); + } +} +function hideAllPoppers() { + for (let i = 0; i < shownPoppers.length; i++) { + const popper = shownPoppers[i]; + popper.hide(); + } +} +let mousePreviousX = 0; +let mousePreviousY = 0; +let mouseX = 0; +let mouseY = 0; +if (typeof window !== "undefined") { + window.addEventListener("mousemove", (event) => { + mousePreviousX = mouseX; + mousePreviousY = mouseY; + mouseX = event.clientX; + mouseY = event.clientY; + }, supportsPassive ? { + passive: true + } : void 0); +} +function lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) { + const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)); + const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1)); + return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1; +} +function getInternetExplorerVersion() { + var ua = window.navigator.userAgent; + var msie = ua.indexOf("MSIE "); + if (msie > 0) { + return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)), 10); + } + var trident = ua.indexOf("Trident/"); + if (trident > 0) { + var rv = ua.indexOf("rv:"); + return parseInt(ua.substring(rv + 3, ua.indexOf(".", rv)), 10); + } + var edge = ua.indexOf("Edge/"); + if (edge > 0) { + return parseInt(ua.substring(edge + 5, ua.indexOf(".", edge)), 10); + } + return -1; +} +var isIE; +function initCompat() { + if (!initCompat.init) { + initCompat.init = true; + isIE = getInternetExplorerVersion() !== -1; + } +} +var script = { + name: "ResizeObserver", + props: { + emitOnMount: { + type: Boolean, + default: false + }, + ignoreWidth: { + type: Boolean, + default: false + }, + ignoreHeight: { + type: Boolean, + default: false + } + }, + mounted: function mounted() { + var _this = this; + initCompat(); + this.$nextTick(function() { + _this._w = _this.$el.offsetWidth; + _this._h = _this.$el.offsetHeight; + if (_this.emitOnMount) { + _this.emitSize(); + } + }); + var object = document.createElement("object"); + this._resizeObject = object; + object.setAttribute("aria-hidden", "true"); + object.setAttribute("tabindex", -1); + object.onload = this.addResizeHandlers; + object.type = "text/html"; + if (isIE) { + this.$el.appendChild(object); + } + object.data = "about:blank"; + if (!isIE) { + this.$el.appendChild(object); + } + }, + beforeDestroy: function beforeDestroy() { + this.removeResizeHandlers(); + }, + methods: { + compareAndNotify: function compareAndNotify() { + if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) { + this._w = this.$el.offsetWidth; + this._h = this.$el.offsetHeight; + this.emitSize(); + } + }, + emitSize: function emitSize() { + this.$emit("notify", { + width: this._w, + height: this._h + }); + }, + addResizeHandlers: function addResizeHandlers() { + this._resizeObject.contentDocument.defaultView.addEventListener("resize", this.compareAndNotify); + this.compareAndNotify(); + }, + removeResizeHandlers: function removeResizeHandlers() { + if (this._resizeObject && this._resizeObject.onload) { + if (!isIE && this._resizeObject.contentDocument) { + this._resizeObject.contentDocument.defaultView.removeEventListener("resize", this.compareAndNotify); + } + this.$el.removeChild(this._resizeObject); + this._resizeObject.onload = null; + this._resizeObject = null; + } + } + } +}; +function normalizeComponent$1(template, style, script2, scopeId, isFunctionalTemplate, moduleIdentifier, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) { + if (typeof shadowMode !== "boolean") { + createInjectorSSR = createInjector; + createInjector = shadowMode; + shadowMode = false; + } + var options2 = typeof script2 === "function" ? script2.options : script2; + if (template && template.render) { + options2.render = template.render; + options2.staticRenderFns = template.staticRenderFns; + options2._compiled = true; + if (isFunctionalTemplate) { + options2.functional = true; + } + } + if (scopeId) { + options2._scopeId = scopeId; + } + var hook; + if (moduleIdentifier) { + hook = function hook2(context) { + context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; + if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") { + context = __VUE_SSR_CONTEXT__; + } + if (style) { + style.call(this, createInjectorSSR(context)); + } + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; + options2._ssrRegister = hook; + } else if (style) { + hook = shadowMode ? function(context) { + style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot)); + } : function(context) { + style.call(this, createInjector(context)); + }; + } + if (hook) { + if (options2.functional) { + var originalRender = options2.render; + options2.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + var existing = options2.beforeCreate; + options2.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + return script2; +} +var __vue_script__ = script; +var __vue_render__ = function __vue_render__2() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { + staticClass: "resize-observer", + attrs: { + tabindex: "-1" + } + }); +}; +var __vue_staticRenderFns__ = []; +__vue_render__._withStripped = true; +var __vue_inject_styles__ = void 0; +var __vue_scope_id__ = "data-v-8859cc6c"; +var __vue_module_identifier__ = void 0; +var __vue_is_functional_template__ = false; +var __vue_component__ = /* @__PURE__ */ normalizeComponent$1({ + render: __vue_render__, + staticRenderFns: __vue_staticRenderFns__ +}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, void 0, void 0, void 0); +function install$1(Vue2) { + Vue2.component("resize-observer", __vue_component__); + Vue2.component("ResizeObserver", __vue_component__); +} +var plugin$1 = { + version: "1.0.1", + install: install$1 +}; +var GlobalVue$1 = null; +if (typeof window !== "undefined") { + GlobalVue$1 = window.Vue; +} else if (typeof __webpack_require__.g !== "undefined") { + GlobalVue$1 = __webpack_require__.g.Vue; +} +if (GlobalVue$1) { + GlobalVue$1.use(plugin$1); +} +var PrivateThemeClass = { + computed: { + themeClass() { + return getThemeClasses(this.theme); + } + } +}; +var __vue2_script$5 = { + name: "VPopperContent", + components: { + ResizeObserver: __vue_component__ + }, + mixins: [ + PrivateThemeClass + ], + props: { + popperId: String, + theme: String, + shown: Boolean, + mounted: Boolean, + skipTransition: Boolean, + autoHide: Boolean, + handleResize: Boolean, + classes: Object, + result: Object + }, + methods: { + toPx(value) { + if (value != null && !isNaN(value)) { + return `${value}px`; + } + return null; + } + } +}; +var render$2 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { ref: "popover", staticClass: "v-popper__popper", class: [ + _vm.themeClass, + _vm.classes.popperClass, + { + "v-popper__popper--shown": _vm.shown, + "v-popper__popper--hidden": !_vm.shown, + "v-popper__popper--show-from": _vm.classes.showFrom, + "v-popper__popper--show-to": _vm.classes.showTo, + "v-popper__popper--hide-from": _vm.classes.hideFrom, + "v-popper__popper--hide-to": _vm.classes.hideTo, + "v-popper__popper--skip-transition": _vm.skipTransition, + "v-popper__popper--arrow-overflow": _vm.result && _vm.result.arrow.overflow, + "v-popper__popper--no-positioning": !_vm.result + } + ], style: _vm.result ? { + position: _vm.result.strategy, + transform: "translate3d(" + Math.round(_vm.result.x) + "px," + Math.round(_vm.result.y) + "px,0)" + } : void 0, attrs: { "id": _vm.popperId, "aria-hidden": _vm.shown ? "false" : "true", "tabindex": _vm.autoHide ? 0 : void 0, "data-popper-placement": _vm.result ? _vm.result.placement : void 0 }, on: { "keyup": function($event) { + if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "esc", 27, $event.key, ["Esc", "Escape"])) { + return null; + } + _vm.autoHide && _vm.$emit("hide"); + } } }, [_c("div", { staticClass: "v-popper__backdrop", on: { "click": function($event) { + _vm.autoHide && _vm.$emit("hide"); + } } }), _c("div", { staticClass: "v-popper__wrapper", style: _vm.result ? { + transformOrigin: _vm.result.transformOrigin + } : void 0 }, [_c("div", { ref: "inner", staticClass: "v-popper__inner" }, [_vm.mounted ? [_c("div", [_vm._t("default")], 2), _vm.handleResize ? _c("ResizeObserver", { on: { "notify": function($event) { + return _vm.$emit("resize", $event); + } } }) : _vm._e()] : _vm._e()], 2), _c("div", { ref: "arrow", staticClass: "v-popper__arrow-container", style: _vm.result ? { + left: _vm.toPx(_vm.result.arrow.x), + top: _vm.toPx(_vm.result.arrow.y) + } : void 0 }, [_c("div", { staticClass: "v-popper__arrow-outer" }), _c("div", { staticClass: "v-popper__arrow-inner" })])])]); +}; +var staticRenderFns$2 = []; +var PopperContent_vue_vue_type_style_index_0_lang = ""; +function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) { + var options2 = typeof scriptExports === "function" ? scriptExports.options : scriptExports; + if (render2) { + options2.render = render2; + options2.staticRenderFns = staticRenderFns2; + options2._compiled = true; + } + if (functionalTemplate) { + options2.functional = true; + } + if (scopeId) { + options2._scopeId = "data-v-" + scopeId; + } + var hook; + if (moduleIdentifier) { + hook = function(context) { + context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; + if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") { + context = __VUE_SSR_CONTEXT__; + } + if (injectStyles) { + injectStyles.call(this, context); + } + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; + options2._ssrRegister = hook; + } else if (injectStyles) { + hook = shadowMode ? function() { + injectStyles.call(this, (options2.functional ? this.parent : this).$root.$options.shadowRoot); + } : injectStyles; + } + if (hook) { + if (options2.functional) { + options2._injectStyles = hook; + var originalRender = options2.render; + options2.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + var existing = options2.beforeCreate; + options2.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + return { + exports: scriptExports, + options: options2 + }; +} +const __cssModules$5 = {}; +var __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$2, staticRenderFns$2, false, __vue2_injectStyles$5, null, null, null); +function __vue2_injectStyles$5(context) { + for (let o in __cssModules$5) { + this[o] = __cssModules$5[o]; + } +} +var PrivatePopperContent = /* @__PURE__ */ function() { + return __component__$5.exports; +}(); +var PrivatePopperMethods = { + methods: { + show(...args) { + return this.$refs.popper.show(...args); + }, + hide(...args) { + return this.$refs.popper.hide(...args); + }, + dispose(...args) { + return this.$refs.popper.dispose(...args); + }, + onResize(...args) { + return this.$refs.popper.onResize(...args); + } + } +}; +var __vue2_script$4 = { + name: "VPopperWrapper", + components: { + Popper: PrivatePopper(), + PopperContent: PrivatePopperContent + }, + mixins: [ + PrivatePopperMethods, + PrivateThemeClass + ], + inheritAttrs: false, + props: { + theme: { + type: String, + default() { + return this.$options.vPopperTheme; + } + } + }, + methods: { + getTargetNodes() { + return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el); + } + } +}; +var render$1 = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("Popper", _vm._g(_vm._b({ ref: "popper", attrs: { "theme": _vm.theme, "target-nodes": _vm.getTargetNodes, "reference-node": function() { + return _vm.$refs.reference; + }, "popper-node": function() { + return _vm.$refs.popperContent.$el; + } }, scopedSlots: _vm._u([{ key: "default", fn: function(ref) { + var popperId = ref.popperId; + var isShown = ref.isShown; + var shouldMountContent = ref.shouldMountContent; + var skipTransition = ref.skipTransition; + var autoHide = ref.autoHide; + var show = ref.show; + var hide = ref.hide; + var handleResize = ref.handleResize; + var onResize = ref.onResize; + var classes = ref.classes; + var result = ref.result; + return [_c("div", { ref: "reference", staticClass: "v-popper", class: [ + _vm.themeClass, + { + "v-popper--shown": isShown + } + ] }, [_vm._t("default", null, { "shown": isShown, "show": show, "hide": hide }), _c("PopperContent", { ref: "popperContent", attrs: { "popper-id": popperId, "theme": _vm.theme, "shown": isShown, "mounted": shouldMountContent, "skip-transition": skipTransition, "auto-hide": autoHide, "handle-resize": handleResize, "classes": classes, "result": result }, on: { "hide": hide, "resize": onResize } }, [_vm._t("popper", null, { "shown": isShown, "hide": hide })], 2)], 2)]; + } }], null, true) }, "Popper", _vm.$attrs, false), _vm.$listeners)); +}; +var staticRenderFns$1 = []; +const __cssModules$4 = {}; +var __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$1, staticRenderFns$1, false, __vue2_injectStyles$4, null, null, null); +function __vue2_injectStyles$4(context) { + for (let o in __cssModules$4) { + this[o] = __cssModules$4[o]; + } +} +var PrivatePopperWrapper = /* @__PURE__ */ function() { + return __component__$4.exports; +}(); +var __vue2_script$3 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), { + name: "VDropdown", + vPopperTheme: "dropdown" +}); +var Dropdown_vue_vue_type_style_index_0_lang = ""; +let __vue2_render$2, __vue2_staticRenderFns$2; +const __cssModules$3 = {}; +var __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, __vue2_render$2, __vue2_staticRenderFns$2, false, __vue2_injectStyles$3, null, null, null); +function __vue2_injectStyles$3(context) { + for (let o in __cssModules$3) { + this[o] = __cssModules$3[o]; + } +} +var PrivateDropdown = /* @__PURE__ */ function() { + return __component__$3.exports; +}(); +var __vue2_script$2 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), { + name: "VMenu", + vPopperTheme: "menu" +}); +let __vue2_render$1, __vue2_staticRenderFns$1; +const __cssModules$2 = {}; +var __component__$2 = /* @__PURE__ */ normalizeComponent(__vue2_script$2, __vue2_render$1, __vue2_staticRenderFns$1, false, __vue2_injectStyles$2, null, null, null); +function __vue2_injectStyles$2(context) { + for (let o in __cssModules$2) { + this[o] = __cssModules$2[o]; + } +} +var PrivateMenu = /* @__PURE__ */ function() { + return __component__$2.exports; +}(); +var __vue2_script$1 = __spreadProps(__spreadValues({}, PrivatePopperWrapper), { + name: "VTooltip", + vPopperTheme: "tooltip" +}); +var Tooltip_vue_vue_type_style_index_0_lang = ""; +let __vue2_render, __vue2_staticRenderFns; +const __cssModules$1 = {}; +var __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null); +function __vue2_injectStyles$1(context) { + for (let o in __cssModules$1) { + this[o] = __cssModules$1[o]; + } +} +var PrivateTooltip = /* @__PURE__ */ function() { + return __component__$1.exports; +}(); +var __vue2_script = { + name: "VTooltipDirective", + components: { + Popper: PrivatePopper(), + PopperContent: PrivatePopperContent + }, + mixins: [ + PrivatePopperMethods + ], + inheritAttrs: false, + props: { + theme: { + type: String, + default: "tooltip" + }, + html: { + type: Boolean, + default() { + return getDefaultConfig(this.theme, "html"); + } + }, + content: { + type: [String, Number, Function], + default: null + }, + loadingContent: { + type: String, + default() { + return getDefaultConfig(this.theme, "loadingContent"); + } + } + }, + data() { + return { + asyncContent: null + }; + }, + computed: { + isContentAsync() { + return typeof this.content === "function"; + }, + loading() { + return this.isContentAsync && this.asyncContent == null; + }, + finalContent() { + if (this.isContentAsync) { + return this.loading ? this.loadingContent : this.asyncContent; + } + return this.content; + } + }, + watch: { + content: { + handler() { + this.fetchContent(true); + }, + immediate: true + }, + async finalContent(value) { + await this.$nextTick(); + this.$refs.popper.onResize(); + } + }, + created() { + this.$_fetchId = 0; + }, + methods: { + fetchContent(force) { + if (typeof this.content === "function" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) { + this.asyncContent = null; + this.$_loading = true; + const fetchId = ++this.$_fetchId; + const result = this.content(this); + if (result.then) { + result.then((res) => this.onResult(fetchId, res)); + } else { + this.onResult(fetchId, result); + } + } + }, + onResult(fetchId, result) { + if (fetchId !== this.$_fetchId) + return; + this.$_loading = false; + this.asyncContent = result; + }, + onShow() { + this.$_isShown = true; + this.fetchContent(); + }, + onHide() { + this.$_isShown = false; + } + } +}; +var render = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("Popper", _vm._g(_vm._b({ ref: "popper", attrs: { "theme": _vm.theme, "popper-node": function() { + return _vm.$refs.popperContent.$el; + } }, on: { "apply-show": _vm.onShow, "apply-hide": _vm.onHide }, scopedSlots: _vm._u([{ key: "default", fn: function(ref) { + var popperId = ref.popperId; + var isShown = ref.isShown; + var shouldMountContent = ref.shouldMountContent; + var skipTransition = ref.skipTransition; + var autoHide = ref.autoHide; + var hide = ref.hide; + var handleResize = ref.handleResize; + var onResize = ref.onResize; + var classes = ref.classes; + var result = ref.result; + return [_c("PopperContent", { ref: "popperContent", class: { + "v-popper--tooltip-loading": _vm.loading + }, attrs: { "popper-id": popperId, "theme": _vm.theme, "shown": isShown, "mounted": shouldMountContent, "skip-transition": skipTransition, "auto-hide": autoHide, "handle-resize": handleResize, "classes": classes, "result": result }, on: { "hide": hide, "resize": onResize } }, [_vm.html ? _c("div", { domProps: { "innerHTML": _vm._s(_vm.finalContent) } }) : _c("div", { domProps: { "textContent": _vm._s(_vm.finalContent) } })])]; + } }]) }, "Popper", _vm.$attrs, false), _vm.$listeners)); +}; +var staticRenderFns = []; +const __cssModules = {}; +var __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null); +function __vue2_injectStyles(context) { + for (let o in __cssModules) { + this[o] = __cssModules[o]; + } +} +var PrivateTooltipDirective = /* @__PURE__ */ function() { + return __component__.exports; +}(); +const TARGET_CLASS = "v-popper--has-tooltip"; +function getPlacement(options2, modifiers) { + let result = options2.placement; + if (!result && modifiers) { + for (const pos of placements) { + if (modifiers[pos]) { + result = pos; + } + } + } + if (!result) { + result = getDefaultConfig(options2.theme || "tooltip", "placement"); + } + return result; +} +function getOptions(el, value, modifiers) { + let options2; + const type = typeof value; + if (type === "string") { + options2 = { content: value }; + } else if (value && type === "object") { + options2 = value; + } else { + options2 = { content: false }; + } + options2.placement = getPlacement(options2, modifiers); + options2.targetNodes = () => [el]; + options2.referenceNode = () => el; + return options2; +} +function createTooltip(el, value, modifiers) { + const options2 = getOptions(el, value, modifiers); + const tooltipApp = el.$_popper = new vue__WEBPACK_IMPORTED_MODULE_2__["default"]({ + mixins: [ + PrivatePopperMethods + ], + data() { + return { + options: options2 + }; + }, + render(h) { + const _a = this.options, { + theme, + html, + content, + loadingContent + } = _a, otherOptions = __objRest(_a, [ + "theme", + "html", + "content", + "loadingContent" + ]); + return h(PrivateTooltipDirective, { + props: { + theme, + html, + content, + loadingContent + }, + attrs: otherOptions, + ref: "popper" + }); + }, + devtools: { + hide: true + } + }); + const mountTarget = document.createElement("div"); + document.body.appendChild(mountTarget); + tooltipApp.$mount(mountTarget); + if (el.classList) { + el.classList.add(TARGET_CLASS); + } + return tooltipApp; +} +function destroyTooltip(el) { + if (el.$_popper) { + el.$_popper.$destroy(); + delete el.$_popper; + delete el.$_popperOldShown; + } + if (el.classList) { + el.classList.remove(TARGET_CLASS); + } +} +function bind(el, { value, oldValue, modifiers }) { + const options2 = getOptions(el, value, modifiers); + if (!options2.content || getDefaultConfig(options2.theme || "tooltip", "disabled")) { + destroyTooltip(el); + } else { + let tooltipApp; + if (el.$_popper) { + tooltipApp = el.$_popper; + tooltipApp.options = options2; + } else { + tooltipApp = createTooltip(el, value, modifiers); + } + if (typeof value.shown !== "undefined" && value.shown !== el.$_popperOldShown) { + el.$_popperOldShown = value.shown; + value.shown ? tooltipApp.show() : tooltipApp.hide(); + } + } +} +var PrivateVTooltip = { + bind, + update: bind, + unbind(el) { + destroyTooltip(el); + } +}; +function addListeners(el) { + el.addEventListener("click", onClick); + el.addEventListener("touchstart", onTouchStart, supportsPassive ? { + passive: true + } : false); +} +function removeListeners(el) { + el.removeEventListener("click", onClick); + el.removeEventListener("touchstart", onTouchStart); + el.removeEventListener("touchend", onTouchEnd); + el.removeEventListener("touchcancel", onTouchCancel); +} +function onClick(event) { + const el = event.currentTarget; + event.closePopover = !el.$_vclosepopover_touch; + event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all; +} +function onTouchStart(event) { + if (event.changedTouches.length === 1) { + const el = event.currentTarget; + el.$_vclosepopover_touch = true; + const touch = event.changedTouches[0]; + el.$_vclosepopover_touchPoint = touch; + el.addEventListener("touchend", onTouchEnd); + el.addEventListener("touchcancel", onTouchCancel); + } +} +function onTouchEnd(event) { + const el = event.currentTarget; + el.$_vclosepopover_touch = false; + if (event.changedTouches.length === 1) { + const touch = event.changedTouches[0]; + const firstTouch = el.$_vclosepopover_touchPoint; + event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20; + event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all; + } +} +function onTouchCancel(event) { + const el = event.currentTarget; + el.$_vclosepopover_touch = false; +} +var PrivateVClosePopper = { + bind(el, { value, modifiers }) { + el.$_closePopoverModifiers = modifiers; + if (typeof value === "undefined" || value) { + addListeners(el); + } + }, + update(el, { value, oldValue, modifiers }) { + el.$_closePopoverModifiers = modifiers; + if (value !== oldValue) { + if (typeof value === "undefined" || value) { + addListeners(el); + } else { + removeListeners(el); + } + } + }, + unbind(el) { + removeListeners(el); + } +}; +const options = config; +const VTooltip = PrivateVTooltip; +const VClosePopper = PrivateVClosePopper; +const Dropdown = PrivateDropdown; +const Menu = PrivateMenu; +const Popper = PrivatePopper; +const PopperContent = PrivatePopperContent; +const PopperMethods = PrivatePopperMethods; +const PopperWrapper = PrivatePopperWrapper; +const ThemeClass = PrivateThemeClass; +const Tooltip = PrivateTooltip; +const TooltipDirective = PrivateTooltipDirective; +function install(app, options2 = {}) { + if (app.$_vTooltipInstalled) + return; + app.$_vTooltipInstalled = true; + assign(config, options2); + app.directive("tooltip", PrivateVTooltip); + app.directive("close-popper", PrivateVClosePopper); + app.component("v-tooltip", PrivateTooltip); + app.component("VTooltip", PrivateTooltip); + app.component("v-dropdown", PrivateDropdown); + app.component("VDropdown", PrivateDropdown); + app.component("v-menu", PrivateMenu); + app.component("VMenu", PrivateMenu); +} +const plugin = { + version: "1.0.0-beta.19", + install, + options: config +}; +let GlobalVue = null; +if (typeof window !== "undefined") { + GlobalVue = window.Vue; +} else if (typeof __webpack_require__.g !== "undefined") { + GlobalVue = __webpack_require__.g.Vue; +} +if (GlobalVue) { + GlobalVue.use(plugin); +} + + + +/***/ }), + +/***/ "./node_modules/lodash.get/index.js": +/*!******************************************!*\ + !*** ./node_modules/lodash.get/index.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + symbolTag = '[object Symbol]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + splice = arrayProto.splice; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + nativeCreate = getNative(Object, 'create'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; + + +/***/ }), + +/***/ "./node_modules/node-gettext/lib/gettext.js": +/*!**************************************************!*\ + !*** ./node_modules/node-gettext/lib/gettext.js ***! + \**************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var get = __webpack_require__(/*! lodash.get */ "./node_modules/lodash.get/index.js"); +var plurals = __webpack_require__(/*! ./plurals */ "./node_modules/node-gettext/lib/plurals.js"); + +module.exports = Gettext; + +/** + * Creates and returns a new Gettext instance. + * + * @constructor + * @param {Object} [options] A set of options + * @param {String} options.sourceLocale The locale that the source code and its + * texts are written in. Translations for + * this locale is not necessary. + * @param {Boolean} options.debug Whether to output debug info into the + * console. + * @return {Object} A Gettext instance + */ +function Gettext(options) { + options = options || {}; + + this.catalogs = {}; + this.locale = ''; + this.domain = 'messages'; + + this.listeners = []; + + // Set source locale + this.sourceLocale = ''; + if (options.sourceLocale) { + if (typeof options.sourceLocale === 'string') { + this.sourceLocale = options.sourceLocale; + } + else { + this.warn('The `sourceLocale` option should be a string'); + } + } + + // Set debug flag + this.debug = 'debug' in options && options.debug === true; +} + +/** + * Adds an event listener. + * + * @param {String} eventName An event name + * @param {Function} callback An event handler function + */ +Gettext.prototype.on = function(eventName, callback) { + this.listeners.push({ + eventName: eventName, + callback: callback + }); +}; + +/** + * Removes an event listener. + * + * @param {String} eventName An event name + * @param {Function} callback A previously registered event handler function + */ +Gettext.prototype.off = function(eventName, callback) { + this.listeners = this.listeners.filter(function(listener) { + return ( + listener.eventName === eventName && + listener.callback === callback + ) === false; + }); +}; + +/** + * Emits an event to all registered event listener. + * + * @private + * @param {String} eventName An event name + * @param {any} eventData Data to pass to event listeners + */ +Gettext.prototype.emit = function(eventName, eventData) { + for (var i = 0; i < this.listeners.length; i++) { + var listener = this.listeners[i]; + if (listener.eventName === eventName) { + listener.callback(eventData); + } + } +}; + +/** + * Logs a warning to the console if debug mode is enabled. + * + * @ignore + * @param {String} message A warning message + */ +Gettext.prototype.warn = function(message) { + if (this.debug) { + console.warn(message); + } + + this.emit('error', new Error(message)); +}; + +/** + * Stores a set of translations in the set of gettext + * catalogs. + * + * @example + * gt.addTranslations('sv-SE', 'messages', translationsObject) + * + * @param {String} locale A locale string + * @param {String} domain A domain name + * @param {Object} translations An object of gettext-parser JSON shape + */ +Gettext.prototype.addTranslations = function(locale, domain, translations) { + if (!this.catalogs[locale]) { + this.catalogs[locale] = {}; + } + + this.catalogs[locale][domain] = translations; +}; + +/** + * Sets the locale to get translated messages for. + * + * @example + * gt.setLocale('sv-SE') + * + * @param {String} locale A locale + */ +Gettext.prototype.setLocale = function(locale) { + if (typeof locale !== 'string') { + this.warn( + 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' + + 'The locale must be a string.' + ); + return; + } + + if (locale.trim() === '') { + this.warn('You called setLocale() with an empty value, which makes little sense.'); + } + + if (locale !== this.sourceLocale && !this.catalogs[locale]) { + this.warn('You called setLocale() with "' + locale + '", but no translations for that locale has been added.'); + } + + this.locale = locale; +}; + +/** + * Sets the default gettext domain. + * + * @example + * gt.setTextDomain('domainname') + * + * @param {String} domain A gettext domain name + */ +Gettext.prototype.setTextDomain = function(domain) { + if (typeof domain !== 'string') { + this.warn( + 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' + + 'The domain must be a string.' + ); + return; + } + + if (domain.trim() === '') { + this.warn('You called setTextDomain() with an empty `domain` value.'); + } + + this.domain = domain; +}; + +/** + * Translates a string using the default textdomain + * + * @example + * gt.gettext('Some text') + * + * @param {String} msgid String to be translated + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.gettext = function(msgid) { + return this.dnpgettext(this.domain, '', msgid); +}; + +/** + * Translates a string using a specific domain + * + * @example + * gt.dgettext('domainname', 'Some text') + * + * @param {String} domain A gettext domain name + * @param {String} msgid String to be translated + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.dgettext = function(domain, msgid) { + return this.dnpgettext(domain, '', msgid); +}; + +/** + * Translates a plural string using the default textdomain + * + * @example + * gt.ngettext('One thing', 'Many things', numberOfThings) + * + * @param {String} msgid String to be translated when count is not plural + * @param {String} msgidPlural String to be translated when count is plural + * @param {Number} count Number count for the plural + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.ngettext = function(msgid, msgidPlural, count) { + return this.dnpgettext(this.domain, '', msgid, msgidPlural, count); +}; + +/** + * Translates a plural string using a specific textdomain + * + * @example + * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings) + * + * @param {String} domain A gettext domain name + * @param {String} msgid String to be translated when count is not plural + * @param {String} msgidPlural String to be translated when count is plural + * @param {Number} count Number count for the plural + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) { + return this.dnpgettext(domain, '', msgid, msgidPlural, count); +}; + +/** + * Translates a string from a specific context using the default textdomain + * + * @example + * gt.pgettext('sports', 'Back') + * + * @param {String} msgctxt Translation context + * @param {String} msgid String to be translated + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.pgettext = function(msgctxt, msgid) { + return this.dnpgettext(this.domain, msgctxt, msgid); +}; + +/** + * Translates a string from a specific context using s specific textdomain + * + * @example + * gt.dpgettext('domainname', 'sports', 'Back') + * + * @param {String} domain A gettext domain name + * @param {String} msgctxt Translation context + * @param {String} msgid String to be translated + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.dpgettext = function(domain, msgctxt, msgid) { + return this.dnpgettext(domain, msgctxt, msgid); +}; + +/** + * Translates a plural string from a specific context using the default textdomain + * + * @example + * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks) + * + * @param {String} msgctxt Translation context + * @param {String} msgid String to be translated when count is not plural + * @param {String} msgidPlural String to be translated when count is plural + * @param {Number} count Number count for the plural + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) { + return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count); +}; + +/** + * Translates a plural string from a specifi context using a specific textdomain + * + * @example + * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks) + * + * @param {String} domain A gettext domain name + * @param {String} msgctxt Translation context + * @param {String} msgid String to be translated + * @param {String} msgidPlural If no translation was found, return this on count!=1 + * @param {Number} count Number count for the plural + * @return {String} Translation or the original string if no translation was found + */ +Gettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) { + var defaultTranslation = msgid; + var translation; + var index; + + msgctxt = msgctxt || ''; + + if (!isNaN(count) && count !== 1) { + defaultTranslation = msgidPlural || msgid; + } + + translation = this._getTranslation(domain, msgctxt, msgid); + + if (translation) { + if (typeof count === 'number') { + var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc; + index = pluralsFunc(count); + if (typeof index === 'boolean') { + index = index ? 1 : 0; + } + } else { + index = 0; + } + + return translation.msgstr[index] || defaultTranslation; + } + else if (!this.sourceLocale || this.locale !== this.sourceLocale) { + this.warn('No translation was found for msgid "' + msgid + '" in msgctxt "' + msgctxt + '" and domain "' + domain + '"'); + } + + return defaultTranslation; +}; + +/** + * Retrieves comments object for a translation. The comments object + * has the shape `{ translator, extracted, reference, flag, previous }`. + * + * @example + * const comment = gt.getComment('domainname', 'sports', 'Backs') + * + * @private + * @param {String} domain A gettext domain name + * @param {String} msgctxt Translation context + * @param {String} msgid String to be translated + * @return {Object} Comments object or false if not found + */ +Gettext.prototype.getComment = function(domain, msgctxt, msgid) { + var translation; + + translation = this._getTranslation(domain, msgctxt, msgid); + if (translation) { + return translation.comments || {}; + } + + return {}; +}; + +/** + * Retrieves translation object from the domain and context + * + * @private + * @param {String} domain A gettext domain name + * @param {String} msgctxt Translation context + * @param {String} msgid String to be translated + * @return {Object} Translation object or false if not found + */ +Gettext.prototype._getTranslation = function(domain, msgctxt, msgid) { + msgctxt = msgctxt || ''; + + return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]); +}; + +/** + * Returns the language code part of a locale + * + * @example + * Gettext.getLanguageCode('sv-SE') + * // -> "sv" + * + * @private + * @param {String} locale A case-insensitive locale string + * @returns {String} A language code + */ +Gettext.getLanguageCode = function(locale) { + return locale.split(/[\-_]/)[0].toLowerCase(); +}; + +/* C-style aliases */ + +/** + * C-style alias for [setTextDomain](#gettextsettextdomaindomain) + * + * @see Gettext#setTextDomain + */ +Gettext.prototype.textdomain = function(domain) { + if (this.debug) { + console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' + + 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\n\n ' + + 'To read more about the migration from node-gettext v1 to v2, ' + + 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\n\n' + + 'This warning will be removed in the final 2.0.0'); + } + + this.setTextDomain(domain); +}; + +/** + * C-style alias for [setLocale](#gettextsetlocalelocale) + * + * @see Gettext#setLocale + */ +Gettext.prototype.setlocale = function(locale) { + this.setLocale(locale); +}; + +/* Deprecated functions */ + +/** + * This function will be removed in the final 2.0.0 release. + * + * @deprecated + */ +Gettext.prototype.addTextdomain = function() { + console.error('addTextdomain() is deprecated.\n\n' + + '* To add translations, use addTranslations()\n' + + '* To set the default domain, use setTextDomain() (or its alias textdomain())\n' + + '\n' + + 'To read more about the migration from node-gettext v1 to v2, ' + + 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x'); +}; + + +/***/ }), + +/***/ "./node_modules/node-gettext/lib/plurals.js": +/*!**************************************************!*\ + !*** ./node_modules/node-gettext/lib/plurals.js ***! + \**************************************************/ +/***/ ((module) => { + +"use strict"; + + +module.exports = { + ach: { + name: 'Acholi', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + af: { + name: 'Afrikaans', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ak: { + name: 'Akan', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + am: { + name: 'Amharic', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + an: { + name: 'Aragonese', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ar: { + name: 'Arabic', + examples: [{ + plural: 0, + sample: 0 + }, { + plural: 1, + sample: 1 + }, { + plural: 2, + sample: 2 + }, { + plural: 3, + sample: 3 + }, { + plural: 4, + sample: 11 + }, { + plural: 5, + sample: 100 + }], + nplurals: 6, + pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)', + pluralsFunc: function(n) { + return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5); + } + }, + arn: { + name: 'Mapudungun', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + ast: { + name: 'Asturian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ay: { + name: 'Aymará', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + az: { + name: 'Azerbaijani', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + be: { + name: 'Belarusian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + bg: { + name: 'Bulgarian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + bn: { + name: 'Bengali', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + bo: { + name: 'Tibetan', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + br: { + name: 'Breton', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + brx: { + name: 'Bodo', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + bs: { + name: 'Bosnian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + ca: { + name: 'Catalan', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + cgg: { + name: 'Chiga', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + cs: { + name: 'Czech', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2); + } + }, + csb: { + name: 'Kashubian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + cy: { + name: 'Welsh', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 3 + }, { + plural: 3, + sample: 8 + }], + nplurals: 4, + pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3); + } + }, + da: { + name: 'Danish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + de: { + name: 'German', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + doi: { + name: 'Dogri', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + dz: { + name: 'Dzongkha', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + el: { + name: 'Greek', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + en: { + name: 'English', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + eo: { + name: 'Esperanto', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + es: { + name: 'Spanish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + et: { + name: 'Estonian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + eu: { + name: 'Basque', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + fa: { + name: 'Persian', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + ff: { + name: 'Fulah', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + fi: { + name: 'Finnish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + fil: { + name: 'Filipino', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + fo: { + name: 'Faroese', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + fr: { + name: 'French', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + fur: { + name: 'Friulian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + fy: { + name: 'Frisian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ga: { + name: 'Irish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 3 + }, { + plural: 3, + sample: 7 + }, { + plural: 4, + sample: 11 + }], + nplurals: 5, + pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4); + } + }, + gd: { + name: 'Scottish Gaelic', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 3 + }, { + plural: 3, + sample: 20 + }], + nplurals: 4, + pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)', + pluralsFunc: function(n) { + return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3); + } + }, + gl: { + name: 'Galician', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + gu: { + name: 'Gujarati', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + gun: { + name: 'Gun', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + ha: { + name: 'Hausa', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + he: { + name: 'Hebrew', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + hi: { + name: 'Hindi', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + hne: { + name: 'Chhattisgarhi', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + hr: { + name: 'Croatian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + hu: { + name: 'Hungarian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + hy: { + name: 'Armenian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + id: { + name: 'Indonesian', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + is: { + name: 'Icelandic', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)', + pluralsFunc: function(n) { + return (n % 10 !== 1 || n % 100 === 11); + } + }, + it: { + name: 'Italian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ja: { + name: 'Japanese', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + jbo: { + name: 'Lojban', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + jv: { + name: 'Javanese', + examples: [{ + plural: 0, + sample: 0 + }, { + plural: 1, + sample: 1 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 0)', + pluralsFunc: function(n) { + return (n !== 0); + } + }, + ka: { + name: 'Georgian', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + kk: { + name: 'Kazakh', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + km: { + name: 'Khmer', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + kn: { + name: 'Kannada', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ko: { + name: 'Korean', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + ku: { + name: 'Kurdish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + kw: { + name: 'Cornish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 3 + }, { + plural: 3, + sample: 4 + }], + nplurals: 4, + pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3); + } + }, + ky: { + name: 'Kyrgyz', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + lb: { + name: 'Letzeburgesch', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ln: { + name: 'Lingala', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + lo: { + name: 'Lao', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + lt: { + name: 'Lithuanian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 10 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + lv: { + name: 'Latvian', + examples: [{ + plural: 2, + sample: 0 + }, { + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2); + } + }, + mai: { + name: 'Maithili', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + mfe: { + name: 'Mauritian Creole', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + mg: { + name: 'Malagasy', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + mi: { + name: 'Maori', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + mk: { + name: 'Macedonian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)', + pluralsFunc: function(n) { + return (n === 1 || n % 10 === 1 ? 0 : 1); + } + }, + ml: { + name: 'Malayalam', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + mn: { + name: 'Mongolian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + mni: { + name: 'Manipuri', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + mnk: { + name: 'Mandinka', + examples: [{ + plural: 0, + sample: 0 + }, { + plural: 1, + sample: 1 + }, { + plural: 2, + sample: 2 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)', + pluralsFunc: function(n) { + return (n === 0 ? 0 : n === 1 ? 1 : 2); + } + }, + mr: { + name: 'Marathi', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ms: { + name: 'Malay', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + mt: { + name: 'Maltese', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 11 + }, { + plural: 3, + sample: 20 + }], + nplurals: 4, + pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3); + } + }, + my: { + name: 'Burmese', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + nah: { + name: 'Nahuatl', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + nap: { + name: 'Neapolitan', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + nb: { + name: 'Norwegian Bokmal', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ne: { + name: 'Nepali', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + nl: { + name: 'Dutch', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + nn: { + name: 'Norwegian Nynorsk', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + no: { + name: 'Norwegian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + nso: { + name: 'Northern Sotho', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + oc: { + name: 'Occitan', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + or: { + name: 'Oriya', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + pa: { + name: 'Punjabi', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + pap: { + name: 'Papiamento', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + pl: { + name: 'Polish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + pms: { + name: 'Piemontese', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ps: { + name: 'Pashto', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + pt: { + name: 'Portuguese', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + rm: { + name: 'Romansh', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ro: { + name: 'Romanian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 20 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2); + } + }, + ru: { + name: 'Russian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + rw: { + name: 'Kinyarwanda', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sah: { + name: 'Yakut', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + sat: { + name: 'Santali', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sco: { + name: 'Scots', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sd: { + name: 'Sindhi', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + se: { + name: 'Northern Sami', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + si: { + name: 'Sinhala', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sk: { + name: 'Slovak', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)', + pluralsFunc: function(n) { + return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2); + } + }, + sl: { + name: 'Slovenian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 3 + }, { + plural: 3, + sample: 5 + }], + nplurals: 4, + pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)', + pluralsFunc: function(n) { + return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3); + } + }, + so: { + name: 'Somali', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + son: { + name: 'Songhay', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sq: { + name: 'Albanian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sr: { + name: 'Serbian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + su: { + name: 'Sundanese', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + sv: { + name: 'Swedish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + sw: { + name: 'Swahili', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + ta: { + name: 'Tamil', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + te: { + name: 'Telugu', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + tg: { + name: 'Tajik', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + th: { + name: 'Thai', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + ti: { + name: 'Tigrinya', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + tk: { + name: 'Turkmen', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + tr: { + name: 'Turkish', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + tt: { + name: 'Tatar', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + ug: { + name: 'Uyghur', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + uk: { + name: 'Ukrainian', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }, { + plural: 2, + sample: 5 + }], + nplurals: 3, + pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)', + pluralsFunc: function(n) { + return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2); + } + }, + ur: { + name: 'Urdu', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + uz: { + name: 'Uzbek', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + vi: { + name: 'Vietnamese', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + wa: { + name: 'Walloon', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n > 1)', + pluralsFunc: function(n) { + return (n > 1); + } + }, + wo: { + name: 'Wolof', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + }, + yo: { + name: 'Yoruba', + examples: [{ + plural: 0, + sample: 1 + }, { + plural: 1, + sample: 2 + }], + nplurals: 2, + pluralsText: 'nplurals = 2; plural = (n !== 1)', + pluralsFunc: function(n) { + return (n !== 1); + } + }, + zh: { + name: 'Chinese', + examples: [{ + plural: 0, + sample: 1 + }], + nplurals: 1, + pluralsText: 'nplurals = 1; plural = 0', + pluralsFunc: function() { + return 0; + } + } +}; + + +/***/ }), + +/***/ "./node_modules/process/browser.js": +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ +/***/ ((module) => { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + + +/***/ }), + +/***/ "./node_modules/splitpanes/dist/splitpanes.es.js": +/*!*******************************************************!*\ + !*** ./node_modules/splitpanes/dist/splitpanes.es.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ Pane: () => (/* binding */ pane), +/* harmony export */ Splitpanes: () => (/* binding */ splitpanes) +/* harmony export */ }); +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __objRest = (source, exclude) => { + var target = {}; + for (var prop in source) + if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) + target[prop] = source[prop]; + if (source != null && __getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(source)) { + if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) + target[prop] = source[prop]; + } + return target; +}; +var splitpanes_vue_vue_type_style_index_0_lang = ""; +function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) { + var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports; + if (render2) { + options.render = render2; + options.staticRenderFns = staticRenderFns2; + options._compiled = true; + } + if (functionalTemplate) { + options.functional = true; + } + if (scopeId) { + options._scopeId = "data-v-" + scopeId; + } + var hook; + if (moduleIdentifier) { + hook = function(context) { + context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; + if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") { + context = __VUE_SSR_CONTEXT__; + } + if (injectStyles) { + injectStyles.call(this, context); + } + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; + options._ssrRegister = hook; + } else if (injectStyles) { + hook = shadowMode ? function() { + injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot); + } : injectStyles; + } + if (hook) { + if (options.functional) { + options._injectStyles = hook; + var originalRender = options.render; + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + return { + exports: scriptExports, + options + }; +} +const __vue2_script$1 = { + name: "splitpanes", + props: { + horizontal: { type: Boolean }, + pushOtherPanes: { type: Boolean, default: true }, + dblClickSplitter: { type: Boolean, default: true }, + rtl: { type: Boolean, default: false }, + firstSplitter: { type: Boolean } + }, + provide() { + return { + requestUpdate: this.requestUpdate, + onPaneAdd: this.onPaneAdd, + onPaneRemove: this.onPaneRemove, + onPaneClick: this.onPaneClick + }; + }, + data: () => ({ + container: null, + ready: false, + panes: [], + touch: { + mouseDown: false, + dragging: false, + activeSplitter: null + }, + splitterTaps: { + splitter: null, + timeoutId: null + } + }), + computed: { + panesCount() { + return this.panes.length; + }, + indexedPanes() { + return this.panes.reduce((obj, pane2) => (obj[pane2.id] = pane2) && obj, {}); + } + }, + methods: { + updatePaneComponents() { + this.panes.forEach((pane2) => { + pane2.update && pane2.update({ + [this.horizontal ? "height" : "width"]: `${this.indexedPanes[pane2.id].size}%` + }); + }); + }, + bindEvents() { + document.addEventListener("mousemove", this.onMouseMove, { passive: false }); + document.addEventListener("mouseup", this.onMouseUp); + if ("ontouchstart" in window) { + document.addEventListener("touchmove", this.onMouseMove, { passive: false }); + document.addEventListener("touchend", this.onMouseUp); + } + }, + unbindEvents() { + document.removeEventListener("mousemove", this.onMouseMove, { passive: false }); + document.removeEventListener("mouseup", this.onMouseUp); + if ("ontouchstart" in window) { + document.removeEventListener("touchmove", this.onMouseMove, { passive: false }); + document.removeEventListener("touchend", this.onMouseUp); + } + }, + onMouseDown(event, splitterIndex) { + this.bindEvents(); + this.touch.mouseDown = true; + this.touch.activeSplitter = splitterIndex; + }, + onMouseMove(event) { + if (this.touch.mouseDown) { + event.preventDefault(); + this.touch.dragging = true; + this.calculatePanesSize(this.getCurrentMouseDrag(event)); + this.$emit("resize", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size }))); + } + }, + onMouseUp() { + if (this.touch.dragging) { + this.$emit("resized", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size }))); + } + this.touch.mouseDown = false; + setTimeout(() => { + this.touch.dragging = false; + this.unbindEvents(); + }, 100); + }, + onSplitterClick(event, splitterIndex) { + if ("ontouchstart" in window) { + event.preventDefault(); + if (this.dblClickSplitter) { + if (this.splitterTaps.splitter === splitterIndex) { + clearTimeout(this.splitterTaps.timeoutId); + this.splitterTaps.timeoutId = null; + this.onSplitterDblClick(event, splitterIndex); + this.splitterTaps.splitter = null; + } else { + this.splitterTaps.splitter = splitterIndex; + this.splitterTaps.timeoutId = setTimeout(() => { + this.splitterTaps.splitter = null; + }, 500); + } + } + } + if (!this.touch.dragging) + this.$emit("splitter-click", this.panes[splitterIndex]); + }, + onSplitterDblClick(event, splitterIndex) { + let totalMinSizes = 0; + this.panes = this.panes.map((pane2, i) => { + pane2.size = i === splitterIndex ? pane2.max : pane2.min; + if (i !== splitterIndex) + totalMinSizes += pane2.min; + return pane2; + }); + this.panes[splitterIndex].size -= totalMinSizes; + this.$emit("pane-maximize", this.panes[splitterIndex]); + }, + onPaneClick(event, paneId) { + this.$emit("pane-click", this.indexedPanes[paneId]); + }, + getCurrentMouseDrag(event) { + const rect = this.container.getBoundingClientRect(); + const { clientX, clientY } = "ontouchstart" in window && event.touches ? event.touches[0] : event; + return { + x: clientX - rect.left, + y: clientY - rect.top + }; + }, + getCurrentDragPercentage(drag) { + drag = drag[this.horizontal ? "y" : "x"]; + const containerSize = this.container[this.horizontal ? "clientHeight" : "clientWidth"]; + if (this.rtl && !this.horizontal) + drag = containerSize - drag; + return drag * 100 / containerSize; + }, + calculatePanesSize(drag) { + const splitterIndex = this.touch.activeSplitter; + let sums = { + prevPanesSize: this.sumPrevPanesSize(splitterIndex), + nextPanesSize: this.sumNextPanesSize(splitterIndex), + prevReachedMinPanes: 0, + nextReachedMinPanes: 0 + }; + const minDrag = 0 + (this.pushOtherPanes ? 0 : sums.prevPanesSize); + const maxDrag = 100 - (this.pushOtherPanes ? 0 : sums.nextPanesSize); + const dragPercentage = Math.max(Math.min(this.getCurrentDragPercentage(drag), maxDrag), minDrag); + let panesToResize = [splitterIndex, splitterIndex + 1]; + let paneBefore = this.panes[panesToResize[0]] || null; + let paneAfter = this.panes[panesToResize[1]] || null; + const paneBeforeMaxReached = paneBefore.max < 100 && dragPercentage >= paneBefore.max + sums.prevPanesSize; + const paneAfterMaxReached = paneAfter.max < 100 && dragPercentage <= 100 - (paneAfter.max + this.sumNextPanesSize(splitterIndex + 1)); + if (paneBeforeMaxReached || paneAfterMaxReached) { + if (paneBeforeMaxReached) { + paneBefore.size = paneBefore.max; + paneAfter.size = Math.max(100 - paneBefore.max - sums.prevPanesSize - sums.nextPanesSize, 0); + } else { + paneBefore.size = Math.max(100 - paneAfter.max - sums.prevPanesSize - this.sumNextPanesSize(splitterIndex + 1), 0); + paneAfter.size = paneAfter.max; + } + return; + } + if (this.pushOtherPanes) { + const vars = this.doPushOtherPanes(sums, dragPercentage); + if (!vars) + return; + ({ sums, panesToResize } = vars); + paneBefore = this.panes[panesToResize[0]] || null; + paneAfter = this.panes[panesToResize[1]] || null; + } + if (paneBefore !== null) { + paneBefore.size = Math.min(Math.max(dragPercentage - sums.prevPanesSize - sums.prevReachedMinPanes, paneBefore.min), paneBefore.max); + } + if (paneAfter !== null) { + paneAfter.size = Math.min(Math.max(100 - dragPercentage - sums.nextPanesSize - sums.nextReachedMinPanes, paneAfter.min), paneAfter.max); + } + }, + doPushOtherPanes(sums, dragPercentage) { + const splitterIndex = this.touch.activeSplitter; + const panesToResize = [splitterIndex, splitterIndex + 1]; + if (dragPercentage < sums.prevPanesSize + this.panes[panesToResize[0]].min) { + panesToResize[0] = this.findPrevExpandedPane(splitterIndex).index; + sums.prevReachedMinPanes = 0; + if (panesToResize[0] < splitterIndex) { + this.panes.forEach((pane2, i) => { + if (i > panesToResize[0] && i <= splitterIndex) { + pane2.size = pane2.min; + sums.prevReachedMinPanes += pane2.min; + } + }); + } + sums.prevPanesSize = this.sumPrevPanesSize(panesToResize[0]); + if (panesToResize[0] === void 0) { + sums.prevReachedMinPanes = 0; + this.panes[0].size = this.panes[0].min; + this.panes.forEach((pane2, i) => { + if (i > 0 && i <= splitterIndex) { + pane2.size = pane2.min; + sums.prevReachedMinPanes += pane2.min; + } + }); + this.panes[panesToResize[1]].size = 100 - sums.prevReachedMinPanes - this.panes[0].min - sums.prevPanesSize - sums.nextPanesSize; + return null; + } + } + if (dragPercentage > 100 - sums.nextPanesSize - this.panes[panesToResize[1]].min) { + panesToResize[1] = this.findNextExpandedPane(splitterIndex).index; + sums.nextReachedMinPanes = 0; + if (panesToResize[1] > splitterIndex + 1) { + this.panes.forEach((pane2, i) => { + if (i > splitterIndex && i < panesToResize[1]) { + pane2.size = pane2.min; + sums.nextReachedMinPanes += pane2.min; + } + }); + } + sums.nextPanesSize = this.sumNextPanesSize(panesToResize[1] - 1); + if (panesToResize[1] === void 0) { + sums.nextReachedMinPanes = 0; + this.panes[this.panesCount - 1].size = this.panes[this.panesCount - 1].min; + this.panes.forEach((pane2, i) => { + if (i < this.panesCount - 1 && i >= splitterIndex + 1) { + pane2.size = pane2.min; + sums.nextReachedMinPanes += pane2.min; + } + }); + this.panes[panesToResize[0]].size = 100 - sums.prevPanesSize - sums.nextReachedMinPanes - this.panes[this.panesCount - 1].min - sums.nextPanesSize; + return null; + } + } + return { sums, panesToResize }; + }, + sumPrevPanesSize(splitterIndex) { + return this.panes.reduce((total, pane2, i) => total + (i < splitterIndex ? pane2.size : 0), 0); + }, + sumNextPanesSize(splitterIndex) { + return this.panes.reduce((total, pane2, i) => total + (i > splitterIndex + 1 ? pane2.size : 0), 0); + }, + findPrevExpandedPane(splitterIndex) { + const pane2 = [...this.panes].reverse().find((p) => p.index < splitterIndex && p.size > p.min); + return pane2 || {}; + }, + findNextExpandedPane(splitterIndex) { + const pane2 = this.panes.find((p) => p.index > splitterIndex + 1 && p.size > p.min); + return pane2 || {}; + }, + checkSplitpanesNodes() { + const children = Array.from(this.container.children); + children.forEach((child) => { + const isPane = child.classList.contains("splitpanes__pane"); + const isSplitter = child.classList.contains("splitpanes__splitter"); + if (!isPane && !isSplitter) { + child.parentNode.removeChild(child); + console.warn("Splitpanes: Only elements are allowed at the root of . One of your DOM nodes was removed."); + return; + } + }); + }, + addSplitter(paneIndex, nextPaneNode, isVeryFirst = false) { + const splitterIndex = paneIndex - 1; + const elm = document.createElement("div"); + elm.classList.add("splitpanes__splitter"); + if (!isVeryFirst) { + elm.onmousedown = (event) => this.onMouseDown(event, splitterIndex); + if (typeof window !== "undefined" && "ontouchstart" in window) { + elm.ontouchstart = (event) => this.onMouseDown(event, splitterIndex); + } + elm.onclick = (event) => this.onSplitterClick(event, splitterIndex + 1); + } + if (this.dblClickSplitter) { + elm.ondblclick = (event) => this.onSplitterDblClick(event, splitterIndex + 1); + } + nextPaneNode.parentNode.insertBefore(elm, nextPaneNode); + }, + removeSplitter(node) { + node.onmousedown = void 0; + node.onclick = void 0; + node.ondblclick = void 0; + node.parentNode.removeChild(node); + }, + redoSplitters() { + const children = Array.from(this.container.children); + children.forEach((el) => { + if (el.className.includes("splitpanes__splitter")) + this.removeSplitter(el); + }); + let paneIndex = 0; + children.forEach((el) => { + if (el.className.includes("splitpanes__pane")) { + if (!paneIndex && this.firstSplitter) + this.addSplitter(paneIndex, el, true); + else if (paneIndex) + this.addSplitter(paneIndex, el); + paneIndex++; + } + }); + }, + requestUpdate(_a) { + var _b = _a, { target } = _b, args = __objRest(_b, ["target"]); + const pane2 = this.indexedPanes[target._uid]; + Object.entries(args).forEach(([key, value]) => pane2[key] = value); + }, + onPaneAdd(pane2) { + let index = -1; + Array.from(pane2.$el.parentNode.children).some((el) => { + if (el.className.includes("splitpanes__pane")) + index++; + return el === pane2.$el; + }); + const min = parseFloat(pane2.minSize); + const max = parseFloat(pane2.maxSize); + this.panes.splice(index, 0, { + id: pane2._uid, + index, + min: isNaN(min) ? 0 : min, + max: isNaN(max) ? 100 : max, + size: pane2.size === null ? null : parseFloat(pane2.size), + givenSize: pane2.size, + update: pane2.update + }); + this.panes.forEach((p, i) => p.index = i); + if (this.ready) { + this.$nextTick(() => { + this.redoSplitters(); + this.resetPaneSizes({ addedPane: this.panes[index] }); + this.$emit("pane-add", { index, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) }); + }); + } + }, + onPaneRemove(pane2) { + const index = this.panes.findIndex((p) => p.id === pane2._uid); + const removed = this.panes.splice(index, 1)[0]; + this.panes.forEach((p, i) => p.index = i); + this.$nextTick(() => { + this.redoSplitters(); + this.resetPaneSizes({ removedPane: __spreadProps(__spreadValues({}, removed), { index }) }); + this.$emit("pane-remove", { removed, panes: this.panes.map((pane3) => ({ min: pane3.min, max: pane3.max, size: pane3.size })) }); + }); + }, + resetPaneSizes(changedPanes = {}) { + if (!changedPanes.addedPane && !changedPanes.removedPane) + this.initialPanesSizing(); + else if (this.panes.some((pane2) => pane2.givenSize !== null || pane2.min || pane2.max < 100)) + this.equalizeAfterAddOrRemove(changedPanes); + else + this.equalize(); + if (this.ready) + this.$emit("resized", this.panes.map((pane2) => ({ min: pane2.min, max: pane2.max, size: pane2.size }))); + }, + equalize() { + const equalSpace = 100 / this.panesCount; + let leftToAllocate = 0; + let ungrowable = []; + let unshrinkable = []; + this.panes.forEach((pane2) => { + pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min); + leftToAllocate -= pane2.size; + if (pane2.size >= pane2.max) + ungrowable.push(pane2.id); + if (pane2.size <= pane2.min) + unshrinkable.push(pane2.id); + }); + if (leftToAllocate > 0.1) + this.readjustSizes(leftToAllocate, ungrowable, unshrinkable); + }, + initialPanesSizing() { + 100 / this.panesCount; + let leftToAllocate = 100; + let ungrowable = []; + let unshrinkable = []; + let definedSizes = 0; + this.panes.forEach((pane2) => { + leftToAllocate -= pane2.size; + if (pane2.size !== null) + definedSizes++; + if (pane2.size >= pane2.max) + ungrowable.push(pane2.id); + if (pane2.size <= pane2.min) + unshrinkable.push(pane2.id); + }); + let leftToAllocate2 = 100; + if (leftToAllocate > 0.1) { + this.panes.forEach((pane2) => { + if (pane2.size === null) { + pane2.size = Math.max(Math.min(leftToAllocate / (this.panesCount - definedSizes), pane2.max), pane2.min); + } + leftToAllocate2 -= pane2.size; + }); + if (leftToAllocate2 > 0.1) + this.readjustSizes(leftToAllocate, ungrowable, unshrinkable); + } + }, + equalizeAfterAddOrRemove({ addedPane, removedPane } = {}) { + let equalSpace = 100 / this.panesCount; + let leftToAllocate = 0; + let ungrowable = []; + let unshrinkable = []; + if (addedPane && addedPane.givenSize !== null) { + equalSpace = (100 - addedPane.givenSize) / (this.panesCount - 1); + } + this.panes.forEach((pane2) => { + leftToAllocate -= pane2.size; + if (pane2.size >= pane2.max) + ungrowable.push(pane2.id); + if (pane2.size <= pane2.min) + unshrinkable.push(pane2.id); + }); + if (Math.abs(leftToAllocate) < 0.1) + return; + this.panes.forEach((pane2) => { + if (addedPane && addedPane.givenSize !== null && addedPane.id === pane2.id) + ; + else + pane2.size = Math.max(Math.min(equalSpace, pane2.max), pane2.min); + leftToAllocate -= pane2.size; + if (pane2.size >= pane2.max) + ungrowable.push(pane2.id); + if (pane2.size <= pane2.min) + unshrinkable.push(pane2.id); + }); + if (leftToAllocate > 0.1) + this.readjustSizes(leftToAllocate, ungrowable, unshrinkable); + }, + readjustSizes(leftToAllocate, ungrowable, unshrinkable) { + let equalSpaceToAllocate; + if (leftToAllocate > 0) + equalSpaceToAllocate = leftToAllocate / (this.panesCount - ungrowable.length); + else + equalSpaceToAllocate = leftToAllocate / (this.panesCount - unshrinkable.length); + this.panes.forEach((pane2, i) => { + if (leftToAllocate > 0 && !ungrowable.includes(pane2.id)) { + const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min); + const allocated = newPaneSize - pane2.size; + leftToAllocate -= allocated; + pane2.size = newPaneSize; + } else if (!unshrinkable.includes(pane2.id)) { + const newPaneSize = Math.max(Math.min(pane2.size + equalSpaceToAllocate, pane2.max), pane2.min); + const allocated = newPaneSize - pane2.size; + leftToAllocate -= allocated; + pane2.size = newPaneSize; + } + pane2.update({ + [this.horizontal ? "height" : "width"]: `${this.indexedPanes[pane2.id].size}%` + }); + }); + if (Math.abs(leftToAllocate) > 0.1) { + this.$nextTick(() => { + if (this.ready) { + console.warn("Splitpanes: Could not resize panes correctly due to their constraints."); + } + }); + } + } + }, + watch: { + panes: { + deep: true, + immediate: false, + handler() { + this.updatePaneComponents(); + } + }, + horizontal() { + this.updatePaneComponents(); + }, + firstSplitter() { + this.redoSplitters(); + }, + dblClickSplitter(enable) { + const splitters = [...this.container.querySelectorAll(".splitpanes__splitter")]; + splitters.forEach((splitter, i) => { + splitter.ondblclick = enable ? (event) => this.onSplitterDblClick(event, i) : void 0; + }); + } + }, + beforeDestroy() { + this.ready = false; + }, + mounted() { + this.container = this.$refs.container; + this.checkSplitpanesNodes(); + this.redoSplitters(); + this.resetPaneSizes(); + this.$emit("ready"); + this.ready = true; + }, + render(h) { + return h("div", { + ref: "container", + class: [ + "splitpanes", + `splitpanes--${this.horizontal ? "horizontal" : "vertical"}`, + { + "splitpanes--dragging": this.touch.dragging + } + ] + }, this.$slots.default); + } +}; +let __vue2_render, __vue2_staticRenderFns; +const __cssModules$1 = {}; +var __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles$1, null, null, null); +function __vue2_injectStyles$1(context) { + for (let o in __cssModules$1) { + this[o] = __cssModules$1[o]; + } +} +var splitpanes = /* @__PURE__ */ function() { + return __component__$1.exports; +}(); +var render = function() { + var _vm = this; + var _h = _vm.$createElement; + var _c = _vm._self._c || _h; + return _c("div", { staticClass: "splitpanes__pane", style: _vm.style, on: { "click": function($event) { + return _vm.onPaneClick($event, _vm._uid); + } } }, [_vm._t("default")], 2); +}; +var staticRenderFns = []; +const __vue2_script = { + name: "pane", + inject: ["requestUpdate", "onPaneAdd", "onPaneRemove", "onPaneClick"], + props: { + size: { type: [Number, String], default: null }, + minSize: { type: [Number, String], default: 0 }, + maxSize: { type: [Number, String], default: 100 } + }, + data: () => ({ + style: {} + }), + mounted() { + this.onPaneAdd(this); + }, + beforeDestroy() { + this.onPaneRemove(this); + }, + methods: { + update(style) { + this.style = style; + } + }, + computed: { + sizeNumber() { + return this.size || this.size === 0 ? parseFloat(this.size) : null; + }, + minSizeNumber() { + return parseFloat(this.minSize); + }, + maxSizeNumber() { + return parseFloat(this.maxSize); + } + }, + watch: { + sizeNumber(size) { + this.requestUpdate({ target: this, size }); + }, + minSizeNumber(min) { + this.requestUpdate({ target: this, min }); + }, + maxSizeNumber(max) { + this.requestUpdate({ target: this, max }); + } + } +}; +const __cssModules = {}; +var __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, render, staticRenderFns, false, __vue2_injectStyles, null, null, null); +function __vue2_injectStyles(context) { + for (let o in __cssModules) { + this[o] = __cssModules[o]; + } +} +var pane = /* @__PURE__ */ function() { + return __component__.exports; +}(); + + + +/***/ }), + +/***/ "./node_modules/@nextcloud/vue/dist/assets/NcAppContent-CpXVlHUj.css": +/*!***************************************************************************!*\ + !*** ./node_modules/@nextcloud/vue/dist/assets/NcAppContent-CpXVlHUj.css ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _css_loader_dist_cjs_js_NcAppContent_CpXVlHUj_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../css-loader/dist/cjs.js!./NcAppContent-CpXVlHUj.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/NcAppContent-CpXVlHUj.css"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); +options.insert = _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); +options.domAPI = (_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_NcAppContent_CpXVlHUj_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + + + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_NcAppContent_CpXVlHUj_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _css_loader_dist_cjs_js_NcAppContent_CpXVlHUj_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _css_loader_dist_cjs_js_NcAppContent_CpXVlHUj_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/@nextcloud/vue/dist/assets/NcButton-BHDLon1_.css": +/*!***********************************************************************!*\ + !*** ./node_modules/@nextcloud/vue/dist/assets/NcButton-BHDLon1_.css ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _css_loader_dist_cjs_js_NcButton_BHDLon1_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../css-loader/dist/cjs.js!./NcButton-BHDLon1_.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/NcButton-BHDLon1_.css"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); +options.insert = _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); +options.domAPI = (_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_NcButton_BHDLon1_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + + + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_NcButton_BHDLon1_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _css_loader_dist_cjs_js_NcButton_BHDLon1_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _css_loader_dist_cjs_js_NcButton_BHDLon1_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/@nextcloud/vue/dist/assets/Tooltip-DQ4Plm4r.css": +/*!**********************************************************************!*\ + !*** ./node_modules/@nextcloud/vue/dist/assets/Tooltip-DQ4Plm4r.css ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _css_loader_dist_cjs_js_Tooltip_DQ4Plm4r_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../css-loader/dist/cjs.js!./Tooltip-DQ4Plm4r.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/@nextcloud/vue/dist/assets/Tooltip-DQ4Plm4r.css"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); +options.insert = _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); +options.domAPI = (_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_Tooltip_DQ4Plm4r_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + + + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_Tooltip_DQ4Plm4r_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _css_loader_dist_cjs_js_Tooltip_DQ4Plm4r_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _css_loader_dist_cjs_js_Tooltip_DQ4Plm4r_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/splitpanes/dist/splitpanes.css": +/*!*****************************************************!*\ + !*** ./node_modules/splitpanes/dist/splitpanes.css ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _css_loader_dist_cjs_js_splitpanes_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../css-loader/dist/cjs.js!./splitpanes.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/splitpanes/dist/splitpanes.css"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); +options.insert = _style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); +options.domAPI = (_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_splitpanes_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + + + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_splitpanes_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _css_loader_dist_cjs_js_splitpanes_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _css_loader_dist_cjs_js_splitpanes_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss": +/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss ***! + \***********************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); +options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); +options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + + + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ ((module) => { + +"use strict"; + + +var stylesInDOM = []; +function getIndexByIdentifier(identifier) { + var result = -1; + for (var i = 0; i < stylesInDOM.length; i++) { + if (stylesInDOM[i].identifier === identifier) { + result = i; + break; + } + } + return result; +} +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var indexByIdentifier = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3], + supports: item[4], + layer: item[5] + }; + if (indexByIdentifier !== -1) { + stylesInDOM[indexByIdentifier].references++; + stylesInDOM[indexByIdentifier].updater(obj); + } else { + var updater = addElementStyle(obj, options); + options.byIndex = i; + stylesInDOM.splice(i, 0, { + identifier: identifier, + updater: updater, + references: 1 + }); + } + identifiers.push(identifier); + } + return identifiers; +} +function addElementStyle(obj, options) { + var api = options.domAPI(options); + api.update(obj); + var updater = function updater(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) { + return; + } + api.update(obj = newObj); + } else { + api.remove(); + } + }; + return updater; +} +module.exports = function (list, options) { + options = options || {}; + list = list || []; + var lastIdentifiers = modulesToDom(list, options); + return function update(newList) { + newList = newList || []; + for (var i = 0; i < lastIdentifiers.length; i++) { + var identifier = lastIdentifiers[i]; + var index = getIndexByIdentifier(identifier); + stylesInDOM[index].references--; + } + var newLastIdentifiers = modulesToDom(newList, options); + for (var _i = 0; _i < lastIdentifiers.length; _i++) { + var _identifier = lastIdentifiers[_i]; + var _index = getIndexByIdentifier(_identifier); + if (stylesInDOM[_index].references === 0) { + stylesInDOM[_index].updater(); + stylesInDOM.splice(_index, 1); + } + } + lastIdentifiers = newLastIdentifiers; + }; +}; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": +/*!********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! + \********************************************************************/ +/***/ ((module) => { + +"use strict"; + + +var memo = {}; + +/* istanbul ignore next */ +function getTarget(target) { + if (typeof memo[target] === "undefined") { + var styleTarget = document.querySelector(target); + + // Special case to return head of iframe instead of iframe itself + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + memo[target] = styleTarget; + } + return memo[target]; +} + +/* istanbul ignore next */ +function insertBySelector(insert, style) { + var target = getTarget(insert); + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + target.appendChild(style); +} +module.exports = insertBySelector; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": +/*!**********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! + \**********************************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* istanbul ignore next */ +function insertStyleElement(options) { + var element = document.createElement("style"); + options.setAttributes(element, options.attributes); + options.insert(element, options.options); + return element; +} +module.exports = insertStyleElement; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! + \**********************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +/* istanbul ignore next */ +function setAttributesWithoutAttributes(styleElement) { + var nonce = true ? __webpack_require__.nc : 0; + if (nonce) { + styleElement.setAttribute("nonce", nonce); + } +} +module.exports = setAttributesWithoutAttributes; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": +/*!***************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! + \***************************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* istanbul ignore next */ +function apply(styleElement, options, obj) { + var css = ""; + if (obj.supports) { + css += "@supports (".concat(obj.supports, ") {"); + } + if (obj.media) { + css += "@media ".concat(obj.media, " {"); + } + var needLayer = typeof obj.layer !== "undefined"; + if (needLayer) { + css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {"); + } + css += obj.css; + if (needLayer) { + css += "}"; + } + if (obj.media) { + css += "}"; + } + if (obj.supports) { + css += "}"; + } + var sourceMap = obj.sourceMap; + if (sourceMap && typeof btoa !== "undefined") { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } + + // For old IE + /* istanbul ignore if */ + options.styleTagTransform(css, styleElement, options.options); +} +function removeStyleElement(styleElement) { + // istanbul ignore if + if (styleElement.parentNode === null) { + return false; + } + styleElement.parentNode.removeChild(styleElement); +} + +/* istanbul ignore next */ +function domAPI(options) { + if (typeof document === "undefined") { + return { + update: function update() {}, + remove: function remove() {} + }; + } + var styleElement = options.insertStyleElement(options); + return { + update: function update(obj) { + apply(styleElement, options, obj); + }, + remove: function remove() { + removeStyleElement(styleElement); + } + }; +} +module.exports = domAPI; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": +/*!*********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! + \*********************************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* istanbul ignore next */ +function styleTagTransform(css, styleElement) { + if (styleElement.styleSheet) { + styleElement.styleSheet.cssText = css; + } else { + while (styleElement.firstChild) { + styleElement.removeChild(styleElement.firstChild); + } + styleElement.appendChild(document.createTextNode(css)); + } +} +module.exports = styleTagTransform; + +/***/ }), + +/***/ "./src/App.vue": +/*!*********************!*\ + !*** ./src/App.vue ***! + \*********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _App_vue_vue_type_template_id_7ba5bd90_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=template&id=7ba5bd90&scoped=true */ "./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true"); +/* harmony import */ var _App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js */ "./src/App.vue?vue&type=script&lang=js"); +/* harmony import */ var _App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss */ "./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss"); +/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + +; + + +/* normalize component */ + +var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( + _App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"], + _App_vue_vue_type_template_id_7ba5bd90_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render, + _App_vue_vue_type_template_id_7ba5bd90_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, + false, + null, + "7ba5bd90", + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "src/App.vue" +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); + +/***/ }), + +/***/ "./src/App.vue?vue&type=script&lang=js": +/*!*********************************************!*\ + !*** ./src/App.vue?vue&type=script&lang=js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=script&lang=js"); + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true": +/*!***************************************************************!*\ + !*** ./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render), +/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) +/* harmony export */ }); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_7ba5bd90_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=template&id=7ba5bd90&scoped=true */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=template&id=7ba5bd90&scoped=true"); + + +/***/ }), + +/***/ "./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss": +/*!******************************************************************************!*\ + !*** ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_7ba5bd90_scoped_true_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../node_modules/style-loader/dist/cjs.js!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&scoped=true&lang=scss"); + + +/***/ }), + +/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js": +/*!********************************************************************!*\ + !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ normalizeComponent) +/* harmony export */ }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier /* server only */, + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = + typeof scriptExports === 'function' ? scriptExports.options : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { + // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functional component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection(h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing ? [].concat(existing, hook) : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ "./node_modules/vue/dist/vue.runtime.esm.js": +/*!**************************************************!*\ + !*** ./node_modules/vue/dist/vue.runtime.esm.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ EffectScope: () => (/* binding */ EffectScope), +/* harmony export */ computed: () => (/* binding */ computed), +/* harmony export */ customRef: () => (/* binding */ customRef), +/* harmony export */ "default": () => (/* binding */ Vue), +/* harmony export */ defineAsyncComponent: () => (/* binding */ defineAsyncComponent), +/* harmony export */ defineComponent: () => (/* binding */ defineComponent), +/* harmony export */ del: () => (/* binding */ del), +/* harmony export */ effectScope: () => (/* binding */ effectScope), +/* harmony export */ getCurrentInstance: () => (/* binding */ getCurrentInstance), +/* harmony export */ getCurrentScope: () => (/* binding */ getCurrentScope), +/* harmony export */ h: () => (/* binding */ h), +/* harmony export */ inject: () => (/* binding */ inject), +/* harmony export */ isProxy: () => (/* binding */ isProxy), +/* harmony export */ isReactive: () => (/* binding */ isReactive), +/* harmony export */ isReadonly: () => (/* binding */ isReadonly), +/* harmony export */ isRef: () => (/* binding */ isRef), +/* harmony export */ isShallow: () => (/* binding */ isShallow), +/* harmony export */ markRaw: () => (/* binding */ markRaw), +/* harmony export */ mergeDefaults: () => (/* binding */ mergeDefaults), +/* harmony export */ nextTick: () => (/* binding */ nextTick), +/* harmony export */ onActivated: () => (/* binding */ onActivated), +/* harmony export */ onBeforeMount: () => (/* binding */ onBeforeMount), +/* harmony export */ onBeforeUnmount: () => (/* binding */ onBeforeUnmount), +/* harmony export */ onBeforeUpdate: () => (/* binding */ onBeforeUpdate), +/* harmony export */ onDeactivated: () => (/* binding */ onDeactivated), +/* harmony export */ onErrorCaptured: () => (/* binding */ onErrorCaptured), +/* harmony export */ onMounted: () => (/* binding */ onMounted), +/* harmony export */ onRenderTracked: () => (/* binding */ onRenderTracked), +/* harmony export */ onRenderTriggered: () => (/* binding */ onRenderTriggered), +/* harmony export */ onScopeDispose: () => (/* binding */ onScopeDispose), +/* harmony export */ onServerPrefetch: () => (/* binding */ onServerPrefetch), +/* harmony export */ onUnmounted: () => (/* binding */ onUnmounted), +/* harmony export */ onUpdated: () => (/* binding */ onUpdated), +/* harmony export */ provide: () => (/* binding */ provide), +/* harmony export */ proxyRefs: () => (/* binding */ proxyRefs), +/* harmony export */ reactive: () => (/* binding */ reactive), +/* harmony export */ readonly: () => (/* binding */ readonly), +/* harmony export */ ref: () => (/* binding */ ref$1), +/* harmony export */ set: () => (/* binding */ set), +/* harmony export */ shallowReactive: () => (/* binding */ shallowReactive), +/* harmony export */ shallowReadonly: () => (/* binding */ shallowReadonly), +/* harmony export */ shallowRef: () => (/* binding */ shallowRef), +/* harmony export */ toRaw: () => (/* binding */ toRaw), +/* harmony export */ toRef: () => (/* binding */ toRef), +/* harmony export */ toRefs: () => (/* binding */ toRefs), +/* harmony export */ triggerRef: () => (/* binding */ triggerRef), +/* harmony export */ unref: () => (/* binding */ unref), +/* harmony export */ useAttrs: () => (/* binding */ useAttrs), +/* harmony export */ useCssModule: () => (/* binding */ useCssModule), +/* harmony export */ useCssVars: () => (/* binding */ useCssVars), +/* harmony export */ useListeners: () => (/* binding */ useListeners), +/* harmony export */ useSlots: () => (/* binding */ useSlots), +/* harmony export */ version: () => (/* binding */ version), +/* harmony export */ watch: () => (/* binding */ watch), +/* harmony export */ watchEffect: () => (/* binding */ watchEffect), +/* harmony export */ watchPostEffect: () => (/* binding */ watchPostEffect), +/* harmony export */ watchSyncEffect: () => (/* binding */ watchSyncEffect) +/* harmony export */ }); +/*! + * Vue.js v2.7.16 + * (c) 2014-2023 Evan You + * Released under the MIT License. + */ +var emptyObject = Object.freeze({}); +var isArray = Array.isArray; +// These helpers produce better VM code in JS engines due to their +// explicitness and function inlining. +function isUndef(v) { + return v === undefined || v === null; +} +function isDef(v) { + return v !== undefined && v !== null; +} +function isTrue(v) { + return v === true; +} +function isFalse(v) { + return v === false; +} +/** + * Check if value is primitive. + */ +function isPrimitive(value) { + return (typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean'); +} +function isFunction(value) { + return typeof value === 'function'; +} +/** + * Quick object check - this is primarily used to tell + * objects from primitive values when we know the value + * is a JSON-compliant type. + */ +function isObject(obj) { + return obj !== null && typeof obj === 'object'; +} +/** + * Get the raw type string of a value, e.g., [object Object]. + */ +var _toString = Object.prototype.toString; +function toRawType(value) { + return _toString.call(value).slice(8, -1); +} +/** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ +function isPlainObject(obj) { + return _toString.call(obj) === '[object Object]'; +} +function isRegExp(v) { + return _toString.call(v) === '[object RegExp]'; +} +/** + * Check if val is a valid array index. + */ +function isValidArrayIndex(val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val); +} +function isPromise(val) { + return (isDef(val) && + typeof val.then === 'function' && + typeof val.catch === 'function'); +} +/** + * Convert a value to a string that is actually rendered. + */ +function toString(val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, replacer, 2) + : String(val); +} +function replacer(_key, val) { + // avoid circular deps from v3 + if (val && val.__v_isRef) { + return val.value; + } + return val; +} +/** + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. + */ +function toNumber(val) { + var n = parseFloat(val); + return isNaN(n) ? val : n; +} +/** + * Make a map and return a function for checking if a key + * is in that map. + */ +function makeMap(str, expectsLowerCase) { + var map = Object.create(null); + var list = str.split(','); + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; }; +} +/** + * Check if a tag is a built-in tag. + */ +var isBuiltInTag = makeMap('slot,component', true); +/** + * Check if an attribute is a reserved attribute. + */ +var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); +/** + * Remove an item from an array. + */ +function remove$2(arr, item) { + var len = arr.length; + if (len) { + // fast path for the only / last item + if (item === arr[len - 1]) { + arr.length = len - 1; + return; + } + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1); + } + } +} +/** + * Check whether an object has the property. + */ +var hasOwnProperty = Object.prototype.hasOwnProperty; +function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key); +} +/** + * Create a cached version of a pure function. + */ +function cached(fn) { + var cache = Object.create(null); + return function cachedFn(str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +} +/** + * Camelize a hyphen-delimited string. + */ +var camelizeRE = /-(\w)/g; +var camelize = cached(function (str) { + return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); }); +}); +/** + * Capitalize a string. + */ +var capitalize = cached(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +/** + * Hyphenate a camelCase string. + */ +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cached(function (str) { + return str.replace(hyphenateRE, '-$1').toLowerCase(); +}); +/** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ +/* istanbul ignore next */ +function polyfillBind(fn, ctx) { + function boundFn(a) { + var l = arguments.length; + return l + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx); + } + boundFn._length = fn.length; + return boundFn; +} +function nativeBind(fn, ctx) { + return fn.bind(ctx); +} +// @ts-expect-error bind cannot be `undefined` +var bind = Function.prototype.bind ? nativeBind : polyfillBind; +/** + * Convert an Array-like object to a real Array. + */ +function toArray(list, start) { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start]; + } + return ret; +} +/** + * Mix properties into target object. + */ +function extend(to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to; +} +/** + * Merge an Array of Objects into a single Object. + */ +function toObject(arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res; +} +/* eslint-disable no-unused-vars */ +/** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ +function noop(a, b, c) { } +/** + * Always return false. + */ +var no = function (a, b, c) { return false; }; +/* eslint-enable no-unused-vars */ +/** + * Return the same value. + */ +var identity = function (_) { return _; }; +/** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ +function looseEqual(a, b) { + if (a === b) + return true; + var isObjectA = isObject(a); + var isObjectB = isObject(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a); + var isArrayB = Array.isArray(b); + if (isArrayA && isArrayB) { + return (a.length === b.length && + a.every(function (e, i) { + return looseEqual(e, b[i]); + })); + } + else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime(); + } + else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return (keysA.length === keysB.length && + keysA.every(function (key) { + return looseEqual(a[key], b[key]); + })); + } + else { + /* istanbul ignore next */ + return false; + } + } + catch (e) { + /* istanbul ignore next */ + return false; + } + } + else if (!isObjectA && !isObjectB) { + return String(a) === String(b); + } + else { + return false; + } +} +/** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ +function looseIndexOf(arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) + return i; + } + return -1; +} +/** + * Ensure a function is called only once. + */ +function once(fn) { + var called = false; + return function () { + if (!called) { + called = true; + fn.apply(this, arguments); + } + }; +} +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill +function hasChanged(x, y) { + if (x === y) { + return x === 0 && 1 / x !== 1 / y; + } + else { + return x === x || y === y; + } +} + +var SSR_ATTR = 'data-server-rendered'; +var ASSET_TYPES = ['component', 'directive', 'filter']; +var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch', + 'renderTracked', + 'renderTriggered' +]; + +var config = { + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + /** + * Whether to suppress warnings. + */ + silent: false, + /** + * Show production mode tip message on boot? + */ + productionTip: "development" !== 'production', + /** + * Whether to enable devtools + */ + devtools: "development" !== 'production', + /** + * Whether to record perf + */ + performance: false, + /** + * Error handler for watcher errors + */ + errorHandler: null, + /** + * Warn handler for watcher warns + */ + warnHandler: null, + /** + * Ignore certain custom elements + */ + ignoredElements: [], + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS +}; + +/** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ +var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; +/** + * Check if a string starts with $ or _ + */ +function isReserved(str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5f; +} +/** + * Define a property. + */ +function def(obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); +} +/** + * Parse simple path. + */ +var bailRE = new RegExp("[^".concat(unicodeRegExp.source, ".$_\\d]")); +function parsePath(path) { + if (bailRE.test(path)) { + return; + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) + return; + obj = obj[segments[i]]; + } + return obj; + }; +} + +// can we use __proto__? +var hasProto = '__proto__' in {}; +// Browser environment sniffing +var inBrowser = typeof window !== 'undefined'; +var UA = inBrowser && window.navigator.userAgent.toLowerCase(); +var isIE = UA && /msie|trident/.test(UA); +var isIE9 = UA && UA.indexOf('msie 9.0') > 0; +var isEdge = UA && UA.indexOf('edge/') > 0; +UA && UA.indexOf('android') > 0; +var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA); +UA && /chrome\/\d+/.test(UA) && !isEdge; +UA && /phantomjs/.test(UA); +var isFF = UA && UA.match(/firefox\/(\d+)/); +// Firefox has a "watch" function on Object.prototype... +// @ts-expect-error firebox support +var nativeWatch = {}.watch; +var supportsPassive = false; +if (inBrowser) { + try { + var opts = {}; + Object.defineProperty(opts, 'passive', { + get: function () { + /* istanbul ignore next */ + supportsPassive = true; + } + }); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); + } + catch (e) { } +} +// this needs to be lazy-evaled because vue may be required before +// vue-server-renderer can set VUE_ENV +var _isServer; +var isServerRendering = function () { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && typeof __webpack_require__.g !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = + __webpack_require__.g['process'] && __webpack_require__.g['process'].env.VUE_ENV === 'server'; + } + else { + _isServer = false; + } + } + return _isServer; +}; +// detect devtools +var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; +/* istanbul ignore next */ +function isNative(Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()); +} +var hasSymbol = typeof Symbol !== 'undefined' && + isNative(Symbol) && + typeof Reflect !== 'undefined' && + isNative(Reflect.ownKeys); +var _Set; // $flow-disable-line +/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set; +} +else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /** @class */ (function () { + function Set() { + this.set = Object.create(null); + } + Set.prototype.has = function (key) { + return this.set[key] === true; + }; + Set.prototype.add = function (key) { + this.set[key] = true; + }; + Set.prototype.clear = function () { + this.set = Object.create(null); + }; + return Set; + }()); +} + +var currentInstance = null; +/** + * This is exposed for compatibility with v3 (e.g. some functions in VueUse + * relies on it). Do not use this internally, just use `currentInstance`. + * + * @internal this function needs manual type declaration because it relies + * on previously manually authored types from Vue 2 + */ +function getCurrentInstance() { + return currentInstance && { proxy: currentInstance }; +} +/** + * @internal + */ +function setCurrentInstance(vm) { + if (vm === void 0) { vm = null; } + if (!vm) + currentInstance && currentInstance._scope.off(); + currentInstance = vm; + vm && vm._scope.on(); +} + +/** + * @internal + */ +var VNode = /** @class */ (function () { + function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.fnContext = undefined; + this.fnOptions = undefined; + this.fnScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; + } + Object.defineProperty(VNode.prototype, "child", { + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + get: function () { + return this.componentInstance; + }, + enumerable: false, + configurable: true + }); + return VNode; +}()); +var createEmptyVNode = function (text) { + if (text === void 0) { text = ''; } + var node = new VNode(); + node.text = text; + node.isComment = true; + return node; +}; +function createTextVNode(val) { + return new VNode(undefined, undefined, undefined, String(val)); +} +// optimized shallow clone +// used for static nodes and slot nodes because they may be reused across +// multiple renders, cloning them avoids errors when DOM manipulations rely +// on their elm reference. +function cloneVNode(vnode) { + var cloned = new VNode(vnode.tag, vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.fnContext = vnode.fnContext; + cloned.fnOptions = vnode.fnOptions; + cloned.fnScopeId = vnode.fnScopeId; + cloned.asyncMeta = vnode.asyncMeta; + cloned.isCloned = true; + return cloned; +} + +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}; + +var uid$2 = 0; +var pendingCleanupDeps = []; +var cleanupDeps = function () { + for (var i = 0; i < pendingCleanupDeps.length; i++) { + var dep = pendingCleanupDeps[i]; + dep.subs = dep.subs.filter(function (s) { return s; }); + dep._pending = false; + } + pendingCleanupDeps.length = 0; +}; +/** + * A dep is an observable that can have multiple + * directives subscribing to it. + * @internal + */ +var Dep = /** @class */ (function () { + function Dep() { + // pending subs cleanup + this._pending = false; + this.id = uid$2++; + this.subs = []; + } + Dep.prototype.addSub = function (sub) { + this.subs.push(sub); + }; + Dep.prototype.removeSub = function (sub) { + // #12696 deps with massive amount of subscribers are extremely slow to + // clean up in Chromium + // to workaround this, we unset the sub for now, and clear them on + // next scheduler flush. + this.subs[this.subs.indexOf(sub)] = null; + if (!this._pending) { + this._pending = true; + pendingCleanupDeps.push(this); + } + }; + Dep.prototype.depend = function (info) { + if (Dep.target) { + Dep.target.addDep(this); + if ( true && info && Dep.target.onTrack) { + Dep.target.onTrack(__assign({ effect: Dep.target }, info)); + } + } + }; + Dep.prototype.notify = function (info) { + // stabilize the subscriber list first + var subs = this.subs.filter(function (s) { return s; }); + if ( true && !config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function (a, b) { return a.id - b.id; }); + } + for (var i = 0, l = subs.length; i < l; i++) { + var sub = subs[i]; + if ( true && info) { + sub.onTrigger && + sub.onTrigger(__assign({ effect: subs[i] }, info)); + } + sub.update(); + } + }; + return Dep; +}()); +// The current target watcher being evaluated. +// This is globally unique because only one watcher +// can be evaluated at a time. +Dep.target = null; +var targetStack = []; +function pushTarget(target) { + targetStack.push(target); + Dep.target = target; +} +function popTarget() { + targetStack.pop(); + Dep.target = targetStack[targetStack.length - 1]; +} + +/* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ +var arrayProto = Array.prototype; +var arrayMethods = Object.create(arrayProto); +var methodsToPatch = [ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' +]; +/** + * Intercept mutating methods and emit events + */ +methodsToPatch.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break; + case 'splice': + inserted = args.slice(2); + break; + } + if (inserted) + ob.observeArray(inserted); + // notify change + if (true) { + ob.dep.notify({ + type: "array mutation" /* TriggerOpTypes.ARRAY_MUTATION */, + target: this, + key: method + }); + } + else {} + return result; + }); +}); + +var arrayKeys = Object.getOwnPropertyNames(arrayMethods); +var NO_INITIAL_VALUE = {}; +/** + * In some cases we may want to disable observation inside a component's + * update computation. + */ +var shouldObserve = true; +function toggleObserving(value) { + shouldObserve = value; +} +// ssr mock dep +var mockDep = { + notify: noop, + depend: noop, + addSub: noop, + removeSub: noop +}; +/** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ +var Observer = /** @class */ (function () { + function Observer(value, shallow, mock) { + if (shallow === void 0) { shallow = false; } + if (mock === void 0) { mock = false; } + this.value = value; + this.shallow = shallow; + this.mock = mock; + // this.value = value + this.dep = mock ? mockDep : new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (isArray(value)) { + if (!mock) { + if (hasProto) { + value.__proto__ = arrayMethods; + /* eslint-enable no-proto */ + } + else { + for (var i = 0, l = arrayKeys.length; i < l; i++) { + var key = arrayKeys[i]; + def(value, key, arrayMethods[key]); + } + } + } + if (!shallow) { + this.observeArray(value); + } + } + else { + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + var keys = Object.keys(value); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + defineReactive(value, key, NO_INITIAL_VALUE, undefined, shallow, mock); + } + } + } + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function (value) { + for (var i = 0, l = value.length; i < l; i++) { + observe(value[i], false, this.mock); + } + }; + return Observer; +}()); +// helpers +/** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ +function observe(value, shallow, ssrMockReactivity) { + if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + return value.__ob__; + } + if (shouldObserve && + (ssrMockReactivity || !isServerRendering()) && + (isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value.__v_skip /* ReactiveFlags.SKIP */ && + !isRef(value) && + !(value instanceof VNode)) { + return new Observer(value, shallow, ssrMockReactivity); + } +} +/** + * Define a reactive property on an Object. + */ +function defineReactive(obj, key, val, customSetter, shallow, mock, observeEvenIfShallow) { + if (observeEvenIfShallow === void 0) { observeEvenIfShallow = false; } + var dep = new Dep(); + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return; + } + // cater for pre-defined getter/setters + var getter = property && property.get; + var setter = property && property.set; + if ((!getter || setter) && + (val === NO_INITIAL_VALUE || arguments.length === 2)) { + val = obj[key]; + } + var childOb = shallow ? val && val.__ob__ : observe(val, false, mock); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter() { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + if (true) { + dep.depend({ + target: obj, + type: "get" /* TrackOpTypes.GET */, + key: key + }); + } + else {} + if (childOb) { + childOb.dep.depend(); + if (isArray(value)) { + dependArray(value); + } + } + } + return isRef(value) && !shallow ? value.value : value; + }, + set: function reactiveSetter(newVal) { + var value = getter ? getter.call(obj) : val; + if (!hasChanged(value, newVal)) { + return; + } + if ( true && customSetter) { + customSetter(); + } + if (setter) { + setter.call(obj, newVal); + } + else if (getter) { + // #7981: for accessor properties without setter + return; + } + else if (!shallow && isRef(value) && !isRef(newVal)) { + value.value = newVal; + return; + } + else { + val = newVal; + } + childOb = shallow ? newVal && newVal.__ob__ : observe(newVal, false, mock); + if (true) { + dep.notify({ + type: "set" /* TriggerOpTypes.SET */, + target: obj, + key: key, + newValue: newVal, + oldValue: value + }); + } + else {} + } + }); + return dep; +} +function set(target, key, val) { + if ( true && (isUndef(target) || isPrimitive(target))) { + warn("Cannot set reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isReadonly(target)) { + true && warn("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + return; + } + var ob = target.__ob__; + if (isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + // when mocking for SSR, array methods are not hijacked + if (ob && !ob.shallow && ob.mock) { + observe(val, false, true); + } + return val; + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val; + } + if (target._isVue || (ob && ob.vmCount)) { + true && + warn('Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.'); + return val; + } + if (!ob) { + target[key] = val; + return val; + } + defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock); + if (true) { + ob.dep.notify({ + type: "add" /* TriggerOpTypes.ADD */, + target: target, + key: key, + newValue: val, + oldValue: undefined + }); + } + else {} + return val; +} +function del(target, key) { + if ( true && (isUndef(target) || isPrimitive(target))) { + warn("Cannot delete reactive property on undefined, null, or primitive value: ".concat(target)); + } + if (isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return; + } + var ob = target.__ob__; + if (target._isVue || (ob && ob.vmCount)) { + true && + warn('Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.'); + return; + } + if (isReadonly(target)) { + true && + warn("Delete operation on key \"".concat(key, "\" failed: target is readonly.")); + return; + } + if (!hasOwn(target, key)) { + return; + } + delete target[key]; + if (!ob) { + return; + } + if (true) { + ob.dep.notify({ + type: "delete" /* TriggerOpTypes.DELETE */, + target: target, + key: key + }); + } + else {} +} +/** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ +function dependArray(value) { + for (var e = void 0, i = 0, l = value.length; i < l; i++) { + e = value[i]; + if (e && e.__ob__) { + e.__ob__.dep.depend(); + } + if (isArray(e)) { + dependArray(e); + } + } +} + +function reactive(target) { + makeReactive(target, false); + return target; +} +/** + * Return a shallowly-reactive copy of the original object, where only the root + * level properties are reactive. It also does not auto-unwrap refs (even at the + * root level). + */ +function shallowReactive(target) { + makeReactive(target, true); + def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); + return target; +} +function makeReactive(target, shallow) { + // if trying to observe a readonly proxy, return the readonly version. + if (!isReadonly(target)) { + if (true) { + if (isArray(target)) { + warn("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation.")); + } + var existingOb = target && target.__ob__; + if (existingOb && existingOb.shallow !== shallow) { + warn("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow.")); + } + } + var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */); + if ( true && !ob) { + if (target == null || isPrimitive(target)) { + warn("value cannot be made reactive: ".concat(String(target))); + } + if (isCollectionType(target)) { + warn("Vue 2 does not support reactive collection types such as Map or Set."); + } + } + } +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]); + } + return !!(value && value.__ob__); +} +function isShallow(value) { + return !!(value && value.__v_isShallow); +} +function isReadonly(value) { + return !!(value && value.__v_isReadonly); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + // non-extensible objects won't be observed anyway + if (Object.isExtensible(value)) { + def(value, "__v_skip" /* ReactiveFlags.SKIP */, true); + } + return value; +} +/** + * @internal + */ +function isCollectionType(value) { + var type = toRawType(value); + return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet'); +} + +/** + * @internal + */ +var RefFlag = "__v_isRef"; +function isRef(r) { + return !!(r && r.__v_isRef === true); +} +function ref$1(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + var ref = {}; + def(ref, RefFlag, true); + def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, shallow); + def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering())); + return ref; +} +function triggerRef(ref) { + if ( true && !ref.dep) { + warn("received object is not a triggerable ref."); + } + if (true) { + ref.dep && + ref.dep.notify({ + type: "set" /* TriggerOpTypes.SET */, + target: ref, + key: 'value' + }); + } + else {} +} +function unref(ref) { + return isRef(ref) ? ref.value : ref; +} +function proxyRefs(objectWithRefs) { + if (isReactive(objectWithRefs)) { + return objectWithRefs; + } + var proxy = {}; + var keys = Object.keys(objectWithRefs); + for (var i = 0; i < keys.length; i++) { + proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]); + } + return proxy; +} +function proxyWithRefUnwrap(target, source, key) { + Object.defineProperty(target, key, { + enumerable: true, + configurable: true, + get: function () { + var val = source[key]; + if (isRef(val)) { + return val.value; + } + else { + var ob = val && val.__ob__; + if (ob) + ob.dep.depend(); + return val; + } + }, + set: function (value) { + var oldValue = source[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + } + else { + source[key] = value; + } + } + }); +} +function customRef(factory) { + var dep = new Dep(); + var _a = factory(function () { + if (true) { + dep.depend({ + target: ref, + type: "get" /* TrackOpTypes.GET */, + key: 'value' + }); + } + else {} + }, function () { + if (true) { + dep.notify({ + target: ref, + type: "set" /* TriggerOpTypes.SET */, + key: 'value' + }); + } + else {} + }), get = _a.get, set = _a.set; + var ref = { + get value() { + return get(); + }, + set value(newVal) { + set(newVal); + } + }; + def(ref, RefFlag, true); + return ref; +} +function toRefs(object) { + if ( true && !isReactive(object)) { + warn("toRefs() expects a reactive object but received a plain one."); + } + var ret = isArray(object) ? new Array(object.length) : {}; + for (var key in object) { + ret[key] = toRef(object, key); + } + return ret; +} +function toRef(object, key, defaultValue) { + var val = object[key]; + if (isRef(val)) { + return val; + } + var ref = { + get value() { + var val = object[key]; + return val === undefined ? defaultValue : val; + }, + set value(newVal) { + object[key] = newVal; + } + }; + def(ref, RefFlag, true); + return ref; +} + +var rawToReadonlyFlag = "__v_rawToReadonly"; +var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly"; +function readonly(target) { + return createReadonly(target, false); +} +function createReadonly(target, shallow) { + if (!isPlainObject(target)) { + if (true) { + if (isArray(target)) { + warn("Vue 2 does not support readonly arrays."); + } + else if (isCollectionType(target)) { + warn("Vue 2 does not support readonly collection types such as Map or Set."); + } + else { + warn("value cannot be made readonly: ".concat(typeof target)); + } + } + return target; + } + if ( true && !Object.isExtensible(target)) { + warn("Vue 2 does not support creating readonly proxy for non-extensible object."); + } + // already a readonly object + if (isReadonly(target)) { + return target; + } + // already has a readonly proxy + var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag; + var existingProxy = target[existingFlag]; + if (existingProxy) { + return existingProxy; + } + var proxy = Object.create(Object.getPrototypeOf(target)); + def(target, existingFlag, proxy); + def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true); + def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target); + if (isRef(target)) { + def(proxy, RefFlag, true); + } + if (shallow || isShallow(target)) { + def(proxy, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); + } + var keys = Object.keys(target); + for (var i = 0; i < keys.length; i++) { + defineReadonlyProperty(proxy, target, keys[i], shallow); + } + return proxy; +} +function defineReadonlyProperty(proxy, target, key, shallow) { + Object.defineProperty(proxy, key, { + enumerable: true, + configurable: true, + get: function () { + var val = target[key]; + return shallow || !isPlainObject(val) ? val : readonly(val); + }, + set: function () { + true && + warn("Set operation on key \"".concat(key, "\" failed: target is readonly.")); + } + }); +} +/** + * Returns a reactive-copy of the original object, where only the root level + * properties are readonly, and does NOT unwrap refs nor recursively convert + * returned properties. + * This is used for creating the props proxy object for stateful components. + */ +function shallowReadonly(target) { + return createReadonly(target, true); +} + +function computed(getterOrOptions, debugOptions) { + var getter; + var setter; + var onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = true + ? function () { + warn('Write operation failed: computed value is readonly'); + } + : 0; + } + else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + var watcher = isServerRendering() + ? null + : new Watcher(currentInstance, getter, noop, { lazy: true }); + if ( true && watcher && debugOptions) { + watcher.onTrack = debugOptions.onTrack; + watcher.onTrigger = debugOptions.onTrigger; + } + var ref = { + // some libs rely on the presence effect for checking computed refs + // from normal refs, but the implementation doesn't matter + effect: watcher, + get value() { + if (watcher) { + if (watcher.dirty) { + watcher.evaluate(); + } + if (Dep.target) { + if ( true && Dep.target.onTrack) { + Dep.target.onTrack({ + effect: Dep.target, + target: ref, + type: "get" /* TrackOpTypes.GET */, + key: 'value' + }); + } + watcher.depend(); + } + return watcher.value; + } + else { + return getter(); + } + }, + set value(newVal) { + setter(newVal); + } + }; + def(ref, RefFlag, true); + def(ref, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, onlyGetter); + return ref; +} + +var WATCHER = "watcher"; +var WATCHER_CB = "".concat(WATCHER, " callback"); +var WATCHER_GETTER = "".concat(WATCHER, " getter"); +var WATCHER_CLEANUP = "".concat(WATCHER, " cleanup"); +// Simple effect. +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch(effect, null, ( true + ? __assign(__assign({}, options), { flush: 'post' }) : 0)); +} +function watchSyncEffect(effect, options) { + return doWatch(effect, null, ( true + ? __assign(__assign({}, options), { flush: 'sync' }) : 0)); +} +// initial value for watchers to trigger on undefined initial values +var INITIAL_WATCHER_VALUE = {}; +// implementation +function watch(source, cb, options) { + if ( true && typeof cb !== 'function') { + warn("`watch(fn, options?)` signature has been moved to a separate API. " + + "Use `watchEffect(fn, options?)` instead. `watch` now only " + + "supports `watch(source, cb, options?) signature."); + } + return doWatch(source, cb, options); +} +function doWatch(source, cb, _a) { + var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger; + if ( true && !cb) { + if (immediate !== undefined) { + warn("watch() \"immediate\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + if (deep !== undefined) { + warn("watch() \"deep\" option is only respected when using the " + + "watch(source, callback, options?) signature."); + } + } + var warnInvalidSource = function (s) { + warn("Invalid watch source: ".concat(s, ". A watch source can only be a getter/effect ") + + "function, a ref, a reactive object, or an array of these types."); + }; + var instance = currentInstance; + var call = function (fn, type, args) { + if (args === void 0) { args = null; } + var res = invokeWithErrorHandling(fn, null, args, instance, type); + if (deep && res && res.__ob__) + res.__ob__.dep.depend(); + return res; + }; + var getter; + var forceTrigger = false; + var isMultiSource = false; + if (isRef(source)) { + getter = function () { return source.value; }; + forceTrigger = isShallow(source); + } + else if (isReactive(source)) { + getter = function () { + source.__ob__.dep.depend(); + return source; + }; + deep = true; + } + else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); }); + getter = function () { + return source.map(function (s) { + if (isRef(s)) { + return s.value; + } + else if (isReactive(s)) { + s.__ob__.dep.depend(); + return traverse(s); + } + else if (isFunction(s)) { + return call(s, WATCHER_GETTER); + } + else { + true && warnInvalidSource(s); + } + }); + }; + } + else if (isFunction(source)) { + if (cb) { + // getter with cb + getter = function () { return call(source, WATCHER_GETTER); }; + } + else { + // no cb -> simple effect + getter = function () { + if (instance && instance._isDestroyed) { + return; + } + if (cleanup) { + cleanup(); + } + return call(source, WATCHER, [onCleanup]); + }; + } + } + else { + getter = noop; + true && warnInvalidSource(source); + } + if (cb && deep) { + var baseGetter_1 = getter; + getter = function () { return traverse(baseGetter_1()); }; + } + var cleanup; + var onCleanup = function (fn) { + cleanup = watcher.onStop = function () { + call(fn, WATCHER_CLEANUP); + }; + }; + // in SSR there is no need to setup an actual effect, and it should be noop + // unless it's eager + if (isServerRendering()) { + // we will also not call the invalidate callback (+ runner is not set up) + onCleanup = noop; + if (!cb) { + getter(); + } + else if (immediate) { + call(cb, WATCHER_CB, [ + getter(), + isMultiSource ? [] : undefined, + onCleanup + ]); + } + return noop; + } + var watcher = new Watcher(currentInstance, getter, noop, { + lazy: true + }); + watcher.noRecurse = !cb; + var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE; + // overwrite default run + watcher.run = function () { + if (!watcher.active) { + return; + } + if (cb) { + // watch(source, cb) + var newValue = watcher.get(); + if (deep || + forceTrigger || + (isMultiSource + ? newValue.some(function (v, i) { + return hasChanged(v, oldValue[i]); + }) + : hasChanged(newValue, oldValue))) { + // cleanup before running cb again + if (cleanup) { + cleanup(); + } + call(cb, WATCHER_CB, [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, + onCleanup + ]); + oldValue = newValue; + } + } + else { + // watchEffect + watcher.get(); + } + }; + if (flush === 'sync') { + watcher.update = watcher.run; + } + else if (flush === 'post') { + watcher.post = true; + watcher.update = function () { return queueWatcher(watcher); }; + } + else { + // pre + watcher.update = function () { + if (instance && instance === currentInstance && !instance._isMounted) { + // pre-watcher triggered before + var buffer = instance._preWatchers || (instance._preWatchers = []); + if (buffer.indexOf(watcher) < 0) + buffer.push(watcher); + } + else { + queueWatcher(watcher); + } + }; + } + if (true) { + watcher.onTrack = onTrack; + watcher.onTrigger = onTrigger; + } + // initial run + if (cb) { + if (immediate) { + watcher.run(); + } + else { + oldValue = watcher.get(); + } + } + else if (flush === 'post' && instance) { + instance.$once('hook:mounted', function () { return watcher.get(); }); + } + else { + watcher.get(); + } + return function () { + watcher.teardown(); + }; +} + +var activeEffectScope; +var EffectScope = /** @class */ (function () { + function EffectScope(detached) { + if (detached === void 0) { detached = false; } + this.detached = detached; + /** + * @internal + */ + this.active = true; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = + (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + } + EffectScope.prototype.run = function (fn) { + if (this.active) { + var currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } + finally { + activeEffectScope = currentEffectScope; + } + } + else if (true) { + warn("cannot run an inactive effect scope."); + } + }; + /** + * This should only be called on non-detached scopes + * @internal + */ + EffectScope.prototype.on = function () { + activeEffectScope = this; + }; + /** + * This should only be called on non-detached scopes + * @internal + */ + EffectScope.prototype.off = function () { + activeEffectScope = this.parent; + }; + EffectScope.prototype.stop = function (fromParent) { + if (this.active) { + var i = void 0, l = void 0; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].teardown(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + // nested scope, dereference from parent to avoid memory leaks + if (!this.detached && this.parent && !fromParent) { + // optimized O(1) removal + var last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = undefined; + this.active = false; + } + }; + return EffectScope; +}()); +function effectScope(detached) { + return new EffectScope(detached); +} +/** + * @internal + */ +function recordEffectScope(effect, scope) { + if (scope === void 0) { scope = activeEffectScope; } + if (scope && scope.active) { + scope.effects.push(effect); + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } + else if (true) { + warn("onScopeDispose() is called when there is no active effect scope" + + " to be associated with."); + } +} + +function provide(key, value) { + if (!currentInstance) { + if (true) { + warn("provide() can only be used inside setup()."); + } + } + else { + // TS doesn't allow symbol as index type + resolveProvided(currentInstance)[key] = value; + } +} +function resolveProvided(vm) { + // by default an instance inherits its parent's provides object + // but when it needs to provide values of its own, it creates its + // own provides object using parent provides object as prototype. + // this way in `inject` we can simply look up injections from direct + // parent and let the prototype chain do the work. + var existing = vm._provided; + var parentProvides = vm.$parent && vm.$parent._provided; + if (parentProvides === existing) { + return (vm._provided = Object.create(parentProvides)); + } + else { + return existing; + } +} +function inject(key, defaultValue, treatDefaultAsFactory) { + if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; } + // fallback to `currentRenderingInstance` so that this can be called in + // a functional component + var instance = currentInstance; + if (instance) { + // #2400 + // to support `app.use` plugins, + // fallback to appContext's `provides` if the instance is at root + var provides = instance.$parent && instance.$parent._provided; + if (provides && key in provides) { + // TS doesn't allow symbol as index type + return provides[key]; + } + else if (arguments.length > 1) { + return treatDefaultAsFactory && isFunction(defaultValue) + ? defaultValue.call(instance) + : defaultValue; + } + else if (true) { + warn("injection \"".concat(String(key), "\" not found.")); + } + } + else if (true) { + warn("inject() can only be used inside setup() or functional components."); + } +} + +var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once = name.charAt(0) === '~'; // Prefixed last, checked first + name = once ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once, + capture: capture, + passive: passive + }; +}); +function createFnInvoker(fns, vm) { + function invoker() { + var fns = invoker.fns; + if (isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments, vm, "v-on handler"); + } + } + else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler"); + } + } + invoker.fns = fns; + return invoker; +} +function updateListeners(on, oldOn, add, remove, createOnceHandler, vm) { + var name, cur, old, event; + for (name in on) { + cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + if (isUndef(cur)) { + true && + warn("Invalid handler for event \"".concat(event.name, "\": got ") + String(cur), vm); + } + else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm); + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture); + } + add(event.name, cur, event.capture, event.passive, event.params); + } + else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove(event.name, oldOn[name], event.capture); + } + } +} + +function mergeVNodeHook(def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + function wrappedHook() { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove$2(invoker.fns, wrappedHook); + } + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } + else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } + else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + invoker.merged = true; + def[hookKey] = invoker; +} + +function extractPropsFromVNodeData(data, Ctor, tag) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return; + } + var res = {}; + var attrs = data.attrs, props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + if (true) { + var keyInLowerCase = key.toLowerCase(); + if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) { + tip("Prop \"".concat(keyInLowerCase, "\" is passed to component ") + + "".concat(formatComponentName( + // @ts-expect-error tag is string + tag || Ctor), ", but the declared prop name is") + + " \"".concat(key, "\". ") + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"".concat(altKey, "\" instead of \"").concat(key, "\".")); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res; +} +function checkProp(res, hash, key, altKey, preserve) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true; + } + else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true; + } + } + return false; +} + +// The template compiler attempts to minimize the need for normalization by +// statically analyzing the template at compile time. +// +// For plain HTML markup, normalization can be completely skipped because the +// generated render function is guaranteed to return Array. There are +// two cases where extra normalization is needed: +// 1. When the children contains components - because a functional component +// may return an Array instead of a single root. In this case, just a simple +// normalization is needed - if any child is an Array, we flatten the whole +// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep +// because functional components already normalize their own children. +function simpleNormalizeChildren(children) { + for (var i = 0; i < children.length; i++) { + if (isArray(children[i])) { + return Array.prototype.concat.apply([], children); + } + } + return children; +} +// 2. When the children contains constructs that always generated nested Arrays, +// e.g.