UNPKG

@shopware-ag/meteor-component-library

Version:

The meteor component library is a Vue component library developed by Shopware. It is based on the [Meteor Design System](https://shopware.design/).

1,472 lines 51.4 kB
"use strict"; const vue = require("vue"); function listCacheClear() { this.__data__ = []; this.size = 0; } function eq(value, other) { return value === other || value !== value && other !== other; } function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } var arrayProto = Array.prototype; var splice = arrayProto.splice; 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); } --this.size; return true; } function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? void 0 : data[index][1]; } function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]); } else { data[index][1] = value; } return this; } function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } ListCache.prototype.clear = listCacheClear; ListCache.prototype["delete"] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; function stackClear() { this.__data__ = new ListCache(); this.size = 0; } function stackDelete(key) { var data = this.__data__, result = data["delete"](key); this.size = data.size; return result; } function stackGet(key) { return this.__data__.get(key); } function stackHas(key) { return this.__data__.has(key); } var freeGlobal = typeof global == "object" && global && global.Object === Object && global; const freeGlobal$1 = freeGlobal; var freeSelf = typeof self == "object" && self && self.Object === Object && self; var root = freeGlobal$1 || freeSelf || Function("return this")(); const root$1 = root; var Symbol$1 = root$1.Symbol; const Symbol$2 = Symbol$1; var objectProto$c = Object.prototype; var hasOwnProperty$9 = objectProto$c.hasOwnProperty; var nativeObjectToString$1 = objectProto$c.toString; var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0; function getRawTag(value) { var isOwn = hasOwnProperty$9.call(value, symToStringTag$1), tag = value[symToStringTag$1]; try { value[symToStringTag$1] = void 0; var unmasked = true; } catch (e) { } var result = nativeObjectToString$1.call(value); if (unmasked) { if (isOwn) { value[symToStringTag$1] = tag; } else { delete value[symToStringTag$1]; } } return result; } var objectProto$b = Object.prototype; var nativeObjectToString = objectProto$b.toString; function objectToString(value) { return nativeObjectToString.call(value); } var nullTag = "[object Null]", undefinedTag = "[object Undefined]"; var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0; function baseGetTag(value) { if (value == null) { return value === void 0 ? undefinedTag : nullTag; } return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); } function isObject(value) { var type = typeof value; return value != null && (type == "object" || type == "function"); } var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]"; function isFunction(value) { if (!isObject(value)) { return false; } var tag = baseGetTag(value); return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag; } var coreJsData = root$1["__core-js_shared__"]; const coreJsData$1 = coreJsData; var maskSrcKey = function() { var uid = /[^.]+$/.exec(coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO || ""); return uid ? "Symbol(src)_1." + uid : ""; }(); function isMasked(func) { return !!maskSrcKey && maskSrcKey in func; } var funcProto$1 = Function.prototype; var funcToString$1 = funcProto$1.toString; function toSource(func) { if (func != null) { try { return funcToString$1.call(func); } catch (e) { } try { return func + ""; } catch (e) { } } return ""; } var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; var reIsHostCtor = /^\[object .+?Constructor\]$/; var funcProto = Function.prototype, objectProto$a = Object.prototype; var funcToString = funcProto.toString; var hasOwnProperty$8 = objectProto$a.hasOwnProperty; var reIsNative = RegExp( "^" + funcToString.call(hasOwnProperty$8).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } function getValue(object, key) { return object == null ? void 0 : object[key]; } function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : void 0; } var Map = getNative(root$1, "Map"); const Map$1 = Map; var nativeCreate = getNative(Object, "create"); const nativeCreate$1 = nativeCreate; function hashClear() { this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {}; this.size = 0; } function hashDelete(key) { var result = this.has(key) && delete this.__data__[key]; this.size -= result ? 1 : 0; return result; } var HASH_UNDEFINED$1 = "__lodash_hash_undefined__"; var objectProto$9 = Object.prototype; var hasOwnProperty$7 = objectProto$9.hasOwnProperty; function hashGet(key) { var data = this.__data__; if (nativeCreate$1) { var result = data[key]; return result === HASH_UNDEFINED$1 ? void 0 : result; } return hasOwnProperty$7.call(data, key) ? data[key] : void 0; } var objectProto$8 = Object.prototype; var hasOwnProperty$6 = objectProto$8.hasOwnProperty; function hashHas(key) { var data = this.__data__; return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$6.call(data, key); } var HASH_UNDEFINED = "__lodash_hash_undefined__"; function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = nativeCreate$1 && value === void 0 ? HASH_UNDEFINED : value; return this; } function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } Hash.prototype.clear = hashClear; Hash.prototype["delete"] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; function mapCacheClear() { this.size = 0; this.__data__ = { "hash": new Hash(), "map": new (Map$1 || ListCache)(), "string": new Hash() }; } function isKeyable(value) { var type = typeof value; return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; } function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; } function mapCacheDelete(key) { var result = getMapData(this, key)["delete"](key); this.size -= result ? 1 : 0; return result; } function mapCacheGet(key) { return getMapData(this, key).get(key); } function mapCacheHas(key) { return getMapData(this, key).has(key); } function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this; } function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } MapCache.prototype.clear = mapCacheClear; MapCache.prototype["delete"] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; var LARGE_ARRAY_SIZE = 200; function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map$1 || pairs.length < LARGE_ARRAY_SIZE - 1) { pairs.push([key, value]); this.size = ++data.size; return this; } data = this.__data__ = new MapCache(pairs); } data.set(key, value); this.size = data.size; return this; } function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } Stack.prototype.clear = stackClear; Stack.prototype["delete"] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; function arrayEach(array, iteratee) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (iteratee(array[index], index, array) === false) { break; } } return array; } var defineProperty = function() { try { var func = getNative(Object, "defineProperty"); func({}, "", {}); return func; } catch (e) { } }(); const defineProperty$1 = defineProperty; function baseAssignValue(object, key, value) { if (key == "__proto__" && defineProperty$1) { defineProperty$1(object, key, { "configurable": true, "enumerable": true, "value": value, "writable": true }); } else { object[key] = value; } } var objectProto$7 = Object.prototype; var hasOwnProperty$5 = objectProto$7.hasOwnProperty; function assignValue(object, key, value) { var objValue = object[key]; if (!(hasOwnProperty$5.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) { baseAssignValue(object, key, value); } } function copyObject(source, props, object, customizer) { var isNew = !object; object || (object = {}); var index = -1, length = props.length; while (++index < length) { var key = props[index]; var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0; if (newValue === void 0) { newValue = source[key]; } if (isNew) { baseAssignValue(object, key, newValue); } else { assignValue(object, key, newValue); } } return object; } function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index); } return result; } function isObjectLike(value) { return value != null && typeof value == "object"; } var argsTag$2 = "[object Arguments]"; function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag$2; } var objectProto$6 = Object.prototype; var hasOwnProperty$4 = objectProto$6.hasOwnProperty; var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable; var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty$4.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee"); }; const isArguments$1 = isArguments; var isArray = Array.isArray; const isArray$1 = isArray; function stubFalse() { return false; } var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports; var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module; var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2; var Buffer$1 = moduleExports$2 ? root$1.Buffer : void 0; var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : void 0; var isBuffer = nativeIsBuffer || stubFalse; const isBuffer$1 = isBuffer; var MAX_SAFE_INTEGER$1 = 9007199254740991; var reIsUint = /^(?:0|[1-9]\d*)$/; function isIndex(value, length) { var type = typeof value; length = length == null ? MAX_SAFE_INTEGER$1 : length; return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); } var MAX_SAFE_INTEGER = 9007199254740991; function isLength(value) { return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", errorTag$1 = "[object Error]", funcTag$1 = "[object Function]", mapTag$4 = "[object Map]", numberTag$2 = "[object Number]", objectTag$2 = "[object Object]", regexpTag$2 = "[object RegExp]", setTag$4 = "[object Set]", stringTag$2 = "[object String]", weakMapTag$2 = "[object WeakMap]"; var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$3 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]"; var typedArrayTags = {}; typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true; typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$2] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$4] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$4] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false; function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } function baseUnary(func) { return function(value) { return func(value); }; } var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports; var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module; var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1; var freeProcess = moduleExports$1 && freeGlobal$1.process; var nodeUtil = function() { try { var types = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types; if (types) { return types; } return freeProcess && freeProcess.binding && freeProcess.binding("util"); } catch (e) { } }(); const nodeUtil$1 = nodeUtil; var nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray; var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; const isTypedArray$1 = isTypedArray; var objectProto$5 = Object.prototype; var hasOwnProperty$3 = objectProto$5.hasOwnProperty; function arrayLikeKeys(value, inherited) { var isArr = isArray$1(value), isArg = !isArr && isArguments$1(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key in value) { if ((inherited || hasOwnProperty$3.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode. (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties. isIndex(key, length)))) { result.push(key); } } return result; } var objectProto$4 = Object.prototype; function isPrototype(value) { var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$4; return value === proto; } function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } var nativeKeys = overArg(Object.keys, Object); const nativeKeys$1 = nativeKeys; var objectProto$3 = Object.prototype; var hasOwnProperty$2 = objectProto$3.hasOwnProperty; function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys$1(object); } var result = []; for (var key in Object(object)) { if (hasOwnProperty$2.call(object, key) && key != "constructor") { result.push(key); } } return result; } function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } function baseAssign(object, source) { return object && copyObject(source, keys(source), object); } function nativeKeysIn(object) { var result = []; if (object != null) { for (var key in Object(object)) { result.push(key); } } return result; } var objectProto$2 = Object.prototype; var hasOwnProperty$1 = objectProto$2.hasOwnProperty; function baseKeysIn(object) { if (!isObject(object)) { return nativeKeysIn(object); } var isProto = isPrototype(object), result = []; for (var key in object) { if (!(key == "constructor" && (isProto || !hasOwnProperty$1.call(object, key)))) { result.push(key); } } return result; } function keysIn(object) { return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); } function baseAssignIn(object, source) { return object && copyObject(source, keysIn(source), object); } var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; var moduleExports = freeModule && freeModule.exports === freeExports; var Buffer = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0; function cloneBuffer(buffer, isDeep) { if (isDeep) { return buffer.slice(); } var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); buffer.copy(result); return result; } function copyArray(source, array) { var index = -1, length = source.length; array || (array = Array(length)); while (++index < length) { array[index] = source[index]; } return array; } function arrayFilter(array, predicate) { var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; while (++index < length) { var value = array[index]; if (predicate(value, index, array)) { result[resIndex++] = value; } } return result; } function stubArray() { return []; } var objectProto$1 = Object.prototype; var propertyIsEnumerable = objectProto$1.propertyIsEnumerable; var nativeGetSymbols$1 = Object.getOwnPropertySymbols; var getSymbols = !nativeGetSymbols$1 ? stubArray : function(object) { if (object == null) { return []; } object = Object(object); return arrayFilter(nativeGetSymbols$1(object), function(symbol) { return propertyIsEnumerable.call(object, symbol); }); }; const getSymbols$1 = getSymbols; function copySymbols(source, object) { return copyObject(source, getSymbols$1(source), object); } function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } var getPrototype = overArg(Object.getPrototypeOf, Object); const getPrototype$1 = getPrototype; var nativeGetSymbols = Object.getOwnPropertySymbols; var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { var result = []; while (object) { arrayPush(result, getSymbols$1(object)); object = getPrototype$1(object); } return result; }; const getSymbolsIn$1 = getSymbolsIn; function copySymbolsIn(source, object) { return copyObject(source, getSymbolsIn$1(source), object); } function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object)); } function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols$1); } function getAllKeysIn(object) { return baseGetAllKeys(object, keysIn, getSymbolsIn$1); } var DataView = getNative(root$1, "DataView"); const DataView$1 = DataView; var Promise$1 = getNative(root$1, "Promise"); const Promise$2 = Promise$1; var Set = getNative(root$1, "Set"); const Set$1 = Set; var WeakMap = getNative(root$1, "WeakMap"); const WeakMap$1 = WeakMap; var mapTag$3 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$3 = "[object Set]", weakMapTag$1 = "[object WeakMap]"; var dataViewTag$2 = "[object DataView]"; var dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap$1); var getTag = baseGetTag; if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$2 || Map$1 && getTag(new Map$1()) != mapTag$3 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$3 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1) { getTag = function(value) { var result = baseGetTag(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : ""; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag$2; case mapCtorString: return mapTag$3; case promiseCtorString: return promiseTag; case setCtorString: return setTag$3; case weakMapCtorString: return weakMapTag$1; } } return result; }; } const getTag$1 = getTag; var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function initCloneArray(array) { var length = array.length, result = new array.constructor(length); if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) { result.index = array.index; result.input = array.input; } return result; } var Uint8Array = root$1.Uint8Array; const Uint8Array$1 = Uint8Array; function cloneArrayBuffer(arrayBuffer) { var result = new arrayBuffer.constructor(arrayBuffer.byteLength); new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer)); return result; } function cloneDataView(dataView, isDeep) { var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); } var reFlags = /\w*$/; function cloneRegExp(regexp) { var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); result.lastIndex = regexp.lastIndex; return result; } var symbolProto = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; function cloneSymbol(symbol) { return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; } function cloneTypedArray(typedArray, isDeep) { var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); } var boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]"; var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]"; function initCloneByTag(object, tag, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag$1: return cloneArrayBuffer(object); case boolTag$1: case dateTag$1: return new Ctor(+object); case dataViewTag$1: return cloneDataView(object, isDeep); case float32Tag$1: case float64Tag$1: case int8Tag$1: case int16Tag$1: case int32Tag$1: case uint8Tag$1: case uint8ClampedTag$1: case uint16Tag$1: case uint32Tag$1: return cloneTypedArray(object, isDeep); case mapTag$2: return new Ctor(); case numberTag$1: case stringTag$1: return new Ctor(object); case regexpTag$1: return cloneRegExp(object); case setTag$2: return new Ctor(); case symbolTag$1: return cloneSymbol(object); } } var objectCreate = Object.create; var baseCreate = function() { function object() { } return function(proto) { if (!isObject(proto)) { return {}; } if (objectCreate) { return objectCreate(proto); } object.prototype = proto; var result = new object(); object.prototype = void 0; return result; }; }(); const baseCreate$1 = baseCreate; function initCloneObject(object) { return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate$1(getPrototype$1(object)) : {}; } var mapTag$1 = "[object Map]"; function baseIsMap(value) { return isObjectLike(value) && getTag$1(value) == mapTag$1; } var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap; var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; const isMap$1 = isMap; var setTag$1 = "[object Set]"; function baseIsSet(value) { return isObjectLike(value) && getTag$1(value) == setTag$1; } var nodeIsSet = nodeUtil$1 && nodeUtil$1.isSet; var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; const isSet$1 = isSet; var CLONE_DEEP_FLAG$1 = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4; var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", weakMapTag = "[object WeakMap]"; var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; var cloneableTags = {}; cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; function baseClone(value, bitmask, customizer, key, object, stack) { var result, isDeep = bitmask & CLONE_DEEP_FLAG$1, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG$1; if (customizer) { result = object ? customizer(value, key, object, stack) : customizer(value); } if (result !== void 0) { return result; } if (!isObject(value)) { return value; } var isArr = isArray$1(value); if (isArr) { result = initCloneArray(value); if (!isDeep) { return copyArray(value, result); } } else { var tag = getTag$1(value), isFunc = tag == funcTag || tag == genTag; if (isBuffer$1(value)) { return cloneBuffer(value, isDeep); } if (tag == objectTag || tag == argsTag || isFunc && !object) { result = isFlat || isFunc ? {} : initCloneObject(value); if (!isDeep) { return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value)); } } else { if (!cloneableTags[tag]) { return object ? value : {}; } result = initCloneByTag(value, tag, isDeep); } } stack || (stack = new Stack()); var stacked = stack.get(value); if (stacked) { return stacked; } stack.set(value, result); if (isSet$1(value)) { value.forEach(function(subValue) { result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); }); } else if (isMap$1(value)) { value.forEach(function(subValue, key2) { result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); }); } var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys; var props = isArr ? void 0 : keysFunc(value); arrayEach(props || value, function(subValue, key2) { if (props) { key2 = subValue; subValue = value[key2]; } assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); }); return result; } var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4; function cloneDeep(value) { return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); } let defaultPage = 1; let defaultLimit = null; class Criteria { constructor(page = defaultPage, limit = defaultLimit) { Object.defineProperty(this, "title", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "page", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "limit", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "term", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "filters", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "ids", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "queries", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "associations", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "postFilter", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "sortings", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "aggregations", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "grouping", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "fields", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "groupFields", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "totalCountMode", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "includes", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.page = page; this.limit = limit; this.term = null; this.title = null; this.filters = []; this.includes = null; this.ids = []; this.queries = []; this.associations = []; this.postFilter = []; this.sortings = []; this.aggregations = []; this.grouping = []; this.groupFields = []; this.fields = []; this.totalCountMode = 1; } static fromCriteria(criteria) { return cloneDeep(criteria); } /** * Parses the current criteria and generates an object which can be provided to the api */ parse() { const params = {}; if (this.ids.length > 0) { params.ids = this.ids.join("|"); } if (this.page !== null) { params.page = this.page; } if (this.limit !== null) { params.limit = this.limit; } if (this.term !== null) { params.term = this.term; } if (this.queries.length > 0) { params.query = this.queries; } if (this.filters.length > 0) { params.filter = this.filters; } if (this.postFilter.length > 0) { params["post-filter"] = this.postFilter; } if (this.sortings.length > 0) { params.sort = this.sortings; } if (this.aggregations.length > 0) { params.aggregations = this.aggregations; } if (this.groupFields.length > 0) { params.groupFields = this.groupFields; } if (this.grouping.length > 0) { params.grouping = this.grouping; } if (this.fields.length > 0) { params.fields = this.fields; } if (this.associations.length > 0) { params.associations = {}; this.associations.forEach((item) => { if (!params.associations) { return; } params.associations[item.association] = item.criteria.parse(); }); } if (this.includes !== null) { params.includes = this.includes; } if (this.totalCountMode !== null) { params["total-count-mode"] = this.totalCountMode; } return params; } /** * Allows to provide a title for the criteria. This title will be shown in the `repository.search` request url so it can be used for debugging in network's tab */ setTitle(title) { this.title = title; return this; } getTitle() { return this.title; } /** * Allows to provide a list of ids which are used as a filter */ setIds(ids) { this.ids = ids; return this; } /** * Allows to configure the total value of a search result. * 0 - no total count will be selected. Should be used if no pagination required (fastest) * 1 - exact total count will be selected. Should be used if an exact pagination is required (slow) * 2 - fetches limit * 5 + 1. Should be used if pagination can work with "next page exists" (fast) */ setTotalCountMode(mode) { if (typeof mode !== "number") { this.totalCountMode = null; } this.totalCountMode = mode < 0 || mode > 2 ? null : mode; return this; } setPage(page) { this.page = page; return this; } setLimit(limit) { this.limit = limit; return this; } setTerm(term) { this.term = term; return this; } addFilter(filter) { this.filters.push(filter); return this; } addIncludes(include) { Object.entries(include).forEach(([entityName, includeValues]) => { if (this.includes === null) { this.includes = {}; } if (!this.includes[entityName]) { this.includes[entityName] = []; } this.includes[entityName].push(...includeValues); }); return this; } /** * Adds the provided filter as post filter. * Post filter will be considered for the documents query but not for the aggregations. */ addPostFilter(filter) { this.postFilter.push(filter); return this; } /** * Allows to add different sortings for the criteria, to sort the entity result. */ addSorting(sorting) { this.sortings.push(sorting); return this; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Query\ScoreQuery. * These queries are used to search for documents and score them with a ranking */ addQuery(filter, score, scoreField = null) { const query = { score, query: filter }; if (scoreField) { query.scoreField = scoreField; } this.queries.push(query); return this; } /** * @param {Object} groupField */ addGroupField(groupField) { this.groupFields.push(groupField); return this; } /** * Allows grouping the result by a specific field */ addGrouping(field) { this.grouping.push(field); return this; } /** * Allows loading partial fields for the result. */ addFields(...field) { this.fields.push(...field); return this; } /** * @param {Object} aggregation */ addAggregation(aggregation) { this.aggregations.push(aggregation); return this; } /** * Ensures that a criterion is created for each segment of the passed path. * Existing Criteria objects are not overwritten. * Returns the own instance */ addAssociation(path) { const parts = path.split("."); let criteria = this; parts.forEach((part) => { criteria = criteria.getAssociation(part); }); return this; } /** * Ensures that a criterion is created for each segment of the passed path. * Returns the criteria instance of the last path segment */ getAssociation(path) { const parts = path.split("."); let criteria = this; parts.forEach((part) => { if (!criteria.hasAssociation(part)) { criteria.associations.push({ association: part, criteria: new Criteria(null, null) }); } criteria = criteria.getAssociationCriteria(part); }); return criteria; } getAssociationCriteria(part) { let criteria = null; this.associations.forEach((association) => { if (association.association === part) { criteria = association.criteria; } }); return criteria; } getLimit() { var _a; return (_a = this.limit) !== null && _a !== void 0 ? _a : 0; } getPage() { var _a; return (_a = this.page) !== null && _a !== void 0 ? _a : 0; } getCriteriaData() { return { page: this.page, limit: this.limit, term: this.term, title: this.title, filters: this.filters, ids: this.ids, queries: this.queries, associations: this.associations, postFilter: this.postFilter, sortings: this.sortings, aggregations: this.aggregations, grouping: this.grouping, fields: this.fields, groupFields: this.groupFields, totalCountMode: this.totalCountMode, includes: this.includes }; } hasAssociation(property) { return this.associations.some((assocation) => { return assocation.association === property; }); } /** * Resets the sorting parameter */ resetSorting() { this.sortings = []; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\AvgAggregation * Allows to calculate the avg value for the provided field */ static avg(name, field) { return { type: "avg", name, field }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\CountAggregation * Allows to calculate the count value for the provided field */ static count(name, field) { return { type: "count", name, field }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\MaxAggregation * Allows to calculate the max value for the provided field */ static max(name, field) { return { type: "max", name, field }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\MinAggregation * Allows to calculate the min value for the provided field */ static min(name, field) { return { type: "min", name, field }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\StatsAggregation * Allows to calculate the sum, max, min, avg, count values for the provided field */ static stats(name, field) { return { type: "stats", name, field }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\SumAggregation * Allows to calculate the sum value for the provided field */ static sum(name, field) { return { type: "sum", name, field }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\TermsAggregation * Allows to fetch term buckets for the provided field */ static terms(name, field, limit = null, sort = null, aggregation = null) { return { type: "terms", name, field, limit, sort, aggregation }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\EntityAggregation * Allows to filter an aggregation result */ static entityAggregation(name, field, definition) { return { type: "entity", name, field, definition }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\FilterAggregation * Allows to filter an aggregation result */ static filter(name, filter, aggregation) { return { type: "filter", name, filter, aggregation }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\DateHistogramAggregation * Allows to fetch date buckets for the provided date interval */ static histogram(name, field, interval, format, aggregation, timeZone) { return { type: "histogram", name, field, interval, format, aggregation, timeZone }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting. * Allows to sort the documents by the provided field */ static sort(field, order = "ASC", naturalSorting = false) { return { field, order, naturalSorting }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting. * Allows to sort the documents by the provided field naturally */ static naturalSorting(field, order = "ASC") { return { field, order, naturalSorting: true }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\CountSorting. * Allows to sort the documents by counting associations via the provided field * * Sql representation: `ORDER BY COUNT({field}) {order}` */ static countSorting(field, order = "ASC") { return { field, order, naturalSorting: false, type: "count" }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\ContainsFilter. * This allows to filter documents where the value are contained in the provided field. * * Sql representation: `{field} LIKE %{value}%` */ static contains(field, value) { return { type: "contains", field, value }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\PrefixFilter. * This allows to filter documents where the value marks the beginning of the provided field. * * Sql representation: `{field} LIKE {value}%` */ static prefix(field, value) { return { type: "prefix", field, value }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\SuffixFilter. * This allows to filter documents where the value marks the end of the provided field. * * Sql representation: `{field} LIKE %{value}` */ static suffix(field, value) { return { type: "suffix", field, value }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsAnyFilter. * This allows to filter documents where the field matches one of the provided values * * Sql representation: `{field} IN ({value}, {value})` */ static equalsAny(field, value) { return { type: "equalsAny", field, value: value.join("|") }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\RangeFilter. * This allows to filter documents where the field matches a defined range * * Sql representation: `{field} >= {value}`, `{field} <= {value}`, ... */ static range(field, range) { return { type: "range", field, parameters: range }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter. * This allows to filter documents where the field matches a defined range * * Sql representation: `{field} = {value}` */ static equals(field, value) { return { type: "equals", field, value }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\NotFilter. * This allows to filter documents which not matches for the provided filters * All above listed queries can be provided (equals, equalsAny, range, contains) * * Sql representation: `NOT({query} {operator} {query} {operator} {query})` * * @param {string} operator - and/or * @param {array} queries * * @returns {Object} */ static not(operator, queries = []) { return { type: "not", operator, queries }; } /** * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\NotFilter. * This allows to filter documents which matches for the provided filters * All above listed queries can be provided (equals, equalsAny, range, contains) * * Sql representation: `({query} {operator} {query} {operator} {query})` * * @param {string} operator - and/or * @param {array} queries * * @returns {Object} */ static multi(operator, queries = []) { return { type: "multi", operator, queries }; } } var __awaiter$1 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function isPromise(value) { return !!value && typeof value === "object" && "then" in value && typeof value.then === "function" && "catch" in value && typeof value.catch === "function"; } class RepositoryAdapter { // eslint-disable-next-line no-empty-function,no-useless-constructor constructor(sourceRepository) { Object.defineProperty(this, "sourceRepository", { enumerable: true, configurable: true, writable: true, value: sourceRepository }); } search(criteria, context) { return __awaiter$1(this, void 0, void 0, function* () { return this.sourceRepository.search(criteria, context); }); } get(id, context, criteria) { return __awaiter$1(this, void 0, void 0, function* () { return this.sourceRepository.get(id, context, criteria); }); } save(entity, context) { return __awaiter$1(this, void 0, void 0, function* () { return this.sourceRepository.save(entity, context); }); } clone(entityId, behavior, context) { return __awaiter$1(this, void 0, void 0, function* () { return this.sourceRepository.clone(entityId, behavior, context); }); } hasChanges(entity) { return __awaiter$1(this, void 0, void 0, function* () { const result = this.sourceRepository.hasChanges(entity); return isPromise(result) ? result : Promise.resolve(result); }); } saveAll(entities, context) { return __awaiter$1(this, void 0, void 0, function* () { return this.sourceRepository.saveAll(entities, context); }); } delete(entityId, context) { return __awaiter$1(this, void 0, void 0, function* () { return this.sourceRepository.delete(entityId, context); }); } create(context, entityId) { return __awaiter$1(this, void 0, void 0, function* () { const result = this.sourceRepository.create(context, entityId); return isPromise(result) ? result : Promise.resolve(result); }); } } function createRepositoryAdapter(source) { return new RepositoryAdapter(source); } var __awaiter = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function(resolve) { resolve(value); }); } return new (P || (P = Promise))(function(resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function getRepository(entityName, propRepositoryFactory) { if (propRepositoryFactory) { return createRepositoryAdapter(propRepositoryFactory(entityName)); } const injectedFactory = vue.inject("repositoryFactory"); if (injectedFactory) { return createRepositoryAdapter(injectedFactory.create(entityName)); } let lazyDataRepository; return new Proxy({}, { get(_,