blue-chestnut-solar-expert 0.0.34 → 0.0.35
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/dist/cjs/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/eraser-icon_16.cjs.entry.js +78 -42
- package/dist/cjs/eraser-icon_16.cjs.entry.js.map +1 -1
- package/dist/cjs/loading-widget.cjs.entry.js +1 -1
- package/dist/collection/components/map-draw/tool-box.js +7 -3
- package/dist/collection/components/map-draw/tool-box.js.map +1 -1
- package/dist/collection/components/solar-expert/solar-expert.js +2 -2
- package/dist/collection/components/solar-expert/solar-expert.js.map +1 -1
- package/dist/collection/components/solar-system-form/solar-system-form.js +58 -33
- package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
- package/dist/collection/components/widgets/loading-widget.js +1 -1
- package/dist/collection/constants.js +1 -1
- package/dist/collection/constants.js.map +1 -1
- package/dist/collection/types/lang.js.map +1 -1
- package/dist/collection/utils/lang/english.js +1 -0
- package/dist/collection/utils/lang/english.js.map +1 -1
- package/dist/collection/utils/lang/german.js +1 -0
- package/dist/collection/utils/lang/german.js.map +1 -1
- package/dist/collection/utils/lang/spanish.js +1 -0
- package/dist/collection/utils/lang/spanish.js.map +1 -1
- package/dist/collection/utils/simulation/simulation.js +8 -3
- package/dist/collection/utils/simulation/simulation.js.map +1 -1
- package/dist/collection/utils/simulation/types.js.map +1 -1
- package/dist/components/loading-widget.js +1 -1
- package/dist/components/map-draw.js +1 -1
- package/dist/components/map-selector.js +1 -1
- package/dist/components/{p-DbJfa2yQ.js → p-2Um_yzGy.js} +3 -3
- package/dist/components/{p-DbJfa2yQ.js.map → p-2Um_yzGy.js.map} +1 -1
- package/dist/components/{p-BGxYjXB5.js → p-3JEPWoBM.js} +3 -3
- package/dist/components/{p-BGxYjXB5.js.map → p-3JEPWoBM.js.map} +1 -1
- package/dist/components/{p-BcV6HHN8.js → p-BU8VgrD9.js} +3 -3
- package/dist/components/{p-BcV6HHN8.js.map → p-BU8VgrD9.js.map} +1 -1
- package/dist/components/{p-CrzEBN9H.js → p-C8ujytCa.js} +69 -40
- package/dist/components/p-C8ujytCa.js.map +1 -0
- package/dist/components/{p-B1ywivYa.js → p-CUDvRPwB.js} +3 -3
- package/dist/components/{p-B1ywivYa.js.map → p-CUDvRPwB.js.map} +1 -1
- package/dist/components/{p-DMkbzkL_.js → p-DJT7IBlC.js} +10 -6
- package/dist/components/p-DJT7IBlC.js.map +1 -0
- package/dist/components/{p-BLXc1FjC.js → p-DmmMPG7q.js} +5 -2
- package/dist/components/p-DmmMPG7q.js.map +1 -0
- package/dist/components/{p-ClYOM_0b.js → p-wv9-rUOt.js} +8 -8
- package/dist/components/{p-ClYOM_0b.js.map → p-wv9-rUOt.js.map} +1 -1
- package/dist/components/polygon-buttons.js +1 -1
- package/dist/components/polygon-information.js +1 -1
- package/dist/components/settings-modal.js +1 -1
- package/dist/components/solar-expert.js +10 -10
- package/dist/components/solar-expert.js.map +1 -1
- package/dist/components/solar-system-form.js +1 -1
- package/dist/components/tool-box.js +1 -1
- package/dist/esm/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.js.map +1 -1
- package/dist/esm/eraser-icon_16.entry.js +78 -42
- package/dist/esm/eraser-icon_16.entry.js.map +1 -1
- package/dist/esm/loading-widget.entry.js +1 -1
- package/dist/stencil-library/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.esm.js.map +1 -1
- package/dist/stencil-library/{p-1e4e5fe9.entry.js → p-b1771344.entry.js} +2 -2
- package/dist/stencil-library/p-e92dbc2a.entry.js +2 -0
- package/dist/stencil-library/p-e92dbc2a.entry.js.map +1 -0
- package/dist/stencil-library/stencil-library.esm.js +1 -1
- package/dist/types/components/solar-system-form/solar-system-form.d.ts +1 -0
- package/dist/types/constants.d.ts +1 -1
- package/dist/types/types/lang.d.ts +1 -0
- package/dist/types/utils/simulation/types.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/p-BLXc1FjC.js.map +0 -1
- package/dist/components/p-CrzEBN9H.js.map +0 -1
- package/dist/components/p-DMkbzkL_.js.map +0 -1
- package/dist/stencil-library/p-958f0a27.entry.js +0 -2
- package/dist/stencil-library/p-958f0a27.entry.js.map +0 -1
- /package/dist/stencil-library/{p-1e4e5fe9.entry.js.map → p-b1771344.entry.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, h } from './index.js';
|
|
2
|
-
import { g as getLanguageStrings, s as state } from './p-
|
|
2
|
+
import { g as getLanguageStrings, s as state } from './p-DmmMPG7q.js';
|
|
3
3
|
|
|
4
4
|
const DOTTED_LINE_COLOR = "rgba(0, 0, 0, 0.5)";
|
|
5
5
|
const ROW_SPACING = 1;
|
|
6
6
|
const COLUMN_SPACING = 1;
|
|
7
7
|
const BORDER_INSET = 0;
|
|
8
8
|
const DEFAULT_SUNNINESS = 600;
|
|
9
|
-
const HEAT_PUMP_CONSUMPTION = 0.
|
|
9
|
+
const HEAT_PUMP_CONSUMPTION = 0.02; // kWh per m² per day
|
|
10
10
|
const CONSUMPTION_PROFILES = {
|
|
11
11
|
mostly_at_home: [
|
|
12
12
|
0.1,
|
|
@@ -173,8 +173,13 @@ function simulateDay(production, consumption, dailyConsumption, battery) {
|
|
|
173
173
|
const energyDifference = production[hour] - consumption[hour];
|
|
174
174
|
if (energyDifference > 0) {
|
|
175
175
|
energyUsageOfProduction += consumption[hour];
|
|
176
|
-
if (batteryCharge < battery) {
|
|
177
|
-
batteryCharge =
|
|
176
|
+
if (batteryCharge < battery && batteryCharge + energyDifference <= battery) {
|
|
177
|
+
batteryCharge = batteryCharge + energyDifference;
|
|
178
|
+
}
|
|
179
|
+
else if (batteryCharge < battery) {
|
|
180
|
+
const batteryDifference = battery - batteryCharge;
|
|
181
|
+
batteryCharge = battery;
|
|
182
|
+
soldEnergy += energyDifference - batteryDifference;
|
|
178
183
|
}
|
|
179
184
|
else {
|
|
180
185
|
soldEnergy += energyDifference;
|
|
@@ -188,7 +193,6 @@ function simulateDay(production, consumption, dailyConsumption, battery) {
|
|
|
188
193
|
}
|
|
189
194
|
else {
|
|
190
195
|
energyUsageOfProduction += production[hour] + batteryCharge;
|
|
191
|
-
soldEnergy -= energyDifference + batteryCharge;
|
|
192
196
|
batteryCharge = 0;
|
|
193
197
|
}
|
|
194
198
|
}
|
|
@@ -249,6 +253,7 @@ function simulate(config) {
|
|
|
249
253
|
autonomy: (summerDay.autonomy + winterDay.autonomy) / 2,
|
|
250
254
|
compensationPerDay: soldEnergy * config.electricityPrice.sell,
|
|
251
255
|
byYearSavedCosts: savedCostsByYear,
|
|
256
|
+
totalEnergyConsumptionDay: (summerConsumptionWholeDay + winterConsumptionWholeDay) / 2,
|
|
252
257
|
};
|
|
253
258
|
}
|
|
254
259
|
|
|
@@ -296,6 +301,16 @@ const SolarSystemForm = /*@__PURE__*/ proxyCustomElement(class SolarSystemForm e
|
|
|
296
301
|
.kWattPeak;
|
|
297
302
|
this.recalculate();
|
|
298
303
|
}
|
|
304
|
+
formatEuropeanNumber(num, decimals = 2) {
|
|
305
|
+
const fixed = num.toFixed(decimals);
|
|
306
|
+
const [integerPart, decimalPart] = fixed.split(".");
|
|
307
|
+
// Add dots as thousands separators
|
|
308
|
+
const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
|
|
309
|
+
// Join with comma as decimal separator
|
|
310
|
+
return decimalPart
|
|
311
|
+
? `${formattedInteger},${decimalPart}`
|
|
312
|
+
: formattedInteger;
|
|
313
|
+
}
|
|
299
314
|
recalculate() {
|
|
300
315
|
const simulationConfig = {
|
|
301
316
|
general: {
|
|
@@ -392,13 +407,13 @@ const SolarSystemForm = /*@__PURE__*/ proxyCustomElement(class SolarSystemForm e
|
|
|
392
407
|
}
|
|
393
408
|
render() {
|
|
394
409
|
const t = getLanguageStrings(state.settings.language);
|
|
395
|
-
return (h("div", { key: '
|
|
410
|
+
return (h("div", { key: '1ae88d30fbe89d5117b06b72258eb614b5e9371d', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
|
|
396
411
|
,
|
|
397
412
|
// display: (Object.keys(this.systemConfigs).length === 0)
|
|
398
413
|
// ? "none"
|
|
399
414
|
// : "flex",
|
|
400
415
|
// }}
|
|
401
|
-
id: "solar-system-form" }, h("h1", { key: '
|
|
416
|
+
id: "solar-system-form" }, h("h1", { key: '6be2af903cc9eab0aaade44ba5ced159debb7865', class: "text-2xl font-bold text-secondary mb-4 w-full" }, t.solarSystemForm.title), h("div", { key: 'd22714961f748004062408498d98935760fd0ba5', class: "w-full bg-primary rounded-4xl p-6 space-y-6" }, h("div", { key: '2379aa7eff17d0e5e702d5d4374fc17a7fb94ffd', class: "space-y-4" }, h("h2", { key: 'f73f73ccc7b3152b318d9e2c09cf85920a13b236', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.systemInformation), h("div", { key: '8fda12c5d7eec29418ad796112dc64f50e73eead', class: "grid grid-rows-3 gap-0" }, h("div", { key: 'd6a4a9b312299b9f9959a5844bf5b9334b998fec', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'a2a7db81b5bb8e21763464ff4cff3e30bef74fc3', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.numberOfPanels), h("label", { key: 'fc9b18fcd0e8b8f4e878c40e30a22ea397294c5c', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.panelPeakPower)), h("div", { key: 'edf38f4430c8a70bd2b1f39a027657ed59ffeb18', class: "grid grid-cols-2 gap-4" }, !this.isIOS()
|
|
402
417
|
? (h("input", { type: "number", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.numberOfPanels, readOnly: true }))
|
|
403
418
|
: (h("input", { type: "number", min: "1", max: this.maxPanels, class: "flex-1 px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.numberOfPanels, onInput: (e) => {
|
|
404
419
|
const value = parseInt(e.target
|
|
@@ -409,36 +424,36 @@ const SolarSystemForm = /*@__PURE__*/ proxyCustomElement(class SolarSystemForm e
|
|
|
409
424
|
this.numberOfPanels = value;
|
|
410
425
|
this.recalculate();
|
|
411
426
|
}
|
|
412
|
-
} })), h("input", { key: '
|
|
413
|
-
(h("input", { key: '
|
|
427
|
+
} })), h("input", { key: '312408e6c6bbb9badf4b699606ad017e200c6e26', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.panelPeakPower, readonly: true })), h("div", { key: 'b02e4d8355f23b0a703056797ba570aea6623ebf', class: "grid grid-cols-2 gap-4" }, h("div", { key: '00ab5e96539ce96f65dc6b612741ca87a89a527c', class: "w-full pt-2" }, !this.isIOS() &&
|
|
428
|
+
(h("input", { key: '5b892d1da7810fb107f17939469329478ff6af32', type: "range", min: "1", max: this.maxPanels, step: "1", class: "input-slider w-full custom-range appearance-none rounded-full bg-transparent [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-black/25 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:h-[10px] [&::-webkit-slider-thumb]:w-[10px] [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-muted", value: this.numberOfPanels, onInput: (e) => {
|
|
414
429
|
this.numberOfPanels =
|
|
415
430
|
parseInt(e.target
|
|
416
431
|
.value);
|
|
417
432
|
this.recalculate();
|
|
418
|
-
} }))))), h("div", { key: '
|
|
419
|
-
this.numberOfPanels).toFixed(1), " kW")))), h("div", { key: '
|
|
433
|
+
} }))))), h("div", { key: '38eba0ef58b127f95e6bafcf0604e6b515db9341', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '00d5d43ce80bedafe103ef31835fada196761cfa', class: "flex items-center justify-between" }, h("span", { key: '9c2500184852f0b7b4de75b1caf0a70d3c86fb7b', class: "text-text-muted" }, t.solarSystemForm.totalSystemPeakPower), h("span", { key: 'de96fd48027d7a95bb628b0455a042fee4033dad', class: "text-xl font-bold text-secondary" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
|
|
434
|
+
this.numberOfPanels).toFixed(1), " kW")))), h("div", { key: 'e03cc455e8a3f74b33e07b25d6ad03ec02aa573c', class: "space-y-4" }, h("h2", { key: 'c76da7ecabe9c84dfb6648aa752241a3400f696c', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.householdConsumptionTitle), h("div", { key: '574a3c0b62f1e1972ae79047dc6cc2f298a4479e', class: "grid grid-rows-2 gap-0" }, h("div", { key: 'd29dda751ad3ec80253c2247db21f0d831e5ecbd', class: "grid grid-cols-2 gap-4" }, h("label", { key: '637a2bf8d0b779a9819742d1083a98f72cbdff92', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.annualConsumption), h("label", { key: '3756f091f2f85dafe6301d82789a6c69251fd2f8', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.consumptionProfileTitle)), h("div", { key: '91822e7ef92a9297abcfe4ee0900377a26919542', class: "grid grid-cols-2 gap-4" }, h("input", { key: 'd6efc3b9d5482e8d4c4a1e212f11d4e1663781eb', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.householdConsumption, onInput: (e) => {
|
|
420
435
|
this.householdConsumption = parseInt(e.target
|
|
421
436
|
.value);
|
|
422
437
|
this.recalculate();
|
|
423
|
-
} }), h("select", { key: '
|
|
438
|
+
} }), h("select", { key: 'd206161ce9c8b56f6b71ff23d688d76aa87ed10e', class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", onChange: (e) => {
|
|
424
439
|
this.consumptionProfile =
|
|
425
440
|
e.target
|
|
426
441
|
.value;
|
|
427
442
|
this.recalculate();
|
|
428
|
-
} }, h("option", { key: '
|
|
443
|
+
} }, h("option", { key: '3277b1fa3f7adb6761f61e120b82c0cc0afdffc2', value: "mostly_at_home", selected: this.consumptionProfile ===
|
|
429
444
|
"mostly_at_home" }, t.solarSystemForm.consumptionProfiles
|
|
430
|
-
.mostlyAtHome), h("option", { key: '
|
|
445
|
+
.mostlyAtHome), h("option", { key: 'ba986968b4e63e53bbefba4551cb3d13d2631b86', value: "mostly_away", selected: this.consumptionProfile ===
|
|
431
446
|
"mostly_away" }, t.solarSystemForm.consumptionProfiles
|
|
432
|
-
.mostlyAway))))), h("div", { key: '
|
|
447
|
+
.mostlyAway))))), h("div", { key: 'b1df61d9586befe53d46457fd2d0836a5b5bc697', class: "space-y-4" }, h("h2", { key: 'd24180e9bbc0d4f625154ad8bff99e23a0cb1a62', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.additionalComponents.title), h("div", { key: 'b559b111e2005d63db36e500deae0733a473aa8d', class: "flex flex-col gap-4" }, h("div", { key: '139ff7f1d6624ca6fd31a155c36729be21e1f8b0', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '3db4013aaa29485966b13231e35d34f300abfc1b', class: "flex items-center justify-between" }, h("div", { key: '2fbd022c9d21c798308d713392224a7161a18799', class: "flex items-center gap-2" }, h("input", { key: '379f28e54b9cb06be1e6581cee9bfe280de5c15b', type: "checkbox", id: "heatPump", class: "w-4 h-4 accent-tertiary border-border rounded-full focus:ring-tertiary focus:ring-offset-0 focus:ring-2", checked: this.heatPump > 0, onChange: (e) => {
|
|
433
448
|
this.heatPump =
|
|
434
449
|
e.target
|
|
435
450
|
.checked
|
|
436
451
|
? 100
|
|
437
452
|
: 0;
|
|
438
453
|
this.recalculate();
|
|
439
|
-
} }), h("label", { key: '
|
|
454
|
+
} }), h("label", { key: 'a4ae005639f2703c4c3ba336404fa0e19822f5d3', htmlFor: "heatPump", class: "text-text-muted" }, t.solarSystemForm
|
|
440
455
|
.additionalComponents
|
|
441
|
-
.heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: '
|
|
456
|
+
.heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: '54d4a2e5fe6cd0cbccc8d87f0199a6e241ff9b72', class: "text-text-muted" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (h("div", { key: 'be90b9492b1ae91b49564e646f46b7f80c766ad4', class: "flex flex-col gap-2" }, this.isIOS()
|
|
442
457
|
? (h("div", { class: "flex items-center gap-2" }, h("input", { type: "number", min: "10", max: "300", step: "10", class: "flex-1 px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", style: {
|
|
443
458
|
border: "1px solid var(--color-border)",
|
|
444
459
|
}, value: this.heatPump, onInput: (e) => {
|
|
@@ -456,41 +471,41 @@ const SolarSystemForm = /*@__PURE__*/ proxyCustomElement(class SolarSystemForm e
|
|
|
456
471
|
parseInt(e.target
|
|
457
472
|
.value);
|
|
458
473
|
this.recalculate();
|
|
459
|
-
} }))))), h("div", { key: '
|
|
474
|
+
} }))))), h("div", { key: '5a15fbb22033d5bf3aa17412318e5caba273409f', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '14c992b960da894105afe998908091f71d8e9556', class: "flex items-center justify-between" }, h("div", { key: 'c620cfc146bfe4dfb963c8f4fe9f7da6b8fb03b7', class: "flex items-center gap-2" }, h("input", { key: 'ca46124ad41d16279663a58ec486ccd5869601ef', type: "checkbox", id: "electricCar", class: "w-4 h-4 accent-tertiary border-border rounded focus:ring-tertiary focus:ring-offset-0 focus:ring-2", checked: this.electricCar, onChange: (e) => {
|
|
460
475
|
this.electricCar =
|
|
461
476
|
e.target
|
|
462
477
|
.checked;
|
|
463
478
|
this.recalculate();
|
|
464
|
-
} }), h("label", { key: '
|
|
479
|
+
} }), h("label", { key: 'dd5f3537a4f0b436b4b84e20726ecd95694df4a4', htmlFor: "electricCar", class: "text-text-muted" }, t.solarSystemForm
|
|
465
480
|
.additionalComponents
|
|
466
|
-
.electricCar))), this.electricCar && (h("div", { key: '
|
|
481
|
+
.electricCar))), this.electricCar && (h("div", { key: '3d8faac9b29457cabaef3e82fd490d7669c2ed79', class: "flex flex-col gap-2" }, h("div", { key: 'fd885be1fd003f9724398f97ea459144738cbc90', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'bcfd46f61643c0d5c4a9c93e990ff6be4937efc2', class: "text-sm text-text-muted" }, t.solarSystemForm
|
|
467
482
|
.additionalComponents
|
|
468
|
-
.chargingTime), h("label", { key: '
|
|
483
|
+
.chargingTime), h("label", { key: 'acd1b8541b5d814e81949d06d2d1d56cc872fbd3', class: "text-sm text-text-muted" }, t.solarSystemForm
|
|
469
484
|
.additionalComponents
|
|
470
|
-
.kilometersPerYear)), h("div", { key: '
|
|
485
|
+
.kilometersPerYear)), h("div", { key: '1a9772ff5b6b4f3285afea70d9d5953bd3501d02', class: "grid grid-cols-2 gap-4" }, h("select", { key: 'd45e7979f476bd3afe2ef3a62107240b053f9bbb', class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", onChange: (e) => {
|
|
471
486
|
this.electricCarChargingTime =
|
|
472
487
|
e.target
|
|
473
488
|
.value;
|
|
474
489
|
this.recalculate();
|
|
475
490
|
}, style: {
|
|
476
491
|
border: "1px solid var(--color-border)",
|
|
477
|
-
} }, h("option", { key: '
|
|
492
|
+
} }, h("option", { key: 'c23713921e55368b7f4013503c1aa422dea05fd0', value: "day", selected: this
|
|
478
493
|
.electricCarChargingTime ===
|
|
479
494
|
"day" }, t.solarSystemForm
|
|
480
495
|
.additionalComponents
|
|
481
|
-
.chargingTimeDay), h("option", { key: '
|
|
496
|
+
.chargingTimeDay), h("option", { key: '67f440a8ba935e56098aae561f7f338dab01b219', value: "night", selected: this
|
|
482
497
|
.electricCarChargingTime ===
|
|
483
498
|
"night" }, t.solarSystemForm
|
|
484
499
|
.additionalComponents
|
|
485
|
-
.chargingTimeNight)), h("input", { key: '
|
|
500
|
+
.chargingTimeNight)), h("input", { key: '5d819884df9ba63f940a88bfd0d9d36fc988e56e', type: "number", min: "1000", max: "50000", step: "1000", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.kmDrivenPerYear, onInput: (e) => {
|
|
486
501
|
this.kmDrivenPerYear =
|
|
487
502
|
parseInt(e.target
|
|
488
503
|
.value);
|
|
489
504
|
this.recalculate();
|
|
490
505
|
}, style: {
|
|
491
506
|
border: "1px solid var(--color-border)",
|
|
492
|
-
} }))))), h("div", { key: '
|
|
493
|
-
.battery), !this.isIOS() && (h("span", { key: '
|
|
507
|
+
} }))))), h("div", { key: '0a5d7fbfc2abc407c28d189b60a06df9eff66b1a', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '6996b502573c22718ebf8668382700e8b1a52e9b', class: "flex items-center justify-between" }, h("label", { key: '6b1bc5859ad5dd7c40726f5e04a41b5470afa20e', class: "text-text-muted" }, t.solarSystemForm.additionalComponents
|
|
508
|
+
.battery), !this.isIOS() && (h("span", { key: 'b9a2629a617c204f9064b447b13e978e2df0e71b', class: "text-text-muted" }, this.battery, " kWh"))), h("div", { key: '75726ee7956ee611de845ea2349713e3a156c4f2', class: "flex flex-col gap-2" }, this.isIOS()
|
|
494
509
|
? (h("div", { class: "flex items-center gap-2" }, h("input", { type: "number", min: "0", max: "20", step: "1", class: "flex-1 px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.battery, onInput: (e) => {
|
|
495
510
|
const value = parseInt(e.target
|
|
496
511
|
.value);
|
|
@@ -507,41 +522,55 @@ const SolarSystemForm = /*@__PURE__*/ proxyCustomElement(class SolarSystemForm e
|
|
|
507
522
|
this.battery = parseInt(e.target
|
|
508
523
|
.value);
|
|
509
524
|
this.recalculate();
|
|
510
|
-
} })))))), h("div", { key: '
|
|
525
|
+
} })))))), h("div", { key: 'ead8323aa774b23dc250685fb1e790b239070166', class: "space-y-4" }, h("h2", { key: '1eba342b1d3b4dfd7bd1173fa7381825d3070bd2', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.electricityCostsTitle), h("div", { key: '14baaadcb93e5ee4076a5565156ca48620801dac', class: "grid grid-rows-2 gap-0" }, h("div", { key: '6355241c7a8b27e1c0eb39b5b678286c7e039e64', class: "grid grid-cols-3 gap-4" }, h("label", { key: '2617defe06150d2e67e9470950ae3073af947a92', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.electricityPrice), h("label", { key: '188ce676aa0c1e528a11718068080a68257bf99e', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.compensationRate), h("label", { key: '850a4ef204bb9487ec6385e17bb0c06a063dd53c', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.annualPriceIncrease)), h("div", { key: '4f6ff1e0a3147984cd000946017619c838016f12', class: "grid grid-cols-3 gap-4 text-primary-foreground" }, h("input", { key: 'bb173e355fb17bc3c760342c16b1d28a2293c9d1', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.electricityPrice.toFixed(2), onInput: (e) => {
|
|
511
526
|
this.electricityPrice = parseFloat(e.target
|
|
512
527
|
.value);
|
|
513
528
|
this.recalculate();
|
|
514
|
-
} }), h("input", { key: '
|
|
529
|
+
} }), h("input", { key: 'f75ea4cfad61746c716a985ec3edf8dd93700dea', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.compensationRate.toFixed(2), onInput: (e) => {
|
|
515
530
|
this.compensationRate = parseFloat(e.target
|
|
516
531
|
.value);
|
|
517
532
|
this.recalculate();
|
|
518
|
-
} }), h("input", { key: '
|
|
533
|
+
} }), h("input", { key: '34ad225b5da90c29d595680369a683236b018b4f', type: "number", step: "0.1", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.annualPriceIncrease.toFixed(1), onInput: (e) => {
|
|
519
534
|
this.annualPriceIncrease = parseFloat(e.target
|
|
520
535
|
.value);
|
|
521
536
|
this.recalculate();
|
|
522
|
-
} })))), h("div", { key: '
|
|
537
|
+
} })))), h("div", { key: 'be3c737cf611997409562b6328f0becfce6eee56', class: "space-y-4 p-4 border border-border rounded-4xl", style: {
|
|
523
538
|
border: "1px solid var(--color-border)",
|
|
524
|
-
} }, h("h2", { key: '
|
|
539
|
+
} }, h("h2", { key: 'd85e0b1968326cbfa47ba2447cd625b5e801933b', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.resultsTitle), h("div", { key: '44e90f2bf38d401df3fba4047bf6015c01c00e73', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '10f2c095e5970d55e197d3e2d5121e1b12c82ac8', class: "flex items-center justify-between" }, h("span", { key: '6671e18dc641d84640d35395ad9d3ed4ee35fcd4', class: "text-text-muted" }, t.solarSystemForm.autonomy), h("span", { key: '89c304d23420e6daa3d046640df30d8a0af1eb46', class: "text-xl font-bold text-secondary" }, this.autonomy > 100
|
|
525
540
|
? "100"
|
|
526
|
-
: this.autonomy
|
|
527
|
-
|
|
528
|
-
|
|
541
|
+
: this.formatEuropeanNumber(this.autonomy, 1), "%")), h("div", { key: '3629db34720f0053aaca70a6ee61ffb2a0c1b446', class: "flex items-center justify-between mt-4" }, h("span", { key: '91d347389c7e63b0d639d1bbc03f970cef92dc2b', class: "text-text-muted" }, t.solarSystemForm.totalEnergyConsumption), h("span", { key: 'd31714768be7b21f3470ee1e90dff8f4c6484b79', class: "text-xl font-bold text-secondary" }, (() => {
|
|
542
|
+
let total = this.householdConsumption;
|
|
543
|
+
// Add electric car consumption: km/year * 17kWh/100km
|
|
544
|
+
if (this.electricCar) {
|
|
545
|
+
total +=
|
|
546
|
+
(this.kmDrivenPerYear * 17) /
|
|
547
|
+
100;
|
|
548
|
+
}
|
|
549
|
+
// Add heat pump consumption: m2 * 60kWh/m2/year (typical estimate)
|
|
550
|
+
if (this.heatPump > 0) {
|
|
551
|
+
total += this.heatPump *
|
|
552
|
+
HEAT_PUMP_CONSUMPTION * 365;
|
|
553
|
+
}
|
|
554
|
+
return this.formatEuropeanNumber(total, 0);
|
|
555
|
+
})(), " kWh/", t.solarSystemForm.year)), h("div", { key: 'ff25e0aa4e9e0d240da27798344cecd87a50a980', class: "flex items-center justify-between mt-4" }, h("div", { key: '1bb0704dcbe48cee6059e9434d70a8bc41942664', class: "flex items-center gap-2" }, h("span", { key: 'cdccfd451a6e8658c2a0fe94d7cee4f091883aa8', class: "text-text-muted" }, t.solarSystemForm.costSavings), h("div", { key: '0f1126a6e4c08447c8fc58632efdb15a910d14a2', class: "relative group" }, h("svg", { key: '001578216fc70a81618354955c8566334ddd8537', xmlns: "http://www.w3.org/2000/svg", class: "h-5 w-5 text-gray-400 cursor-help", viewBox: "0 0 20 20", fill: "currentColor" }, h("path", { key: '23fa0cf5f2cd0cdfc8de271194e7ca88a0daed0b', "fill-rule": "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z", "clip-rule": "evenodd" })), h("div", { key: 'a1aa7e03d52fe658462e32df3e533c502827f7a7', class: "absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-64 p-2 bg-gray-800 text-muted text-sm rounded-lg opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none" }, t.solarSystemForm
|
|
556
|
+
.savingsDisclaimer))), h("span", { key: '56375d976935a662e6d2511cad3d5834c120df3f', class: "text-xl font-bold text-success" }, this.formatEuropeanNumber(this.costSavings), "\u20AC/", t
|
|
557
|
+
.solarSystemForm.year)), h("div", { key: 'cd828e6c6926daab2233cedf4305e2fdb97be676', class: "flex items-center justify-between mt-4" }, h("div", { key: '0795d59077e5b0c797f057e031831cee8534c3c9', class: "flex items-center gap-2" }, h("span", { key: '6f48091f7555b8a325ad09738ac0cdb31e865154', class: "text-text-muted" }, "Einspeiseverg\u00FCtung 25 Jahre")), h("span", { key: 'f7791292253c6806157551d30170e4688ed3458a', class: "text-xl font-bold text-success" }, this.formatEuropeanNumber(this.compensation25Years), "\u20AC")), h("div", { key: '27c89b500a48af7f669ebaa0b489d94b976686e2', class: "flex items-center justify-between mt-4" }, h("div", { key: '21626f89fe1fd478b6ebf8dc28d98e9078e184ce', class: "flex items-center gap-2" }, h("span", { key: '157a25f00e437addc545785cb2238a61f23778cd', class: "text-text-muted" }, "Geldwerter Vorteil 25 Jahre")), h("span", { key: '450ca4a9726b877821b18efdb0f78993d43783be', class: "text-xl font-bold text-success" }, this.formatEuropeanNumber(this.savedCosts25Years), "\u20AC")))), h("div", { key: '27f91849d3fd0fa188dfb3303c5088fbb31477f6', class: "space-y-4 pt-4" }, h("h2", { key: '1fb4615d9f7fc7499796ff4bfc1f94de06347230', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.requestOffer), h("div", { key: 'b0fc51a1e23c8e6d888f52cb6c348ef87e0c021d', class: "grid gap-4" }, h("div", { key: 'dbc8276df0f39e6206cafad9ee78198bba4231a2', class: "grid grid-cols-2 gap-4" }, h("label", { key: '17f832a75bf26e206baf332a852e9918287ceddd', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.name), h("label", { key: 'c5f51ed3415cee24796980972003cb9d3d67377f', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.email)), h("div", { key: 'aca926ba4957bc3f49c078ee26c187b2fa2e09c5', class: "grid grid-cols-2 gap-4" }, h("div", { key: 'bf67470f202a91c87794b9f524be7d6f8798a9d6' }, h("input", { key: 'e0ef0652f15c0b8131be5c08ab7e676053723403', type: "text", class: `w-full px-4 py-2 rounded-4xl border ${this.nameError
|
|
529
558
|
? "border-error"
|
|
530
559
|
: "border-border"} focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, value: this.name, onInput: (e) => {
|
|
531
560
|
this.name =
|
|
532
561
|
e.target
|
|
533
562
|
.value;
|
|
534
563
|
this.validateForm();
|
|
535
|
-
}, placeholder: "Your name" }), this.nameError && (h("p", { key: '
|
|
564
|
+
}, placeholder: "Your name" }), this.nameError && (h("p", { key: '4f4b48a763a00e0c3b01a7fb0114f34b233c0fd3', class: "text-error text-sm mt-1" }, this.nameError))), h("div", { key: 'c8ab7002857c3826009860ab2ebf9d87c1bde1b7' }, h("input", { key: 'd8b3df2653a9e8391f3322498757393342f2a86d', type: "email", class: `w-full px-4 py-2 rounded-4xl border ${this.emailError
|
|
536
565
|
? "border-error"
|
|
537
566
|
: "border-border"} focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, value: this.email, onInput: (e) => {
|
|
538
567
|
this.email =
|
|
539
568
|
e.target
|
|
540
569
|
.value;
|
|
541
570
|
this.validateForm();
|
|
542
|
-
}, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '
|
|
571
|
+
}, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '8f1b0cfb3251e70294e5f67c461013ea935c11dc', class: "text-error text-sm mt-1" }, this.emailError))))), h("div", { key: 'eb74ae3147ff1d072050658b17016f6d03a29f35', class: "flex justify-center" }, h("button", { key: '448e329bde1237be4e2fbd12dd98ad36a9a558e3', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
|
|
543
572
|
!this.email.trim() || !!this.nameError ||
|
|
544
|
-
!!this.emailError, class: "px-4 py-2 bg-secondary rounded-4xl hover:bg-tertiary transition-colors duration-200
|
|
573
|
+
!!this.emailError, class: "px-4 py-2 bg-secondary rounded-4xl hover:bg-tertiary transition-colors duration-200", style: { color: "var(--color-muted)" } }, t.solarSystemForm.requestOfferButton))))));
|
|
545
574
|
}
|
|
546
575
|
static get watchers() { return {
|
|
547
576
|
"systemConfigs": ["updateSystemConfigs"]
|
|
@@ -591,6 +620,6 @@ function defineCustomElement() {
|
|
|
591
620
|
defineCustomElement();
|
|
592
621
|
|
|
593
622
|
export { BORDER_INSET as B, COLUMN_SPACING as C, DEFAULT_COLOR_SCHEME as D, ROW_SPACING as R, SolarSystemForm as S, DOTTED_LINE_COLOR as a, DEFAULT_SOLAR_EXPERT_CONFIG as b, DEFAULT_SOLAR_PANEL_TYPE as c, defineCustomElement as d, DEFAULT_SUNNINESS as e };
|
|
594
|
-
//# sourceMappingURL=p-
|
|
623
|
+
//# sourceMappingURL=p-C8ujytCa.js.map
|
|
595
624
|
|
|
596
|
-
//# sourceMappingURL=p-
|
|
625
|
+
//# sourceMappingURL=p-C8ujytCa.js.map
|