iobroker.utility-monitor 1.4.6 → 1.5.0

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.
Files changed (35) hide show
  1. package/README.md +98 -55
  2. package/admin/custom/.vite/manifest.json +90 -0
  3. package/admin/custom/@mf-types/Components.d.ts +2 -0
  4. package/admin/custom/@mf-types/compiled-types/Components/CSVImporter.d.ts +11 -0
  5. package/admin/custom/@mf-types/compiled-types/Components.d.ts +2 -0
  6. package/admin/custom/@mf-types.d.ts +3 -0
  7. package/admin/custom/@mf-types.zip +0 -0
  8. package/admin/custom/CSVImporter_v15_11.js +4415 -0
  9. package/admin/custom/assets/Components-i0AZ59nl.js +18887 -0
  10. package/admin/custom/assets/UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js +42 -0
  11. package/admin/custom/assets/UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js +16 -0
  12. package/admin/custom/assets/_commonjsHelpers-Dj2_voLF.js +30 -0
  13. package/admin/custom/assets/hostInit-DEXfeB0W.js +10 -0
  14. package/admin/custom/assets/index-B3WVNJTz.js +401 -0
  15. package/admin/custom/assets/index-VBwl8x_k.js +64 -0
  16. package/admin/custom/assets/preload-helper-BelkbqnE.js +61 -0
  17. package/admin/custom/assets/virtualExposes-CqCLUNLT.js +19 -0
  18. package/admin/custom/index.html +12 -0
  19. package/admin/custom/mf-manifest.json +1 -0
  20. package/admin/jsonConfig.json +90 -31
  21. package/io-package.json +39 -3
  22. package/lib/billingManager.js +235 -123
  23. package/lib/calculator.js +19 -138
  24. package/lib/consumptionManager.js +9 -252
  25. package/lib/importManager.js +300 -0
  26. package/lib/messagingHandler.js +4 -2
  27. package/lib/meter/MeterRegistry.js +110 -0
  28. package/lib/multiMeterManager.js +397 -174
  29. package/lib/stateManager.js +502 -31
  30. package/lib/utils/billingHelper.js +69 -0
  31. package/lib/utils/consumptionHelper.js +47 -0
  32. package/lib/utils/helpers.js +178 -0
  33. package/lib/utils/typeMapper.js +19 -0
  34. package/main.js +71 -8
  35. package/package.json +10 -4
package/README.md CHANGED
@@ -21,8 +21,10 @@ Monitor gas, water, and electricity consumption with automatic cost calculation,
21
21
  - 🔄 **Flexible Sensoren** - Nutzt vorhandene Sensoren (Shelly, Tasmota, Homematic, etc.)
22
22
  - ⚡ **HT/NT-Tarife** - Volle Unterstützung für Hoch- und Nebentarife (Tag/Nacht)
23
23
  - 🔄 **Gas-Spezial** - Automatische Umrechnung von m³ in kWh
24
- - 🕛 **Automatische Resets** - Täglich, monatlich und jährlich (Vertragsjubiläum)
24
+ - 🕛 **Automatische Resets** - Täglich, wöchentlich, monatlich und jährlich (Vertragsjubiläum)
25
25
  - 🔔 **Intelligente Benachrichtigungen** - Getrennte Erinnerungen für Abrechnungsende (Zählerstand) und Vertragswechsel (Tarif-Check) mit einstellbaren Vorlaufzeiten
26
+ - � **Wöchentliche Auswertung** _(NEU in 1.5.0)_ - Verfolge deinen Verbrauch auch auf Wochenbasis
27
+ - �📥 **CSV Import** _(NEU in 1.5.0)_ - Importiere historische Zählerstände einfach per Drag-and-Drop
26
28
  - ⌨️ **Komma-Support** - Admin UI akzeptiert `12,50` oder `12.50` für Dezimalzahlen
27
29
 
28
30
  ---
@@ -68,6 +70,7 @@ Gefällt dir dieser Adapter? Du kannst mich gerne mit einem Kaffee unterstützen
68
70
  ### Was hat sich geändert?
