/******/ (() => { // 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. , , v-for, or when the children is provided by user
// with hand-written render functions / JSX. In such cases a full normalization
// is needed to cater to all possible types of children values.
function normalizeChildren(children) {
return isPrimitive(children)
? [createTextVNode(children)]
: isArray(children)
? normalizeArrayChildren(children)
: undefined;
}
function isTextNode(node) {
return isDef(node) && isDef(node.text) && isFalse(node.isComment);
}
function normalizeArrayChildren(children, nestedIndex) {
var res = [];
var i, c, lastIndex, last;
for (i = 0; i < children.length; i++) {
c = children[i];
if (isUndef(c) || typeof c === 'boolean')
continue;
lastIndex = res.length - 1;
last = res[lastIndex];
// nested
if (isArray(c)) {
if (c.length > 0) {
c = normalizeArrayChildren(c, "".concat(nestedIndex || '', "_").concat(i));
// merge adjacent text nodes
if (isTextNode(c[0]) && isTextNode(last)) {
res[lastIndex] = createTextVNode(last.text + c[0].text);
c.shift();
}
res.push.apply(res, c);
}
}
else if (isPrimitive(c)) {
if (isTextNode(last)) {
// merge adjacent text nodes
// this is necessary for SSR hydration because text nodes are
// essentially merged when rendered to HTML strings
res[lastIndex] = createTextVNode(last.text + c);
}
else if (c !== '') {
// convert primitive to vnode
res.push(createTextVNode(c));
}
}
else {
if (isTextNode(c) && isTextNode(last)) {
// merge adjacent text nodes
res[lastIndex] = createTextVNode(last.text + c.text);
}
else {
// default key for nested array children (likely generated by v-for)
if (isTrue(children._isVList) &&
isDef(c.tag) &&
isUndef(c.key) &&
isDef(nestedIndex)) {
c.key = "__vlist".concat(nestedIndex, "_").concat(i, "__");
}
res.push(c);
}
}
}
return res;
}
/**
* Runtime helper for rendering v-for lists.
*/
function renderList(val, render) {
var ret = null, i, l, keys, key;
if (isArray(val) || typeof val === 'string') {
ret = new Array(val.length);
for (i = 0, l = val.length; i < l; i++) {
ret[i] = render(val[i], i);
}
}
else if (typeof val === 'number') {
ret = new Array(val);
for (i = 0; i < val; i++) {
ret[i] = render(i + 1, i);
}
}
else if (isObject(val)) {
if (hasSymbol && val[Symbol.iterator]) {
ret = [];
var iterator = val[Symbol.iterator]();
var result = iterator.next();
while (!result.done) {
ret.push(render(result.value, ret.length));
result = iterator.next();
}
}
else {
keys = Object.keys(val);
ret = new Array(keys.length);
for (i = 0, l = keys.length; i < l; i++) {
key = keys[i];
ret[i] = render(val[key], key, i);
}
}
}
if (!isDef(ret)) {
ret = [];
}
ret._isVList = true;
return ret;
}
/**
* Runtime helper for rendering
*/
function renderSlot(name, fallbackRender, props, bindObject) {
var scopedSlotFn = this.$scopedSlots[name];
var nodes;
if (scopedSlotFn) {
// scoped slot
props = props || {};
if (bindObject) {
if ( true && !isObject(bindObject)) {
warn('slot v-bind without argument expects an Object', this);
}
props = extend(extend({}, bindObject), props);
}
nodes =
scopedSlotFn(props) ||
(isFunction(fallbackRender) ? fallbackRender() : fallbackRender);
}
else {
nodes =
this.$slots[name] ||
(isFunction(fallbackRender) ? fallbackRender() : fallbackRender);
}
var target = props && props.slot;
if (target) {
return this.$createElement('template', { slot: target }, nodes);
}
else {
return nodes;
}
}
/**
* Runtime helper for resolving filters
*/
function resolveFilter(id) {
return resolveAsset(this.$options, 'filters', id, true) || identity;
}
function isKeyNotMatch(expect, actual) {
if (isArray(expect)) {
return expect.indexOf(actual) === -1;
}
else {
return expect !== actual;
}
}
/**
* Runtime helper for checking keyCodes from config.
* exposed as Vue.prototype._k
* passing in eventKeyName as last argument separately for backwards compat
*/
function checkKeyCodes(eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) {
var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;
if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {
return isKeyNotMatch(builtInKeyName, eventKeyName);
}
else if (mappedKeyCode) {
return isKeyNotMatch(mappedKeyCode, eventKeyCode);
}
else if (eventKeyName) {
return hyphenate(eventKeyName) !== key;
}
return eventKeyCode === undefined;
}
/**
* Runtime helper for merging v-bind="object" into a VNode's data.
*/
function bindObjectProps(data, tag, value, asProp, isSync) {
if (value) {
if (!isObject(value)) {
true &&
warn('v-bind without argument expects an Object or Array value', this);
}
else {
if (isArray(value)) {
value = toObject(value);
}
var hash = void 0;
var _loop_1 = function (key) {
if (key === 'class' || key === 'style' || isReservedAttribute(key)) {
hash = data;
}
else {
var type = data.attrs && data.attrs.type;
hash =
asProp || config.mustUseProp(tag, type, key)
? data.domProps || (data.domProps = {})
: data.attrs || (data.attrs = {});
}
var camelizedKey = camelize(key);
var hyphenatedKey = hyphenate(key);
if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {
hash[key] = value[key];
if (isSync) {
var on = data.on || (data.on = {});
on["update:".concat(key)] = function ($event) {
value[key] = $event;
};
}
}
};
for (var key in value) {
_loop_1(key);
}
}
}
return data;
}
/**
* Runtime helper for rendering static trees.
*/
function renderStatic(index, isInFor) {
var cached = this._staticTrees || (this._staticTrees = []);
var tree = cached[index];
// if has already-rendered static tree and not inside v-for,
// we can reuse the same tree.
if (tree && !isInFor) {
return tree;
}
// otherwise, render a fresh tree.
tree = cached[index] = this.$options.staticRenderFns[index].call(this._renderProxy, this._c, this // for render fns generated for functional component templates
);
markStatic(tree, "__static__".concat(index), false);
return tree;
}
/**
* Runtime helper for v-once.
* Effectively it means marking the node as static with a unique key.
*/
function markOnce(tree, index, key) {
markStatic(tree, "__once__".concat(index).concat(key ? "_".concat(key) : ""), true);
return tree;
}
function markStatic(tree, key, isOnce) {
if (isArray(tree)) {
for (var i = 0; i < tree.length; i++) {
if (tree[i] && typeof tree[i] !== 'string') {
markStaticNode(tree[i], "".concat(key, "_").concat(i), isOnce);
}
}
}
else {
markStaticNode(tree, key, isOnce);
}
}
function markStaticNode(node, key, isOnce) {
node.isStatic = true;
node.key = key;
node.isOnce = isOnce;
}
function bindObjectListeners(data, value) {
if (value) {
if (!isPlainObject(value)) {
true && warn('v-on without argument expects an Object value', this);
}
else {
var on = (data.on = data.on ? extend({}, data.on) : {});
for (var key in value) {
var existing = on[key];
var ours = value[key];
on[key] = existing ? [].concat(existing, ours) : ours;
}
}
}
return data;
}
function resolveScopedSlots(fns, res,
// the following are added in 2.6
hasDynamicKeys, contentHashKey) {
res = res || { $stable: !hasDynamicKeys };
for (var i = 0; i < fns.length; i++) {
var slot = fns[i];
if (isArray(slot)) {
resolveScopedSlots(slot, res, hasDynamicKeys);
}
else if (slot) {
// marker for reverse proxying v-slot without scope on this.$slots
// @ts-expect-error
if (slot.proxy) {
// @ts-expect-error
slot.fn.proxy = true;
}
res[slot.key] = slot.fn;
}
}
if (contentHashKey) {
res.$key = contentHashKey;
}
return res;
}
// helper to process dynamic keys for dynamic arguments in v-bind and v-on.
function bindDynamicKeys(baseObj, values) {
for (var i = 0; i < values.length; i += 2) {
var key = values[i];
if (typeof key === 'string' && key) {
baseObj[values[i]] = values[i + 1];
}
else if ( true && key !== '' && key !== null) {
// null is a special value for explicitly removing a binding
warn("Invalid value for dynamic directive argument (expected string or null): ".concat(key), this);
}
}
return baseObj;
}
// helper to dynamically append modifier runtime markers to event names.
// ensure only append when value is already string, otherwise it will be cast
// to string and cause the type check to miss.
function prependModifier(value, symbol) {
return typeof value === 'string' ? symbol + value : value;
}
function installRenderHelpers(target) {
target._o = markOnce;
target._n = toNumber;
target._s = toString;
target._l = renderList;
target._t = renderSlot;
target._q = looseEqual;
target._i = looseIndexOf;
target._m = renderStatic;
target._f = resolveFilter;
target._k = checkKeyCodes;
target._b = bindObjectProps;
target._v = createTextVNode;
target._e = createEmptyVNode;
target._u = resolveScopedSlots;
target._g = bindObjectListeners;
target._d = bindDynamicKeys;
target._p = prependModifier;
}
/**
* Runtime helper for resolving raw children VNodes into a slot object.
*/
function resolveSlots(children, context) {
if (!children || !children.length) {
return {};
}
var slots = {};
for (var i = 0, l = children.length; i < l; i++) {
var child = children[i];
var data = child.data;
// remove slot attribute if the node is resolved as a Vue slot node
if (data && data.attrs && data.attrs.slot) {
delete data.attrs.slot;
}
// named slots should only be respected if the vnode was rendered in the
// same context.
if ((child.context === context || child.fnContext === context) &&
data &&
data.slot != null) {
var name_1 = data.slot;
var slot = slots[name_1] || (slots[name_1] = []);
if (child.tag === 'template') {
slot.push.apply(slot, child.children || []);
}
else {
slot.push(child);
}
}
else {
(slots.default || (slots.default = [])).push(child);
}
}
// ignore slots that contains only whitespace
for (var name_2 in slots) {
if (slots[name_2].every(isWhitespace)) {
delete slots[name_2];
}
}
return slots;
}
function isWhitespace(node) {
return (node.isComment && !node.asyncFactory) || node.text === ' ';
}
function isAsyncPlaceholder(node) {
// @ts-expect-error not really boolean type
return node.isComment && node.asyncFactory;
}
function normalizeScopedSlots(ownerVm, scopedSlots, normalSlots, prevScopedSlots) {
var res;
var hasNormalSlots = Object.keys(normalSlots).length > 0;
var isStable = scopedSlots ? !!scopedSlots.$stable : !hasNormalSlots;
var key = scopedSlots && scopedSlots.$key;
if (!scopedSlots) {
res = {};
}
else if (scopedSlots._normalized) {
// fast path 1: child component re-render only, parent did not change
return scopedSlots._normalized;
}
else if (isStable &&
prevScopedSlots &&
prevScopedSlots !== emptyObject &&
key === prevScopedSlots.$key &&
!hasNormalSlots &&
!prevScopedSlots.$hasNormal) {
// fast path 2: stable scoped slots w/ no normal slots to proxy,
// only need to normalize once
return prevScopedSlots;
}
else {
res = {};
for (var key_1 in scopedSlots) {
if (scopedSlots[key_1] && key_1[0] !== '$') {
res[key_1] = normalizeScopedSlot(ownerVm, normalSlots, key_1, scopedSlots[key_1]);
}
}
}
// expose normal slots on scopedSlots
for (var key_2 in normalSlots) {
if (!(key_2 in res)) {
res[key_2] = proxyNormalSlot(normalSlots, key_2);
}
}
// avoriaz seems to mock a non-extensible $scopedSlots object
// and when that is passed down this would cause an error
if (scopedSlots && Object.isExtensible(scopedSlots)) {
scopedSlots._normalized = res;
}
def(res, '$stable', isStable);
def(res, '$key', key);
def(res, '$hasNormal', hasNormalSlots);
return res;
}
function normalizeScopedSlot(vm, normalSlots, key, fn) {
var normalized = function () {
var cur = currentInstance;
setCurrentInstance(vm);
var res = arguments.length ? fn.apply(null, arguments) : fn({});
res =
res && typeof res === 'object' && !isArray(res)
? [res] // single vnode
: normalizeChildren(res);
var vnode = res && res[0];
setCurrentInstance(cur);
return res &&
(!vnode ||
(res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode))) // #9658, #10391
? undefined
: res;
};
// this is a slot using the new v-slot syntax without scope. although it is
// compiled as a scoped slot, render fn users would expect it to be present
// on this.$slots because the usage is semantically a normal slot.
if (fn.proxy) {
Object.defineProperty(normalSlots, key, {
get: normalized,
enumerable: true,
configurable: true
});
}
return normalized;
}
function proxyNormalSlot(slots, key) {
return function () { return slots[key]; };
}
function initSetup(vm) {
var options = vm.$options;
var setup = options.setup;
if (setup) {
var ctx = (vm._setupContext = createSetupContext(vm));
setCurrentInstance(vm);
pushTarget();
var setupResult = invokeWithErrorHandling(setup, null, [vm._props || shallowReactive({}), ctx], vm, "setup");
popTarget();
setCurrentInstance();
if (isFunction(setupResult)) {
// render function
// @ts-ignore
options.render = setupResult;
}
else if (isObject(setupResult)) {
// bindings
if ( true && setupResult instanceof VNode) {
warn("setup() should not return VNodes directly - " +
"return a render function instead.");
}
vm._setupState = setupResult;
// __sfc indicates compiled bindings from