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.
Files changed (135) hide show
  1. package/dist/cjs/eraser-icon_19.cjs.entry.js +1 -1
  2. package/dist/cjs/{lerc-CQf05pmr.js → lerc-Bzx_uOA8.js} +3 -3
  3. package/dist/cjs/{lerc-CQf05pmr.js.map → lerc-Bzx_uOA8.js.map} +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/loading-widget.cjs.entry.js +1 -1
  6. package/dist/cjs/loading-widget.cjs.entry.js.map +1 -1
  7. package/dist/cjs/loading-widget.entry.cjs.js.map +1 -1
  8. package/dist/cjs/stencil-library.cjs.js +1 -1
  9. package/dist/collection/components/map-draw/map-draw.js +8 -10
  10. package/dist/collection/components/map-draw/map-draw.js.map +1 -1
  11. package/dist/collection/components/solar-system-form/solar-system-form.js +73 -50
  12. package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
  13. package/dist/collection/output.css +0 -52
  14. package/dist/collection/utils/lang/german.js +5 -5
  15. package/dist/collection/utils/lang/german.js.map +1 -1
  16. package/dist/components/eraser-icon.js +1 -1
  17. package/dist/components/house-icon.js +1 -1
  18. package/dist/components/icon-selector.js +1 -1
  19. package/dist/components/loading-widget.js +1 -1
  20. package/dist/components/loading-widget.js.map +1 -1
  21. package/dist/components/map-draw.js +1 -1
  22. package/dist/components/map-selector.js +1 -1
  23. package/dist/components/marker-icon.js +1 -1
  24. package/dist/components/move-icon.js +1 -1
  25. package/dist/components/octagon-minus-icon.js +1 -1
  26. package/dist/components/{p-B_6Ue-UQ.js → p-BGDUEqPw.js} +7 -7
  27. package/dist/components/p-BGDUEqPw.js.map +1 -0
  28. package/dist/components/p-BJLO76Yi.js +40 -0
  29. package/dist/components/p-BJLO76Yi.js.map +1 -0
  30. package/dist/components/p-B_d25VbK.js +76 -0
  31. package/dist/components/p-B_d25VbK.js.map +1 -0
  32. package/dist/components/{p-IzVa21Wl.js → p-Bb2Y3Z89.js} +81 -55
  33. package/dist/components/p-Bb2Y3Z89.js.map +1 -0
  34. package/dist/components/p-Btv8OdhG.js +47 -0
  35. package/dist/components/p-Btv8OdhG.js.map +1 -0
  36. package/dist/components/p-C5QieOat.js +114 -0
  37. package/dist/components/p-C5QieOat.js.map +1 -0
  38. package/dist/components/p-CAfEQ2E5.js +121 -0
  39. package/dist/components/p-CAfEQ2E5.js.map +1 -0
  40. package/dist/components/p-CL74Q4VR.js +40 -0
  41. package/dist/components/p-CL74Q4VR.js.map +1 -0
  42. package/dist/components/{p-DoOT28vq.js → p-Cmq8WfHd.js} +3 -3
  43. package/dist/components/{p-DoOT28vq.js.map → p-Cmq8WfHd.js.map} +1 -1
  44. package/dist/components/p-D-7y2xyY.js +89 -0
  45. package/dist/components/p-D-7y2xyY.js.map +1 -0
  46. package/dist/components/p-D8w3bTPO.js +40 -0
  47. package/dist/components/p-D8w3bTPO.js.map +1 -0
  48. package/dist/components/p-DBwr8xSB.js +40 -0
  49. package/dist/components/p-DBwr8xSB.js.map +1 -0
  50. package/dist/components/p-DTXeHbuh.js +40 -0
  51. package/dist/components/p-DTXeHbuh.js.map +1 -0
  52. package/dist/components/p-DlZrNkTC.js +623 -0
  53. package/dist/components/p-DlZrNkTC.js.map +1 -0
  54. package/dist/components/p-FdEV2qPo.js +40 -0
  55. package/dist/components/p-FdEV2qPo.js.map +1 -0
  56. package/dist/components/p-P28NBglk.js +86 -0
  57. package/dist/components/p-P28NBglk.js.map +1 -0
  58. package/dist/components/p-Umz6nJIv.js +40 -0
  59. package/dist/components/p-Umz6nJIv.js.map +1 -0
  60. package/dist/components/{p-De6Uhz0b.js → p-bfmX8bQv.js} +29 -31
  61. package/dist/components/p-bfmX8bQv.js.map +1 -0
  62. package/dist/components/p-waOPoUcA.js +40 -0
  63. package/dist/components/p-waOPoUcA.js.map +1 -0
  64. package/dist/components/p-zTqylr2Y.js +163 -0
  65. package/dist/components/p-zTqylr2Y.js.map +1 -0
  66. package/dist/components/polygon-buttons.js +1 -1
  67. package/dist/components/polygon-information.js +1 -1
  68. package/dist/components/search-icon.js +1 -1
  69. package/dist/components/settings-icon.js +1 -1
  70. package/dist/components/settings-modal.js +1 -1
  71. package/dist/components/solar-expert.js +20 -20
  72. package/dist/components/solar-expert.js.map +1 -1
  73. package/dist/components/solar-system-form.js +1 -1
  74. package/dist/components/toast-notification.js +1 -1
  75. package/dist/components/tool-box.js +1 -1
  76. package/dist/components/tutorial-component.js +1 -1
  77. package/dist/components/undo-icon.js +1 -1
  78. package/dist/esm/eraser-icon_19.entry.js +1 -1
  79. package/dist/esm/{lerc-j3yBkoBc.js → lerc-fDBsT-r9.js} +3 -3
  80. package/dist/esm/{lerc-j3yBkoBc.js.map → lerc-fDBsT-r9.js.map} +1 -1
  81. package/dist/esm/loader.js +1 -1
  82. package/dist/esm/loading-widget.entry.js +1 -1
  83. package/dist/esm/loading-widget.entry.js.map +1 -1
  84. package/dist/esm/stencil-library.js +1 -1
  85. package/dist/stencil-library/loading-widget.entry.esm.js.map +1 -1
  86. package/dist/stencil-library/{p-d2fcb2d8.entry.js → p-0020e897.entry.js} +2 -2
  87. package/dist/stencil-library/p-BwLev3G_.js +2 -0
  88. package/dist/stencil-library/p-BwLev3G_.js.map +1 -0
  89. package/dist/stencil-library/{p-rVA7BFlW.js → p-C9kyZnQX.js} +2 -2
  90. package/dist/stencil-library/{p-rVA7BFlW.js.map → p-C9kyZnQX.js.map} +1 -1
  91. package/dist/stencil-library/p-ab0f2031.entry.js +2 -0
  92. package/dist/stencil-library/p-ab0f2031.entry.js.map +1 -0
  93. package/dist/stencil-library/stencil-library.esm.js +1 -1
  94. package/dist/types/components/solar-system-form/solar-system-form.d.ts +1 -0
  95. package/package.json +1 -1
  96. package/dist/components/p-1jcVNjsm.js +0 -47
  97. package/dist/components/p-1jcVNjsm.js.map +0 -1
  98. package/dist/components/p-4FooU4eR.js +0 -40
  99. package/dist/components/p-4FooU4eR.js.map +0 -1
  100. package/dist/components/p-6rmvkwsO.js +0 -163
  101. package/dist/components/p-6rmvkwsO.js.map +0 -1
  102. package/dist/components/p-BYULvwxQ.js +0 -40
  103. package/dist/components/p-BYULvwxQ.js.map +0 -1
  104. package/dist/components/p-B_6Ue-UQ.js.map +0 -1
  105. package/dist/components/p-BcBvva_X.js +0 -40
  106. package/dist/components/p-BcBvva_X.js.map +0 -1
  107. package/dist/components/p-But3uNm3.js +0 -76
  108. package/dist/components/p-But3uNm3.js.map +0 -1
  109. package/dist/components/p-COCnOrkb.js +0 -121
  110. package/dist/components/p-COCnOrkb.js.map +0 -1
  111. package/dist/components/p-COL7rExT.js +0 -86
  112. package/dist/components/p-COL7rExT.js.map +0 -1
  113. package/dist/components/p-CpGXfh7Q.js +0 -114
  114. package/dist/components/p-CpGXfh7Q.js.map +0 -1
  115. package/dist/components/p-Cu7ckMQp.js +0 -40
  116. package/dist/components/p-Cu7ckMQp.js.map +0 -1
  117. package/dist/components/p-CxwiRuTf.js +0 -623
  118. package/dist/components/p-CxwiRuTf.js.map +0 -1
  119. package/dist/components/p-DCMO4ssM.js +0 -40
  120. package/dist/components/p-DCMO4ssM.js.map +0 -1
  121. package/dist/components/p-DWrXodHT.js +0 -40
  122. package/dist/components/p-DWrXodHT.js.map +0 -1
  123. package/dist/components/p-De6Uhz0b.js.map +0 -1
  124. package/dist/components/p-IzVa21Wl.js.map +0 -1
  125. package/dist/components/p-JzJ_ZuEh.js +0 -89
  126. package/dist/components/p-JzJ_ZuEh.js.map +0 -1
  127. package/dist/components/p-kB7DMoo7.js +0 -40
  128. package/dist/components/p-kB7DMoo7.js.map +0 -1
  129. package/dist/components/p-rW0sFWOp.js +0 -40
  130. package/dist/components/p-rW0sFWOp.js.map +0 -1
  131. package/dist/stencil-library/p-741a746a.entry.js +0 -2
  132. package/dist/stencil-library/p-741a746a.entry.js.map +0 -1
  133. package/dist/stencil-library/p-c6J1w7ew.js +0 -2
  134. package/dist/stencil-library/p-c6J1w7ew.js.map +0 -1
  135. /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.battery > 0,
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: 'd2ba771761d0de6db760488b3be5be4e39091f14', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
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: '905b435114ee0379b4858110085b7d1c7c679f1f', class: "text-2xl font-bold text-secondary mb-4 w-full" }, t.solarSystemForm.title), h("div", { key: '3857d2a6b47a172f128d6226f456aec4d7d9eb7f', class: "w-full bg-primary rounded-4xl space-y-6" }, h("div", { key: '3ddafc4ed02b8b352e6c14e3efe249ed60d1729b', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'e2098c3681dbd8862b253498262bb852ea39b125', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.systemInformation), h("div", { key: '6d134107926d09325557d4e03bf85def6081c180', class: "flex flex-col sm:flex-row gap-4" }, h("div", { key: '61341c64c166fde66baf893bcffab45476e9ec9e', class: "flex-1 bg-muted rounded-4xl p-4 space-y-3" }, h("div", { key: '79077e45f09655beaafe72b73ea6ba0cf394684a', class: "flex items-center justify-between" }, h("label", { key: 'a0ff494e0e639457cd8eb2d421cb1aad0fae8caa', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.numberOfPanels), !this.isIOS()
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: '0c51740b74dae1c33f148978b53296c7343044e0', 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) => {
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: 'd37d9e324d98cde4d5e91b186c91d5b08b630f1d', class: "flex-1 bg-muted rounded-4xl p-4" }, h("div", { key: '0454b3be5e44d069651606746430a4ca6a96f240', class: "flex items-center justify-between" }, h("label", { key: 'b0e37bc9d9e332266e4bcee1b3a9582566aff797', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.panelPeakPower), h("span", { key: 'f13b8dfa1a0a3ce76da4ae6cf2d74756d0def935', class: "text-text-muted" }, this.panelPeakPower.toFixed(2), " kW")), h("div", { key: 'c58b782a4f08dfb3cbf51d280e7285e40e473aaa', class: "flex items-center justify-between mt-4" }, h("span", { key: '55bcaa73ff1681ee7e4e3b790e25b75aa35434b6', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.totalSystemPeakPower), h("span", { key: 'd9a24f29e8a0eb735cad45884d86aefdcc9c3b1b', class: "font-bold text-text-muted" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
272
- this.numberOfPanels).toFixed(1), " kWp"))))), h("div", { key: '2722b473b27781e6cce9b22bfef5a0a74fc7ee4d', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'f51c3e70d734140390984e715a2b578ebb6a3a18', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.householdConsumptionTitle), h("div", { key: '43a0ac5205e3f0b936871ad9418cade350ff5dfe', class: "grid grid-rows-2 gap-0" }, h("div", { key: '1e96d71a0e95a8fee9a0b6d85754bf4f22a6bf36', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'cfc68e2c7b6b979fe23b167212ca1038ebeb9632', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.annualConsumption), h("label", { key: '86c4d0e244d5de9926f9b6c61b64385788f32669', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.consumptionProfileTitle)), h("div", { key: '0beea23733546568caad0f3dee93d63606d6fdfe', class: "grid grid-cols-2 gap-4" }, h("input", { key: '13c721565b5f97af85b5dda3c345a339c43cfd0e', type: "number", 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) => {
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: 'f3840f0c92a359686f2a16cca5b0472f30ea15e3', 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) => {
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: 'fa946a4c17516db99ab4240d6160103f4955c9b3', value: "mostly_at_home", selected: this.consumptionProfile ===
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: '0ed9a688409a796c860759dc35a28454e2bbc894', value: "mostly_away", selected: this.consumptionProfile ===
286
+ .mostlyAtHome), h("option", { key: 'f3b9527d607657efc4ff75d93576fd765aa97975', value: "mostly_away", selected: this.consumptionProfile ===
284
287
  "mostly_away" }, t.solarSystemForm.consumptionProfiles
285
- .mostlyAway))))), h("div", { key: '4ae5e9540c0e71b641cb3bb61d4e5ff0cc1be91b', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '22d6f4d6fa2f131be325bfd560e0f1d44531bde8', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.additionalComponents.title), h("div", { key: 'e8ad78b747eabb39af1bbf6beb9d85b935090fbd', class: "flex flex-col gap-4" }, h("div", { key: 'f9690d6dd03f15f5eedfba7bf0189e0407e2ecd4', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: 'd113b871187187b085236f8ef4dbc20672c3e2ec', class: "flex items-center justify-between" }, h("div", { key: '4751e61f1ccd565432b97fb3c324a4660d3faed6', class: "flex items-center gap-2" }, h("input", { key: 'd0118bb3d5ee004ad0fd44a3c137333e0eeb2a8b', 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) => {
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: '5fe137e7cec477774d9e53ee20e1d1d537894d2c', htmlFor: "heatPump", class: "text-text-muted" }, t.solarSystemForm
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: '8772c0bcebf70cd19cf885fa7806c50dc8539097', class: "text-text-muted" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (h("div", { key: 'de748c4ad3d677984fc1cca40e593ab714ccbf48', class: "flex flex-col gap-2" }, this.isIOS()
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
- const value = parseInt(e.target
299
+ let value = parseInt(e.target
297
300
  .value);
298
- if (value >= 10 &&
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: '6c8c7115d55e2c5ee6a54851cdfba688661ede4b', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '0a4809e48ac74da215370f112349e32a6f08e76e', class: "flex items-center justify-between" }, h("div", { key: '5f62212ef256e052b06db9e98399201bde8037b6', class: "flex items-center gap-2" }, h("input", { key: 'f2bf729c5ab14e7d9b703d8039f59090e639682f', 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) => {
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: '8a9821d04372700dbded0cb3f9717f9fd4b1b1cc', htmlFor: "electricCar", class: "text-text-muted" }, t.solarSystemForm
321
+ } }), h("label", { key: 'a148ffb1488169ef9e383c5483145f3163c38172', htmlFor: "electricCar", class: "text-text-muted" }, t.solarSystemForm
316
322
  .additionalComponents
317
- .electricCar))), this.electricCar && (h("div", { key: '6a5a852117986816aac6f472640c8b0b8a690ce4', class: "flex flex-col gap-2" }, h("div", { key: 'ec9676e4e6d833cab01cfc3cadab9549f548087e', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'a1a3e882c0baff681967e07d68eb071b722a0863', class: "text-sm text-text-muted" }, t.solarSystemForm
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: 'e4eafc1c790249d21880125600cf953f5d863a94', class: "text-sm text-text-muted" }, t.solarSystemForm
325
+ .chargingTime), h("label", { key: '7bedc4d1e43fb5e10f04a4ae2b91abf10c56da2c', class: "text-sm text-text-muted" }, t.solarSystemForm
320
326
  .additionalComponents
321
- .kilometersPerYear)), h("div", { key: '915c1dd050ae00d84e6b20d378cfed197ba8c8de', class: "grid grid-cols-2 gap-4" }, h("select", { key: '7e3787b7c6a459e64e8d6cef1d1b2c435f98e98e', class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", onChange: (e) => {
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: 'e5dc819ba30e96cd784f8b0eb16ef1117f7a3227', value: "day", selected: this
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: 'b76054befb0c77256f33c6d8162978c5648ac464', value: "night", selected: this
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: 'fa135ccd00d2a6672a54fed11ed38d8458ea1e7c', type: "number", min: "1000", max: "50000", 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) => {
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: '2148cbff01986d7fa86e8b03e47c57d90f712360', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: 'fd86a822750f62629e88c084d92377eece3ebbd4', class: "flex items-center justify-between" }, h("div", { key: '212d9da35671fd2f1d7c243bc2052e253f9e26d9', class: "flex items-center gap-2" }, h("input", { key: '6a9a6b27378919e1c6f48e9c5dfae03ef7d97646', 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.battery > 0, onChange: (e) => {
340
- this.battery =
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: '3ff0e094dfe08e2a4c401243aaebf6480c2cfafc', htmlFor: "battery", class: "text-text-muted" }, t.solarSystemForm
358
+ } }), h("label", { key: 'e40e64ca8bd60afddef286b7e4aa5cf369217eb2', htmlFor: "battery", class: "text-text-muted" }, t.solarSystemForm
347
359
  .additionalComponents
348
- .battery)), (this.battery > 0 && !this.isIOS()) && (h("span", { key: '585a71124051d15ea2cc342bee629a8c494239d7', class: "text-text-muted" }, this.battery, " kWh"))), this.battery > 0 && (h("div", { key: '6d74a5cda4b8834860ff972eb293e86527b830c9', class: "flex flex-col gap-2" }, this.isIOS()
349
- ? (h("div", { class: "flex items-center gap-2" }, h("input", { type: "number", min: "1", 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) => {
350
- const value = parseInt(e.target
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 >= 1 &&
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
- this.battery = parseInt(e.target
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: 'e2d75f070f8c3c41a9cfd4adda9d14e9b34fbbab', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'ba377a0cc8b569320a3e0e057a034819ad227c7b', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.electricityCostsTitle), h("div", { key: '070c1e3a58c2568e171df10274a5e57aa49044a1', style: {
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(250px, 1fr))",
387
+ gridTemplateColumns: "repeat(auto-fit, minmax(100px, 1fr))",
366
388
  gap: "1rem",
367
- } }, h("div", { key: 'bec93178987f87678bccb9132acff50a983a38e6' }, h("label", { key: 'f8cdb70052462357f1ebb63bb76833d6987b8d1f', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.electricityPrice), h("input", { key: '40c29d37ee01616589c83001f8186a3bd96a7185', 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) => {
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: '88003e2615bacc56b5431477a23cb58ab2c086d1' }, h("label", { key: '85b506656400f55c43cda84296b6099ffd288ffa', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.compensationRate), h("input", { key: 'd208d073142c69d94156731407f9252dbeeb515f', 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) => {
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: '2cdf720721e6d0bcc68251f44c2d1f35e68a72af' }, h("label", { key: '914cb694b2e155b3fb2c175575652c62c5faba48', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.annualPriceIncrease), h("input", { key: 'f5eae03441d921092a1059f12791b5089d723604', 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) => {
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: '0997b03cf6fc81af0bd88326de1e3eb7d82383ba', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'faa0a1320b89856ca7d21987ecffd7acf9fff7d2', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.resultsTitle), h("div", { key: '0de956455634f10fa2c3ee446ef408c1c1379fd8', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '9785278b17204c208a6dcf9cb725aa504f287695', class: "flex flex-col sm:flex-row sm:items-center justify-between" }, h("span", { key: 'f5fa467fdd8fceaf3520905ba281347b98d28978', class: "text-text-muted" }, t.solarSystemForm.autonomy), h("span", { key: 'a70afec8557be41ab510ed3cc4c8725b9c42ca0d', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.autonomy > 100
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: '9b9eef4e512e1b1638723adfed3546138e9639f7', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("span", { key: 'e56aace60e06d29e6a4a37da366734ed462fec45', class: "text-text-muted" }, t.solarSystemForm.totalEnergyConsumption), h("span", { key: '99d3c569ffab6950c47acaf62a3de4a9adae865a', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.totalEnergyConsumption, 0), " kWh/", t.solarSystemForm.year)), h("div", { key: '3347f4ec972333f3e18db8b401609ab20b8a1081', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("span", { key: 'c590ae2fdc8162d058072f856b24fbe43390376d', class: "text-text-muted" }, t.solarSystemForm.totalEnergyProduction), h("span", { key: 'b27c9cc1718635c790c1d48f58fd4b9fc23d8b80', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.totalEnergyProduction, 0), " kWh/", t.solarSystemForm.year)), h("div", { key: 'e800c4780891997859381fb60edc001dd071d6c1', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: 'b5247a88b14de6ae9b2ce8e1a779ff0cad81cd07', class: "flex items-center gap-2" }, h("span", { key: '8370e3ea7372c5a54ba97a6b8fcdad431f507062', class: "text-text-muted" }, t.solarSystemForm.costSavings)), h("span", { key: '229bc59b95c275ef31922c93ce83270901b2c9c8', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.costSavings), "\u20AC/", t
382
- .solarSystemForm.year)), h("div", { key: '0f814b127c62bb3734cfb953daed01f63d4410ef', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: '1e7106e04c1c255f989f252b773129c979c578c2', class: "flex items-center gap-2" }, h("span", { key: '7c0038774cbdf0dbade48f01fefd52390276b6ad', class: "text-text-muted" }, t.solarSystemForm.compensation20Years)), h("span", { key: '7bb7ec01098ebc11b903b9ad86dc5fa4daa0e2fb', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.compensation20Years), "\u20AC")), h("div", { key: '7c412b9eed8946a0c429d503e3267ee355597c19', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: '4f84bb48e3129fda7e67dc246fb528c0d9d2da64', class: "flex items-center gap-2" }, h("span", { key: 'd22ff2fdb7d48feefef81a21c1c7afc208c57b46', class: "text-text-muted" }, t.solarSystemForm
383
- .monetaryBenefit20Years)), h("span", { key: 'ee077e796e852bc5267e53cbbba2e63472cd4042', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.savedCosts20Years), "\u20AC")))), h("div", { key: 'b3acf989b51c9cc06ecf12c8a7241bd9dacdaf5d', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '450dfbb3a61eb297f7b1eda98b0a1a1cbe25a9cb', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.requestOffer), h("div", { key: 'a09d2165122481dabd30dee31adf726f4d1ec675', style: {
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(250px, 1fr))",
407
+ gridTemplateColumns: "repeat(auto-fit, minmax(1 00px, 1fr))",
386
408
  gap: "1rem",
387
- } }, h("div", { key: '26ce393447d7aa425d5448b751c4ea2e2088d951' }, h("label", { key: 'aa4bdbbc1c21d48ac8b2f3e936572b943e22846e', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.name), h("input", { key: 'a6c7a0bff5f44723f814c893a211911f4cfffd09', 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
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: 'd1f07fddb4323979be4381a81340cf124e24db85', class: "text-error text-sm mt-1" }, this.nameError))), h("div", { key: '76e537f26bac79cd95b8fa91963f461fe292e642' }, h("label", { key: 'a6a00a29b2d8093d7c7d4779757613849955f34f', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.email), h("input", { key: 'bc3191a8fe75b3fcdf7ea5c0d34f3a456607a231', 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
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: '9e1039e0e200f8e58f56159b41ad2d622b21deda', class: "text-error text-sm mt-1" }, this.emailError))), h("div", { key: '3bda8788e10cc6754ac4adf43abde9c4c01cfff1' }, h("label", { key: '8e04f620261552f13e07bbb84cd814cdfbb545c5', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.phone), h("input", { key: 'a2b6b2f56ad93b9cb690683daa10779987423fbd', 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
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: 'b7a1376df5dcdf99587ece835333c4fb9f4a59b5', class: "text-error text-sm mt-1" }, this.phoneError)))), h("div", { key: '25d505f689b02c4b16cc9facdb8139708435222f', class: "flex flex-col items-center gap-4" }, h("button", { key: 'b6361bf33d70ef94fa812274e055c880b45824d5', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
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: 'c65535e0b52108d8c79340cfc7ff89d3b65082e5', class: "w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin" })), this.isSubmitting
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: '061a4c8ae79d7f04300a307f6a569e578546e20b', class: `text-sm px-4 py-2 rounded-4xl ${this.submitSuccess
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": {},