69
71
 
70
72
  **Vorher (bis 1.4.5):**
73
+
71
74
  ```
72
75
  gas.consumption.daily
73
76
  gas.costs.monthly
@@ -75,6 +78,7 @@ wasser.consumption.daily
75
78
  ```
76
79
 
77
80
  **Jetzt (ab 1.4.6):**
81
+
78
82
  ```
79
83
  gas.main.consumption.daily ← Hauptzähler mit Namen "main"
80
84
  gas.main.costs.monthly
@@ -86,13 +90,15 @@ wasser.main.consumption.daily
86
90
  1. **Config öffnen**: Neue Felder "Name des Hauptzählers" für Gas/Wasser/Strom/PV
87
91
  2. **Namen eingeben**: Standard ist "main" (empfohlen), oder eigener Name wie "wohnung", "haus"
88
92
  3. **Skripte anpassen**: Alle Verweise auf States müssen angepasst werden
89
- ```javascript
90
- // Alt:
91
- getState('utility-monitor.0.gas.consumption.daily')
92
93
 
93
- // Neu:
94
- getState('utility-monitor.0.gas.main.consumption.daily')
95
- ```
94
+ ```javascript
95
+ // Alt:
96
+ getState('utility-monitor.0.gas.consumption.daily');
97
+
98
+ // Neu:
99
+ getState('utility-monitor.0.gas.main.consumption.daily');
100
+ ```
101
+
96
102
  4. **Visualisierungen updaten**: VIS, Grafana, etc. auf neue Pfade anpassen
97
103
 
98
104
  ### 💡 Warum diese Änderung?
@@ -101,6 +107,25 @@ wasser.main.consumption.daily
101
107
  - **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "erdgeschoss", "gesamt")
102
108
  - **Klarheit**: Keine Special-Case Logik mehr im Code
103
109
  - **Multi-Meter**: Bessere Unterstützung für mehrere Zähler pro Typ
110
+ - **CSV Import**: Einfaches Nachpflegen von historischen Daten via Drag-and-Drop im Admin-Interface
111
+
112
+ ---
113
+
114
+ ## 📥 CSV Import (v1.5.0)
115
+
116
+ Der neue Import-Tab ermöglicht es dir, historische Zählerstände bequem hochzuladen.
117
+
118
+ ### Unterstützte Formate
119
+
120
+ - **Generic CSV**: Datum (DD.MM.YYYY), Zählerstand
121
+ - **EhB+ App**: Direkter Import aus der EhB+ App möglich
122
+
123
+ ### So funktioniert's
124
+
125
+ 1. Gehe zum Tab **Import**
126
+ 2. Wähle den **Zählertyp** (Gas/Wasser/Strom) und den **Zähler** aus
127
+ 3. Ziehe deine CSV-Datei in das Upload-Feld
128
+ 4. Klicke auf **Daten importieren**
104
129
 
105
130
  ---
106
131
 
@@ -116,12 +141,16 @@ Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom/PV) werden folgende Ordner
116
141
  | --------------- | ----------------------------------------------------- | ---------------- |
117
142
  | `daily` | Verbrauch **heute** (seit 00:00 Uhr) | 12,02 kWh |
118
143
  | `dailyVolume` | Verbrauch heute in m³ | 1,092 m³ |
144
+ | `weekly` | Verbrauch **diese Woche** (seit Montag) | 84,12 kWh |
145
+ | `weeklyVolume` | Wöchentlicher Verbrauch in m³ | 7,65 m³ |
119
146
  | `monthly` | Verbrauch **diesen Monat** (seit 1. des Monats) | 117,77 kWh |
120
147
  | `monthlyVolume` | Monatlicher Verbrauch in m³ | 10,69 m³ |
121
148
  | `yearly` | Verbrauch **seit Vertragsbeginn** (this billing year) | 730,01 kWh |
122
149
  | `yearlyVolume` | Jahresverbrauch in m³ | 66,82 m³ |
123
150
  | `dailyHT` | Tagesverbrauch im **Haupttarif** (HT) | 8,40 kWh |
124
151
  | `dailyNT` | Tagesverbrauch im **Nebentarif** (NT) | 3,62 kWh |
152
+ | `weeklyHT` | Wochenverbrauch im HT | 58,15 kWh |
153
+ | `weeklyNT` | Wochenverbrauch im NT | 25,62 kWh |
125
154
  | `monthlyHT` | Monatsverbrauch im HT | 82,15 kWh |
126
155
  | `monthlyNT` | Monatsverbrauch im NT | 35,62 kWh |
127
156
  | `yearlyHT` | Jahresverbrauch im HT | 511,00 kWh |
@@ -136,16 +165,16 @@ Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom/PV) werden folgende Ordner
136
165
 
137
166
  ### 💰 **costs** (Kosten)
138
167
 
139
- | Datenpunkt | Was ist das? | Berechnung | Beispiel |
140
- | ------------- | ------------------------------------------------------------- | ------------------------------------------ | ------------------------------ |
141
- | `daily` | Kosten **heute** | daily × Arbeitspreis | 2,27 € |
142
- | `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis | 21,61 € |
143
- | `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis | 137,61 € |
144
- | `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee | 212,64 € |
145
- | `basicCharge` | **Grundgebühr akkumuliert** | Grundgebühr × Monate | 15,03 € |
146
- | `annualFee` | **Jahresgebühr** (fester Wert pro Jahr) | Jahresgebühr (aus Config) | 60,00 € |
147
- | `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate | 150,00 € |
148
- | `balance` | **🎯 WICHTIGSTER Wert!**<br>Nachzahlung (+) oder Guthaben (-) | totalYearly - paidTotal | **+62,64 €**<br>→ Nachzahlung! |
168
+ | Datenpunkt | Was ist das? | Berechnung | Beispiel |
169
+ | ------------- | ------------------------------------------------------------- | ------------------------------------- | ------------------------------ |
170
+ | `daily` | Kosten **heute** | daily × Arbeitspreis | 2,27 € |
171
+ | `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis | 21,61 € |
172
+ | `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis | 137,61 € |
173
+ | `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee | 212,64 € |
174
+ | `basicCharge` | **Grundgebühr akkumuliert** | Grundgebühr × Monate | 15,03 € |
175
+ | `annualFee` | **Jahresgebühr** (fester Wert pro Jahr) | Jahresgebühr (aus Config) | 60,00 € |
176
+ | `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate | 150,00 € |
177
+ | `balance` | **🎯 WICHTIGSTER Wert!**<br>Nachzahlung (+) oder Guthaben (-) | totalYearly - paidTotal | **+62,64 €**<br>→ Nachzahlung! |
149
178
 
150
179
  #### 🔍 **balance** genauer erklärt:
151
180
 
@@ -187,7 +216,11 @@ Balance: +62,64 € → Nachzahlung
187
216
  | ---------------- | ------------------------------------ |
188
217
  | `averageDaily` | Durchschnittlicher Tagesverbrauch |
189
218
  | `averageMonthly` | Durchschnittlicher Monatsverbrauch |
219
+ | `lastDay` | Verbrauch **gesten** (Vortag) |
220
+ | `lastWeek` | Verbrauch **letzte Woche** |
221
+ | `lastMonth` | Verbrauch **letzter Monat** |
190
222
  | `lastDayStart` | Letzter Tages-Reset (00:00 Uhr) |
223
+ | `lastWeekStart` | Letzter Wochen-Reset (Montag) |
191
224
  | `lastMonthStart` | Letzter Monats-Reset (1. des Monats) |
192
225
  | `lastYearStart` | Vertragsbeginn / Jahresstart |
193
226
 
@@ -266,35 +299,48 @@ Der Adapter setzt Zähler automatisch zurück:
266
299
 
267
300
  | Zeitpunkt | Was passiert | Beispiel |
268
301
  | --------------------- | ------------- | ------------------- |
269
- | **00:00 Uhr** täglich | `daily` → 0 | Neuer Tag beginnt |
270
- | **1. des Monats** | `monthly` → 0 | Neuer Monat beginnt |
302
+ | **23:59 Uhr** täglich | `daily` → 0 | Neuer Tag beginnt |
303
+ | **Sonntag 23:59** | `weekly` → 0 | Neue Woche beginnt |
304
+ | **Monatsende 23:59** | `monthly` → 0 | Neuer Monat beginnt |
271
305
  | **Vertragsjubiläum** | `yearly` → 0 | Abrechnungsjahr neu |
272
306
 
273
307
  ---
274
308
 
275
309
  ## Changelog
276
310
 
311
+ ### 1.5.0 (2026-01-23)
312
+
313
+ - **NEU:** 📥 **CSV Import** - Importiere historische Zählerstände einfach per Drag-and-Drop:
314
+ - Neuer "Import"-Tab in der Konfiguration
315
+ - Modulare Backend-Struktur für CSV-Parsing
316
+ - Unterstützung für generische und EhB+-Formate
317
+ - Moderne React-basierte UI-Komponente für eine flüssige Bedienung
318
+ - **NEU:** 📊 **Wöchentliches Tracking** - Verbrauchsüberwachung nun auch auf Wochenbasis möglich
319
+ - **FIX:** 🕛 **Reset-Timing** - Automatische Resets werden nun um 23:59 Uhr ausgeführt (statt 00:00 Uhr), um Datenverluste am Ende des Zeitraums zu vermeiden
320
+ - **ARCHITEKTUR:** 🏗️ **Verbesserte Backend-Modularisierung**:
321
+ - `ImportManager` eingeführt, um die Logik von `main.js` zu trennen
322
+
277
323
  ### 1.4.6 (2026-01-20)
278
324
 
279
- - **⚠️ BREAKING CHANGE:** 🔄 **Main Meter Naming** - Hauptzähler benötigt jetzt einen Namen:
325
+ - **⚠️ BREAKING CHANGE:** 🔄 **Hauptzähler-Benennung** - Hauptzähler benötigt jetzt einen Namen:
280
326
  - **State-Pfade geändert**: `gas.*` → `gas.METER_NAME.*` (z.B. `gas.main.*`)
281
327
  - **Neue Config-Felder**: "Name des Hauptzählers" für Gas/Wasser/Strom/PV
282
328
  - **Default-Name**: "main" (wird automatisch verwendet wenn leer gelassen)
283
329
  - **Konsistente Struktur**: Alle Zähler (Haupt + Zusätzlich) verwenden jetzt `type.meterName.*`
284
330
  - **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "wohnung", "erdgeschoss", "gesamt")
285
- - **Keine Special-Cases**: Vereinfachter Code ohne `meterName === 'main'` Bedingungen
286
- - **NEW:** 🔔 **Smart Notifications** - Zählerauswahl für Benachrichtigungen:
331
+ - **Keine Special-Cases**: Vereinfachte Logik im Code
332
+ - **NEU:** 🔔 **Smart Notifications** - Zählerauswahl für Benachrichtigungen:
287
333
  - Wähle pro Utility-Typ aus, welche Zähler benachrichtigt werden sollen
288
334
  - Multi-Select Dropdown zeigt alle konfigurierten Zähler
289
335
  - Wenn leer: Alle Zähler werden benachrichtigt (Standard)
290
336
  - Wenn ausgewählt: Nur gewählte Zähler erhalten Benachrichtigungen
291
337
  - Gilt für Abrechnungsende, Vertragswechsel und monatliche Berichte
292
- - **IMPROVED:** 🏗️ **Code-Architektur** - Entfernung von 19 Special-Case Checks in 7 Dateien:
338
+ - **VERBESSERT:** 🏗️ **Code-Architektur** - Entfernung von 19 Special-Case Checks in 7 Dateien:
293
339
  - Vereinfachte basePath-Berechnungen in multiMeterManager, billingManager, stateManager
294
340
  - Vereinheitlichter Config-Zugriff (alle Meter nutzen `meter.config.contractStart`)
295
341
  - HT/NT-Logik basiert jetzt auf `config.htNtEnabled` statt Meter-Name
296
342
  - Button-Trigger erkennt nur noch einheitliche Pfadstruktur
297
- - Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt per-meter
343
+ - Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt pro Zähler
298
344
  - **MIGRATION:** 📋 **Upgrade-Hinweise**:
299
345
  - Bei Neuinstallation: Namen für Hauptzähler eingeben (oder "main" akzeptieren)
300
346
  - Bei Upgrade: Adapter neu konfigurieren + Skripte/Visualisierungen anpassen
@@ -303,40 +349,37 @@ Der Adapter setzt Zähler automatisch zurück:
303
349
 
304
350
  ### 1.4.5 (2026-01-20)
305
351
 
306
- - **FIX:** 🐛 **Critical Multi-Meter Cost Calculation Bugs** - Comprehensive fixes for multi-meter functionality:
307
- - **Main Meter Sync Issue**: Removed duplicate initialization that prevented `lastSync` updates on main meter
308
- - **basicCharge Accumulation**: Now correctly calculates `basicCharge = grundgebuehr × months` (was showing only 1 month)
309
- - **paidTotal Accumulation**: Now correctly calculates `paidTotal = abschlag × months` (was showing only 1 month)
310
- - **annualFee as Fixed Value**: Jahresgebühr is now used as fixed yearly value (e.g., 60€ stays 60€)
311
- - Previously incorrectly treated as monthly fee and multiplied by months
312
- - User-entered value in config (e.g., 60€) is now used directly as intended
313
- - **Balance Formula Corrected**: Fixed reversed formula `balance = totalYearly - paidTotal`
314
- - Positive balance = Nachzahlung (you owe money)
315
- - Negative balance = Guthaben (you get money back)
316
- - **IMPROVED:** 📦 **Dev-Dependencies**: Updated from tilde (~) to caret (^) versioning for better security updates
317
- - **CLEANUP:** 🧹 **Repository Compliance**: Removed unpublished versions from changelog (resolves ioBroker Bot Issue #1)
352
+ - **FIX:** 🐛 **Kritische Multi-Meter Kostenberechnungsfehler** - Umfassende Korrekturen für Multi-Meter Funktionalität:
353
+ - **Hauptzähler Sync-Problem**: Doppelte Initialisierung entfernt, die `lastSync` Updates verhinderte
354
+ - **basicCharge Akkumulation**: Berechnet jetzt korrekt `basicCharge = Grundgebühr × Monate` (vorher nur 1 Monat)
355
+ - **paidTotal Akkumulation**: Berechnet jetzt korrekt `paidTotal = Abschlag × Monate` (vorher nur 1 Monat)
356
+ - **Jahresgebühr als fester Wert**: Jahresgebühr wird jetzt als fester jährlicher Wert genutzt (z.B. 60€ bleibt 60€)
357
+ - Vorher fälschlicherweise als monatlich behandelt
358
+ - Eingegebener Wert wird nun direkt wie vorgesehen genutzt
359
+ - **Balance-Formel korrigiert**: Formel `balance = totalYearly - paidTotal` korrigiert
360
+ - Positive Balance = Nachzahlung (Schuldner)
361
+ - Negative Balance = Guthaben (Rückerstattung)
362
+ - **VERBESSERT:** 📦 **Entwickler-Abhängigkeiten**: Umstellung von Tilde (~) auf Caret (^) Versionierung für bessere Sicherheitsupdates
363
+ - **CLEANUP:** 🧹 **Repository Compliance**: Unveröffentlichte Versionen aus dem Changelog entfernt (löst ioBroker Bot Issue #1)
318
364
 
319
365
  ### 1.4.2 (2026-01-18)
320
366
 
321
- - **FIX:** 🔧 **TypeScript Errors Resolved** - All TypeScript compilation errors fixed:
322
- - Fixed `formatDateString()` missing argument in multiMeterManager
323
- - Fixed Date arithmetic type errors (explicit timestamp conversion)
324
- - Added `@ts-ignore` comments for intentional error tests
325
- - **FIX:** 🐛 **Critical Multi-Meter Balance Bug** - Fixed incorrect balance calculation:
326
- - `totalYearly` was using hardcoded 12 months for `basicCharge` instead of actual months since contract start
327
- - Now correctly calculates `basicChargeAccumulated = grundgebuehr × monthsSinceYearStart`
328
- - Fixes incorrect high balance values for users with mid-year contract start dates
329
- - **NEW:** **Enhanced Input Validation** - Robust validation for configuration values:
330
- - `isValidSensorDP()` - Validates sensor datapoint IDs
331
- - `parseConfigDate()` - Validates German and ISO date formats
332
- - `parseConfigPrice()` - Ensures prices are non-negative
333
- - **NEW:** 📋 **Extended Constants** - Centralized constant definitions:
334
- - Rounding precision, time constants, validation constraints
335
- - Better maintainability and consistency across modules
336
- - **NEW:** 🛡️ **Error Handling** - Safe wrapper for state creation:
337
- - `safeSetObjectNotExists()` catches and logs state creation failures
338
- - Prevents silent failures in StateManager
339
- - **IMPROVED:** 🧪 **Code Quality** - All tests passing (31 unit + 57 package tests)
367
+ - **FIX:** 🔧 **TypeScript Fehler behoben** - Alle Kompilierungsfehler behoben:
368
+ - `formatDateString()` fehlendes Argument im multiMeterManager korrigiert
369
+ - Datums-Arithmetik Typfehler behoben
370
+ - `@ts-ignore` Kommentare für absichtliche Fehlertests hinzugefügt
371
+ - **FIX:** 🐛 **Kritischer Multi-Meter Balance-Bug** - Korrektur fehlerhafter Bilanzberechnung:
372
+ - `totalYearly` nutzte hartcodierte 12 Monate für die Grundgebühr statt der tatsächlichen Monate seit Vertragsstart
373
+ - Berechnet nun korrekt `basicChargeAccumulated = Grundgebühr × MonateSeitJahresstart`
374
+ - **NEU:** **Erweiterte Eingabevalidierung** - Robuste Validierung von Konfigurationswerten:
375
+ - `isValidSensorDP()` - Validiert Sensor-Datenpunkt-IDs
376
+ - `parseConfigDate()` - Validiert deutsche und ISO Datumsformate
377
+ - `parseConfigPrice()` - Stellt sicher, dass Preise nicht negativ sind
378
+ - **NEU:** 📋 **Zentrale Konstanten** - Zentralisierte Konstantendefinitionen:
379
+ - Rundungspräzision, Zeitkonstanten, Validierungsregeln
380
+ - **NEU:** 🛡️ **Fehlerbehandlung** - Sicherer Wrapper für State-Erstellung:
381
+ - `safeSetObjectNotExists()` fängt Fehler bei der State-Erstellung ab
382
+ - **VERBESSERT:** 🧪 **Code-Qualität** - Alle Tests erfolgreich (31 Unit + 57 Paket-Tests)
340
383
 
341
384
  ---
342
385
 
@@ -0,0 +1,90 @@
1
+ {
2
+ "_UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js": {
3
+ "file": "assets/UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js",
4
+ "name": "UtilityMonitor__loadShare__react__loadShare__",
5
+ "imports": [
6
+ "__commonjsHelpers-Dj2_voLF.js",
7
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js"
8
+ ]
9
+ },
10
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js": {
11
+ "file": "assets/UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js",
12
+ "name": "UtilityMonitor__mf_v__runtimeInit__mf_v__"
13
+ },
14
+ "__commonjsHelpers-Dj2_voLF.js": {
15
+ "file": "assets/_commonjsHelpers-Dj2_voLF.js",
16
+ "name": "_commonjsHelpers"
17
+ },
18
+ "_index-B3WVNJTz.js": {
19
+ "file": "assets/index-B3WVNJTz.js",
20
+ "name": "index",
21
+ "isDynamicEntry": true,
22
+ "imports": [
23
+ "__commonjsHelpers-Dj2_voLF.js",
24
+ "_UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js"
25
+ ]
26
+ },
27
+ "_index-VBwl8x_k.js": {
28
+ "file": "assets/index-VBwl8x_k.js",
29
+ "name": "index",
30
+ "isDynamicEntry": true,
31
+ "imports": [
32
+ "__commonjsHelpers-Dj2_voLF.js"
33
+ ]
34
+ },
35
+ "_preload-helper-BelkbqnE.js": {
36
+ "file": "assets/preload-helper-BelkbqnE.js",
37
+ "name": "preload-helper"
38
+ },
39
+ "node_modules/__mf__virtual/UtilityMonitor__H_A_I__hostAutoInit__H_A_I__.js": {
40
+ "file": "assets/hostInit-DEXfeB0W.js",
41
+ "name": "hostInit",
42
+ "src": "node_modules/__mf__virtual/UtilityMonitor__H_A_I__hostAutoInit__H_A_I__.js",
43
+ "isEntry": true,
44
+ "imports": [
45
+ "_preload-helper-BelkbqnE.js"
46
+ ],
47
+ "dynamicImports": [
48
+ "virtual:mf-REMOTE_ENTRY_ID"
49
+ ]
50
+ },
51
+ "src/Components.tsx": {
52
+ "file": "assets/Components-i0AZ59nl.js",
53
+ "name": "Components",
54
+ "src": "src/Components.tsx",
55
+ "isDynamicEntry": true,
56
+ "imports": [
57
+ "_UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js",
58
+ "__commonjsHelpers-Dj2_voLF.js",
59
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js"
60
+ ]
61
+ },
62
+ "virtual:mf-REMOTE_ENTRY_ID": {
63
+ "file": "CSVImporter_v15_11.js",
64
+ "name": "CSVImporter_v15_11",
65
+ "src": "virtual:mf-REMOTE_ENTRY_ID",
66
+ "isEntry": true,
67
+ "isDynamicEntry": true,
68
+ "imports": [
69
+ "virtual:mf-exposes",
70
+ "_preload-helper-BelkbqnE.js",
71
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js"
72
+ ],
73
+ "dynamicImports": [
74
+ "_index-VBwl8x_k.js",
75
+ "_index-B3WVNJTz.js"
76
+ ]
77
+ },
78
+ "virtual:mf-exposes": {
79
+ "file": "assets/virtualExposes-CqCLUNLT.js",
80
+ "name": "virtualExposes",
81
+ "src": "virtual:mf-exposes",
82
+ "isEntry": true,
83
+ "imports": [
84
+ "_preload-helper-BelkbqnE.js"
85
+ ],
86
+ "dynamicImports": [
87
+ "src/Components.tsx"
88
+ ]
89
+ }
90
+ }
@@ -0,0 +1,2 @@
1
+ export * from './compiled-types/Components';
2
+ export { default } from './compiled-types/Components';
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ interface CSVImporterProps {
3
+ socket: any;
4
+ data?: any;
5
+ onError?: (error: string) => void;
6
+ onChange?: (data: any) => void;
7
+ instance: number;
8
+ adapterName: string;
9
+ }
10
+ declare const CSVImporter: React.FC<CSVImporterProps>;
11
+ export default CSVImporter;
@@ -0,0 +1,2 @@
1
+ declare const components: Record<string, any>;
2
+ export default components;
@@ -0,0 +1,3 @@
1
+
2
+ export type RemoteKeys = 'REMOTE_ALIAS_IDENTIFIER/Components';
3
+ type PackageType<T> = T extends 'REMOTE_ALIAS_IDENTIFIER/Components' ? typeof import('REMOTE_ALIAS_IDENTIFIER/Components') :any;
Binary file