iobroker.shoppingroute 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -17
- package/README_DE.md +31 -24
- package/admin/custom/assets/ShoppingRouteAdminSet__mf_v__runtimeInit__mf_v__-CSXtL_6m.js +10 -0
- package/admin/custom/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/admin/custom/assets/hostInit-DprWdRSg.js +2 -0
- package/admin/custom/assets/index-EOeIS_7q.js +9 -0
- package/admin/custom/assets/preload-helper-Dp1pzeXC.js +1 -0
- package/admin/custom/assets/route-editor-components-FB3CfD4a.js +1 -0
- package/admin/custom/assets/virtualExposes-0pJrfiZw.js +2 -0
- package/admin/custom/markets/assets/ShoppingRouteMarketsSet__mf_v__runtimeInit__mf_v__-Dx7i8THH.js +10 -0
- package/admin/custom/markets/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/admin/custom/markets/assets/hostInit-DeIlwHf1.js +2 -0
- package/admin/custom/markets/assets/index-EOeIS_7q.js +9 -0
- package/admin/custom/markets/assets/markets-editor-components-DbpDn4Ma.js +67 -0
- package/admin/custom/markets/assets/preload-helper-Dp1pzeXC.js +1 -0
- package/admin/custom/markets/assets/virtualExposes-HyPFqZfW.js +2 -0
- package/admin/custom/markets/marketsEditor.js +2 -0
- package/admin/custom/markets/mf-manifest.json +1 -0
- package/admin/custom/mf-manifest.json +1 -0
- package/admin/custom/productGroups/assets/ShoppingRouteProductGroupsSet__mf_v__runtimeInit__mf_v__-Be3p3_Gt.js +10 -0
- package/admin/custom/productGroups/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/admin/custom/productGroups/assets/hostInit-BHEE7C9D.js +2 -0
- package/admin/custom/productGroups/assets/index-EOeIS_7q.js +9 -0
- package/admin/custom/productGroups/assets/preload-helper-Dp1pzeXC.js +1 -0
- package/admin/custom/productGroups/assets/product-groups-editor-components-DUHkQ08b.js +44 -0
- package/admin/custom/productGroups/assets/virtualExposes-BohEelXR.js +2 -0
- package/admin/custom/productGroups/mf-manifest.json +1 -0
- package/admin/custom/productGroups/productGroupsEditor.js +2 -0
- package/admin/custom/routeEditor.js +2 -4212
- package/admin/jsonConfig.json +277 -315
- package/build/lib/alexa-direct.js +201 -0
- package/build/lib/config-tools.js +102 -1
- package/build/lib/direct-sort-lifecycle.js +72 -0
- package/build/lib/market-plan.js +141 -1
- package/build/lib/metrics.js +44 -1
- package/build/lib/model.js +3 -1
- package/build/lib/parser.js +274 -1
- package/build/lib/prefix-sort.js +325 -0
- package/build/lib/review-tools.js +21 -0
- package/build/lib/sorter.js +157 -1
- package/build/lib/state-change.js +7 -0
- package/build/lib/statistics.js +53 -1
- package/build/main.js +1133 -1
- package/io-package.json +70 -48
- package/package.json +9 -6
- package/build/lib/buffered-sort.js +0 -1
- package/build/lib/compatibility.js +0 -1
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
**Current version: 0.3.
|
|
5
|
+
**Current version: 0.3.4**
|
|
6
6
|
|
|
7
|
-
ShoppingRoute sorts Alexa shopping-list entries by market, product group and each store's individual walking route.
|
|
7
|
+
ShoppingRoute sorts Alexa shopping-list entries by market, product group and each store's individual walking route. It assigns visible two-digit keys such as `20> Bananas` and `40> ═════ ALDI ═════`; managed lists must therefore be set to **A–Z** in the Alexa app. ShoppingRoute reuses the local Alexa2 authentication for direct item updates, deletes and batch creates, while Alexa2 list states remain the external change trigger.
|
|
8
8
|
|
|
9
9
|
## User guide / Bedienungsanleitung
|
|
10
10
|
|
|
@@ -16,7 +16,7 @@ ShoppingRoute sorts Alexa shopping-list entries by market, product group and eac
|
|
|
16
16
|
- multiple Alexa lists with per-list priority markets
|
|
17
17
|
- global, per-list and temporary market priorities
|
|
18
18
|
- market aliases and common market-name variants
|
|
19
|
-
- optional automatically managed market headings such as
|
|
19
|
+
- optional automatically managed market headings such as `═════ ALDI ═════`
|
|
20
20
|
- optional cross-market consolidation using a minimum-item threshold; explicit market requests are never moved
|
|
21
21
|
- configurable product groups and store-specific routes
|
|
22
22
|
- product catalogue with aliases, preferred and available markets
|
|
@@ -26,32 +26,43 @@ ShoppingRoute sorts Alexa shopping-list entries by market, product group and eac
|
|
|
26
26
|
- automatic/review/off learning modes
|
|
27
27
|
- category and alias suggestions
|
|
28
28
|
- sorting preview before writes
|
|
29
|
-
-
|
|
29
|
+
- incremental `00>`–`99>` prefix sorting with gap-preserving inserts and suffix-only rebuilds
|
|
30
|
+
- direct Amazon responses plus one final list read as write confirmation
|
|
31
|
+
- API Safe Mode with configurable write-rate limiting
|
|
30
32
|
- local-only shopping statistics
|
|
31
33
|
- configuration backup/restore
|
|
32
34
|
- shareable market-route profiles
|
|
33
|
-
- npm beta version check
|
|
34
35
|
- privacy-safe diagnostic/feedback report
|
|
35
|
-
- Alexa2/alexa-remote2
|
|
36
|
+
- Alexa2/alexa-remote2 direct-session diagnostics
|
|
36
37
|
- Dry Run safety mode
|
|
37
38
|
|
|
38
39
|
See `README_DE.md` for the detailed German documentation.
|
|
39
40
|
|
|
40
41
|
## Changelog
|
|
41
42
|
|
|
42
|
-
### 0.3.
|
|
43
|
+
### 0.3.4 (2026-08-14)
|
|
44
|
+
|
|
45
|
+
- Added Admin 8 compatibility for all custom Admin components and set the minimum Admin version to 8.0.0.
|
|
46
|
+
- Improved logging with an optional sort-summary message and made market headings clearer (`═════ MARKET ═════`).
|
|
47
|
+
- Fixed the review queue’s “Accept all” action and now process foreign Alexa2 states only when their values are acknowledged.
|
|
48
|
+
- Removed obsolete timing/API configuration options and the internal npm version check.
|
|
49
|
+
- Removed code obfuscation and obsolete package-preparation paths.
|
|
50
|
+
- Completed repository-review compatibility cleanup, including English runtime log/state texts and bounded `maxWritesPerMinute` handling.
|
|
43
51
|
|
|
44
|
-
|
|
52
|
+
### 0.3.3 (2026-08-13)
|
|
45
53
|
|
|
46
|
-
-
|
|
54
|
+
- New direct `00>`–`99>` prefix sorting for Alexa lists configured to A–Z.
|
|
55
|
+
- Added very fast incremental insertion into free numeric gaps; only the affected suffix is rebuilt when a gap is exhausted.
|
|
56
|
+
- Direct Amazon responses confirm each operation, followed by one final direct verification of the complete list result.
|
|
57
|
+
- Managed Alexa lists must be set to **A–Z** in the Alexa app.
|
|
47
58
|
|
|
48
|
-
|
|
59
|
+
### 0.3.2 (2026-08-11)
|
|
49
60
|
|
|
50
|
-
- Replaced
|
|
51
|
-
- Added
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
61
|
+
- Replaced the former buffered/marker/`updatedDateTime` sorter with one direct `00>`–`99>` prefix architecture for Alexa A–Z lists.
|
|
62
|
+
- Added midpoint insertion into existing numeric gaps; if a gap is exhausted, only the smallest necessary suffix is deleted serially and recreated with one batch request.
|
|
63
|
+
- Reuses Alexa2 credentials locally without logging secrets or writing Alexa2 item states. Direct Amazon responses confirm each operation and one final direct list read verifies the complete apply.
|
|
64
|
+
- Added a simple exclusive `IDLE`/`COLLECTING`/`APPLYING` lifecycle: one new item waits at most five seconds, while a second new item starts the collected run immediately.
|
|
65
|
+
- Replaced the old marker transaction with a compact persistent direct-apply journal and a safety stop for incomplete or ambiguous remote results.
|
|
55
66
|
|
|
56
67
|
### 0.3.1 (2026-08-10)
|
|
57
68
|
|
|
@@ -59,7 +70,7 @@ See `README_DE.md` for the detailed German documentation.
|
|
|
59
70
|
|
|
60
71
|
### 0.3.0 (2026-08-10)
|
|
61
72
|
|
|
62
|
-
- Added optional
|
|
73
|
+
- Added optional market headings (now formatted as `═════ MARKET ═════`).
|
|
63
74
|
- A heading stays active until the last real item for that market is completed and is then deleted completely instead of remaining among completed items.
|
|
64
75
|
- Added configurable minimum-items-per-market consolidation for flexible articles.
|
|
65
76
|
- Explicit market phrases always remain assigned to the requested market.
|
|
@@ -69,7 +80,7 @@ See `README_DE.md` for the detailed German documentation.
|
|
|
69
80
|
|
|
70
81
|
- First stable release of ShoppingRoute.
|
|
71
82
|
- Completed Admin translations for all supported ioBroker languages and fixed the walking-route market help text.
|
|
72
|
-
- Added protected stable publishing through GitHub Actions
|
|
83
|
+
- Added protected stable publishing through GitHub Actions and npm Trusted Publishing/OIDC.
|
|
73
84
|
- Verified `updateListItem` compatibility with Alexa2 3.28.3 and alexa-remote2 8.1.0 without local modifications to foreign modules.
|
|
74
85
|
|
|
75
86
|
### 0.2.0-beta.12 (2026-08-09)
|
package/README_DE.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
**Aktuelle Version: 0.3.
|
|
5
|
+
**Aktuelle Version: 0.3.4**
|
|
6
6
|
|
|
7
|
-
ShoppingRoute sortiert Alexa-Einkaufslisteneinträge nach Markt, Produktgruppe und dem individuellen Laufweg durch den jeweiligen Markt.
|
|
7
|
+
ShoppingRoute sortiert Alexa-Einkaufslisteneinträge nach Markt, Produktgruppe und dem individuellen Laufweg durch den jeweiligen Markt. Dazu vergibt es sichtbare zweistellige Schlüssel wie `20> Bananen` und `40> ═════ ALDI ═════`; verwaltete Listen müssen deshalb in der Alexa-App auf **A–Z** stehen. ShoppingRoute übernimmt lokal die Alexa2-Authentifizierung für direkte Updates, Deletes und Batch-Creates; Alexa2-Listenstates bleiben die Triggerquelle für externe Änderungen.
|
|
8
8
|
|
|
9
9
|
## Bedienungsanleitung / User guide
|
|
10
10
|
|
|
@@ -16,7 +16,7 @@ ShoppingRoute sortiert Alexa-Einkaufslisteneinträge nach Markt, Produktgruppe u
|
|
|
16
16
|
- mehrere Alexa-Einkaufslisten mit eigenem Prioritätsmarkt
|
|
17
17
|
- globale, listenbezogene und temporäre Marktpriorität
|
|
18
18
|
- Markt-Aliase und automatische Erkennung häufiger Marktvarianten
|
|
19
|
-
- optionale, automatisch verwaltete Marktüberschriften wie
|
|
19
|
+
- optionale, automatisch verwaltete Marktüberschriften wie `═════ ALDI ═════`
|
|
20
20
|
- optionale marktübergreifende Zusammenlegung anhand einer Mindestanzahl von Artikeln pro zusätzlichem Markt; explizite Marktangaben bleiben unverändert
|
|
21
21
|
- frei pflegbare Produktgruppen und marktbezogene Laufwege
|
|
22
22
|
- Laufweg nach Tabellenreihenfolge; Reihenfolgen werden automatisch neu nummeriert
|
|
@@ -28,13 +28,14 @@ ShoppingRoute sortiert Alexa-Einkaufslisteneinträge nach Markt, Produktgruppe u
|
|
|
28
28
|
- intelligente Kategorie-Vorschläge aus Regeln und bereits bekannten Artikeln
|
|
29
29
|
- Alias-Vorschläge für erkannte Schreibvarianten
|
|
30
30
|
- Sortiervorschau vor Alexa-Schreibzugriffen
|
|
31
|
-
-
|
|
31
|
+
- inkrementelle Präfixsortierung `00>`–`99>` mit Lückenerhalt und Suffix-Fallback
|
|
32
|
+
- direkte Amazon-Antworten plus ein abschließender Listenabruf als Bestätigung
|
|
33
|
+
- API-Schonmodus mit konfigurierbarem Schreibzugriffs-Limit
|
|
32
34
|
- lokale Einkaufsstatistik ohne Cloud-Telemetrie
|
|
33
35
|
- Konfigurations-Export/Import
|
|
34
36
|
- exportierbare/importierbare Marktprofile zum Teilen von Laufwegen
|
|
35
|
-
- npm-Beta-Versionsprüfung im Adapter
|
|
36
37
|
- datenschutzfreundlicher Diagnose-/Feedbackbericht
|
|
37
|
-
- Alexa2/alexa-remote2-
|
|
38
|
+
- Alexa2/alexa-remote2-Diagnose der direkten Sitzung
|
|
38
39
|
- Dry-Run für sichere Tests
|
|
39
40
|
|
|
40
41
|
## Prioritätslogik
|
|
@@ -60,35 +61,41 @@ Anschließend kann 0.3.0 flexible Artikel marktübergreifend zusammenlegen, wenn
|
|
|
60
61
|
- `info.sortTransaction` – lokales Wiederherstellungsjournal einer laufenden Sortierung; im Normalzustand `{}`
|
|
61
62
|
- `info.configExport` – komplette Konfigurationssicherung
|
|
62
63
|
- `info.marketProfiles` – teilbare Marktprofile
|
|
63
|
-
- `info.versionInstalled
|
|
64
|
+
- `info.versionInstalled` – installierte Adapterversion
|
|
64
65
|
- `info.feedbackReport` – bereinigter Diagnose-/Feedbackbericht ohne Einkaufsinhalte
|
|
65
66
|
- `control.temporaryPriorityMarket` – temporärer Markt für den aktuellen Einkauf
|
|
66
67
|
- `control.importConfigJson` – Konfiguration importieren
|
|
67
68
|
- `control.marketProfileImport` – Marktprofil importieren
|
|
68
69
|
|
|
69
|
-
##
|
|
70
|
-
|
|
71
|
-
Solange ShoppingRoute noch nicht im offiziellen ioBroker-Repository geführt wird, kann ioBroker Admin bei **„Verfügbare Version“** generisch **„nicht gewartet“** anzeigen. Das ist keine Aussage des laufenden Adapters. ShoppingRoute zeigt deshalb seinen eigenen npm-Versionsstatus über die `info.version*`-Datenpunkte an.
|
|
72
|
-
|
|
73
|
-
## Lizenzierung der Beta-Versionen
|
|
70
|
+
## Lizenz
|
|
74
71
|
|
|
75
|
-
ShoppingRoute wird
|
|
72
|
+
ShoppingRoute wird unter der **MIT-Lizenz** veröffentlicht. Frühere bereits veröffentlichte Versionen bleiben unter der jeweils damals gültigen Lizenz.
|
|
76
73
|
|
|
77
74
|
## Changelog
|
|
78
75
|
|
|
79
|
-
### 0.3.
|
|
76
|
+
### 0.3.4 (2026-08-14)
|
|
77
|
+
|
|
78
|
+
- Admin-8-Kompatibilität für alle benutzerdefinierten Admin-Komponenten ergänzt und die Admin-Mindestversion auf 8.0.0 gesetzt.
|
|
79
|
+
- Logging mit optionaler Sortier-Abschlussmeldung verbessert und Marktüberschriften deutlicher gestaltet (`═════ MARKT ═════`).
|
|
80
|
+
- Prüflisten-Funktion „Alle auf Übernehmen stellen“ repariert; fremde Alexa2-States werden nur noch bei bestätigten Werten verarbeitet.
|
|
81
|
+
- Veraltete Timing-/API-Konfigurationsoptionen und die interne npm-Versionsprüfung entfernt.
|
|
82
|
+
- Code-Obfuscation und überholte Paketvorbereitungswege entfernt.
|
|
83
|
+
- Repository-Review- und Kompatibilitätsbereinigung abgeschlossen, einschließlich englischer Runtime-Log-/State-Texte und begrenzter `maxWritesPerMinute`-Verarbeitung.
|
|
80
84
|
|
|
81
|
-
|
|
85
|
+
### 0.3.3 (2026-08-13)
|
|
82
86
|
|
|
83
|
-
-
|
|
87
|
+
- Neue direkte `00>`–`99>`-Präfixsortierung für Alexa-Listen in A–Z.
|
|
88
|
+
- Sehr schnelle inkrementelle Einfügungen in freie Nummernlücken; nur bei ausgeschöpfter Lücke wird das betroffene Suffix neu aufgebaut.
|
|
89
|
+
- Direkte Amazon-Antworten bestätigen jede Operation, anschließend verifiziert genau ein direkter Kontrollabruf das vollständige Listenergebnis.
|
|
90
|
+
- Verwaltete Alexa-Listen müssen in der Alexa-App auf **A–Z** gestellt sein.
|
|
84
91
|
|
|
85
|
-
|
|
92
|
+
### 0.3.2 (2026-08-11)
|
|
86
93
|
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
94
|
+
- Den bisherigen Puffer-/Marker-/`updatedDateTime`-Sortierer durch genau eine direkte `00>`–`99>`-Präfixarchitektur für Alexa-Listen in A–Z ersetzt.
|
|
95
|
+
- Neue Artikel werden mittig in freie Nummernlücken eingesetzt; reicht eine Lücke nicht, wird nur das kleinste notwendige Suffix seriell gelöscht und mit einem Batch neu erzeugt.
|
|
96
|
+
- Die Alexa2-Anmeldedaten werden lokal wiederverwendet, ohne Secrets zu loggen oder Alexa2-Itemstates zu beschreiben. Direkte Amazon-Antworten bestätigen jede Operation; genau ein direkter Listenabruf prüft anschließend den Gesamtlauf.
|
|
97
|
+
- Einfachen exklusiven Lebenszyklus `IDLE`/`COLLECTING`/`APPLYING` ergänzt: Ein neuer Artikel wartet höchstens fünf Sekunden, der zweite startet den gemeinsamen Lauf sofort.
|
|
98
|
+
- Die alte Marker-Transaktion wurde durch ein kompaktes persistentes Direkt-Apply-Journal und Sicherheitsstopp bei unvollständigem oder uneindeutigem Remote-Ergebnis ersetzt.
|
|
92
99
|
|
|
93
100
|
### 0.3.1 (2026-08-10)
|
|
94
101
|
|
|
@@ -96,11 +103,11 @@ ShoppingRoute wird ab dieser Version unter der **MIT-Lizenz** veröffentlicht. F
|
|
|
96
103
|
|
|
97
104
|
### 0.3.0 (2026-08-10)
|
|
98
105
|
|
|
99
|
-
- Optionale Marktüberschriften
|
|
106
|
+
- Optionale Marktüberschriften ergänzt (jetziges Format: `═════ MARKT ═════`).
|
|
100
107
|
- Überschriften bleiben aktiv, solange mindestens ein echter Artikel des Marktes offen ist, und werden danach vollständig gelöscht statt unter erledigten Artikeln stehen zu bleiben.
|
|
101
108
|
- Marktübergreifende Zusammenlegung anhand einer konfigurierbaren Mindestanzahl ergänzt.
|
|
102
109
|
- Explizite Marktangaben bleiben von der Zusammenlegung ausnahmslos unberührt.
|
|
103
|
-
- Header-Verwaltung
|
|
110
|
+
- Die damalige Header-Verwaltung nutzte Alexa2-Datenpunkte (`#New`, `#delete`). Ab 0.3.2 werden Header als normale präfixierte Items über die direkte, lokal authentifizierte Sitzung verwaltet.
|
|
104
111
|
|
|
105
112
|
### 0.2.0 (2026-08-09)
|
|
106
113
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var index_cjs$3={},index_cjs$2={},polyfills_cjs$1={};function _extends$2(){return _extends$2=Object.assign||function(i){for(var d=1;d<arguments.length;d++){var u=arguments[d];for(var p in u)Object.prototype.hasOwnProperty.call(u,p)&&(i[p]=u[p])}return i},_extends$2.apply(this,arguments)}function _object_without_properties_loose(o,i){if(o==null)return{};var d={},u=Object.keys(o),p,S;for(S=0;S<u.length;S++)p=u[S],!(i.indexOf(p)>=0)&&(d[p]=o[p]);return d}polyfills_cjs$1._extends=_extends$2;polyfills_cjs$1._object_without_properties_loose=_object_without_properties_loose;var index_cjs$1={},__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(o,i)=>{for(var d in i)__defProp(o,d,{get:i[d],enumerable:!0})},__copyProps=(o,i,d,u)=>{if(i&&typeof i=="object"||typeof i=="function")for(let p of __getOwnPropNames(i))!__hasOwnProp.call(o,p)&&p!==d&&__defProp(o,p,{get:()=>i[p],enumerable:!(u=__getOwnPropDesc(i,p))||u.enumerable});return o},__toCommonJS=o=>__copyProps(__defProp({},"__esModule",{value:!0}),o),browser_exports={};__export(browser_exports,{createLogger:()=>createLogger2,logger:()=>logger$1});var browser=__toCommonJS(browser_exports),supportsSubstitutions=void 0,supportColor=()=>{if(typeof supportsSubstitutions<"u")return supportsSubstitutions;const o=console.log;try{const i="color test",d="color: red;";supportsSubstitutions=!1,console.log=(...u)=>{u[0]===`%c${i}`&&u[1]===d&&(supportsSubstitutions=!0)},console.log(`%c${i}`,d)}catch{supportsSubstitutions=!1}finally{console.log=o}return supportsSubstitutions},ansiToCss={bold:"font-weight: bold;",red:"color: red;",green:"color: green;",orange:"color: orange;",dodgerblue:"color: dodgerblue;",magenta:"color: magenta;",gray:"color: gray;"},formatter=o=>supportColor()?i=>{if(Array.isArray(i)){const[d,u]=i;return[`%c${d.replace("%c","")}`,u?`${ansiToCss[o]}${u}`:`${ansiToCss[o]||""}`]}return[`%c${String(i).replace("%c","")}`,ansiToCss[o]||""]}:i=>[String(i)],bold=formatter("bold"),red=formatter("red"),green=formatter("green"),orange=formatter("orange"),dodgerblue=formatter("dodgerblue"),magenta=formatter("magenta");formatter("gray");function getLabel(o,i,d){let u=[""];if("label"in i)if(u=[(o!=="log"?d[o]:void 0)||i.label||""],i.color){const S=i.color(u[0]);Array.isArray(S)&&S.length===2?u=bold([S[0],S[1]]):u=bold(S[0]||"")}else u=bold(u[0]);return u=u.filter(Boolean),u}function finalLog(o,i,d,u){o.length?Array.isArray(u)?console.log(...o,...u,...d):console.log(...o,i,...d):Array.isArray(u)?console.log(...u):console.log(i,...d)}var LOG_LEVEL={error:0,warn:1,info:2,log:3,verbose:4},errorStackRegExp=/at\s.*:\d+:\d+[\s\)]*$/,anonymousErrorStackRegExp=/at\s.*\(<anonymous>\)$/,isErrorStackMessage=o=>errorStackRegExp.test(o)||anonymousErrorStackRegExp.test(o);function validateOptions(o){const i={...o};if(o.labels&&typeof o.labels!="object")throw new Error("Labels must be an object");if(o.level&&typeof o.level!="string")throw new Error("Level must be a string");return i}var createLogger$1=(o={},{getLabel:i,handleError:d,finalLog:u,greet:p,LOG_TYPES:S})=>{const b=validateOptions(o);let m=b.level||"log",R=b.labels||{},T=(L,O,...G)=>{if(LOG_LEVEL[S[L].level]>LOG_LEVEL[m])return;if(O==null)return console.log();let Y=S[L],V="";const le=i(L,Y,R);if(O instanceof Error)if(O.stack){let[Z,...B]=O.stack.split(`
|
|
2
|
+
`);Z.startsWith("Error: ")&&(Z=Z.slice(7)),V=`${Z}
|
|
3
|
+
${d(B.join(`
|
|
4
|
+
`))}`}else V=O.message;else Y.level==="error"&&typeof O=="string"?V=O.split(`
|
|
5
|
+
`).map(B=>isErrorStackMessage(B)?d(B):B).join(`
|
|
6
|
+
`):V=`${O}`;u(le,V,G,O)},w={greet:L=>T("log",p(L))};return Object.keys(S).forEach(L=>{w[L]=(...O)=>T(L,...O)}),Object.defineProperty(w,"level",{get:()=>m,set(L){m=L}}),Object.defineProperty(w,"labels",{get:()=>R,set(L){R=L}}),w.override=L=>{Object.assign(w,L)},w},startColor=[189,255,243],endColor=[74,194,154],isWord=o=>!/[\s\n]/.test(o);function gradient(o){if(!supportColor())return[o];const i=[...o],d=i.filter(isWord),u=d.length-1;if(u===0)return console.log(`%c${o}`,`color: rgb(${startColor.join(",")}); font-weight: bold;`),[o];let p="",S=[];return i.forEach(b=>{if(isWord(b)){const m=d.indexOf(b)/u,R=Math.round(startColor[0]+(endColor[0]-startColor[0])*m),T=Math.round(startColor[1]+(endColor[1]-startColor[1])*m),w=Math.round(startColor[2]+(endColor[2]-startColor[2])*m);p+=`%c${b}`,S.push(`color: rgb(${R},${T},${w}); font-weight: bold;`)}else p+=b}),[p,...S]}var LOG_TYPES={error:{label:"error",level:"error",color:red},warn:{label:"warn",level:"warn",color:orange},info:{label:"info",level:"info",color:dodgerblue},start:{label:"start",level:"info",color:dodgerblue},ready:{label:"ready",level:"info",color:green},success:{label:"success",level:"info",color:green},log:{level:"log"},debug:{label:"debug",level:"verbose",color:magenta}};function createLogger2(o={}){return createLogger$1(o,{handleError:i=>i,getLabel,finalLog,LOG_TYPES,greet:i=>gradient(i)})}var logger$1=createLogger2(),polyfills_cjs={};function _extends$1(){return _extends$1=Object.assign||function(i){for(var d=1;d<arguments.length;d++){var u=arguments[d];for(var p in u)Object.prototype.hasOwnProperty.call(u,p)&&(i[p]=u[p])}return i},_extends$1.apply(this,arguments)}polyfills_cjs._extends=_extends$1;var define_process_env_default={},isomorphicRslog=browser,polyfills=polyfills_cjs;const FederationModuleManifest="federation-manifest.json",MANIFEST_EXT=".json",BROWSER_LOG_KEY="FEDERATION_DEBUG",BROWSER_LOG_VALUE="1",NameTransformSymbol={AT:"@",HYPHEN:"-",SLASH:"/"},NameTransformMap={[NameTransformSymbol.AT]:"scope_",[NameTransformSymbol.HYPHEN]:"_",[NameTransformSymbol.SLASH]:"__"},EncodedNameTransformMap={[NameTransformMap[NameTransformSymbol.AT]]:NameTransformSymbol.AT,[NameTransformMap[NameTransformSymbol.HYPHEN]]:NameTransformSymbol.HYPHEN,[NameTransformMap[NameTransformSymbol.SLASH]]:NameTransformSymbol.SLASH},SEPARATOR=":",ManifestFileName="mf-manifest.json",StatsFileName="mf-stats.json",MFModuleType={NPM:"npm",APP:"app"},MODULE_DEVTOOL_IDENTIFIER="__MF_DEVTOOLS_MODULE_INFO__",ENCODE_NAME_PREFIX="ENCODE_NAME_PREFIX",TEMP_DIR=".federation",MFPrefetchCommon={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};var ContainerPlugin=Object.freeze({__proto__:null}),ContainerReferencePlugin=Object.freeze({__proto__:null}),ModuleFederationPlugin=Object.freeze({__proto__:null}),SharePlugin=Object.freeze({__proto__:null});function isBrowserEnv(){return typeof window<"u"}function isBrowserDebug(){try{if(isBrowserEnv()&&window.localStorage)return localStorage.getItem(BROWSER_LOG_KEY)===BROWSER_LOG_VALUE}catch{return!1}return!1}function isDebugMode(){return typeof process<"u"&&define_process_env_default&&define_process_env_default.FEDERATION_DEBUG?!!define_process_env_default.FEDERATION_DEBUG:typeof FEDERATION_DEBUG<"u"&&FEDERATION_DEBUG?!0:isBrowserDebug()}const getProcessEnv=function(){return typeof process<"u"&&define_process_env_default?define_process_env_default:{}},PREFIX="[ Module Federation ]";function setDebug(o){isDebugMode()&&(o.level="verbose")}function setPrefix(o,i){o.labels={warn:`${i} Warn`,error:`${i} Error`,success:`${i} Success`,info:`${i} Info`,ready:`${i} Ready`,debug:`${i} Debug`}}function createLogger(o){const i=isomorphicRslog.createLogger({labels:{warn:`${PREFIX} Warn`,error:`${PREFIX} Error`,success:`${PREFIX} Success`,info:`${PREFIX} Info`,ready:`${PREFIX} Ready`,debug:`${PREFIX} Debug`}});return setDebug(i),setPrefix(i,o),i}const logger=createLogger(PREFIX),LOG_CATEGORY="[ Federation Runtime ]",parseEntry=(o,i,d=SEPARATOR)=>{const u=o.split(d),p=getProcessEnv().NODE_ENV==="development"&&i,S="*",b=m=>m.startsWith("http")||m.includes(MANIFEST_EXT);if(u.length>=2){let[m,...R]=u;o.startsWith(d)&&(R=[p||u.slice(-1)[0]],m=u.slice(0,-1).join(d));let T=p||R.join(d);return b(T)?{name:m,entry:T}:{name:m,version:T||S}}else if(u.length===1){const[m]=u;return p&&b(p)?{name:m,entry:p}:{name:m,version:p||S}}else throw`Invalid entry value: ${o}`},composeKeyWithSeparator=function(...o){return o.length?o.reduce((i,d)=>d?i?`${i}${SEPARATOR}${d}`:d:i,""):""},encodeName=function(o,i="",d=!1){try{const u=d?".js":"";return`${i}${o.replace(new RegExp(`${NameTransformSymbol.AT}`,"g"),NameTransformMap[NameTransformSymbol.AT]).replace(new RegExp(`${NameTransformSymbol.HYPHEN}`,"g"),NameTransformMap[NameTransformSymbol.HYPHEN]).replace(new RegExp(`${NameTransformSymbol.SLASH}`,"g"),NameTransformMap[NameTransformSymbol.SLASH])}${u}`}catch(u){throw u}},decodeName=function(o,i,d){try{let u=o;if(i){if(!u.startsWith(i))return u;u=u.replace(new RegExp(i,"g"),"")}return u=u.replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]),d&&(u=u.replace(".js","")),u}catch(u){throw u}},generateExposeFilename=(o,i)=>{if(!o)return"";let d=o;return d==="."&&(d="default_export"),d.startsWith("./")&&(d=d.replace("./","")),encodeName(d,"__federation_expose_",i)},generateShareFilename=(o,i)=>o?encodeName(o,"__federation_shared_",i):"",getResourceUrl=(o,i)=>{if("getPublicPath"in o){let d;return o.getPublicPath.startsWith("function")?d=new Function("return "+o.getPublicPath)()():d=new Function(o.getPublicPath)(),`${d}${i}`}else return"publicPath"in o?`${o.publicPath}${i}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",o,i),"")},assert=(o,i)=>{o||error(i)},error=o=>{throw new Error(`${LOG_CATEGORY}: ${o}`)},warn=o=>{console.warn(`${LOG_CATEGORY}: ${o}`)};function safeToString(o){try{return JSON.stringify(o,null,2)}catch{return""}}const VERSION_PATTERN_REGEXP=/^([\d^=v<>~]|[*xX]$)/;function isRequiredVersion(o){return VERSION_PATTERN_REGEXP.test(o)}const simpleJoinRemoteEntry=(o,i)=>{if(!o)return i;const u=(p=>{if(p===".")return"";if(p.startsWith("./"))return p.replace("./","");if(p.startsWith("/")){const S=p.slice(1);return S.endsWith("/")?S.slice(0,-1):S}return p})(o);return u?u.endsWith("/")?`${u}${i}`:`${u}/${i}`:i};function inferAutoPublicPath(o){return o.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function generateSnapshotFromManifest(o,i={}){var d,u;const{remotes:p={},overrides:S={},version:b}=i;let m;const R=()=>"publicPath"in o.metaData?o.metaData.publicPath==="auto"&&b?inferAutoPublicPath(b):o.metaData.publicPath:o.metaData.getPublicPath,T=Object.keys(S);let w={};if(!Object.keys(p).length){var L;w=((L=o.remotes)==null?void 0:L.reduce((v,x)=>{let C;const te=x.federationContainerName;return T.includes(te)?C=S[te]:"version"in x?C=x.version:C=x.entry,v[te]={matchedVersion:C},v},{}))||{}}Object.keys(p).forEach(v=>w[v]={matchedVersion:T.includes(v)?S[v]:p[v]});const{remoteEntry:{path:O,name:G,type:Y},types:V,buildInfo:{buildVersion:le},globalName:Z,ssrRemoteEntry:B}=o.metaData,{exposes:ce}=o;let ee={version:b||"",buildVersion:le,globalName:Z,remoteEntry:simpleJoinRemoteEntry(O,G),remoteEntryType:Y,remoteTypes:simpleJoinRemoteEntry(V.path,V.name),remoteTypesZip:V.zip||"",remoteTypesAPI:V.api||"",remotesInfo:w,shared:o==null?void 0:o.shared.map(v=>({assets:v.assets,sharedName:v.name,version:v.version})),modules:ce==null?void 0:ce.map(v=>({moduleName:v.name,modulePath:v.path,assets:v.assets}))};if((d=o.metaData)!=null&&d.prefetchInterface){const v=o.metaData.prefetchInterface;ee=polyfills._extends({},ee,{prefetchInterface:v})}if((u=o.metaData)!=null&&u.prefetchEntry){const{path:v,name:x,type:C}=o.metaData.prefetchEntry;ee=polyfills._extends({},ee,{prefetchEntry:simpleJoinRemoteEntry(v,x),prefetchEntryType:C})}if("publicPath"in o.metaData?m=polyfills._extends({},ee,{publicPath:R()}):m=polyfills._extends({},ee,{getPublicPath:R()}),B){const v=simpleJoinRemoteEntry(B.path,B.name);m.ssrRemoteEntry=v,m.ssrRemoteEntryType=B.type||"commonjs-module"}return m}function isManifestProvider(o){return!!("remoteEntry"in o&&o.remoteEntry.includes(MANIFEST_EXT))}async function safeWrapper(o,i){try{return await o()}catch(d){!i&&warn(d);return}}function isStaticResourcesEqual(o,i){const d=/^(https?:)?\/\//i,u=o.replace(d,"").replace(/\/$/,""),p=i.replace(d,"").replace(/\/$/,"");return u===p}function createScript(o){let i=null,d=!0,u=2e4,p;const S=document.getElementsByTagName("script");for(let m=0;m<S.length;m++){const R=S[m],T=R.getAttribute("src");if(T&&isStaticResourcesEqual(T,o.url)){i=R,d=!1;break}}if(!i){const m=o.attrs;i=document.createElement("script"),i.type=(m==null?void 0:m.type)==="module"?"module":"text/javascript";let R;o.createScriptHook&&(R=o.createScriptHook(o.url,o.attrs),R instanceof HTMLScriptElement?i=R:typeof R=="object"&&("script"in R&&R.script&&(i=R.script),"timeout"in R&&R.timeout&&(u=R.timeout))),i.src||(i.src=o.url),m&&!R&&Object.keys(m).forEach(T=>{i&&(T==="async"||T==="defer"?i[T]=m[T]:i.getAttribute(T)||i.setAttribute(T,m[T]))})}const b=async(m,R)=>{clearTimeout(p);const T=()=>{(R==null?void 0:R.type)==="error"?o!=null&&o.onErrorCallback&&(o==null||o.onErrorCallback(R)):o!=null&&o.cb&&(o==null||o.cb())};if(i&&(i.onerror=null,i.onload=null,safeWrapper(()=>{const{needDeleteScript:w=!0}=o;w&&i!=null&&i.parentNode&&i.parentNode.removeChild(i)}),m&&typeof m=="function")){const w=m(R);if(w instanceof Promise){const L=await w;return T(),L}return T(),w}T()};return i.onerror=b.bind(null,i.onerror),i.onload=b.bind(null,i.onload),p=setTimeout(()=>{b(null,new Error(`Remote script "${o.url}" time-outed.`))},u),{script:i,needAttach:d}}function createLink(o){let i=null,d=!0;const u=document.getElementsByTagName("link");for(let S=0;S<u.length;S++){const b=u[S],m=b.getAttribute("href"),R=b.getAttribute("ref");if(m&&isStaticResourcesEqual(m,o.url)&&R===o.attrs.ref){i=b,d=!1;break}}if(!i){i=document.createElement("link"),i.setAttribute("href",o.url);let S;const b=o.attrs;o.createLinkHook&&(S=o.createLinkHook(o.url,b),S instanceof HTMLLinkElement&&(i=S)),b&&!S&&Object.keys(b).forEach(m=>{i&&!i.getAttribute(m)&&i.setAttribute(m,b[m])})}const p=(S,b)=>{const m=()=>{(b==null?void 0:b.type)==="error"?o!=null&&o.onErrorCallback&&(o==null||o.onErrorCallback(b)):o!=null&&o.cb&&(o==null||o.cb())};if(i&&(i.onerror=null,i.onload=null,safeWrapper(()=>{const{needDeleteLink:R=!0}=o;R&&i!=null&&i.parentNode&&i.parentNode.removeChild(i)}),S)){const R=S(b);return m(),R}m()};return i.onerror=p.bind(null,i.onerror),i.onload=p.bind(null,i.onload),{link:i,needAttach:d}}function loadScript(o,i){const{attrs:d={},createScriptHook:u}=i;return new Promise((p,S)=>{const{script:b,needAttach:m}=createScript({url:o,cb:p,onErrorCallback:S,attrs:polyfills._extends({fetchpriority:"high"},d),createScriptHook:u,needDeleteScript:!0});m&&document.head.appendChild(b)})}function importNodeModule(o){if(!o)throw new Error("import specifier is required");return new Function("name","return import(name)")(o).then(d=>d).catch(d=>{throw console.error(`Error importing module ${o}:`,d),d})}const loadNodeFetch=async()=>{const o=await importNodeModule("node-fetch");return o.default||o},lazyLoaderHookFetch=async(o,i,d)=>{const p=await((S,b)=>d.lifecycle.fetch.emit(S,b))(o,i||{});return!p||!(p instanceof Response)?(typeof fetch>"u"?await loadNodeFetch():fetch)(o,i||{}):p};function createScriptNode(url,cb,attrs,loaderHook){if(loaderHook!=null&&loaderHook.createScriptHook){const o=loaderHook.createScriptHook(url);o&&typeof o=="object"&&"url"in o&&(url=o.url)}let urlObj;try{urlObj=new URL(url)}catch(o){console.error("Error constructing URL:",o),cb(new Error(`Invalid URL: ${o}`));return}const getFetch=async()=>loaderHook!=null&&loaderHook.fetch?(o,i)=>lazyLoaderHookFetch(o,i,loaderHook):typeof fetch>"u"?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{var _vm_constants;const res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname);var _vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER;const script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
|
|
7
|
+
})`,{filename,importModuleDynamically:(_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER=(_vm_constants=vm.constants)==null?void 0:_vm_constants.USE_MAIN_CONTEXT_DEFAULT_LOADER)!=null?_vm_constants_USE_MAIN_CONTEXT_DEFAULT_LOADER:importNodeModule});script.runInThisContext()(scriptContext.exports,scriptContext.module,eval("require"),urlDirname,filename);const exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName){const o=exportedInterface[attrs.globalName]||exportedInterface;cb(void 0,o);return}cb(void 0,exportedInterface)}catch(o){cb(o instanceof Error?o:new Error(`Script execution error: ${o}`))}};getFetch().then(async o=>{if((attrs==null?void 0:attrs.type)==="esm"||(attrs==null?void 0:attrs.type)==="module")return loadModule(urlObj.href,{fetch:o,vm:await importNodeModule("vm")}).then(async i=>{await i.evaluate(),cb(void 0,i.namespace)}).catch(i=>{cb(i instanceof Error?i:new Error(`Script execution error: ${i}`))});handleScriptFetch(o,urlObj)}).catch(o=>{cb(o)})}function loadScriptNode(o,i){return new Promise((d,u)=>{createScriptNode(o,(p,S)=>{if(p)u(p);else{var b,m;const R=(i==null||(b=i.attrs)==null?void 0:b.globalName)||`__FEDERATION_${i==null||(m=i.attrs)==null?void 0:m.name}:custom__`,T=globalThis[R]=S;d(T)}},i.attrs,i.loaderHook)})}async function loadModule(o,i){const{fetch:d,vm:u}=i,S=await(await d(o)).text(),b=new u.SourceTextModule(S,{importModuleDynamically:async(m,R)=>{const T=new URL(m,o).href;return loadModule(T,i)}});return await b.link(async m=>{const R=new URL(m,o).href;return await loadModule(R,i)}),b}function normalizeOptions(o,i,d){return function(u){if(u===!1)return!1;if(typeof u>"u")return o?i:!1;if(u===!0)return i;if(u&&typeof u=="object")return polyfills._extends({},i,u);throw new Error(`Unexpected type for \`${d}\`, expect boolean/undefined/object, got: ${typeof u}`)}}index_cjs$1.BROWSER_LOG_KEY=BROWSER_LOG_KEY;index_cjs$1.BROWSER_LOG_VALUE=BROWSER_LOG_VALUE;index_cjs$1.ENCODE_NAME_PREFIX=ENCODE_NAME_PREFIX;index_cjs$1.EncodedNameTransformMap=EncodedNameTransformMap;index_cjs$1.FederationModuleManifest=FederationModuleManifest;index_cjs$1.MANIFEST_EXT=MANIFEST_EXT;index_cjs$1.MFModuleType=MFModuleType;index_cjs$1.MFPrefetchCommon=MFPrefetchCommon;index_cjs$1.MODULE_DEVTOOL_IDENTIFIER=MODULE_DEVTOOL_IDENTIFIER;index_cjs$1.ManifestFileName=ManifestFileName;index_cjs$1.NameTransformMap=NameTransformMap;index_cjs$1.NameTransformSymbol=NameTransformSymbol;index_cjs$1.SEPARATOR=SEPARATOR;index_cjs$1.StatsFileName=StatsFileName;index_cjs$1.TEMP_DIR=TEMP_DIR;index_cjs$1.assert=assert;index_cjs$1.composeKeyWithSeparator=composeKeyWithSeparator;index_cjs$1.containerPlugin=ContainerPlugin;index_cjs$1.containerReferencePlugin=ContainerReferencePlugin;index_cjs$1.createLink=createLink;index_cjs$1.createLogger=createLogger;index_cjs$1.createScript=createScript;index_cjs$1.createScriptNode=createScriptNode;index_cjs$1.decodeName=decodeName;index_cjs$1.encodeName=encodeName;index_cjs$1.error=error;index_cjs$1.generateExposeFilename=generateExposeFilename;index_cjs$1.generateShareFilename=generateShareFilename;index_cjs$1.generateSnapshotFromManifest=generateSnapshotFromManifest;index_cjs$1.getProcessEnv=getProcessEnv;index_cjs$1.getResourceUrl=getResourceUrl;index_cjs$1.inferAutoPublicPath=inferAutoPublicPath;index_cjs$1.isBrowserEnv=isBrowserEnv;index_cjs$1.isDebugMode=isDebugMode;index_cjs$1.isManifestProvider=isManifestProvider;index_cjs$1.isRequiredVersion=isRequiredVersion;index_cjs$1.isStaticResourcesEqual=isStaticResourcesEqual;index_cjs$1.loadScript=loadScript;index_cjs$1.loadScriptNode=loadScriptNode;index_cjs$1.logger=logger;index_cjs$1.moduleFederationPlugin=ModuleFederationPlugin;index_cjs$1.normalizeOptions=normalizeOptions;index_cjs$1.parseEntry=parseEntry;index_cjs$1.safeToString=safeToString;index_cjs$1.safeWrapper=safeWrapper;index_cjs$1.sharePlugin=SharePlugin;index_cjs$1.simpleJoinRemoteEntry=simpleJoinRemoteEntry;index_cjs$1.warn=warn;var index_cjs={};const RUNTIME_001="RUNTIME-001",RUNTIME_002="RUNTIME-002",RUNTIME_003="RUNTIME-003",RUNTIME_004="RUNTIME-004",RUNTIME_005="RUNTIME-005",RUNTIME_006="RUNTIME-006",RUNTIME_007="RUNTIME-007",RUNTIME_008="RUNTIME-008",TYPE_001="TYPE-001",BUILD_001="BUILD-001",getDocsUrl=o=>`https://module-federation.io/guide/troubleshooting/${o.split("-")[0].toLowerCase()}/${o}`,getShortErrorMsg=(o,i,d,u)=>{const p=[`${[i[o]]} #${o}`];return d&&p.push(`args: ${JSON.stringify(d)}`),p.push(getDocsUrl(o)),u&&p.push(`Original Error Message:
|
|
8
|
+
${u}`),p.join(`
|
|
9
|
+
`)};function _extends(){return _extends=Object.assign||function(i){for(var d=1;d<arguments.length;d++){var u=arguments[d];for(var p in u)Object.prototype.hasOwnProperty.call(u,p)&&(i[p]=u[p])}return i},_extends.apply(this,arguments)}const runtimeDescMap={[RUNTIME_001]:"Failed to get remoteEntry exports.",[RUNTIME_002]:'The remote entry interface does not contain "init"',[RUNTIME_003]:"Failed to get manifest.",[RUNTIME_004]:"Failed to locate remote.",[RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[RUNTIME_006]:"Invalid loadShareSync function call from runtime",[RUNTIME_007]:"Failed to get remote snapshot.",[RUNTIME_008]:"Failed to load script resources."},typeDescMap={[TYPE_001]:"Failed to generate type declaration."},buildDescMap={[BUILD_001]:"Failed to find expose module."},errorDescMap=_extends({},runtimeDescMap,typeDescMap,buildDescMap);index_cjs.BUILD_001=BUILD_001;index_cjs.RUNTIME_001=RUNTIME_001;index_cjs.RUNTIME_002=RUNTIME_002;index_cjs.RUNTIME_003=RUNTIME_003;index_cjs.RUNTIME_004=RUNTIME_004;index_cjs.RUNTIME_005=RUNTIME_005;index_cjs.RUNTIME_006=RUNTIME_006;index_cjs.RUNTIME_007=RUNTIME_007;index_cjs.RUNTIME_008=RUNTIME_008;index_cjs.TYPE_001=TYPE_001;index_cjs.buildDescMap=buildDescMap;index_cjs.errorDescMap=errorDescMap;index_cjs.getShortErrorMsg=getShortErrorMsg;index_cjs.runtimeDescMap=runtimeDescMap;index_cjs.typeDescMap=typeDescMap;(function(o){var i=polyfills_cjs$1,d=index_cjs$1,u=index_cjs;const p="[ Federation Runtime ]",S=d.createLogger(p);function b(t,e){t||m(e)}function m(t){throw t instanceof Error?(t.message=`${p}: ${t.message}`,t):new Error(`${p}: ${t}`)}function R(t){t instanceof Error&&(t.message=`${p}: ${t.message}`),S.warn(t)}function T(t,e){return t.findIndex(r=>r===e)===-1&&t.push(e),t}function w(t){return"version"in t&&t.version?`${t.name}:${t.version}`:"entry"in t&&t.entry?`${t.name}:${t.entry}`:`${t.name}`}function L(t){return typeof t.entry<"u"}function O(t){return!t.entry.includes(".json")&&t.entry.includes(".js")}async function G(t,e){try{return await t()}catch(r){!e&&R(r);return}}function Y(t){return t&&typeof t=="object"}const V=Object.prototype.toString;function le(t){return V.call(t)==="[object Object]"}function Z(t,e){const r=/^(https?:)?\/\//i,n=t.replace(r,"").replace(/\/$/,""),s=e.replace(r,"").replace(/\/$/,"");return n===s}function B(t){return Array.isArray(t)?t:[t]}function ce(t){const e={url:"",type:"global",globalName:""};return d.isBrowserEnv()?"remoteEntry"in t?{url:t.remoteEntry,type:t.remoteEntryType,globalName:t.globalName}:e:"ssrRemoteEntry"in t?{url:t.ssrRemoteEntry||e.url,type:t.ssrRemoteEntryType||e.type,globalName:t.globalName}:e}const ee=(t,e)=>{let r;return t.endsWith("/")?r=t.slice(0,-1):r=t,e.startsWith(".")&&(e=e.slice(1)),r=r+e,r},v=typeof globalThis=="object"?globalThis:window,x=(()=>{try{return document.defaultView}catch{return v}})(),C=x;function te(t,e,r){Object.defineProperty(t,e,{value:r,configurable:!1,writable:!0})}function ye(t,e){return Object.hasOwnProperty.call(t,e)}ye(v,"__GLOBAL_LOADING_REMOTE_ENTRY__")||te(v,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});const re=v.__GLOBAL_LOADING_REMOTE_ENTRY__;function xe(t){var e,r,n,s,c,a;ye(t,"__VMOK__")&&!ye(t,"__FEDERATION__")&&te(t,"__FEDERATION__",t.__VMOK__),ye(t,"__FEDERATION__")||(te(t,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),te(t,"__VMOK__",t.__FEDERATION__));var l;(l=(e=t.__FEDERATION__).__GLOBAL_PLUGIN__)!=null||(e.__GLOBAL_PLUGIN__=[]);var h;(h=(r=t.__FEDERATION__).__INSTANCES__)!=null||(r.__INSTANCES__=[]);var _;(_=(n=t.__FEDERATION__).moduleInfo)!=null||(n.moduleInfo={});var g;(g=(s=t.__FEDERATION__).__SHARE__)!=null||(s.__SHARE__={});var y;(y=(c=t.__FEDERATION__).__MANIFEST_LOADING__)!=null||(c.__MANIFEST_LOADING__={});var E;(E=(a=t.__FEDERATION__).__PRELOADED_MAP__)!=null||(a.__PRELOADED_MAP__=new Map)}xe(v),xe(x);function je(){v.__FEDERATION__.__GLOBAL_PLUGIN__=[],v.__FEDERATION__.__INSTANCES__=[],v.__FEDERATION__.moduleInfo={},v.__FEDERATION__.__SHARE__={},v.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(re).forEach(t=>{delete re[t]})}function ke(t){v.__FEDERATION__.__INSTANCES__.push(t)}function Ce(){return v.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function He(t,e=d.isDebugMode()){e&&(v.__FEDERATION__.__DEBUG_CONSTRUCTOR__=t,v.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="0.6.20")}function ne(t,e){if(typeof e=="string"){if(t[e])return{value:t[e],key:e};{const n=Object.keys(t);for(const s of n){const[c,a]=s.split(":"),l=`${c}:${e}`,h=t[l];if(h)return{value:h,key:l}}return{value:void 0,key:e}}}else throw new Error("key must be string")}const ge=()=>x.__FEDERATION__.moduleInfo,Ue=(t,e)=>{const r=w(t),n=ne(e,r).value;if(n&&!n.version&&"version"in t&&t.version&&(n.version=t.version),n)return n;if("version"in t&&t.version){const{version:s}=t,c=i._object_without_properties_loose(t,["version"]),a=w(c),l=ne(x.__FEDERATION__.moduleInfo,a).value;if((l==null?void 0:l.version)===s)return l}},ue=t=>Ue(t,x.__FEDERATION__.moduleInfo),$e=(t,e)=>{const r=w(t);return x.__FEDERATION__.moduleInfo[r]=e,x.__FEDERATION__.moduleInfo},Ne=t=>(x.__FEDERATION__.moduleInfo=i._extends({},x.__FEDERATION__.moduleInfo,t),()=>{const e=Object.keys(t);for(const r of e)delete x.__FEDERATION__.moduleInfo[r]}),fe=(t,e)=>{const r=e||`__FEDERATION_${t}:custom__`,n=v[r];return{remoteEntryKey:r,entryExports:n}},Ge=t=>{const{__GLOBAL_PLUGIN__:e}=x.__FEDERATION__;t.forEach(r=>{e.findIndex(n=>n.name===r.name)===-1?e.push(r):R(`The plugin ${r.name} has been registered.`)})},Be=()=>x.__FEDERATION__.__GLOBAL_PLUGIN__,Ve=t=>v.__FEDERATION__.__PRELOADED_MAP__.get(t),We=t=>v.__FEDERATION__.__PRELOADED_MAP__.set(t,!0),de="default",Xe="global",Ke="[0-9A-Za-z-]+",Ie=`(?:\\+(${Ke}(?:\\.${Ke})*))`,he="0|[1-9]\\d*",be="[0-9]+",qe="\\d*[a-zA-Z-][a-zA-Z0-9-]*",Ye=`(?:${be}|${qe})`,dt=`(?:-?(${Ye}(?:\\.${Ye})*))`,ze=`(?:${he}|${qe})`,Je=`(?:-(${ze}(?:\\.${ze})*))`,Te=`${he}|x|X|\\*`,ie=`[v=\\s]*(${Te})(?:\\.(${Te})(?:\\.(${Te})(?:${Je})?${Ie}?)?)?`,ht=`^\\s*(${ie})\\s+-\\s+(${ie})\\s*$`,_t=`[v=\\s]*${`(${be})\\.(${be})\\.(${be})`}${dt}?${Ie}?`,Oe="((?:<|>)?=?)",pt=`(\\s*)${Oe}\\s*(${_t}|${ie})`,Ze="(?:~>?)",mt=`(\\s*)${Ze}\\s+`,Qe="(?:\\^)",Et=`(\\s*)${Qe}\\s+`,yt="(<|>)?=?\\s*\\*",gt=`^${Qe}${ie}$`,bt=`v?${`(${he})\\.(${he})\\.(${he})`}${Je}?${Ie}?`,St=`^${Ze}${ie}$`,Rt=`^${Oe}\\s*${ie}$`,vt=`^${Oe}\\s*(${bt})$|^$`,$t="^\\s*>=\\s*0.0.0\\s*$";function z(t){return new RegExp(t)}function j(t){return!t||t.toLowerCase()==="x"||t==="*"}function et(...t){return e=>t.reduce((r,n)=>n(r),e)}function tt(t){return t.match(z(vt))}function rt(t,e,r,n){const s=`${t}.${e}.${r}`;return n?`${s}-${n}`:s}function Nt(t){return t.replace(z(ht),(e,r,n,s,c,a,l,h,_,g,y,E)=>(j(n)?r="":j(s)?r=`>=${n}.0.0`:j(c)?r=`>=${n}.${s}.0`:r=`>=${r}`,j(_)?h="":j(g)?h=`<${Number(_)+1}.0.0-0`:j(y)?h=`<${_}.${Number(g)+1}.0-0`:E?h=`<=${_}.${g}.${y}-${E}`:h=`<=${h}`,`${r} ${h}`.trim()))}function It(t){return t.replace(z(pt),"$1$2$3")}function Tt(t){return t.replace(z(mt),"$1~")}function Ot(t){return t.replace(z(Et),"$1^")}function Mt(t){return t.trim().split(/\s+/).map(e=>e.replace(z(gt),(r,n,s,c,a)=>j(n)?"":j(s)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:j(c)?n==="0"?`>=${n}.${s}.0 <${n}.${Number(s)+1}.0-0`:`>=${n}.${s}.0 <${Number(n)+1}.0.0-0`:a?n==="0"?s==="0"?`>=${n}.${s}.${c}-${a} <${n}.${s}.${Number(c)+1}-0`:`>=${n}.${s}.${c}-${a} <${n}.${Number(s)+1}.0-0`:`>=${n}.${s}.${c}-${a} <${Number(n)+1}.0.0-0`:n==="0"?s==="0"?`>=${n}.${s}.${c} <${n}.${s}.${Number(c)+1}-0`:`>=${n}.${s}.${c} <${n}.${Number(s)+1}.0-0`:`>=${n}.${s}.${c} <${Number(n)+1}.0.0-0`)).join(" ")}function Pt(t){return t.trim().split(/\s+/).map(e=>e.replace(z(St),(r,n,s,c,a)=>j(n)?"":j(s)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:j(c)?`>=${n}.${s}.0 <${n}.${Number(s)+1}.0-0`:a?`>=${n}.${s}.${c}-${a} <${n}.${Number(s)+1}.0-0`:`>=${n}.${s}.${c} <${n}.${Number(s)+1}.0-0`)).join(" ")}function At(t){return t.split(/\s+/).map(e=>e.trim().replace(z(Rt),(r,n,s,c,a,l)=>{const h=j(s),_=h||j(c),g=_||j(a);return n==="="&&g&&(n=""),l="",h?n===">"||n==="<"?"<0.0.0-0":"*":n&&g?(_&&(c=0),a=0,n===">"?(n=">=",_?(s=Number(s)+1,c=0,a=0):(c=Number(c)+1,a=0)):n==="<="&&(n="<",_?s=Number(s)+1:c=Number(c)+1),n==="<"&&(l="-0"),`${n+s}.${c}.${a}${l}`):_?`>=${s}.0.0${l} <${Number(s)+1}.0.0-0`:g?`>=${s}.${c}.0${l} <${s}.${Number(c)+1}.0-0`:r})).join(" ")}function wt(t){return t.trim().replace(z(yt),"")}function Lt(t){return t.trim().replace(z($t),"")}function Se(t,e){return t=Number(t)||t,e=Number(e)||e,t>e?1:t===e?0:-1}function Dt(t,e){const{preRelease:r}=t,{preRelease:n}=e;if(r===void 0&&n)return 1;if(r&&n===void 0)return-1;if(r===void 0&&n===void 0)return 0;for(let s=0,c=r.length;s<=c;s++){const a=r[s],l=n[s];if(a!==l)return a===void 0&&l===void 0?0:a?l?Se(a,l):-1:1}return 0}function Re(t,e){return Se(t.major,e.major)||Se(t.minor,e.minor)||Se(t.patch,e.patch)||Dt(t,e)}function Me(t,e){return t.version===e.version}function Ft(t,e){switch(t.operator){case"":case"=":return Me(t,e);case">":return Re(t,e)<0;case">=":return Me(t,e)||Re(t,e)<0;case"<":return Re(t,e)>0;case"<=":return Me(t,e)||Re(t,e)>0;case void 0:return!0;default:return!1}}function xt(t){return et(Mt,Pt,At,wt)(t)}function jt(t){return et(Nt,It,Tt,Ot)(t.trim()).split(/\s+/).join(" ")}function _e(t,e){if(!t)return!1;const s=jt(e).split(" ").map(E=>xt(E)).join(" ").split(/\s+/).map(E=>Lt(E)),c=tt(t);if(!c)return!1;const[,a,,l,h,_,g]=c,y={version:rt(l,h,_,g),major:l,minor:h,patch:_,preRelease:g==null?void 0:g.split(".")};for(const E of s){const $=tt(E);if(!$)return!1;const[,I,,P,N,M,F]=$,A={operator:I,version:rt(P,N,M,F),major:P,minor:N,patch:M,preRelease:F==null?void 0:F.split(".")};if(!Ft(A,y))return!1}return!0}function kt(t,e,r,n){let s;"get"in t?s=t.get:"lib"in t?s=()=>Promise.resolve(t.lib):s=()=>Promise.resolve(()=>{throw new Error(`Can not get shared '${r}'!`)}),t.strategy&&R('"shared.strategy is deprecated, please set in initOptions.shareStrategy instead!"');var c,a,l;return i._extends({deps:[],useIn:[],from:e,loading:null},t,{shareConfig:i._extends({requiredVersion:`^${t.version}`,singleton:!1,eager:!1,strictVersion:!1},t.shareConfig),get:s,loaded:t!=null&&t.loaded||"lib"in t?!0:void 0,version:(c=t.version)!=null?c:"0",scope:Array.isArray(t.scope)?t.scope:[(a=t.scope)!=null?a:"default"],strategy:((l=t.strategy)!=null?l:n)||"version-first"})}function nt(t,e){const r=e.shared||{},n=e.name,s=Object.keys(r).reduce((a,l)=>{const h=B(r[l]);return a[l]=a[l]||[],h.forEach(_=>{a[l].push(kt(_,n,l,e.shareStrategy))}),a},{}),c=i._extends({},t.shared);return Object.keys(s).forEach(a=>{c[a]?s[a].forEach(l=>{c[a].find(_=>_.version===l.version)||c[a].push(l)}):c[a]=s[a]}),{shared:c,shareInfos:s}}function pe(t,e){const r=n=>{if(!Number.isNaN(Number(n))){const c=n.split(".");let a=n;for(let l=0;l<3-c.length;l++)a+=".0";return a}return n};return!!_e(r(t),`<=${r(e)}`)}const Pe=(t,e)=>{const r=e||function(n,s){return pe(n,s)};return Object.keys(t).reduce((n,s)=>!n||r(n,s)||n==="0"?s:n,0)},Ae=t=>!!t.loaded||typeof t.lib=="function",Ct=t=>!!t.loading;function Ht(t,e,r){const n=t[e][r],s=function(c,a){return!Ae(n[c])&&pe(c,a)};return Pe(t[e][r],s)}function Ut(t,e,r){const n=t[e][r],s=function(c,a){const l=h=>Ae(h)||Ct(h);return l(n[a])?l(n[c])?!!pe(c,a):!0:l(n[c])?!1:pe(c,a)};return Pe(t[e][r],s)}function Gt(t){return t==="loaded-first"?Ut:Ht}function oe(t,e,r,n){if(!t)return;const{shareConfig:s,scope:c=de,strategy:a}=r,l=Array.isArray(c)?c:[c];for(const h of l)if(s&&t[h]&&t[h][e]){const{requiredVersion:_}=s,y=Gt(a)(t,h,e),E=()=>{if(s.singleton){if(typeof _=="string"&&!_e(y,_)){const P=`Version ${y} from ${y&&t[h][e][y].from} of shared singleton module ${e} does not satisfy the requirement of ${r.from} which needs ${_})`;s.strictVersion?m(P):R(P)}return t[h][e][y]}else{if(_===!1||_==="*"||_e(y,_))return t[h][e][y];for(const[P,N]of Object.entries(t[h][e]))if(_e(P,_))return N}},$={shareScopeMap:t,scope:h,pkgName:e,version:y,GlobalFederation:C.__FEDERATION__,resolver:E};return(n.emit($)||$).resolver()}}function we(){return C.__FEDERATION__.__SHARE__}function ot(t){const{pkgName:e,extraOptions:r,shareInfos:n}=t,s=l=>{if(!l)return;const h={};l.forEach(y=>{h[y.version]=y});const g=Pe(h,function(y,E){return!Ae(h[y])&&pe(y,E)});return h[g]};var c;const a=(c=r==null?void 0:r.resolver)!=null?c:s;return Object.assign({},a(n[e]),r==null?void 0:r.customShareInfo)}var Bt={global:{Global:C,nativeGlobal:x,resetFederationGlobalInfo:je,setGlobalFederationInstance:ke,getGlobalFederationConstructor:Ce,setGlobalFederationConstructor:He,getInfoWithoutType:ne,getGlobalSnapshot:ge,getTargetSnapshotInfoByModuleInfo:Ue,getGlobalSnapshotInfoByModuleInfo:ue,setGlobalSnapshotInfoByModuleInfo:$e,addGlobalSnapshot:Ne,getRemoteEntryExports:fe,registerGlobalPlugins:Ge,getGlobalHostPlugins:Be,getPreloaded:Ve,setPreloaded:We},share:{getRegisteredShare:oe,getGlobalShareScope:we}};function Vt(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function st(t,e){for(const r of t){const n=e.startsWith(r.name);let s=e.replace(r.name,"");if(n){if(s.startsWith("/")){const l=r.name;return s=`.${s}`,{pkgNameOrAlias:l,expose:s,remote:r}}else if(s==="")return{pkgNameOrAlias:r.name,expose:".",remote:r}}const c=r.alias&&e.startsWith(r.alias);let a=r.alias&&e.replace(r.alias,"");if(r.alias&&c){if(a&&a.startsWith("/")){const l=r.alias;return a=`.${a}`,{pkgNameOrAlias:l,expose:a,remote:r}}else if(a==="")return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}function Wt(t,e){for(const r of t)if(e===r.name||r.alias&&e===r.alias)return r}function Xt(t,e){const r=Be();return r.length>0&&r.forEach(n=>{t!=null&&t.find(s=>s.name!==n.name)&&t.push(n)}),t&&t.length>0&&t.forEach(n=>{e.forEach(s=>{s.applyPlugin(n)})}),t}async function Kt({entry:t,remoteEntryExports:e}){return new Promise((r,n)=>{try{e?r(e):typeof FEDERATION_ALLOW_NEW_FUNCTION<"u"?new Function("callbacks",`import("${t}").then(callbacks[0]).catch(callbacks[1])`)([r,n]):import(t).then(r).catch(n)}catch(s){n(s)}})}async function qt({entry:t,remoteEntryExports:e}){return new Promise((r,n)=>{try{e?r(e):typeof __system_context__>"u"?System.import(t).then(r).catch(n):new Function("callbacks",`System.import("${t}").then(callbacks[0]).catch(callbacks[1])`)([r,n])}catch(s){n(s)}})}async function Yt({name:t,globalName:e,entry:r,loaderHook:n}){const{entryExports:s}=fe(t,e);return s||d.loadScript(r,{attrs:{},createScriptHook:(c,a)=>{const l=n.lifecycle.createScript.emit({url:c,attrs:a});if(l&&(l instanceof HTMLScriptElement||"script"in l||"timeout"in l))return l}}).then(()=>{const{remoteEntryKey:c,entryExports:a}=fe(t,e);return b(a,u.getShortErrorMsg(u.RUNTIME_001,u.runtimeDescMap,{remoteName:t,remoteEntryUrl:r,remoteEntryKey:c})),a}).catch(c=>{throw b(void 0,u.getShortErrorMsg(u.RUNTIME_008,u.runtimeDescMap,{remoteName:t,resourceUrl:r})),c})}async function zt({remoteInfo:t,remoteEntryExports:e,loaderHook:r}){const{entry:n,entryGlobalName:s,name:c,type:a}=t;switch(a){case"esm":case"module":return Kt({entry:n,remoteEntryExports:e});case"system":return qt({entry:n,remoteEntryExports:e});default:return Yt({entry:n,globalName:s,name:c,loaderHook:r})}}async function Jt({remoteInfo:t,loaderHook:e}){const{entry:r,entryGlobalName:n,name:s,type:c}=t,{entryExports:a}=fe(s,n);return a||d.loadScriptNode(r,{attrs:{name:s,globalName:n,type:c},loaderHook:{createScriptHook:(l,h={})=>{const _=e.lifecycle.createScript.emit({url:l,attrs:h});if(_&&"url"in _)return _}}}).then(()=>{const{remoteEntryKey:l,entryExports:h}=fe(s,n);return b(h,u.getShortErrorMsg(u.RUNTIME_001,u.runtimeDescMap,{remoteName:s,remoteEntryUrl:r,remoteEntryKey:l})),h}).catch(l=>{throw l})}function Le(t){const{entry:e,name:r}=t;return d.composeKeyWithSeparator(r,e)}async function me({origin:t,remoteEntryExports:e,remoteInfo:r}){const n=Le(r);if(e)return e;if(!re[n]){const s=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;re[n]=s.emit({loaderHook:c,remoteInfo:r,remoteEntryExports:e}).then(a=>a||(d.isBrowserEnv()?zt({remoteInfo:r,remoteEntryExports:e,loaderHook:c}):Jt({remoteInfo:r,loaderHook:c})))}return re[n]}function ve(t){return i._extends({},t,{entry:"entry"in t?t.entry:"",type:t.type||Xe,entryGlobalName:t.entryGlobalName||t.name,shareScope:t.shareScope||de})}let De=class{async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;let e;try{e=await me({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports})}catch{const n=Le(this.remoteInfo);e=await this.host.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:me,origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports,globalLoading:re,uniqueKey:n})}return b(e,`remoteEntryExports is undefined
|
|
10
|
+
${d.safeToString(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async get(e,r,n,s){const{loadFactory:c=!0}=n||{loadFactory:!0},a=await this.getEntry();if(!this.inited){const y=this.host.shareScopeMap,E=this.remoteInfo.shareScope||"default";y[E]||(y[E]={});const $=y[E],I=[],P={version:this.remoteInfo.version||""};Object.defineProperty(P,"shareScopeMap",{value:y,enumerable:!1});const N=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:$,remoteEntryInitOptions:P,initScope:I,remoteInfo:this.remoteInfo,origin:this.host});typeof(a==null?void 0:a.init)>"u"&&m(u.getShortErrorMsg(u.RUNTIME_002,u.runtimeDescMap,{remoteName:name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName})),await a.init(N.shareScope,N.initScope,N.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit(i._extends({},N,{id:e,remoteSnapshot:s,remoteEntryExports:a}))}this.lib=a,this.inited=!0;let l;l=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:a,expose:r,moduleInfo:this.remoteInfo}),l||(l=await a.get(r)),b(l,`${w(this.remoteInfo)} remote don't export ${r}.`);const h=ee(this.remoteInfo.name,r),_=this.wraperFactory(l,h);return c?await _():_}wraperFactory(e,r){function n(s,c){s&&typeof s=="object"&&Object.isExtensible(s)&&!Object.getOwnPropertyDescriptor(s,Symbol.for("mf_module_id"))&&Object.defineProperty(s,Symbol.for("mf_module_id"),{value:c,enumerable:!1})}return e instanceof Promise?async()=>{const s=await e();return n(s,r),s}:()=>{const s=e();return n(s,r),s}}constructor({remoteInfo:e,host:r}){this.inited=!1,this.lib=void 0,this.remoteInfo=e,this.host=r}};class W{on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const r=this;this.on(function n(...s){return r.remove(n),e.apply(null,s)})}emit(...e){let r;return this.listeners.size>0&&this.listeners.forEach(n=>{r=n(...e)}),r}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}}class K extends W{emit(...e){let r;const n=Array.from(this.listeners);if(n.length>0){let s=0;const c=a=>a===!1?!1:s<n.length?Promise.resolve(n[s++].apply(null,e)).then(c):a;r=c()}return Promise.resolve(r)}}function it(t,e){if(!Y(e))return!1;if(t!==e){for(const r in t)if(!(r in e))return!1}return!0}class Ee extends W{emit(e){Y(e)||m(`The data for the "${this.type}" hook should be an object.`);for(const r of this.listeners)try{const n=r(e);if(it(e,n))e=n;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(n){R(n),this.onerror(n)}return e}constructor(e){super(),this.onerror=m,this.type=e}}class se extends W{emit(e){Y(e)||m(`The response data for the "${this.type}" hook must be an object.`);const r=Array.from(this.listeners);if(r.length>0){let n=0;const s=a=>(R(a),this.onerror(a),e),c=a=>{if(it(e,a)){if(e=a,n<r.length)try{return Promise.resolve(r[n++](e)).then(c,s)}catch(l){return s(l)}}else this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);return e};return Promise.resolve(c(e))}return Promise.resolve(e)}constructor(e){super(),this.onerror=m,this.type=e}}class ae{applyPlugin(e){b(le(e),"Plugin configuration is invalid.");const r=e.name;b(r,"A name must be provided by the plugin."),this.registerPlugins[r]||(this.registerPlugins[r]=e,Object.keys(this.lifecycle).forEach(n=>{const s=e[n];s&&this.lifecycle[n].on(s)}))}removePlugin(e){b(e,"A name is required.");const r=this.registerPlugins[e];b(r,`The plugin "${e}" is not registered.`),Object.keys(r).forEach(n=>{n!=="name"&&this.lifecycle[n].remove(r[n])})}inherit({lifecycle:e,registerPlugins:r}){Object.keys(e).forEach(n=>{b(!this.lifecycle[n],`The hook "${n}" has a conflict and cannot be inherited.`),this.lifecycle[n]=e[n]}),Object.keys(r).forEach(n=>{b(!this.registerPlugins[n],`The plugin "${n}" has a conflict and cannot be inherited.`),this.applyPlugin(r[n])})}constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}}function at(t){return i._extends({resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1},t)}function Zt(t,e){return e.map(r=>{const n=Wt(t,r.nameOrAlias);return b(n,`Unable to preload ${r.nameOrAlias} as it is not included in ${!n&&d.safeToString({remoteInfo:n,remotes:t})}`),{remote:n,preloadConfig:at(r)}})}function Qt(t){return t?t.map(e=>e==="."?e:e.startsWith("./")?e.replace("./",""):e):[]}function lt(t,e,r,n=!0){const{cssAssets:s,jsAssetsWithoutEntry:c,entryAssets:a}=r;if(e.options.inBrowser){if(a.forEach(l=>{const{moduleInfo:h}=l,_=e.moduleCache.get(t.name);me(_?{origin:e,remoteInfo:h,remoteEntryExports:_.remoteEntryExports}:{origin:e,remoteInfo:h,remoteEntryExports:void 0})}),n){const l={rel:"preload",as:"style"};s.forEach(h=>{const{link:_,needAttach:g}=d.createLink({url:h,cb:()=>{},attrs:l,createLinkHook:(y,E)=>{const $=e.loaderHook.lifecycle.createLink.emit({url:y,attrs:E});if($ instanceof HTMLLinkElement)return $}});g&&document.head.appendChild(_)})}else{const l={rel:"stylesheet",type:"text/css"};s.forEach(h=>{const{link:_,needAttach:g}=d.createLink({url:h,cb:()=>{},attrs:l,createLinkHook:(y,E)=>{const $=e.loaderHook.lifecycle.createLink.emit({url:y,attrs:E});if($ instanceof HTMLLinkElement)return $},needDeleteLink:!1});g&&document.head.appendChild(_)})}if(n){const l={rel:"preload",as:"script"};c.forEach(h=>{const{link:_,needAttach:g}=d.createLink({url:h,cb:()=>{},attrs:l,createLinkHook:(y,E)=>{const $=e.loaderHook.lifecycle.createLink.emit({url:y,attrs:E});if($ instanceof HTMLLinkElement)return $}});g&&document.head.appendChild(_)})}else{const l={fetchpriority:"high",type:(t==null?void 0:t.type)==="module"?"module":"text/javascript"};c.forEach(h=>{const{script:_,needAttach:g}=d.createScript({url:h,cb:()=>{},attrs:l,createScriptHook:(y,E)=>{const $=e.loaderHook.lifecycle.createScript.emit({url:y,attrs:E});if($ instanceof HTMLScriptElement)return $},needDeleteScript:!0});g&&document.head.appendChild(_)})}}}function ct(t,e){const r=ce(e);r.url||m(`The attribute remoteEntry of ${t.name} must not be undefined.`);let n=d.getResourceUrl(e,r.url);!d.isBrowserEnv()&&!n.startsWith("http")&&(n=`https:${n}`),t.type=r.type,t.entryGlobalName=r.globalName,t.entry=n,t.version=e.version,t.buildVersion=e.buildVersion}function er(){return{name:"snapshot-plugin",async afterResolve(t){const{remote:e,pkgNameOrAlias:r,expose:n,origin:s,remoteInfo:c}=t;if(!L(e)||!O(e)){const{remoteSnapshot:a,globalSnapshot:l}=await s.snapshotHandler.loadRemoteSnapshotInfo(e);ct(c,a);const h={remote:e,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},_=await s.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:s,preloadOptions:h,remoteInfo:c,remote:e,remoteSnapshot:a,globalSnapshot:l});return _&<(c,s,_,!1),i._extends({},t,{remoteSnapshot:a})}return t}}}function tr(t){const e=t.split(":");return e.length===1?{name:e[0],version:void 0}:e.length===2?{name:e[0],version:e[1]}:{name:e[1],version:e[2]}}function ut(t,e,r,n,s={},c){const a=w(e),{value:l}=ne(t,a),h=c||l;if(h&&!d.isManifestProvider(h)&&(r(h,e,n),h.remotesInfo)){const _=Object.keys(h.remotesInfo);for(const g of _){if(s[g])continue;s[g]=!0;const y=tr(g),E=h.remotesInfo[g];ut(t,{name:y.name,version:E.matchedVersion},r,!1,s,void 0)}}}function rr(t,e,r,n,s){const c=[],a=[],l=[],h=new Set,_=new Set,{options:g}=t,{preloadConfig:y}=e,{depsRemote:E}=y;if(ut(n,r,(N,M,F)=>{let A;if(F)A=y;else if(Array.isArray(E)){const q=E.find(X=>X.nameOrAlias===M.name||X.nameOrAlias===M.alias);if(!q)return;A=at(q)}else if(E===!0)A=y;else return;const D=d.getResourceUrl(N,ce(N).url);D&&l.push({name:M.name,moduleInfo:{name:M.name,entry:D,type:"remoteEntryType"in N?N.remoteEntryType:"global",entryGlobalName:"globalName"in N?N.globalName:M.name,shareScope:"",version:"version"in N?N.version:void 0},url:D});let H="modules"in N?N.modules:[];const U=Qt(A.exposes);if(U.length&&"modules"in N){var Q;H=N==null||(Q=N.modules)==null?void 0:Q.reduce((q,X)=>((U==null?void 0:U.indexOf(X.moduleName))!==-1&&q.push(X),q),[])}function k(q){const X=q.map(J=>d.getResourceUrl(N,J));return A.filter?X.filter(A.filter):X}if(H){const q=H.length;for(let X=0;X<q;X++){const J=H[X],Fe=`${M.name}/${J.moduleName}`;t.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({id:J.moduleName==="."?M.name:Fe,name:M.name,remoteSnapshot:N,preloadConfig:A,remote:M,origin:t}),!Ve(Fe)&&(A.resourceCategory==="all"?(c.push(...k(J.assets.css.async)),c.push(...k(J.assets.css.sync)),a.push(...k(J.assets.js.async)),a.push(...k(J.assets.js.sync))):(A.resourceCategory="sync")&&(c.push(...k(J.assets.css.sync)),a.push(...k(J.assets.js.sync))),We(Fe))}}},!0,{},s),s.shared){const N=(M,F)=>{const A=oe(t.shareScopeMap,F.sharedName,M,t.sharedHandler.hooks.lifecycle.resolveShare);A&&typeof A.lib=="function"&&(F.assets.js.sync.forEach(D=>{h.add(D)}),F.assets.css.sync.forEach(D=>{_.add(D)}))};s.shared.forEach(M=>{var F;const A=(F=g.shared)==null?void 0:F[M.sharedName];if(!A)return;const D=M.version?A.find(U=>U.version===M.version):A;if(!D)return;B(D).forEach(U=>{N(U,M)})})}const I=a.filter(N=>!h.has(N));return{cssAssets:c.filter(N=>!_.has(N)),jsAssetsWithoutEntry:I,entryAssets:l}}const nr=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(t){const{origin:e,preloadOptions:r,remoteInfo:n,remote:s,globalSnapshot:c,remoteSnapshot:a}=t;return L(s)&&O(s)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:s.name,url:s.entry,moduleInfo:{name:n.name,entry:s.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(ct(n,a),rr(e,r,n,c,a))}}};function ft(t,e){const r=ue({name:e.options.name,version:e.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&ne(r.remotesInfo,t.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:ge(),remoteSnapshot:ue({name:t.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:ge(),remoteSnapshot:ue({name:t.name,version:"version"in t?t.version:void 0})}}class or{async loadSnapshot(e){const{options:r}=this.HostInstance,{hostGlobalSnapshot:n,remoteSnapshot:s,globalSnapshot:c}=this.getGlobalRemoteInfo(e),{remoteSnapshot:a,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:r,moduleInfo:e,hostGlobalSnapshot:n,remoteSnapshot:s,globalSnapshot:c});return{remoteSnapshot:a,globalSnapshot:l}}async loadRemoteSnapshotInfo(e){const{options:r}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:r,moduleInfo:e});let n=ue({name:this.HostInstance.options.name,version:this.HostInstance.options.version});n||(n={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},Ne({[this.HostInstance.options.name]:n})),n&&"remotesInfo"in n&&!ne(n.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(n.remotesInfo=i._extends({},n==null?void 0:n.remotesInfo,{[e.name]:{matchedVersion:"version"in e?e.version:e.entry}}));const{hostGlobalSnapshot:s,remoteSnapshot:c,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:l,globalSnapshot:h}=await this.hooks.lifecycle.loadSnapshot.emit({options:r,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:c,globalSnapshot:a});let _,g;if(l)if(d.isManifestProvider(l)){const y=d.isBrowserEnv()?l.remoteEntry:l.ssrRemoteEntry||l.remoteEntry||"",E=await this.getManifestJson(y,e,{}),$=$e(i._extends({},e,{entry:y}),E);_=E,g=$}else{const{remoteSnapshot:y}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:l,from:"global"});_=y,g=h}else if(L(e)){const y=await this.getManifestJson(e.entry,e,{}),E=$e(e,y),{remoteSnapshot:$}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:y,from:"global"});_=$,g=E}else m(u.getShortErrorMsg(u.RUNTIME_007,u.runtimeDescMap,{hostName:e.name,hostVersion:e.version,globalSnapshot:JSON.stringify(h)}));return await this.hooks.lifecycle.afterLoadSnapshot.emit({options:r,moduleInfo:e,remoteSnapshot:_}),{remoteSnapshot:_,globalSnapshot:g}}getGlobalRemoteInfo(e){return ft(e,this.HostInstance)}async getManifestJson(e,r,n){const s=async()=>{let a=this.manifestCache.get(e);if(a)return a;try{let l=await this.loaderHook.lifecycle.fetch.emit(e,{});(!l||!(l instanceof Response))&&(l=await fetch(e,{})),a=await l.json()}catch(l){a=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:m,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),a||(delete this.manifestLoading[e],m(u.getShortErrorMsg(u.RUNTIME_003,u.runtimeDescMap,{manifestUrl:e,moduleName:r.name},`${l}`)))}return b(a.metaData&&a.exposes&&a.shared,`${e} is not a federation manifest`),this.manifestCache.set(e,a),a},c=async()=>{const a=await s(),l=d.generateSnapshotFromManifest(a,{version:e}),{remoteSnapshot:h}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:r,manifestJson:a,remoteSnapshot:l,manifestUrl:e,from:"manifest"});return h};return this.manifestLoading[e]||(this.manifestLoading[e]=c().then(a=>a)),this.manifestLoading[e]}constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new ae({beforeLoadRemoteSnapshot:new K("beforeLoadRemoteSnapshot"),loadSnapshot:new se("loadGlobalSnapshot"),loadRemoteSnapshot:new se("loadRemoteSnapshot"),afterLoadSnapshot:new se("afterLoadSnapshot")}),this.manifestLoading=C.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}}class sr{registerShared(e,r){const{shareInfos:n,shared:s}=nt(e,r);return Object.keys(n).forEach(a=>{n[a].forEach(h=>{!oe(this.shareScopeMap,a,h,this.hooks.lifecycle.resolveShare)&&h&&h.lib&&this.setShared({pkgName:a,lib:h.lib,get:h.get,loaded:!0,shared:h,from:r.name})})}),{shareInfos:n,shared:s}}async loadShare(e,r){const{host:n}=this,s=ot({pkgName:e,extraOptions:r,shareInfos:n.options.shared});s!=null&&s.scope&&await Promise.all(s.scope.map(async _=>{await Promise.all(this.initializeSharing(_,{strategy:s.strategy}))}));const c=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:s,shared:n.options.shared,origin:n}),{shareInfo:a}=c;b(a,`Cannot find ${e} Share in the ${n.options.name}. Please ensure that the ${e} Share parameters have been injected`);const l=oe(this.shareScopeMap,e,a,this.hooks.lifecycle.resolveShare),h=_=>{_.useIn||(_.useIn=[]),T(_.useIn,n.options.name)};if(l&&l.lib)return h(l),l.lib;if(l&&l.loading&&!l.loaded){const _=await l.loading;return l.loaded=!0,l.lib||(l.lib=_),h(l),_}else if(l){const g=(async()=>{const y=await l.get();a.lib=y,a.loaded=!0,h(a);const E=oe(this.shareScopeMap,e,a,this.hooks.lifecycle.resolveShare);return E&&(E.lib=y,E.loaded=!0),y})();return this.setShared({pkgName:e,loaded:!1,shared:l,from:n.options.name,lib:null,loading:g}),g}else{if(r!=null&&r.customShareInfo)return!1;const g=(async()=>{const y=await a.get();a.lib=y,a.loaded=!0,h(a);const E=oe(this.shareScopeMap,e,a,this.hooks.lifecycle.resolveShare);return E&&(E.lib=y,E.loaded=!0),y})();return this.setShared({pkgName:e,loaded:!1,shared:a,from:n.options.name,lib:null,loading:g}),g}}initializeSharing(e=de,r){const{host:n}=this,s=r==null?void 0:r.from,c=r==null?void 0:r.strategy;let a=r==null?void 0:r.initScope;const l=[];if(s!=="build"){const{initTokens:I}=this;a||(a=[]);let P=I[e];if(P||(P=I[e]={from:this.host.name}),a.indexOf(P)>=0)return l;a.push(P)}const h=this.shareScopeMap,_=n.options.name;h[e]||(h[e]={});const g=h[e],y=(I,P)=>{var N;const{version:M,eager:F}=P;g[I]=g[I]||{};const A=g[I],D=A[M],H=!!(D&&(D.eager||(N=D.shareConfig)!=null&&N.eager));(!D||D.strategy!=="loaded-first"&&!D.loaded&&(!F!=!H?F:_>D.from))&&(A[M]=P)},E=I=>I&&I.init&&I.init(h[e],a),$=async I=>{const{module:P}=await n.remoteHandler.getRemoteModuleAndOptions({id:I});if(P.getEntry){let N;try{N=await P.getEntry()}catch(M){N=await n.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:I,error:M,from:"runtime",lifecycle:"beforeLoadShare",origin:n})}P.inited||(await E(N),P.inited=!0)}};return Object.keys(n.options.shared).forEach(I=>{n.options.shared[I].forEach(N=>{N.scope.includes(e)&&y(I,N)})}),(n.options.shareStrategy==="version-first"||c==="version-first")&&n.options.remotes.forEach(I=>{I.shareScope===e&&l.push($(I.name))}),l}loadShareSync(e,r){const{host:n}=this,s=ot({pkgName:e,extraOptions:r,shareInfos:n.options.shared});s!=null&&s.scope&&s.scope.forEach(l=>{this.initializeSharing(l,{strategy:s.strategy})});const c=oe(this.shareScopeMap,e,s,this.hooks.lifecycle.resolveShare),a=l=>{l.useIn||(l.useIn=[]),T(l.useIn,n.options.name)};if(c){if(typeof c.lib=="function")return a(c),c.loaded||(c.loaded=!0,c.from===n.options.name&&(s.loaded=!0)),c.lib;if(typeof c.get=="function"){const l=c.get();if(!(l instanceof Promise))return a(c),this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:l,shared:c}),l}}if(s.lib)return s.loaded||(s.loaded=!0),s.lib;if(s.get){const l=s.get();if(l instanceof Promise){const h=(r==null?void 0:r.from)==="build"?u.RUNTIME_005:u.RUNTIME_006;throw new Error(u.getShortErrorMsg(h,u.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e}))}return s.lib=l,this.setShared({pkgName:e,loaded:!0,from:n.options.name,lib:s.lib,shared:s}),s.lib}throw new Error(u.getShortErrorMsg(u.RUNTIME_006,u.runtimeDescMap,{hostName:n.options.name,sharedPkgName:e}))}initShareScopeMap(e,r,n={}){const{host:s}=this;this.shareScopeMap[e]=r,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:r,options:s.options,origin:s,scopeName:e,hostShareScopeMap:n.hostShareScopeMap})}setShared({pkgName:e,shared:r,from:n,lib:s,loading:c,loaded:a,get:l}){const{version:h,scope:_="default"}=r,g=i._object_without_properties_loose(r,["version","scope"]);(Array.isArray(_)?_:[_]).forEach(E=>{if(this.shareScopeMap[E]||(this.shareScopeMap[E]={}),this.shareScopeMap[E][e]||(this.shareScopeMap[E][e]={}),!this.shareScopeMap[E][e][h]){this.shareScopeMap[E][e][h]=i._extends({version:h,scope:["default"]},g,{lib:s,loaded:a,loading:c}),l&&(this.shareScopeMap[E][e][h].get=l);return}const $=this.shareScopeMap[E][e][h];c&&!$.loading&&($.loading=c)})}_setGlobalShareScopeMap(e){const r=we(),n=e.id||e.name;n&&!r[n]&&(r[n]=this.shareScopeMap)}constructor(e){this.hooks=new ae({afterResolve:new se("afterResolve"),beforeLoadShare:new se("beforeLoadShare"),loadShare:new K,resolveShare:new Ee("resolveShare"),initContainerShareScopeMap:new Ee("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}}class ir{formatAndRegisterRemote(e,r){return(r.remotes||[]).reduce((s,c)=>(this.registerRemote(c,s,{force:!1}),s),e.remotes)}setIdToRemoteMap(e,r){const{remote:n,expose:s}=r,{name:c,alias:a}=n;if(this.idToRemoteMap[e]={name:n.name,expose:s},a&&e.startsWith(c)){const l=e.replace(c,a);this.idToRemoteMap[l]={name:n.name,expose:s};return}if(a&&e.startsWith(a)){const l=e.replace(a,c);this.idToRemoteMap[l]={name:n.name,expose:s}}}async loadRemote(e,r){const{host:n}=this;try{const{loadFactory:s=!0}=r||{loadFactory:!0},{module:c,moduleOptions:a,remoteMatchInfo:l}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:h,remote:_,expose:g,id:y,remoteSnapshot:E}=l,$=await c.get(y,g,r,E),I=await this.hooks.lifecycle.onLoad.emit({id:y,pkgNameOrAlias:h,expose:g,exposeModule:s?$:void 0,exposeModuleFactory:s?void 0:$,remote:_,options:a,moduleInstance:c,origin:n});return this.setIdToRemoteMap(e,l),typeof I=="function"?I:$}catch(s){const{from:c="runtime"}=r||{from:"runtime"},a=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:s,from:c,lifecycle:"onLoad",origin:n});if(!a)throw s;return a}}async preloadRemote(e){const{host:r}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:r.options,origin:r});const n=Zt(r.options.remotes,e);await Promise.all(n.map(async s=>{const{remote:c}=s,a=ve(c),{globalSnapshot:l,remoteSnapshot:h}=await r.snapshotHandler.loadRemoteSnapshotInfo(c),_=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:r,preloadOptions:s,remote:c,remoteInfo:a,globalSnapshot:l,remoteSnapshot:h});_&<(a,r,_)}))}registerRemotes(e,r){const{host:n}=this;e.forEach(s=>{this.registerRemote(s,n.options.remotes,{force:r==null?void 0:r.force})})}async getRemoteModuleAndOptions(e){const{host:r}=this,{id:n}=e;let s;try{s=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(I){if(s=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:I,lifecycle:"beforeRequest"}),!s)throw I}const{id:c}=s,a=st(r.options.remotes,c);b(a,u.getShortErrorMsg(u.RUNTIME_004,u.runtimeDescMap,{hostName:r.options.name,requestId:c}));const{remote:l}=a,h=ve(l),_=await r.sharedHandler.hooks.lifecycle.afterResolve.emit(i._extends({id:c},a,{options:r.options,origin:r,remoteInfo:h})),{remote:g,expose:y}=_;b(g&&y,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${c}.`);let E=r.moduleCache.get(g.name);const $={host:r,remoteInfo:h};return E||(E=new De($),r.moduleCache.set(g.name,E)),{module:E,moduleOptions:$,remoteMatchInfo:_}}registerRemote(e,r,n){const{host:s}=this,c=()=>{if(e.alias){const l=r.find(h=>{var _;return e.alias&&(h.name.startsWith(e.alias)||((_=h.alias)==null?void 0:_.startsWith(e.alias)))});b(!l,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${l&&l.name} name or alias`)}"entry"in e&&d.isBrowserEnv()&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=de),e.type||(e.type=Xe)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:s});const a=r.find(l=>l.name===e.name);if(!a)c(),r.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:s});else{const l=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];n!=null&&n.force&&(this.removeRemote(a),c(),r.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:s}),d.warn(l.join(" ")))}}removeRemote(e){try{const{host:n}=this,{name:s}=e,c=n.options.remotes.findIndex(l=>l.name===s);c!==-1&&n.options.remotes.splice(c,1);const a=n.moduleCache.get(e.name);if(a){const l=a.remoteInfo,h=l.entryGlobalName;if(v[h]){var r;(r=Object.getOwnPropertyDescriptor(v,h))!=null&&r.configurable?delete v[h]:v[h]=void 0}const _=Le(a.remoteInfo);re[_]&&delete re[_],n.snapshotHandler.manifestCache.delete(l.entry);let g=l.buildVersion?d.composeKeyWithSeparator(l.name,l.buildVersion):l.name;const y=v.__FEDERATION__.__INSTANCES__.findIndex($=>l.buildVersion?$.options.id===g:$.name===g);if(y!==-1){const $=v.__FEDERATION__.__INSTANCES__[y];g=$.options.id||g;const I=we();let P=!0;const N=[];Object.keys(I).forEach(M=>{const F=I[M];F&&Object.keys(F).forEach(A=>{const D=F[A];D&&Object.keys(D).forEach(H=>{const U=D[H];U&&Object.keys(U).forEach(Q=>{const k=U[Q];k&&typeof k=="object"&&k.from===l.name&&(k.loaded||k.loading?(k.useIn=k.useIn.filter(q=>q!==l.name),k.useIn.length?P=!1:N.push([M,A,H,Q])):N.push([M,A,H,Q]))})})})}),P&&($.shareScopeMap={},delete I[g]),N.forEach(([M,F,A,D])=>{var H,U,Q;(Q=I[M])==null||(U=Q[F])==null||(H=U[A])==null||delete H[D]}),v.__FEDERATION__.__INSTANCES__.splice(y,1)}const{hostGlobalSnapshot:E}=ft(e,n);if(E){const $=E&&"remotesInfo"in E&&E.remotesInfo&&ne(E.remotesInfo,e.name).key;$&&(delete E.remotesInfo[$],C.__FEDERATION__.__MANIFEST_LOADING__[$]&&delete C.__FEDERATION__.__MANIFEST_LOADING__[$])}n.moduleCache.delete(e.name)}}catch(n){S.log("removeRemote fail: ",n)}}constructor(e){this.hooks=new ae({beforeRegisterRemote:new Ee("beforeRegisterRemote"),registerRemote:new Ee("registerRemote"),beforeRequest:new se("beforeRequest"),onLoad:new K("onLoad"),handlePreloadModule:new W("handlePreloadModule"),errorLoadRemote:new K("errorLoadRemote"),beforePreloadRemote:new K("beforePreloadRemote"),generatePreloadAssets:new K("generatePreloadAssets"),afterPreloadRemote:new K,loadEntry:new K}),this.host=e,this.idToRemoteMap={}}}class ar{initOptions(e){this.registerPlugins(e.plugins);const r=this.formatOptions(this.options,e);return this.options=r,r}async loadShare(e,r){return this.sharedHandler.loadShare(e,r)}loadShareSync(e,r){return this.sharedHandler.loadShareSync(e,r)}initializeSharing(e=de,r){return this.sharedHandler.initializeSharing(e,r)}initRawContainer(e,r,n){const s=ve({name:e,entry:r}),c=new De({host:this,remoteInfo:s});return c.remoteEntryExports=n,this.moduleCache.set(e,c),c}async loadRemote(e,r){return this.remoteHandler.loadRemote(e,r)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,r,n={}){this.sharedHandler.initShareScopeMap(e,r,n)}formatOptions(e,r){const{shared:n}=nt(e,r),{userOptions:s,options:c}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:r,options:e,shareInfo:n}),a=this.remoteHandler.formatAndRegisterRemote(c,s),{shared:l}=this.sharedHandler.registerShared(c,s),h=[...c.plugins];s.plugins&&s.plugins.forEach(g=>{h.includes(g)||h.push(g)});const _=i._extends({},e,r,{plugins:h,remotes:a,shared:l});return this.hooks.lifecycle.init.emit({origin:this,options:_}),_}registerPlugins(e){const r=Xt(e,[this.hooks,this.remoteHandler.hooks,this.sharedHandler.hooks,this.snapshotHandler.hooks,this.loaderHook,this.bridgeHook]);this.options.plugins=this.options.plugins.reduce((n,s)=>(s&&n&&!n.find(c=>c.name===s.name)&&n.push(s),n),r||[])}registerRemotes(e,r){return this.remoteHandler.registerRemotes(e,r)}constructor(e){this.hooks=new ae({beforeInit:new Ee("beforeInit"),init:new W,beforeInitContainer:new se("beforeInitContainer"),initContainer:new se("initContainer")}),this.version="0.6.20",this.moduleCache=new Map,this.loaderHook=new ae({getModuleInfo:new W,createScript:new W,createLink:new W,fetch:new K,loadEntryError:new K,getModuleFactory:new K}),this.bridgeHook=new ae({beforeBridgeRender:new W,afterBridgeRender:new W,beforeBridgeDestroy:new W,afterBridgeDestroy:new W});const r={id:Vt(),name:e.name,plugins:[er(),nr()],remotes:[],shared:{},inBrowser:d.isBrowserEnv()};this.name=e.name,this.options=r,this.snapshotHandler=new or(this),this.sharedHandler=new sr(this),this.remoteHandler=new ir(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}}var lr=Object.freeze({__proto__:null});Object.defineProperty(o,"loadScript",{enumerable:!0,get:function(){return d.loadScript}}),Object.defineProperty(o,"loadScriptNode",{enumerable:!0,get:function(){return d.loadScriptNode}}),o.CurrentGlobal=v,o.FederationHost=ar,o.Global=C,o.Module=De,o.addGlobalSnapshot=Ne,o.assert=b,o.getGlobalFederationConstructor=Ce,o.getGlobalSnapshot=ge,o.getInfoWithoutType=ne,o.getRegisteredShare=oe,o.getRemoteEntry=me,o.getRemoteInfo=ve,o.helpers=Bt,o.isStaticResourcesEqual=Z,o.matchRemoteWithNameAndExpose=st,o.registerGlobalPlugins=Ge,o.resetFederationGlobalInfo=je,o.safeWrapper=G,o.satisfy=_e,o.setGlobalFederationConstructor=He,o.setGlobalFederationInstance=ke,o.types=lr})(index_cjs$2);var utils_cjs={},runtimeCore=index_cjs$2;function getBuilderId(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function getGlobalFederationInstance(o,i){const d=getBuilderId();return runtimeCore.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(u=>!!(d&&u.options.id===getBuilderId()||u.options.name===o&&!u.options.version&&!i||u.options.name===o&&i&&u.options.version===i))}utils_cjs.getGlobalFederationInstance=getGlobalFederationInstance;(function(o){var i=index_cjs$2,d=utils_cjs;let u=null;function p(O){const G=d.getGlobalFederationInstance(O.name,O.version);if(G)return G.initOptions(O),u||(u=G),G;{const Y=i.getGlobalFederationConstructor()||i.FederationHost;return u=new Y(O),i.setGlobalFederationInstance(u),u}}function S(...O){return i.assert(u,"Please call init first"),u.loadRemote.apply(u,O)}function b(...O){return i.assert(u,"Please call init first"),u.loadShare.apply(u,O)}function m(...O){return i.assert(u,"Please call init first"),u.loadShareSync.apply(u,O)}function R(...O){return i.assert(u,"Please call init first"),u.preloadRemote.apply(u,O)}function T(...O){return i.assert(u,"Please call init first"),u.registerRemotes.apply(u,O)}function w(...O){return i.assert(u,"Please call init first"),u.registerPlugins.apply(u,O)}function L(){return u}i.setGlobalFederationConstructor(i.FederationHost),Object.defineProperty(o,"FederationHost",{enumerable:!0,get:function(){return i.FederationHost}}),Object.defineProperty(o,"Module",{enumerable:!0,get:function(){return i.Module}}),Object.defineProperty(o,"getRemoteEntry",{enumerable:!0,get:function(){return i.getRemoteEntry}}),Object.defineProperty(o,"getRemoteInfo",{enumerable:!0,get:function(){return i.getRemoteInfo}}),Object.defineProperty(o,"loadScript",{enumerable:!0,get:function(){return i.loadScript}}),Object.defineProperty(o,"loadScriptNode",{enumerable:!0,get:function(){return i.loadScriptNode}}),Object.defineProperty(o,"registerGlobalPlugins",{enumerable:!0,get:function(){return i.registerGlobalPlugins}}),o.getInstance=L,o.init=p,o.loadRemote=S,o.loadShare=b,o.loadShareSync=m,o.preloadRemote=R,o.registerPlugins=w,o.registerRemotes=T})(index_cjs$3);let initResolve;const initPromise=new Promise((o,i)=>{initResolve=o});var ShoppingRouteAdminSet__mf_v__runtimeInit__mf_v__={initPromise,initResolve};export{ShoppingRouteAdminSet__mf_v__runtimeInit__mf_v__ as S,index_cjs$3 as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}export{e as g};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../routeEditor.js","./ShoppingRouteAdminSet__mf_v__runtimeInit__mf_v__-CSXtL_6m.js","./virtualExposes-0pJrfiZw.js","./preload-helper-Dp1pzeXC.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as i}from"./preload-helper-Dp1pzeXC.js";const r=i(()=>import("../routeEditor.js"),__vite__mapDeps([0,1,2,3]),import.meta.url);Promise.resolve(r).then(e=>Promise.resolve(e.__tla).then(e.init).catch(e.init));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{g as T}from"./_commonjsHelpers-CqkleIqs.js";function V(e,t){for(var n=0;n<t.length;n++){const u=t[n];if(typeof u!="string"&&!Array.isArray(u)){for(const o in u)if(o!=="default"&&!(o in e)){const i=Object.getOwnPropertyDescriptor(u,o);i&&Object.defineProperty(e,o,i.get?i:{enumerable:!0,get:()=>u[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var g={exports:{}},r={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react.production.min.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var y=Symbol.for("react.element"),F=Symbol.for("react.portal"),U=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),M=Symbol.for("react.provider"),N=Symbol.for("react.context"),z=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),H=Symbol.for("react.memo"),W=Symbol.for("react.lazy"),k=Symbol.iterator;function G(e){return e===null||typeof e!="object"?null:(e=k&&e[k]||e["@@iterator"],typeof e=="function"?e:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,C={};function p(e,t,n){this.props=e,this.context=t,this.refs=C,this.updater=n||R}p.prototype.isReactComponent={};p.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};p.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function x(){}x.prototype=p.prototype;function v(e,t,n){this.props=e,this.context=t,this.refs=C,this.updater=n||R}var S=v.prototype=new x;S.constructor=v;j(S,p.prototype);S.isPureReactComponent=!0;var w=Array.isArray,O=Object.prototype.hasOwnProperty,E={current:null},P={key:!0,ref:!0,__self:!0,__source:!0};function I(e,t,n){var u,o={},i=null,s=null;if(t!=null)for(u in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)O.call(t,u)&&!P.hasOwnProperty(u)&&(o[u]=t[u]);var f=arguments.length-2;if(f===1)o.children=n;else if(1<f){for(var c=Array(f),a=0;a<f;a++)c[a]=arguments[a+2];o.children=c}if(e&&e.defaultProps)for(u in f=e.defaultProps,f)o[u]===void 0&&(o[u]=f[u]);return{$$typeof:y,type:e,key:i,ref:s,props:o,_owner:E.current}}function J(e,t){return{$$typeof:y,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function b(e){return typeof e=="object"&&e!==null&&e.$$typeof===y}function K(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var $=/\/+/g;function m(e,t){return typeof e=="object"&&e!==null&&e.key!=null?K(""+e.key):t.toString(36)}function _(e,t,n,u,o){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case y:case F:s=!0}}if(s)return s=e,o=o(s),e=u===""?"."+m(s,0):u,w(o)?(n="",e!=null&&(n=e.replace($,"$&/")+"/"),_(o,t,n,"",function(a){return a})):o!=null&&(b(o)&&(o=J(o,n+(!o.key||s&&s.key===o.key?"":(""+o.key).replace($,"$&/")+"/")+e)),t.push(o)),1;if(s=0,u=u===""?".":u+":",w(e))for(var f=0;f<e.length;f++){i=e[f];var c=u+m(i,f);s+=_(i,t,n,c,o)}else if(c=G(e),typeof c=="function")for(e=c.call(e),f=0;!(i=e.next()).done;)i=i.value,c=u+m(i,f++),s+=_(i,t,n,c,o);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function d(e,t,n){if(e==null)return e;var u=[],o=0;return _(e,u,"","",function(i){return t.call(n,i,o++)}),u}function Q(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var l={current:null},h={transition:null},X={ReactCurrentDispatcher:l,ReactCurrentBatchConfig:h,ReactCurrentOwner:E};function A(){throw Error("act(...) is not supported in production builds of React.")}r.Children={map:d,forEach:function(e,t,n){d(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return d(e,function(){t++}),t},toArray:function(e){return d(e,function(t){return t})||[]},only:function(e){if(!b(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};r.Component=p;r.Fragment=U;r.Profiler=L;r.PureComponent=v;r.StrictMode=q;r.Suspense=B;r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=X;r.act=A;r.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var u=j({},e.props),o=e.key,i=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,s=E.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var f=e.type.defaultProps;for(c in t)O.call(t,c)&&!P.hasOwnProperty(c)&&(u[c]=t[c]===void 0&&f!==void 0?f[c]:t[c])}var c=arguments.length-2;if(c===1)u.children=n;else if(1<c){f=Array(c);for(var a=0;a<c;a++)f[a]=arguments[a+2];u.children=f}return{$$typeof:y,type:e.type,key:o,ref:i,props:u,_owner:s}};r.createContext=function(e){return e={$$typeof:N,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:M,_context:e},e.Consumer=e};r.createElement=I;r.createFactory=function(e){var t=I.bind(null,e);return t.type=e,t};r.createRef=function(){return{current:null}};r.forwardRef=function(e){return{$$typeof:z,render:e}};r.isValidElement=b;r.lazy=function(e){return{$$typeof:W,_payload:{_status:-1,_result:e},_init:Q}};r.memo=function(e,t){return{$$typeof:H,type:e,compare:t===void 0?null:t}};r.startTransition=function(e){var t=h.transition;h.transition={};try{e()}finally{h.transition=t}};r.unstable_act=A;r.useCallback=function(e,t){return l.current.useCallback(e,t)};r.useContext=function(e){return l.current.useContext(e)};r.useDebugValue=function(){};r.useDeferredValue=function(e){return l.current.useDeferredValue(e)};r.useEffect=function(e,t){return l.current.useEffect(e,t)};r.useId=function(){return l.current.useId()};r.useImperativeHandle=function(e,t,n){return l.current.useImperativeHandle(e,t,n)};r.useInsertionEffect=function(e,t){return l.current.useInsertionEffect(e,t)};r.useLayoutEffect=function(e,t){return l.current.useLayoutEffect(e,t)};r.useMemo=function(e,t){return l.current.useMemo(e,t)};r.useReducer=function(e,t,n){return l.current.useReducer(e,t,n)};r.useRef=function(e){return l.current.useRef(e)};r.useState=function(e){return l.current.useState(e)};r.useSyncExternalStore=function(e,t,n){return l.current.useSyncExternalStore(e,t,n)};r.useTransition=function(){return l.current.useTransition()};r.version="18.3.1";g.exports=r;var D=g.exports;const Y=T(D),ee=V({__proto__:null,default:Y},[D]);export{ee as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const y="modulepreload",w=function(f,a){return new URL(f,a).href},E={},g=function(a,u,d){let h=Promise.resolve();if(u&&u.length>0){let s=function(e){return Promise.all(e.map(r=>Promise.resolve(r).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};const t=document.getElementsByTagName("link"),o=document.querySelector("meta[property=csp-nonce]"),v=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));h=s(u.map(e=>{if(e=w(e,d),e in E)return;E[e]=!0;const r=e.endsWith(".css"),l=r?'[rel="stylesheet"]':"";if(!!d)for(let i=t.length-1;i>=0;i--){const c=t[i];if(c.href===e&&(!r||c.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${e}"]${l}`))return;const n=document.createElement("link");if(n.rel=r?"stylesheet":y,r||(n.as="script"),n.crossOrigin="",n.href=e,v&&n.setAttribute("nonce",v),document.head.appendChild(n),r)return new Promise((i,c)=>{n.addEventListener("load",i),n.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${e}`)))})}))}function m(s){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=s,window.dispatchEvent(t),!t.defaultPrevented)throw s}return h.then(s=>{for(const t of s||[])t.status==="rejected"&&m(t.reason);return a().catch(m)})};export{g as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./hostInit-DprWdRSg.js";import{i as j,S as L}from"./ShoppingRouteAdminSet__mf_v__runtimeInit__mf_v__-CSXtL_6m.js";import{g as O}from"./_commonjsHelpers-CqkleIqs.js";import"./preload-helper-Dp1pzeXC.js";function z(r,e){for(var t=0;t<e.length;t++){const o=e[t];if(typeof o!="string"&&!Array.isArray(o)){for(const s in o)if(s!=="default"&&!(s in r)){const a=Object.getOwnPropertyDescriptor(o,s);a&&Object.defineProperty(r,s,a.get?a:{enumerable:!0,get:()=>o[s]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}const{loadShare:E}=j,{initPromise:I}=L,T=I.then(r=>E("react",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:">=18"}}})),D=await T.then(r=>r());var A=D;const w=O(A),F=z({__proto__:null,default:w},[A]);var b={exports:{}};const M=w||F,n=M.createElement,l=(r,e)=>(typeof navigator<"u"?String(navigator.language||"").toLowerCase():"de").startsWith("de")?r:e,p=r=>String(r||"").trim().toLocaleLowerCase("de"),R=(r,e)=>String(r||"").localeCompare(String(e||""),"de",{sensitivity:"base"}),v=(r,e)=>p(r)===p(e);function x(r){return(Array.isArray(r&&r.markets)?r.markets:[]).filter(e=>e&&e.name&&e.enabled!==!1).map(e=>String(e.name).trim()).filter(Boolean).filter((e,t,o)=>o.findIndex(s=>v(s,e))===t).sort(R)}function f(r,e){return(Array.isArray(r)?r:[]).map((t,o)=>({route:t,originalIndex:o})).filter(t=>t.route&&v(t.route.market,e)&&String(t.route.category||"").trim()).sort((t,o)=>{const s=Number(t.route.order)||999999,a=Number(o.route.order)||999999;return s-a||t.originalIndex-o.originalIndex}).map(t=>({...t.route,category:String(t.route.category).trim()}))}function $(r,e,t){const o=new Set(f(e,t).map(a=>p(a.category))),s=new Set;return(Array.isArray(r)?r:[]).map(a=>String(a&&a.name||"").trim()).filter(a=>{const c=p(a);return!c||o.has(c)||s.has(c)?!1:(s.add(c),!0)}).sort(R)}function _(r,e,t){const o=Array.isArray(r)?r:[],s=(Array.isArray(t)?t:[]).filter(u=>u&&String(u.category||"").trim()).map((u,m)=>({market:String(e||"").trim(),category:String(u.category).trim(),order:(m+1)*10})),a=[];let c=!1;for(const u of o){if(u&&v(u.market,e)){c||(a.push(...s),c=!0);continue}a.push(u)}return c||a.push(...s),a}function N(r,e,t,o){const s=f(r,e),a=t+o;return t<0||a<0||t>=s.length||a>=s.length?r:([s[t],s[a]]=[s[a],s[t]],_(r,e,s))}function W(r,e,t){const o=f(r,e);return t<0||t>=o.length?r:(o.splice(t,1),_(r,e,o))}function B(r,e,t){const o=String(t||"").trim();if(!o)return r;const s=f(r,e);return s.some(a=>p(a.category)===p(o))?r:(s.push({market:String(e||"").trim(),category:o,order:0}),_(r,e,s))}class G extends M.Component{constructor(e){super(e),this.state={selectedMarket:x(e.data)[0]||"",selectedAddCategory:""}}componentDidUpdate(e){if(e.data===this.props.data)return;const t=x(this.props.data);if(!t.some(o=>v(o,this.state.selectedMarket))){const o=t[0]||"";o!==this.state.selectedMarket&&this.setState({selectedMarket:o,selectedAddCategory:""})}}updateRoutes(e){this.props.onChange({...this.props.data||{},routes:e},!0)}move(e,t){this.updateRoutes(N(this.props.data&&this.props.data.routes,this.state.selectedMarket,e,t))}remove(e){this.updateRoutes(W(this.props.data&&this.props.data.routes,this.state.selectedMarket,e))}add(e){const t=e.some(o=>p(o)===p(this.state.selectedAddCategory))?this.state.selectedAddCategory:e[0];t&&(this.updateRoutes(B(this.props.data&&this.props.data.routes,this.state.selectedMarket,t)),this.setState({selectedAddCategory:""}))}render(){const e=this.props.data||{},t=x(e),o=this.state.selectedMarket,s=f(e.routes,o),a=$(e.productGroups,e.routes,o),c=a.some(i=>p(i)===p(this.state.selectedAddCategory))?this.state.selectedAddCategory:a[0]||"",u=new Set((Array.isArray(e.productGroups)?e.productGroups:[]).map(i=>p(i&&i.name)).filter(Boolean)),m=String(this.props.themeType||"").toLowerCase()==="dark",h=m?"#555":"#d5d5d5",S=m?"#2b2b2b":"#fff",y=m?"#bbb":"#666",k=m?"#3b3b3b":"#f4f4f4",C={minWidth:"240px",padding:"9px 12px",borderRadius:"4px",border:`1px solid ${h}`,background:S,color:"inherit"},g=[n("div",{key:"selector",style:{display:"flex",flexWrap:"wrap",gap:"12px",alignItems:"center",marginBottom:"18px"}},[n("label",{key:"label",htmlFor:"shoppingroute-route-market",style:{fontWeight:600}},l("Markt auswählen:","Select market:")),n("select",{key:"select",id:"shoppingroute-route-market",value:o,onChange:i=>this.setState({selectedMarket:i.target.value,selectedAddCategory:""}),style:C},t.map(i=>n("option",{key:i,value:i},i)))])];return t.length?(g.push(n("h3",{key:"route-title",style:{margin:"0 0 6px"}},l("Laufweg dieses Marktes","Walking route for this market"))),g.push(n("div",{key:"hint",style:{color:y,marginBottom:"10px",fontSize:"0.92rem"}},l("Oben beginnt der Laufweg. Änderungen betreffen ausschließlich den ausgewählten Markt.","The walking route starts at the top. Changes affect only the selected market."))),s.length?g.push(n("div",{key:"routes",style:{border:`1px solid ${h}`,borderRadius:"6px",overflow:"hidden",marginBottom:"18px"}},s.map((i,d)=>{const P=!u.has(p(i.category));return n("div",{key:`${i.market}-${i.category}-${d}`,style:{display:"grid",gridTemplateColumns:"48px minmax(160px, 1fr) 144px",alignItems:"center",gap:"8px",padding:"9px 12px",borderBottom:d<s.length-1?`1px solid ${h}`:"none",background:S}},[n("div",{key:"position",style:{color:y,textAlign:"right",paddingRight:"6px"}},String(d+1)),n("div",{key:"category",style:{fontWeight:500}},[String(i.category||""),P?n("div",{key:"historical",style:{color:y,fontSize:"0.8rem",fontWeight:400}},l("Nicht mehr im globalen Katalog","No longer in the global catalogue")):null]),n("div",{key:"buttons",style:{display:"flex",justifyContent:"flex-end",gap:"6px"}},[n("button",{key:"up",type:"button",disabled:d===0,title:l("Nach oben","Move up"),onClick:()=>this.move(d,-1),style:{width:"38px",height:"32px",border:`1px solid ${h}`,borderRadius:"4px",background:k,color:"inherit",cursor:d===0?"default":"pointer",opacity:d===0?.4:1}},"↑"),n("button",{key:"down",type:"button",disabled:d===s.length-1,title:l("Nach unten","Move down"),onClick:()=>this.move(d,1),style:{width:"38px",height:"32px",border:`1px solid ${h}`,borderRadius:"4px",background:k,color:"inherit",cursor:d===s.length-1?"default":"pointer",opacity:d===s.length-1?.4:1}},"↓"),n("button",{key:"remove",type:"button",title:l("Aus diesem Laufweg entfernen","Remove from this walking route"),onClick:()=>this.remove(d),style:{width:"38px",height:"32px",border:`1px solid ${h}`,borderRadius:"4px",background:k,color:"inherit",cursor:"pointer"}},"×")])])}))):g.push(n("div",{key:"no-routes",style:{color:y,padding:"12px 0",marginBottom:"18px"}},l("Für diesen Markt werden derzeit keine Produktgruppen verwendet.","No product groups are currently used for this market."))),g.push(n("h3",{key:"add-title",style:{margin:"0 0 8px"}},l("Produktgruppe hinzufügen","Add product group"))),a.length?g.push(n("div",{key:"add-controls",style:{display:"flex",flexWrap:"wrap",gap:"10px",alignItems:"center"}},[n("select",{key:"category",value:c,onChange:i=>this.setState({selectedAddCategory:i.target.value}),style:C},a.map(i=>n("option",{key:i,value:i},i))),n("button",{key:"add",type:"button",onClick:()=>this.add(a),style:{minHeight:"38px",padding:"7px 16px",border:`1px solid ${h}`,borderRadius:"4px",background:k,color:"inherit",cursor:"pointer",fontWeight:600}},l("Hinzufügen","Add"))])):g.push(n("div",{key:"no-available",style:{color:y,padding:"8px 0"}},l("Alle globalen Produktgruppen werden bereits in diesem Markt verwendet.","All global product groups are already used in this market."))),n("div",{style:{width:"100%"}},g)):(g.push(n("div",{key:"no-markets",style:{color:y,padding:"12px 0"}},l("Noch keine aktiven Märkte vorhanden.","No active markets configured yet."))),n("div",{style:{width:"100%"}},g))}}b.exports={Components:{RouteEditor:G},RouteEditorModel:{activeMarkets:x,marketRoutes:f,availableProductGroups:$,replaceMarketRoutes:_,moveMarketRoute:N,removeMarketRoute:W,addMarketRoute:B}};const H=(b.exports==null?{}:b.exports).default||b.exports,U=H.Components;export{U as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./route-editor-components-FB3CfD4a.js","./hostInit-DprWdRSg.js","./preload-helper-Dp1pzeXC.js","./ShoppingRouteAdminSet__mf_v__runtimeInit__mf_v__-CSXtL_6m.js","./_commonjsHelpers-CqkleIqs.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as o}from"./preload-helper-Dp1pzeXC.js";const a={"./Components":async()=>{const t=await o(()=>import("./route-editor-components-FB3CfD4a.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),e={};return Object.assign(e,t),Object.defineProperty(e,"__esModule",{value:!0,enumerable:!1}),e}};export{a as default};
|