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.