blue-chestnut-solar-expert 0.0.64 → 0.0.66
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_19.cjs.entry.js +1 -1
- package/dist/cjs/{lerc-CQf05pmr.js → lerc-Bzx_uOA8.js} +3 -3
- package/dist/cjs/{lerc-CQf05pmr.js.map → lerc-Bzx_uOA8.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loading-widget.cjs.entry.js +1 -1
- package/dist/cjs/loading-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/loading-widget.entry.cjs.js.map +1 -1
- package/dist/cjs/stencil-library.cjs.js +1 -1
- package/dist/collection/components/map-draw/map-draw.js +8 -10
- package/dist/collection/components/map-draw/map-draw.js.map +1 -1
- package/dist/collection/components/solar-system-form/solar-system-form.js +73 -50
- package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
- package/dist/collection/output.css +0 -52
- package/dist/collection/utils/lang/german.js +5 -5
- package/dist/collection/utils/lang/german.js.map +1 -1
- package/dist/components/eraser-icon.js +1 -1
- package/dist/components/house-icon.js +1 -1
- package/dist/components/icon-selector.js +1 -1
- package/dist/components/loading-widget.js +1 -1
- package/dist/components/loading-widget.js.map +1 -1
- package/dist/components/map-draw.js +1 -1
- package/dist/components/map-selector.js +1 -1
- package/dist/components/marker-icon.js +1 -1
- package/dist/components/move-icon.js +1 -1
- package/dist/components/octagon-minus-icon.js +1 -1
- package/dist/components/{p-B_6Ue-UQ.js → p-BGDUEqPw.js} +7 -7
- package/dist/components/p-BGDUEqPw.js.map +1 -0
- package/dist/components/p-BJLO76Yi.js +40 -0
- package/dist/components/p-BJLO76Yi.js.map +1 -0
- package/dist/components/p-B_d25VbK.js +76 -0
- package/dist/components/p-B_d25VbK.js.map +1 -0
- package/dist/components/{p-IzVa21Wl.js → p-Bb2Y3Z89.js} +81 -55
- package/dist/components/p-Bb2Y3Z89.js.map +1 -0
- package/dist/components/p-Btv8OdhG.js +47 -0
- package/dist/components/p-Btv8OdhG.js.map +1 -0
- package/dist/components/p-C5QieOat.js +114 -0
- package/dist/components/p-C5QieOat.js.map +1 -0
- package/dist/components/p-CAfEQ2E5.js +121 -0
- package/dist/components/p-CAfEQ2E5.js.map +1 -0
- package/dist/components/p-CL74Q4VR.js +40 -0
- package/dist/components/p-CL74Q4VR.js.map +1 -0
- package/dist/components/{p-DoOT28vq.js → p-Cmq8WfHd.js} +3 -3
- package/dist/components/{p-DoOT28vq.js.map → p-Cmq8WfHd.js.map} +1 -1
- package/dist/components/p-D-7y2xyY.js +89 -0
- package/dist/components/p-D-7y2xyY.js.map +1 -0
- package/dist/components/p-D8w3bTPO.js +40 -0
- package/dist/components/p-D8w3bTPO.js.map +1 -0
- package/dist/components/p-DBwr8xSB.js +40 -0
- package/dist/components/p-DBwr8xSB.js.map +1 -0
- package/dist/components/p-DTXeHbuh.js +40 -0
- package/dist/components/p-DTXeHbuh.js.map +1 -0
- package/dist/components/p-DlZrNkTC.js +623 -0
- package/dist/components/p-DlZrNkTC.js.map +1 -0
- package/dist/components/p-FdEV2qPo.js +40 -0
- package/dist/components/p-FdEV2qPo.js.map +1 -0
- package/dist/components/p-P28NBglk.js +86 -0
- package/dist/components/p-P28NBglk.js.map +1 -0
- package/dist/components/p-Umz6nJIv.js +40 -0
- package/dist/components/p-Umz6nJIv.js.map +1 -0
- package/dist/components/{p-De6Uhz0b.js → p-bfmX8bQv.js} +29 -31
- package/dist/components/p-bfmX8bQv.js.map +1 -0
- package/dist/components/p-waOPoUcA.js +40 -0
- package/dist/components/p-waOPoUcA.js.map +1 -0
- package/dist/components/p-zTqylr2Y.js +163 -0
- package/dist/components/p-zTqylr2Y.js.map +1 -0
- package/dist/components/polygon-buttons.js +1 -1
- package/dist/components/polygon-information.js +1 -1
- package/dist/components/search-icon.js +1 -1
- package/dist/components/settings-icon.js +1 -1
- package/dist/components/settings-modal.js +1 -1
- package/dist/components/solar-expert.js +20 -20
- package/dist/components/solar-expert.js.map +1 -1
- package/dist/components/solar-system-form.js +1 -1
- package/dist/components/toast-notification.js +1 -1
- package/dist/components/tool-box.js +1 -1
- package/dist/components/tutorial-component.js +1 -1
- package/dist/components/undo-icon.js +1 -1
- package/dist/esm/eraser-icon_19.entry.js +1 -1
- package/dist/esm/{lerc-j3yBkoBc.js → lerc-fDBsT-r9.js} +3 -3
- package/dist/esm/{lerc-j3yBkoBc.js.map → lerc-fDBsT-r9.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-widget.entry.js +1 -1
- package/dist/esm/loading-widget.entry.js.map +1 -1
- package/dist/esm/stencil-library.js +1 -1
- package/dist/stencil-library/loading-widget.entry.esm.js.map +1 -1
- package/dist/stencil-library/{p-d2fcb2d8.entry.js → p-0020e897.entry.js} +2 -2
- package/dist/stencil-library/p-BwLev3G_.js +2 -0
- package/dist/stencil-library/p-BwLev3G_.js.map +1 -0
- package/dist/stencil-library/{p-rVA7BFlW.js → p-C9kyZnQX.js} +2 -2
- package/dist/stencil-library/{p-rVA7BFlW.js.map → p-C9kyZnQX.js.map} +1 -1
- package/dist/stencil-library/p-ab0f2031.entry.js +2 -0
- package/dist/stencil-library/p-ab0f2031.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/package.json +1 -1
- package/dist/components/p-1jcVNjsm.js +0 -47
- package/dist/components/p-1jcVNjsm.js.map +0 -1
- package/dist/components/p-4FooU4eR.js +0 -40
- package/dist/components/p-4FooU4eR.js.map +0 -1
- package/dist/components/p-6rmvkwsO.js +0 -163
- package/dist/components/p-6rmvkwsO.js.map +0 -1
- package/dist/components/p-BYULvwxQ.js +0 -40
- package/dist/components/p-BYULvwxQ.js.map +0 -1
- package/dist/components/p-B_6Ue-UQ.js.map +0 -1
- package/dist/components/p-BcBvva_X.js +0 -40
- package/dist/components/p-BcBvva_X.js.map +0 -1
- package/dist/components/p-But3uNm3.js +0 -76
- package/dist/components/p-But3uNm3.js.map +0 -1
- package/dist/components/p-COCnOrkb.js +0 -121
- package/dist/components/p-COCnOrkb.js.map +0 -1
- package/dist/components/p-COL7rExT.js +0 -86
- package/dist/components/p-COL7rExT.js.map +0 -1
- package/dist/components/p-CpGXfh7Q.js +0 -114
- package/dist/components/p-CpGXfh7Q.js.map +0 -1
- package/dist/components/p-Cu7ckMQp.js +0 -40
- package/dist/components/p-Cu7ckMQp.js.map +0 -1
- package/dist/components/p-CxwiRuTf.js +0 -623
- package/dist/components/p-CxwiRuTf.js.map +0 -1
- package/dist/components/p-DCMO4ssM.js +0 -40
- package/dist/components/p-DCMO4ssM.js.map +0 -1
- package/dist/components/p-DWrXodHT.js +0 -40
- package/dist/components/p-DWrXodHT.js.map +0 -1
- package/dist/components/p-De6Uhz0b.js.map +0 -1
- package/dist/components/p-IzVa21Wl.js.map +0 -1
- package/dist/components/p-JzJ_ZuEh.js +0 -89
- package/dist/components/p-JzJ_ZuEh.js.map +0 -1
- package/dist/components/p-kB7DMoo7.js +0 -40
- package/dist/components/p-kB7DMoo7.js.map +0 -1
- package/dist/components/p-rW0sFWOp.js +0 -40
- package/dist/components/p-rW0sFWOp.js.map +0 -1
- package/dist/stencil-library/p-741a746a.entry.js +0 -2
- package/dist/stencil-library/p-741a746a.entry.js.map +0 -1
- package/dist/stencil-library/p-c6J1w7ew.js +0 -2
- package/dist/stencil-library/p-c6J1w7ew.js.map +0 -1
- /package/dist/stencil-library/{p-d2fcb2d8.entry.js.map → p-0020e897.entry.js.map} +0 -0
|
@@ -29,6 +29,7 @@ export class SolarSystemForm {
|
|
|
29
29
|
electricCarChargingTime = "day";
|
|
30
30
|
heatPump = 0;
|
|
31
31
|
battery = 0;
|
|
32
|
+
batteryEnabled = false;
|
|
32
33
|
compensation20Years = 0;
|
|
33
34
|
savedCosts20Years = 0;
|
|
34
35
|
maxPanels = 5;
|
|
@@ -122,8 +123,7 @@ export class SolarSystemForm {
|
|
|
122
123
|
this.autonomy = result.autonomy * 100;
|
|
123
124
|
this.totalEnergyConsumption = result.totalEnergyConsumptionDay * 365;
|
|
124
125
|
// Calculate total energy production based on compensation and rate
|
|
125
|
-
this.totalEnergyProduction =
|
|
126
|
-
(result.compensationPerDay / this.compensationRate) * 365;
|
|
126
|
+
this.totalEnergyProduction = result.totalEnergyProduction * 365;
|
|
127
127
|
}
|
|
128
128
|
componentWillLoad() {
|
|
129
129
|
this.updateSystemConfigs();
|
|
@@ -194,7 +194,7 @@ export class SolarSystemForm {
|
|
|
194
194
|
phone: this.phone,
|
|
195
195
|
consumption: this.householdConsumption,
|
|
196
196
|
consumptionProfile: this.consumptionProfile,
|
|
197
|
-
hasBattery: this.
|
|
197
|
+
hasBattery: this.batteryEnabled,
|
|
198
198
|
battery: this.battery,
|
|
199
199
|
hasHeatPump: this.heatPump > 0,
|
|
200
200
|
heatPumpM2: this.heatPump,
|
|
@@ -246,13 +246,13 @@ export class SolarSystemForm {
|
|
|
246
246
|
// Reusable style objects
|
|
247
247
|
const borderStyle = { border: "1px solid var(--color-border)" };
|
|
248
248
|
const errorBorderStyle = { border: "1px solid var(--color-error)" };
|
|
249
|
-
return (h("div", { key: '
|
|
249
|
+
return (h("div", { key: 'bb41415c5998e8c1d3e98df49bb13f601410c09d', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
|
|
250
250
|
,
|
|
251
251
|
// display: (Object.keys(this.systemConfigs).length === 0)
|
|
252
252
|
// ? "none"
|
|
253
253
|
// : "flex",
|
|
254
254
|
// }}
|
|
255
|
-
id: "solar-system-form" }, h("h1", { key: '
|
|
255
|
+
id: "solar-system-form" }, h("h1", { key: '136c0a340cdc4ef1e7de9cc7e8e899017ff111c8', class: "text-2xl font-bold text-secondary mb-4 w-full" }, t.solarSystemForm.title), h("div", { key: '1b7a0195f63cbe3765777573c34c9fbe2b47646a', class: "w-full bg-primary rounded-4xl space-y-6" }, h("div", { key: 'f5b8490c2ba77b7afbf8310c83723c44d5ad66b9', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'aa7de0e6fae0b9b8d3193e2d32fe1e63a23d9f64', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.systemInformation), h("div", { key: '4c745cbf10a6251bdfc0bc926e073073b0ba6408', class: "flex flex-col sm:flex-row gap-4" }, h("div", { key: '292edb872ca1ef3dd82f015ca9d479af89c87ea7', class: "flex-1 bg-muted rounded-4xl p-4 space-y-3" }, h("div", { key: '89a23d55107849485c28023ab6ac344b209ad34d', class: "flex items-center justify-between" }, h("label", { key: 'ee5bd53c202f897a8c212b362265b76044bd5e44', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.numberOfPanels), !this.isIOS()
|
|
256
256
|
? (h("input", { type: "number", class: "w-20 px-3 py-1 rounded-full bg-muted text-muted-foreground text-right", value: this.numberOfPanels, readOnly: true }))
|
|
257
257
|
: (h("input", { type: "number", min: "1", max: this.maxPanels, class: "w-20 px-3 py-1 rounded-full focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground text-center", style: borderStyle, value: this.numberOfPanels, onInput: (e) => {
|
|
258
258
|
const value = parseInt(e.target
|
|
@@ -264,38 +264,44 @@ export class SolarSystemForm {
|
|
|
264
264
|
value;
|
|
265
265
|
this.recalculate();
|
|
266
266
|
}
|
|
267
|
-
} }))), !this.isIOS() && (h("input", { key: '
|
|
267
|
+
} }))), !this.isIOS() && (h("input", { key: '3505aba4610e120ff535a4357e32bfe44092fd28', 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) => {
|
|
268
268
|
this.numberOfPanels = parseInt(e.target
|
|
269
269
|
.value);
|
|
270
|
+
if (isNaN(this.numberOfPanels)) {
|
|
271
|
+
this.numberOfPanels = 0;
|
|
272
|
+
}
|
|
270
273
|
this.recalculate();
|
|
271
|
-
} }))), h("div", { key: '
|
|
272
|
-
this.numberOfPanels).toFixed(1), " kWp"))))), h("div", { key: '
|
|
274
|
+
} }))), h("div", { key: '58abbe1ad7b258880138e3d398dabcb2d1efca5b', class: "flex-1 bg-muted rounded-4xl p-4" }, h("div", { key: 'be74d4f0a1e34a55fdc6eafa4dc08e69570e9b04', class: "flex items-center justify-between" }, h("label", { key: '1f8a47d5052731a7da89852099fef84a8946f596', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.panelPeakPower), h("span", { key: 'a3f101b680f251c3e4372bce14b833b9dfa415d3', class: "text-text-muted" }, this.panelPeakPower.toFixed(2), " kW")), h("div", { key: '2ed107c8a0cb43e08b2cbb205f7db8e9de271b22', class: "flex items-center justify-between mt-4" }, h("span", { key: '670c41ca8173f58b1dcbe31699c922ceb9672105', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.totalSystemPeakPower), h("span", { key: 'e41306aec2f7351e5f01c1f221ef23bbe684a366', class: "font-bold text-text-muted" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
|
|
275
|
+
this.numberOfPanels).toFixed(1), " kWp"))))), h("div", { key: '38ce148b3679e357768a03d92e2aff79d5192f76', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'bf8031199ddd6ccd90301c29f4bd8e223b14d787', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.householdConsumptionTitle), h("div", { key: 'e06f62af8305aa26be7ea662da32135276218484', class: "grid grid-rows-2 gap-0" }, h("div", { key: 'a04a7c38ab456419674e9e2818bd7519fe795a17', class: "grid grid-cols-2 gap-4" }, h("label", { key: '6d0a74756d1d5a164dbe5783cf3df044bd4d2ced', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.annualConsumption), h("label", { key: '49187db1a88afde0b1bebd8fc9f2e88524a4c59d', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.consumptionProfileTitle)), h("div", { key: '25690a6ca0000b1eabb589c77109d1087ed1ad76', class: "grid grid-cols-2 gap-4" }, h("input", { key: '506dd439307bacc0d7274a6b2ec0a79f363a9d11', type: "number", step: "100", min: "0", class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", style: borderStyle, value: this.householdConsumption, onInput: (e) => {
|
|
273
276
|
this.householdConsumption = parseInt(e.target
|
|
274
277
|
.value);
|
|
275
278
|
this.recalculate();
|
|
276
|
-
} }), h("select", { key: '
|
|
279
|
+
} }), h("select", { key: '025fdf9c050c1e00aedd293cfa15da8a411e70af', class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", style: borderStyle, onChange: (e) => {
|
|
277
280
|
this.consumptionProfile =
|
|
278
281
|
e.target
|
|
279
282
|
.value;
|
|
280
283
|
this.recalculate();
|
|
281
|
-
} }, h("option", { key: '
|
|
284
|
+
} }, h("option", { key: '26c2fdbcb3646323157dfa6f9f66d6b8ca924c72', value: "mostly_at_home", selected: this.consumptionProfile ===
|
|
282
285
|
"mostly_at_home" }, t.solarSystemForm.consumptionProfiles
|
|
283
|
-
.mostlyAtHome), h("option", { key: '
|
|
286
|
+
.mostlyAtHome), h("option", { key: 'f3b9527d607657efc4ff75d93576fd765aa97975', value: "mostly_away", selected: this.consumptionProfile ===
|
|
284
287
|
"mostly_away" }, t.solarSystemForm.consumptionProfiles
|
|
285
|
-
.mostlyAway))))), h("div", { key: '
|
|
288
|
+
.mostlyAway))))), h("div", { key: '5618500ae3aca7633180a6b3607f1c6462c49815', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'fe74e96b7fdcb2e6776a7eccf248d29b0cdd0206', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.additionalComponents.title), h("div", { key: 'a26c1c3461d3021b823f07a05a20ac74108d4ee7', class: "flex flex-col gap-4" }, h("div", { key: 'ef4c60ac505187ca35d213e0f80a6959f1edabd1', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '08e0b956be5958985d8bb247ea94ff0510657d89', class: "flex items-center justify-between" }, h("div", { key: 'ef1917d84a95ace85e140e801736c4dc5c16e378', class: "flex items-center gap-2" }, h("input", { key: '3b19229e72c742accfa553e6b385ab5ad148e6a9', 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) => {
|
|
286
289
|
this.heatPump =
|
|
287
290
|
e.target
|
|
288
291
|
.checked
|
|
289
292
|
? 100
|
|
290
293
|
: 0;
|
|
291
294
|
this.recalculate();
|
|
292
|
-
} }), h("label", { key: '
|
|
295
|
+
} }), h("label", { key: 'f73944ac3cd52ab5ac7358d8dfd520720ad43c1b', htmlFor: "heatPump", class: "text-text-muted" }, t.solarSystemForm
|
|
293
296
|
.additionalComponents
|
|
294
|
-
.heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: '
|
|
297
|
+
.heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: '4a2090de47870f9a59b498425b6bbd2bdd177aba', class: "text-text-muted" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (h("div", { key: '9a2f2cc91a1efafb06de01ecb78949656cdfcccf', class: "flex flex-col gap-2" }, this.isIOS()
|
|
295
298
|
? (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 focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", style: borderStyle, value: this.heatPump, onInput: (e) => {
|
|
296
|
-
|
|
299
|
+
let value = parseInt(e.target
|
|
297
300
|
.value);
|
|
298
|
-
if (value
|
|
301
|
+
if (isNaN(value)) {
|
|
302
|
+
value = 0;
|
|
303
|
+
}
|
|
304
|
+
if (value >= 0 &&
|
|
299
305
|
value <= 300) {
|
|
300
306
|
this.heatPump =
|
|
301
307
|
value;
|
|
@@ -307,105 +313,121 @@ export class SolarSystemForm {
|
|
|
307
313
|
parseInt(e.target
|
|
308
314
|
.value);
|
|
309
315
|
this.recalculate();
|
|
310
|
-
} }))))), h("div", { key: '
|
|
316
|
+
} }))))), h("div", { key: '0a7e51f6f8596bed2af8850169ca32c488f43559', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: 'e768501bf22d0d93d4c5ce0d4c142ef7d6096151', class: "flex items-center justify-between" }, h("div", { key: 'e1c54539633730995db596e77be2fd4bba609a81', class: "flex items-center gap-2" }, h("input", { key: 'bface3b5aad019fdcb92ba3229fe7187ec8babb1', 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) => {
|
|
311
317
|
this.electricCar =
|
|
312
318
|
e.target
|
|
313
319
|
.checked;
|
|
314
320
|
this.recalculate();
|
|
315
|
-
} }), h("label", { key: '
|
|
321
|
+
} }), h("label", { key: 'a148ffb1488169ef9e383c5483145f3163c38172', htmlFor: "electricCar", class: "text-text-muted" }, t.solarSystemForm
|
|
316
322
|
.additionalComponents
|
|
317
|
-
.electricCar))), this.electricCar && (h("div", { key: '
|
|
323
|
+
.electricCar))), this.electricCar && (h("div", { key: '0d6db7e0d23eed4c85aa21f8661038c100049fb7', class: "flex flex-col gap-2" }, h("div", { key: 'c9be028278aa8a582b3d563c98ecabf5a137669b', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'a1d2a3070dd0506be70623ca9b8c524a35132956', class: "text-sm text-text-muted" }, t.solarSystemForm
|
|
318
324
|
.additionalComponents
|
|
319
|
-
.chargingTime), h("label", { key: '
|
|
325
|
+
.chargingTime), h("label", { key: '7bedc4d1e43fb5e10f04a4ae2b91abf10c56da2c', class: "text-sm text-text-muted" }, t.solarSystemForm
|
|
320
326
|
.additionalComponents
|
|
321
|
-
.kilometersPerYear)), h("div", { key: '
|
|
327
|
+
.kilometersPerYear)), h("div", { key: 'c0f3501cecec8280e323f2403de52e3248b6ce7a', class: "grid grid-cols-2 gap-4" }, h("select", { key: 'e2947d4b13363e341955c429fa37fe2ad5966280', class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", onChange: (e) => {
|
|
322
328
|
this.electricCarChargingTime =
|
|
323
329
|
e.target
|
|
324
330
|
.value;
|
|
325
331
|
this.recalculate();
|
|
326
|
-
}, style: borderStyle }, h("option", { key: '
|
|
332
|
+
}, style: borderStyle }, h("option", { key: '544ae8957ab71cdfd3ad438031d5b3235a321f56', value: "day", selected: this
|
|
327
333
|
.electricCarChargingTime ===
|
|
328
334
|
"day" }, t.solarSystemForm
|
|
329
335
|
.additionalComponents
|
|
330
|
-
.chargingTimeDay), h("option", { key: '
|
|
336
|
+
.chargingTimeDay), h("option", { key: '04d71d6537186ecda58784b3f70e357a3c36f85f', value: "night", selected: this
|
|
331
337
|
.electricCarChargingTime ===
|
|
332
338
|
"night" }, t.solarSystemForm
|
|
333
339
|
.additionalComponents
|
|
334
|
-
.chargingTimeNight)), h("input", { key: '
|
|
340
|
+
.chargingTimeNight)), h("input", { key: '951f65399cc04d815a585d32206b235710eaefe3', type: "number", min: "1000", max: "100000", step: "1000", class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.kmDrivenPerYear, onInput: (e) => {
|
|
335
341
|
this.kmDrivenPerYear =
|
|
336
342
|
parseInt(e.target
|
|
337
343
|
.value);
|
|
344
|
+
if (isNaN(this.kmDrivenPerYear)) {
|
|
345
|
+
this.kmDrivenPerYear =
|
|
346
|
+
0;
|
|
347
|
+
}
|
|
338
348
|
this.recalculate();
|
|
339
|
-
}, style: borderStyle }))))), h("div", { key: '
|
|
340
|
-
this.
|
|
349
|
+
}, style: borderStyle }))))), h("div", { key: 'b0b64b1afec1a7b05af83d910369141713792a9f', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '16d9ff1d1ed9f11b8cb3f0bf707ae911bd4d3052', class: "flex items-center justify-between" }, h("div", { key: '5ea7224b166ac5d09a0c6954a6583c6ee10bcbf8', class: "flex items-center gap-2" }, h("input", { key: '6bfe5da599c642efe88fdb981983857a812df417', type: "checkbox", id: "battery", class: "w-4 h-4 accent-tertiary border-border rounded-full focus:ring-tertiary focus:ring-offset-0 focus:ring-2", checked: this.batteryEnabled, onChange: (e) => {
|
|
350
|
+
this.batteryEnabled =
|
|
341
351
|
e.target
|
|
342
|
-
.checked
|
|
352
|
+
.checked;
|
|
353
|
+
this.battery =
|
|
354
|
+
this.batteryEnabled
|
|
343
355
|
? 5
|
|
344
356
|
: 0;
|
|
345
357
|
this.recalculate();
|
|
346
|
-
} }), h("label", { key: '
|
|
358
|
+
} }), h("label", { key: 'e40e64ca8bd60afddef286b7e4aa5cf369217eb2', htmlFor: "battery", class: "text-text-muted" }, t.solarSystemForm
|
|
347
359
|
.additionalComponents
|
|
348
|
-
.battery)), (this.
|
|
349
|
-
? (h("div", { class: "flex items-center gap-2" }, h("input", { type: "number", min: "
|
|
350
|
-
|
|
360
|
+
.battery)), (this.batteryEnabled && !this.isIOS()) && (h("span", { key: 'b2fc3a8d3e565b6f0de27b8e0cdd9a125787dc97', class: "text-text-muted" }, this.battery, " kWh"))), this.batteryEnabled && (h("div", { key: 'e2148708d2c07f4bb07dfb8c68ea37005f86d4ac', class: "flex flex-col gap-2" }, this.isIOS()
|
|
361
|
+
? (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 focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.battery, onInput: (e) => {
|
|
362
|
+
let value = parseInt(e.target
|
|
351
363
|
.value);
|
|
352
|
-
if (value
|
|
364
|
+
if (isNaN(value)) {
|
|
365
|
+
value = 0;
|
|
366
|
+
}
|
|
367
|
+
if (value >= 0 &&
|
|
353
368
|
value <= 20) {
|
|
354
369
|
this.battery =
|
|
355
370
|
value;
|
|
356
|
-
this.recalculate();
|
|
357
371
|
}
|
|
372
|
+
else {
|
|
373
|
+
this.battery =
|
|
374
|
+
20;
|
|
375
|
+
}
|
|
376
|
+
this.recalculate();
|
|
358
377
|
}, style: borderStyle }), h("span", { class: "text-sm text-text-muted" }, "kWh")))
|
|
359
378
|
: (h("input", { type: "range", min: "1", max: "20", 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.battery, onInput: (e) => {
|
|
360
|
-
|
|
379
|
+
const value = parseInt(e.target
|
|
361
380
|
.value);
|
|
381
|
+
this.battery = value;
|
|
382
|
+
this.batteryEnabled =
|
|
383
|
+
value > 0;
|
|
362
384
|
this.recalculate();
|
|
363
|
-
} }))))))), h("div", { key: '
|
|
385
|
+
} }))))))), h("div", { key: '2403db26cd231ee1e14ee9e54904a6d47a442cde', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'd7792f3cd2f10acbc708f347eb9d875774b4d7cd', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.electricityCostsTitle), h("div", { key: 'a2ace9b4c49c0e778a112ee957a372f32a499117', style: {
|
|
364
386
|
display: "grid",
|
|
365
|
-
gridTemplateColumns: "repeat(auto-fit, minmax(
|
|
387
|
+
gridTemplateColumns: "repeat(auto-fit, minmax(100px, 1fr))",
|
|
366
388
|
gap: "1rem",
|
|
367
|
-
} }, h("div", { key: '
|
|
389
|
+
} }, h("div", { key: '1d5fbae3664adf9c19550b482a0ded3a7a7442c0' }, h("label", { key: 'd16ad99fa9c8f87151a5a6a7d7bcde674c4a8e81', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.electricityPrice), h("input", { key: 'f36ae62025eee8bbdb65c9c82d4b605667894d8d', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", style: borderStyle, value: this.electricityPrice.toFixed(2), onInput: (e) => {
|
|
368
390
|
this.electricityPrice = parseFloat(e.target
|
|
369
391
|
.value);
|
|
370
392
|
this.recalculate();
|
|
371
|
-
} })), h("div", { key: '
|
|
393
|
+
} })), h("div", { key: 'bfd9e6153ab03d5ace55ad15de335df6566b5417' }, h("label", { key: 'ee2536275e4fd5649721d4d3940291430075db67', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.compensationRate), h("input", { key: '8dd2be4609fcb850794fa070df50cfa751a87fa1', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", style: borderStyle, value: this.compensationRate.toFixed(2), onInput: (e) => {
|
|
372
394
|
this.compensationRate = parseFloat(e.target
|
|
373
395
|
.value);
|
|
374
396
|
this.recalculate();
|
|
375
|
-
} })), h("div", { key: '
|
|
397
|
+
} })), h("div", { key: '8f29216586bc3f5c92be3aee08f3d92c67dbf061' }, h("label", { key: 'af3fac52689fe289a72003f3acc78d9ea4bc232d', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.annualPriceIncrease), h("input", { key: '7e9587a58424149e25b6cd35b3b0f8e67bad0a10', type: "number", step: "0.1", class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", style: borderStyle, value: this.annualPriceIncrease.toFixed(1), onInput: (e) => {
|
|
376
398
|
this.annualPriceIncrease = parseFloat(e.target
|
|
377
399
|
.value);
|
|
378
400
|
this.recalculate();
|
|
379
|
-
} })))), h("div", { key: '
|
|
401
|
+
} })))), h("div", { key: 'edee17bd72e40f9a00345fce0c7b0728474ecd5c', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '8833b742a6df1556486ff3719b8b833adb858163', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.resultsTitle), h("div", { key: '6cb17515165775c5b59c0e2ab9f9602125aac953', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '43ba0b310caa0d3e19d4d991b19f54500609e155', class: "flex flex-col sm:flex-row sm:items-center justify-between" }, h("span", { key: 'fe78bf736efedb7e3ce331d594ebec5ac4260ea3', class: "text-text-muted" }, t.solarSystemForm.autonomy), h("span", { key: '57e3d258a15dcc6ff502b5ac2c5612a3ae7a9332', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.autonomy > 100
|
|
380
402
|
? "100"
|
|
381
|
-
: this.formatEuropeanNumber(this.autonomy, 1), "%")), h("div", { key: '
|
|
382
|
-
.solarSystemForm.year)), h("div", { key: '
|
|
383
|
-
.monetaryBenefit20Years)), h("span", { key: '
|
|
403
|
+
: this.formatEuropeanNumber(this.autonomy, 1), "%")), h("div", { key: '84c71945018078f4d1f22d94de5710b57a097b10', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("span", { key: '1ba73ff5a96617626b3a219bb4a3894cc6a82e2a', class: "text-text-muted" }, t.solarSystemForm.totalEnergyConsumption), h("span", { key: '3d328063a9999304de1a2cdc3010787dd08ebdac', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.totalEnergyConsumption, 0), " kWh/", t.solarSystemForm.year)), h("div", { key: 'a6e0a99b0532b1c8409e5f8ebfb04d5c0b7fc1d5', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("span", { key: '4e3de7a62055aed15d8214080da79d7c67a3504f', class: "text-text-muted" }, t.solarSystemForm.totalEnergyProduction), h("span", { key: '50919661b3fa82dc99d93aef0bf4e46b85e683e6', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.totalEnergyProduction, 0), " kWh/", t.solarSystemForm.year)), h("div", { key: '669ecb3bff03f954c459c5864ebc790f7802d2c3', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: '50064fa431dae13dfafd7a827b4265eb5ce66025', class: "flex items-center gap-2" }, h("span", { key: 'add8a4952f5f2992657a8723210697a2889e08ca', class: "text-text-muted" }, t.solarSystemForm.costSavings)), h("span", { key: '1a4cf403f0cdc01e8aa195826165f66e74c2f460', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.costSavings), " \u20AC/", t
|
|
404
|
+
.solarSystemForm.year)), h("div", { key: 'fadf1e4394b0734ae14d4568db8f47b286b00eed', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: '69c5b3bfa131e35b1760b854e0adcddc4cd7513e', class: "flex items-center gap-2" }, h("span", { key: '826a2b7a6c1959626ca195b66893e7725582d666', class: "text-text-muted" }, t.solarSystemForm.compensation20Years)), h("span", { key: 'cfbc1063b55c815f6ae89a48c6b8239ecfbcbb5d', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.compensation20Years), " \u20AC")), h("div", { key: 'fa740700dbc3a640c5adce3d28413b839000b840', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: '095d543adc7d81fec92ebfcf35efd4122b1b6ef9', class: "flex items-center gap-2" }, h("span", { key: 'eac35fd6b6bb3778afadec2bfa93b7549a7db08a', class: "text-text-muted" }, t.solarSystemForm
|
|
405
|
+
.monetaryBenefit20Years)), h("span", { key: '82d2fdee254b0ff2bb6534dced8a43087f7f4269', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.savedCosts20Years), " \u20AC")))), h("div", { key: '96cc3aa5ed8fa4870a5fe54e1345b1abc6b69862', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '08f6274c8a655995b0a2061696bbeca324c81924', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.requestOffer), h("div", { key: 'ed644026714f6962469ba290c8931e12d6b3afff', style: {
|
|
384
406
|
display: "grid",
|
|
385
|
-
gridTemplateColumns: "repeat(auto-fit, minmax(
|
|
407
|
+
gridTemplateColumns: "repeat(auto-fit, minmax(1 00px, 1fr))",
|
|
386
408
|
gap: "1rem",
|
|
387
|
-
} }, h("div", { key: '
|
|
409
|
+
} }, h("div", { key: '8d22c69472e58ad2fb2dbca427e5dd1bc2f207a8' }, h("label", { key: '3d975692c644c8e26ec1c0a03e12312adf6b0ede', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.name), h("input", { key: 'addb2114b79ddb98d2215b68214116ed2d64ad66', type: "text", class: `w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, style: this.nameError
|
|
388
410
|
? errorBorderStyle
|
|
389
411
|
: borderStyle, value: this.name, onInput: (e) => {
|
|
390
412
|
this.name =
|
|
391
413
|
e.target
|
|
392
414
|
.value;
|
|
393
415
|
this.validateForm();
|
|
394
|
-
}, placeholder: "Your name" }), this.nameError && (h("p", { key: '
|
|
416
|
+
}, placeholder: "Your name" }), this.nameError && (h("p", { key: '32dd68fc53f8694371c56a229fd075839d3e00d8', class: "text-error text-sm mt-1" }, this.nameError))), h("div", { key: 'f58d1775fb32e5b0704cb635bdc563c4a2b2a9f1' }, h("label", { key: '87b853fd645e5dd16bcabfb9836a044441a56198', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.email), h("input", { key: '115b7a027cc5a77a7a70a1a8c8f4cb3c64c09d50', type: "email", class: `w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, style: this.emailError
|
|
395
417
|
? errorBorderStyle
|
|
396
418
|
: borderStyle, value: this.email, onInput: (e) => {
|
|
397
419
|
this.email =
|
|
398
420
|
e.target
|
|
399
421
|
.value;
|
|
400
422
|
this.validateForm();
|
|
401
|
-
}, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '
|
|
423
|
+
}, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '055f714dfa5ccf74d461c048cf14bcc4a4f1d2a0', class: "text-error text-sm mt-1" }, this.emailError))), h("div", { key: '9516dab3e8d312aafbded94676d377c950b5e34d' }, h("label", { key: 'd13fced3339f847cf792738c1469b45d0090c3e5', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.phone), h("input", { key: 'ab7df19168e831442fdb4368bc817f0985d8750a', type: "tel", class: `w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, style: this.phoneError
|
|
402
424
|
? errorBorderStyle
|
|
403
425
|
: borderStyle, value: this.phone, onInput: (e) => {
|
|
404
426
|
this.phone =
|
|
405
427
|
e.target
|
|
406
428
|
.value;
|
|
407
429
|
this.validateForm();
|
|
408
|
-
}, placeholder: "+34 123 456 789" }), this.phoneError && (h("p", { key: '
|
|
430
|
+
}, placeholder: "+34 123 456 789" }), this.phoneError && (h("p", { key: '9eff09242097e92c1d9eec03df499a73b169664c', class: "text-error text-sm mt-1" }, this.phoneError)))), h("div", { key: '55990f0a38c24bd9a0d91df2760f81909a79696c', class: "flex flex-col items-center gap-4" }, h("button", { key: '09dfe384f03928294282cf973d3ccd9baf6d0a56', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
|
|
409
431
|
!this.email.trim() || !!this.nameError ||
|
|
410
432
|
!!this.emailError || !!this.phoneError ||
|
|
411
433
|
this.isSubmitting, class: `px-6 py-3 rounded-4xl transition-colors duration-200 flex items-center gap-2 ${this.isSubmitting
|
|
@@ -414,9 +436,9 @@ export class SolarSystemForm {
|
|
|
414
436
|
color: this.isSubmitting
|
|
415
437
|
? "var(--color-text-muted)"
|
|
416
438
|
: "#ffffff",
|
|
417
|
-
} }, this.isSubmitting && (h("div", { key: '
|
|
439
|
+
} }, this.isSubmitting && (h("div", { key: 'e5aad83a4c2f4838e303f9447b26db9a3094aa14', class: "w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin" })), this.isSubmitting
|
|
418
440
|
? t.solarSystemForm.sending
|
|
419
|
-
: t.solarSystemForm.requestOfferButton), this.submitMessage && (h("div", { key: '
|
|
441
|
+
: t.solarSystemForm.requestOfferButton), this.submitMessage && (h("div", { key: '72a6cfc9becc8f24a4aa2072c8706a5bcec0319e', class: `text-sm px-4 py-2 rounded-4xl ${this.submitSuccess
|
|
420
442
|
? "bg-success/10 text-success border border-success/20"
|
|
421
443
|
: "bg-error/10 text-error border border-error/20"}` }, this.submitMessage)))))));
|
|
422
444
|
}
|
|
@@ -552,6 +574,7 @@ export class SolarSystemForm {
|
|
|
552
574
|
"electricCarChargingTime": {},
|
|
553
575
|
"heatPump": {},
|
|
554
576
|
"battery": {},
|
|
577
|
+
"batteryEnabled": {},
|
|
555
578
|
"compensation20Years": {},
|
|
556
579
|
"savedCosts20Years": {},
|
|
557
580
|
"maxPanels": {},
|