PageSourceSearch

https://www.metzgerei-graenitz.de/bundles/storefront/storefront/shopware/shopware.js?1789556890

js metzgerei-graenitz.de collected 2026-09-26 07:28:51 UTC 15,084 bytes, 408 lines download raw bytes

1//#region \0rolldown/runtime.js
2var e = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), t = class {
3	constructor(e, t = {}, n = "") {
4		if (this.observerSettings = {
5			childList: !1,
6			subtree: !1,
7			attributes: !1
8		}, !(e instanceof HTMLElement)) throw Error("Provided element is not a valid HTMLElement.");
9		this.el = e, this.componentName = n, this.options = this.mergeOptions(t), this.observer = new MutationObserver(this.observerCallback.bind(this)), this.initializeComponent();
10	}
11	initializeComponent() {
12		this.init();
13	}
14	initializeObserver(e) {
15		this.observerSettings = {
16			...this.observerSettings,
17			...e
18		}, (this.observerSettings.childList || this.observerSettings.attributes) && this.observer.observe(this.el, this.observerSettings);
19	}
20	observerCallback(e, t) {
21		e.forEach((e) => {
22			e.type === "childList" && this.observerSettings.childList && this.onContentUpdate(e), e.type === "attributes" && this.observerSettings.attributes && this.onAttributeUpdate(e);
23		});
24	}
25	mergeOptions(e) {
26		if (!(this.el instanceof HTMLElement)) return e;
27		let t = this.getOptionsFromDataAttribute();
28		return {
29			...e,
30			...t
31		};
32	}
33	getOptionsFromDataAttribute() {
34		let e = {};
35		if (!(this.el instanceof HTMLElement)) return e;
36		let t = this.el.getAttribute("data-component-options");
37		if (t) try {
38			e = JSON.parse(t);
39		} catch {
40			console.error("The data attribute \"data-component-options\" could not be parsed to json.");
41		}
42		return e;
43	}
44	init() {
45		console.warn("Init method has to be implemented.");
46	}
47	destroy() {}
48	dispatchEvent(e, t, n = {
49		cancelable: !0,
50		bubbles: !0,
51		composed: !1
52	}) {
53		this.el.dispatchEvent(new CustomEvent(e, {
54			detail: t,
55			...n
56		}));
57	}
58	debounce(e, t = 400, n = !1) {
59		let r;
60		return (...i) => {
61			let a = n && r === void 0;
62			r !== void 0 && window.clearTimeout(r), r = window.setTimeout(() => {
63				r = void 0, n || e(...i);
64			}, t), a && e(...i);
65		};
66	}
67	onContentUpdate(e) {}
68	onAttributeUpdate(e) {}
69};
70window.ShopwareComponent = t;
71//#endregion
72//#region src/component-system/shopware.ts
73var n = (/* @__PURE__ */ e(((e, t) => {
74	var n = typeof Reflect == "object" ? Reflect : null, r = n && typeof n.apply == "function" ? n.apply : function(e, t, n) {
75		return Function.prototype.apply.call(e, t, n);
76	}, i = n && typeof n.ownKeys == "function" ? n.ownKeys : Object.getOwnPropertySymbols ? function(e) {
77		return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));
78	} : function(e) {
79		return Object.getOwnPropertyNames(e);
80	};
81	function a(e) {
82		console && console.warn && console.warn(e);
83	}
84	var o = Number.isNaN || function(e) {
85		return e !== e;
86	};
87	function s() {
88		s.init.call(this);
89	}
90	t.exports = s, t.exports.once = y, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0;
91	var c = 10;
92	function l(e) {
93		if (typeof e != "function") throw TypeError("The \"listener\" argument must be of type Function. Received type " + typeof e);
94	}
95	Object.defineProperty(s, "defaultMaxListeners", {
96		enumerable: !0,
97		get: function() {
98			return c;
99		},
100		set: function(e) {
101			if (typeof e != "number" || e < 0 || o(e)) throw RangeError("The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received " + e + ".");
102			c = e;
103		}
104	}), s.init = function() {
105		(this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
106	}, s.prototype.setMaxListeners = function(e) {
107		if (typeof e != "number" || e < 0 || o(e)) throw RangeError("The value of \"n\" is out of range. It must be a non-negative number. Received " + e + ".");
108		return this._maxListeners = e, this;
109	};
110	function u(e) {
111		return e._maxListeners === void 0 ? s.defaultMaxListeners : e._maxListeners;
112	}
113	s.prototype.getMaxListeners = function() {
114		return u(this);
115	}, s.prototype.emit = function(e) {
116		for (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);
117		var i = e === "error", a = this._events;
118		if (a !== void 0) i &&= a.error === void 0;
119		else if (!i) return !1;
120		if (i) {
121			var o;
122			if (t.length > 0 && (o = t[0]), o instanceof Error) throw o;
123			var s = /* @__PURE__ */ Error("Unhandled error." + (o ? " (" + o.message + ")" : ""));
124			throw s.context = o, s;
125		}
126		var c = a[e];
127		if (c === void 0) return !1;
128		if (typeof c == "function") r(c, this, t);
129		else for (var l = c.length, u = g(c, l), n = 0; n < l; ++n) r(u[n], this, t);
130		return !0;
131	};
132	function d(e, t, n, r) {
133		var i, o, s;
134		if (l(n), o = e._events, o === void 0 ? (o = e._events = Object.create(null), e._eventsCount = 0) : (o.newListener !== void 0 && (e.emit("newListener", t, n.listener ? n.listener : n), o = e._events), s = o[t]), s === void 0) s = o[t] = n, ++e._eventsCount;
135		else if (typeof s == "function" ? s = o[t] = r ? [n, s] : [s, n] : r ? s.unshift(n) : s.push(n), i = u(e), i > 0 && s.length > i && !s.warned) {
136			s.warned = !0;
137			var c = /* @__PURE__ */ Error("Possible EventEmitter memory leak detected. " + s.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit");
138			c.name = "MaxListenersExceededWarning", c.emitter = e, c.type = t, c.count = s.length, a(c);
139		}
140		return e;
141	}
142	s.prototype.addListener = function(e, t) {
143		return d(this, e, t, !1);
144	}, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function(e, t) {
145		return d(this, e, t, !0);
146	};
147	function f() {
148		if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);
149	}
150	function p(e, t, n) {
151		var r = {
152			fired: !1,
153			wrapFn: void 0,
154			target: e,
155			type: t,
156			listener: n
157		}, i = f.bind(r);
158		return i.listener = n, r.wrapFn = i, i;
159	}
160	s.prototype.once = function(e, t) {
161		return l(t), this.on(e, p(this, e, t)), this;
162	}, s.prototype.prependOnceListener = function(e, t) {
163		return l(t), this.prependListener(e, p(this, e, t)), this;
164	}, s.prototype.removeListener = function(e, t) {
165		var n, r, i, a, o;
166		if (l(t), r = this._events, r === void 0 || (n = r[e], n === void 0)) return this;
167		if (n === t || n.listener === t) --this._eventsCount === 0 ? this._events = Object.create(null) : (delete r[e], r.removeListener && this.emit
167("removeListener", e, n.listener || t));
168		else if (typeof n != "function") {
169			for (i = -1, a = n.length - 1; a >= 0; a--) if (n[a] === t || n[a].listener === t) {
170				o = n[a].listener, i = a;
171				break;
172			}
173			if (i < 0) return this;
174			i === 0 ? n.shift() : _(n, i), n.length === 1 && (r[e] = n[0]), r.removeListener !== void 0 && this.emit("removeListener", e, o || t);
175		}
176		return this;
177	}, s.prototype.off = s.prototype.removeListener, s.prototype.removeAllListeners = function(e) {
178		var t, n = this._events, r;
179		if (n === void 0) return this;
180		if (n.removeListener === void 0) return arguments.length === 0 ? (this._events = Object.create(null), this._eventsCount = 0) : n[e] !== void 0 && (--this._eventsCount === 0 ? this._events = Object.create(null) : delete n[e]), this;
181		if (arguments.length === 0) {
182			var i = Object.keys(n), a;
183			for (r = 0; r < i.length; ++r) a = i[r], a !== "removeListener" && this.removeAllListeners(a);
184			return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this;
185		}
186		if (t = n[e], typeof t == "function") this.removeListener(e, t);
187		else if (t !== void 0) for (r = t.length - 1; r >= 0; r--) this.removeListener(e, t[r]);
188		return this;
189	};
190	function m(e, t, n) {
191		var r = e._events;
192		if (r === void 0) return [];
193		var i = r[t];
194		return i === void 0 ? [] : typeof i == "function" ? n ? [i.listener || i] : [i] : n ? v(i) : g(i, i.length);
195	}
196	s.prototype.listeners = function(e) {
197		return m(this, e, !0);
198	}, s.prototype.rawListeners = function(e) {
199		return m(this, e, !1);
200	}, s.listenerCount = function(e, t) {
201		return typeof e.listenerCount == "function" ? e.listenerCount(t) : h.call(e, t);
202	}, s.prototype.listenerCount = h;
203	function h(e) {
204		var t = this._events;
205		if (t !== void 0) {
206			var n = t[e];
207			if (typeof n == "function") return 1;
208			if (n !== void 0) return n.length;
209		}
210		return 0;
211	}
212	s.prototype.eventNames = function() {
213		return this._eventsCount > 0 ? i(this._events) : [];
214	};
215	function g(e, t) {
216		for (var n = Array(t), r = 0; r < t; ++r) n[r] = e[r];
217		return n;
218	}
219	function _(e, t) {
220		for (; t + 1 < e.length; t++) e[t] = e[t + 1];
221		e.pop();
222	}
223	function v(e) {
224		for (var t = Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n];
225		return t;
226	}
227	function y(e, t) {
228		return new Promise(function(n, r) {
229			function i(n) {
230				e.removeListener(t, a), r(n);
231			}
232			function a() {
233				typeof e.removeListener == "function" && e.removeListener("error", i), n([].slice.call(arguments));
234			}
235			x(e, t, a, { once: !0 }), t !== "error" && b(e, i, { once: !0 });
236		});
237	}
238	function b(e, t, n) {
239		typeof e.on == "function" && x(e, "error", t, n);
240	}
241	function x(e, t, n, r) {
242		if (typeof e.on == "function") r.once ? e.once(t, n) : e.on(t, n);
243		else if (typeof e.addEventListener == "function") e.addEventListener(t, function i(a) {
244			r.once && e.removeEventListener(t, i), n(a);
245		});
246		else throw TypeError("The \"emitter\" argument must be of type EventEmitter. Received type " + typeof e);
247	}
248})))(), r = new class e extends n.EventEmitter {
249	constructor() {
250		if (super(), this.componentRegistry = /* @__PURE__ */ new Map(), this.instanceRegistry = [], this.instanceIndexByElement = /* @__PURE__ */ new WeakMap(), this.interceptionRegistry = /* @__PURE__ */ new Map(), this.onDomContentLoaded = () => {
251			this.initializeComponents();
252		}, e.instance) return e.instance;
253		this.setMaxListeners(50), this.observer = new MutationObserver(this.observerCallback.bind(this)), this.observer.observe(document.body, {
254			childList: !0,
255			subtree: !0
256		}), document.addEventListener("DOMContentLoaded", this.onDomContentLoaded), e.instance = this;
257	}
258	async getComponent(e) {
259		if (!e) return;
260		let t = this.componentRegistry.get(e);
261		if (t !== void 0) return t ?? void 0;
262		let n = this.resolveImportMapSpecifier(e), r;
263		try {
264			r = (await import(
265				/* webpackIgnore: true */
266				/* @vite-ignore */
267				n
268)).default;
269		} catch (t) {
270			console.error(`Failed to import component ${e}:`, t), this.componentRegistry.set(e, null);
271			return;
272		}
273		if (!r) {
274			this.componentRegistry.set(e, null);
275			return;
276		}
277		return this.componentRegistry.set(e, r), r;
278	}
279	resolveImportMapSpecifier(e) {
280		let t = Array.from(document.querySelectorAll("script[type=\"importmap\"]"));
281		for (let n of t) {
282			let t = n.textContent;
283			if (t) try {
284				let n = JSON.parse(t).imports;
285				if (!n) continue;
286				let r = n[e];
287				if (r) return r;
288				let i;
289				for (let t of Object.keys(n)) t.endsWith("/") && e.startsWith(t) && (!i || t.length > i.length) && (i = t);
290				if (i && n[i]) return `${n[i]}${e.slice(i.length)}`;
291			} catch {
292				continue;
293			}
294		}
295		return e;
296	}
297	getComponentInstances(e) {
298		return this.instanceRegistry.filter((t) => e instanceof RegExp ? e.test(t.componentName) : t.componentName === e).map((e) => e.component);
299	}
300	getComponentInstanceByElement(e, t) {
301		return this.instanceIndexByElement.get(t)?.get(e);
302	}
303	async initializeComponent(e) {
304		let t = await this.getComponent(e);
305		if (!t) {
306			console.warn(`Component ${e} not found. Component will not be initialized.`);
307			return;
308		}
309		let n = `[data-component="${e}"]`;
310		document.querySelectorAll(n).forEach((n) => {
311			this.initializeComponentOnElement(e, t, n);
312		});
313	}
314	initializeComponentOnElement(e, t, n) {
315		if (!t || !n) return;
316		let r = this.getComponentInstanceByElement(e, n);
317		if (r) return r;
318		let i = new t(n, t.options || {}, e);
319		this.instanceRegistry.push({
320			element: n,
321			componentName: e,
322			component: i
323		});
324		let a = this.instanceIndexByElement.get(n) ?? /* @__PURE__ */ new Map();
325		return a.set(e, i), this.instanceIndexByElement.set(n, a), i;
326	}
327	emitQueued(e, ...t) {
328		window.queueMicrotask(() => {
329			this.emit(e, ...t);
330		});
331	}
332	intercept(e, t, n = 0) {
333		this.interceptionRegistry.has(e) || this.interceptionRegistry.set(e, []), this.interceptionRegistry.get(e)?.push({
334			callback: t,
335			priority: n
336		});
337	}
338	emitInterception(e, t) {
339		let n = this.interceptionRegistry.get(e);
340		return n ? (n.sort((e, t) => (t.priority || 0) - (e.priority || 0)), n.forEach((e) => {
341			t = e.callback(t);
342		}), t) : t;
343	}
344	callMethod(e, t, ...n) {
345		this.getComponentInstances(e).forEach((e) => {
346			e[t] && typeof e[t] == "function" && e[t].call(e, ...n);
347		});
348	}
349	serializeForm(e) {
350		return e.nodeName === "FORM" ? new FormData(e) : new FormData();
351	}
352	serializeFormJson(e) {
353		let t = this.serializeForm(e), n = {};
354		if (t instanceof FormData) for (let [e, r] of Array.from(t.entries())) n[e] = r;
355		return n;
356	}
357	disconnect() {
358		this.observer.disconnect(), document.removeEventListener("DOMContentLoaded", this.onDomContentLoaded), this.instanceRegistry.forEach((e) => {
359			e.component.destroy();
360		}), this.componentRegistry.clear(), this.instanceRegistry = [], this.instanceIndexByElement = /* @__PURE__ */ new WeakMap(), this.interceptionRegistry.clear(), this.removeAllListeners();
361	}
362	async initializeComponents() {
363		let e = Array.from(document.querySelectorAll("[data-component]")), t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
364		for (let r of e) {
365			let e = r.getAttribute("data-component");
366			if (!e || t.has(e)) continue;
367			let i = (async () => {
368				let t = await this.getComponent(e);
369				if (!t) throw Error(`Component ${e} not found.`);
370				return n.set(e, t), t;
371			})();
372			t.set(e, i);
373		}
374		await Promise.allSettled(Array.from(t.values()));
375		for (let t of e) {
376			let e = t.getAttribute("data-component");
377			if (!e) continue;
378			let r = n.get(e);
379			r && this.initializeComponentOnElement(e, r, t);
380		}
381		this.emitQueued("Components:Initialized");
382	}
383	observerCallback(e, t) {
384		e.forEach((e) => {
385			this.handleAddedNodes(e.addedNodes), this.handleRemovedNodes(e.removedNodes);
386		});
387	}
388	async handleAddedNodes(e) {
389		let t = Array.from(e);
390		for (let e of t) {
391			if (!(e instanceof HTMLElement)) continue;
392			let t = e.getAttribute("data-component"), n = await this.getComponent(t);
393			t && n && this.initializeComponentOnElement(t, n, e), e.childNodes && e.childNodes.length > 0 && this.handleAddedNodes(e.childNodes);
394		}
395	}
396	handleRemovedNodes(e) {
397		let t = Array.from(e);
398		for (let e of t) {
399			let t = this.instanceIndexByElement.get(e);
400			t && (t.forEach((e) => {
401				e.destroy();
402			}), this.instanceRegistry = this.instanceRegistry.filter((t) => t.element !== e), this.instanceIndexByElement.delete(e)), e.childNodes && e.childNodes.length > 0 && this.handleRemovedNodes(e.childNodes);
403		}
404	}
405}();
406window.Shopware = r;
407//#endregion
408export { r as Shopware, t as ShopwareComponent };

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.