blue-chestnut-solar-expert 0.0.20 → 0.0.22

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 (95) hide show
  1. 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
  2. package/dist/cjs/eraser-icon_16.cjs.entry.js +92 -55
  3. package/dist/cjs/eraser-icon_16.cjs.entry.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/stencil-library.cjs.js +1 -1
  7. package/dist/collection/components/map-draw/polygon-buttons.js +2 -3
  8. package/dist/collection/components/map-draw/polygon-buttons.js.map +1 -1
  9. package/dist/collection/components/solar-expert/solar-expert.js +3 -16
  10. package/dist/collection/components/solar-expert/solar-expert.js.map +1 -1
  11. package/dist/collection/components/solar-system-form/solar-system-form.js +85 -37
  12. package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
  13. package/dist/collection/components/widgets/loading-widget.js +1 -1
  14. package/dist/collection/store.js +1 -0
  15. package/dist/collection/store.js.map +1 -1
  16. package/dist/collection/types/lang.js.map +1 -1
  17. package/dist/collection/utils/geometry/fitting.js +0 -228
  18. package/dist/collection/utils/geometry/fitting.js.map +1 -1
  19. package/dist/collection/utils/lang/english.js +1 -0
  20. package/dist/collection/utils/lang/english.js.map +1 -1
  21. package/dist/collection/utils/lang/german.js +1 -0
  22. package/dist/collection/utils/lang/german.js.map +1 -1
  23. package/dist/collection/utils/lang/spanish.js +1 -0
  24. package/dist/collection/utils/lang/spanish.js.map +1 -1
  25. package/dist/components/loading-widget.js +1 -1
  26. package/dist/components/map-draw.js +1 -1
  27. package/dist/components/map-selector.js +1 -1
  28. package/dist/components/{p-CmFUQbz_.js → p-CTYaeZhp.js} +88 -40
  29. package/dist/components/p-CTYaeZhp.js.map +1 -0
  30. package/dist/components/{p-CPLDlLfb.js → p-CaedRXrz.js} +8 -8
  31. package/dist/components/p-CaedRXrz.js.map +1 -0
  32. package/dist/components/{p-DPfpDV5e.js → p-CvYS8YPD.js} +3 -3
  33. package/dist/components/{p-DPfpDV5e.js.map → p-CvYS8YPD.js.map} +1 -1
  34. package/dist/components/{p-CwVUc6Hq.js → p-DlAht76f.js} +6 -2
  35. package/dist/components/p-DlAht76f.js.map +1 -0
  36. package/dist/components/{p-CRnyqUKc.js → p-DufgH4Gd.js} +5 -6
  37. package/dist/components/p-DufgH4Gd.js.map +1 -0
  38. package/dist/components/{p-BxEeUA4s.js → p-G74Ln5vx.js} +3 -3
  39. package/dist/components/{p-BxEeUA4s.js.map → p-G74Ln5vx.js.map} +1 -1
  40. package/dist/components/{p-C-_6TJs5.js → p-bu76_2XI.js} +3 -3
  41. package/dist/components/{p-C-_6TJs5.js.map → p-bu76_2XI.js.map} +1 -1
  42. package/dist/components/{p-Bq1PVegq.js → p-oY2qkchz.js} +3 -3
  43. package/dist/components/{p-Bq1PVegq.js.map → p-oY2qkchz.js.map} +1 -1
  44. package/dist/components/polygon-buttons.js +1 -1
  45. package/dist/components/polygon-information.js +1 -1
  46. package/dist/components/settings-modal.js +1 -1
  47. package/dist/components/solar-expert.js +11 -24
  48. package/dist/components/solar-expert.js.map +1 -1
  49. package/dist/components/solar-system-form.js +1 -1
  50. package/dist/components/tool-box.js +1 -1
  51. 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
  52. package/dist/esm/eraser-icon_16.entry.js +92 -55
  53. package/dist/esm/eraser-icon_16.entry.js.map +1 -1
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/loading-widget.entry.js +1 -1
  56. package/dist/esm/stencil-library.js +1 -1
  57. package/dist/stencil-library/api-E7GpMOpJ.js.map +1 -0
  58. package/dist/stencil-library/app-globals-DQuL1Twl.js.map +1 -0
  59. package/dist/stencil-library/config-BV_PiZGS.js.map +1 -0
  60. package/dist/stencil-library/decoder-DSavpK4g.js.map +1 -0
  61. package/dist/stencil-library/deflate-BNIZ2wXt.js.map +1 -0
  62. 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
  63. package/dist/stencil-library/index-DZjEuBrX.js.map +1 -0
  64. package/dist/stencil-library/index-DimvNaNS.js.map +1 -0
  65. package/dist/stencil-library/index.esm.js.map +1 -1
  66. package/dist/stencil-library/jpeg-B79KZkPY.js.map +1 -0
  67. package/dist/stencil-library/lerc-B-ZLzzvM.js.map +1 -0
  68. package/dist/stencil-library/lzw-1xg7uPVo.js.map +1 -0
  69. package/dist/stencil-library/p-62debd50.entry.js +2 -0
  70. package/dist/stencil-library/p-62debd50.entry.js.map +1 -0
  71. package/dist/stencil-library/{p-56f8bd65.entry.js → p-c4c3bbee.entry.js} +2 -2
  72. package/dist/stencil-library/packbits-0MTMkUGE.js.map +1 -0
  73. package/dist/stencil-library/pako.esm-BdkEMvj8.js.map +1 -0
  74. package/dist/stencil-library/raw-W8mxtLfl.js.map +1 -0
  75. package/dist/stencil-library/solar-expert.entry.esm.js.map +1 -0
  76. package/dist/stencil-library/solar-expert.entry.js +92 -0
  77. package/dist/{components/p-CRnyqUKc.js.map → stencil-library/solar-expert.entry.js.map} +1 -1
  78. package/dist/stencil-library/stencil-library.esm.js +1 -1
  79. package/dist/stencil-library/stencil-library.esm.js.map +1 -1
  80. package/dist/stencil-library/store-DUpvKmRV.js.map +1 -0
  81. package/dist/stencil-library/tools-DU7Muwzb.js.map +1 -0
  82. package/dist/stencil-library/utils-CTW6J-87.js.map +1 -0
  83. package/dist/stencil-library/webimage-CLeW6JHT.js.map +1 -0
  84. package/dist/types/components/solar-expert/solar-expert.d.ts +0 -1
  85. package/dist/types/components/solar-system-form/solar-system-form.d.ts +2 -0
  86. package/dist/types/store.d.ts +1 -0
  87. package/dist/types/types/lang.d.ts +1 -0
  88. package/dist/types/utils/geometry/fitting.d.ts +0 -23
  89. package/package.json +1 -1
  90. package/dist/components/p-CPLDlLfb.js.map +0 -1
  91. package/dist/components/p-CmFUQbz_.js.map +0 -1
  92. package/dist/components/p-CwVUc6Hq.js.map +0 -1
  93. package/dist/stencil-library/p-1e2ddc82.entry.js +0 -2
  94. package/dist/stencil-library/p-1e2ddc82.entry.js.map +0 -1
  95. /package/dist/stencil-library/{p-56f8bd65.entry.js.map → p-c4c3bbee.entry.js.map} +0 -0
@@ -1086,6 +1086,7 @@ const en = {
1086
1086
  chargingTime: "Charging Time",
1087
1087
  chargingTimeDay: "Day (06:00 - 18:00)",
1088
1088
  chargingTimeNight: "Night (18:00 - 06:00)",
1089
+ kilometersPerYear: "Kilometers per Year",
1089
1090
  },
1090
1091
  annualPriceIncrease: "Annual Price Increase (%)",
1091
1092
  costSavings25Years: "25-Year Savings",
@@ -1201,6 +1202,7 @@ const de = {
1201
1202
  chargingTime: "Zeitpunkt der Ladung",
1202
1203
  chargingTimeDay: "Tag (06:00 - 18:00)",
1203
1204
  chargingTimeNight: "Nacht (18:00 - 06:00)",
1205
+ kilometersPerYear: "Kilometer pro Jahr",
1204
1206
  },
1205
1207
  annualPriceIncrease: "Jährliche Preissteigerung (%) ",
1206
1208
  costSavings25Years: "25-Jährige Einsparungen",
@@ -1316,6 +1318,7 @@ const es = {
1316
1318
  chargingTime: "Hora de carga",
1317
1319
  chargingTimeDay: "Día (06:00 - 18:00)",
1318
1320
  chargingTimeNight: "Noche (18:00 - 06:00)",
1321
+ kilometersPerYear: "Kilómetros por año",
1319
1322
  },
1320
1323
  annualPriceIncrease: "Aumento anual del precio (%)",
1321
1324
  costSavings25Years: "Ahorro en 25 años",
@@ -1601,6 +1604,7 @@ const { state, onChange } = createStore({
1601
1604
  },
1602
1605
  settingsVersion: 1,
1603
1606
  isMobile: false,
1607
+ isIOS: false,
1604
1608
  });
1605
1609
  onChange("latitude", (value) => {
1606
1610
  state.latitude = value;
@@ -2431,12 +2435,11 @@ const PolygonButtons = class {
2431
2435
  currentTool;
2432
2436
  render() {
2433
2437
  const t = getLanguageStrings(state.settings.language);
2434
- console.log("currentTool", this.currentTool);
2435
- return (index.h("div", { key: '0395148df27fa4749435da350c48b48f48631b9e', class: "flex w-full gap-2 justify-end" }, index.h("button", { key: '8e1c15c7ebfca7970c240c02f1280834100fea59', class: `px-4 py-2 rounded-4xl hover:bg-[#0000003c] text-[#271200] transition-colors duration-200 text-xs ${this.currentTool === "markRoofEdge"
2438
+ return (index.h("div", { key: 'bfd9f90e4d9102dd46b27a74e53d8f6f58af9361', class: "flex w-full gap-2 justify-end" }, index.h("button", { key: '3b0866d091627579b479b3009800f12b27d13d5e', class: `px-4 py-2 rounded-4xl hover:bg-[#0000003c] text-[#271200] transition-colors duration-200 text-xs ${this.currentTool === "markRoofEdge"
2436
2439
  ? "bg-[#00000056]"
2437
2440
  : "bg-white"}`,
2438
2441
  // style={edgeSelectedStyle}
2439
- onClick: () => this.selectEdgeTool() }, t.mapDraw.markRoofEdge), index.h("button", { key: '0d5cf42d7af65b4e17fefc466d8925051db45f6f', class: "px-4 py-2 rounded-4xl hover:bg-[#0000003c] text-[#271200] transition-colors duration-200 text-xs bg-[#ffffff]", onClick: () => this.calculateSolarPanels() }, t.mapDraw.calculateSolarPanels)));
2442
+ onClick: () => this.selectEdgeTool() }, t.mapDraw.markRoofEdge), index.h("button", { key: '12f39460c0a87249a639d2834f923f7abd0e592d', class: "px-4 py-2 rounded-4xl hover:bg-[#0000003c] text-[#271200] transition-colors duration-200 text-xs bg-[#ffffff]", onClick: () => this.calculateSolarPanels() }, t.mapDraw.calculateSolarPanels)));
2440
2443
  }
2441
2444
  };
2442
2445
  PolygonButtons.style = outputCss$8;
@@ -2600,17 +2603,6 @@ const SolarExpert = class {
2600
2603
  place = null;
2601
2604
  showMapSelector = false;
2602
2605
  inputElement;
2603
- iosPolyfill(slider, e) {
2604
- var val = (e.pageX - slider.getBoundingClientRect().left) /
2605
- (slider.getBoundingClientRect().right -
2606
- slider.getBoundingClientRect().left), max = parseInt(slider.getAttribute("max") || "0", 10), segment = 1 / (max - 1), segmentArr = [];
2607
- max++;
2608
- for (var i = 0; i < max; i++) {
2609
- segmentArr.push(segment * i);
2610
- }
2611
- var segCopy = segmentArr.slice(), ind = segmentArr.sort((a, b) => Math.abs(val - a) - Math.abs(val - b))[0];
2612
- slider.value = String(segCopy.indexOf(ind) + 1);
2613
- }
2614
2606
  componentWillLoad() {
2615
2607
  state.isMobile =
2616
2608
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i
@@ -2623,10 +2615,8 @@ const SolarExpert = class {
2623
2615
  }
2624
2616
  });
2625
2617
  state.settings.language = this.language;
2626
- const sliders = document.querySelectorAll(".input-slider");
2627
- sliders.forEach((slider) => {
2628
- slider.addEventListener("touchend", (e) => this.iosPolyfill(slider, e), { passive: true });
2629
- });
2618
+ state.isIOS = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
2619
+ console.log(state.isIOS);
2630
2620
  }
2631
2621
  async loadGoogleMapsScript() {
2632
2622
  try {
@@ -2674,7 +2664,7 @@ const SolarExpert = class {
2674
2664
  }
2675
2665
  render() {
2676
2666
  const t = getLanguageStrings(this.language);
2677
- return (index.h("div", { key: 'e9007293338ea321ee12563815ec22f625e6abfc', class: "flex flex-col w-full h-full p-3 m-auto", id: "solar-calculator" }, this.showMapSelector
2667
+ return (index.h("div", { key: 'f084aa6d49f5c3ee21168d322d58de159b9ad7b9', class: "flex flex-col w-full h-full p-3 m-auto", id: "solar-calculator" }, this.showMapSelector
2678
2668
  ? (index.h("map-selector", { "api-key": this.apiKey, language: this.language }))
2679
2669
  : (index.h(index.h.Fragment, null, index.h("div", { class: "pb-3 flex flex-row gap-4 items-stretch w-full" }, index.h("div", { class: "relative flex-3" }, index.h("div", { class: "absolute left-3 top-1/2 transform -translate-y-1/2" }, index.h("search-icon", null)), index.h("input", { ref: (el) => this.inputElement = el, type: "text", placeholder: t.solarExpert
2680
2670
  .searchPlaceholder, class: "w-full pl-10 pr-4 py-2 border border-gray-300 rounded-4xl focus:ring-[#271200] bg-white h-full" })), index.h("button", { onClick: () => this.handleChooseOnMap(), class: "flex-1 pl-4 pr-4 py-2 border border-gray-300 bg-white rounded-4xl focus:ring-[#271200] hover:bg-[#271200] hover:text-white" }, t.mapSelector.chooseOnMap)), index.h("map-draw", { apiKey: this.apiKey })))));
@@ -2849,6 +2839,7 @@ const SolarSystemForm = class {
2849
2839
  compensation25Years = 0;
2850
2840
  savedCosts25Years = 0;
2851
2841
  maxPanels = 5;
2842
+ kmDrivenPerYear = 10000;
2852
2843
  updateSystemConfigs() {
2853
2844
  if (Object.keys(this.systemConfigs).length === 0) {
2854
2845
  this.numberOfPanels = 0;
@@ -2893,7 +2884,7 @@ const SolarSystemForm = class {
2893
2884
  },
2894
2885
  electricCar: this.electricCar
2895
2886
  ? {
2896
- averageKilometersPerDay: 50,
2887
+ averageKilometersPerDay: this.kmDrivenPerYear / 365,
2897
2888
  consumptionkWhPer100km: 17,
2898
2889
  batteryKWh: 20,
2899
2890
  chargingHours: this.electricCarChargingTime === "day"
@@ -2953,103 +2944,149 @@ const SolarSystemForm = class {
2953
2944
  obstructionPolygons: this.obstructionPolygons,
2954
2945
  });
2955
2946
  }
2947
+ isIOS() {
2948
+ return state.isIOS;
2949
+ }
2956
2950
  render() {
2957
2951
  const t = getLanguageStrings(state.settings.language);
2958
- return (index.h("div", { key: '744d980cd58f2d3d04f7f3ff4938781a6c645fe5', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
2952
+ return (index.h("div", { key: '2dba1a7d4b79678b3361a902cde4f01b1a60723c', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
2959
2953
  ,
2960
2954
  // display: (Object.keys(this.systemConfigs).length === 0)
2961
2955
  // ? "none"
2962
2956
  // : "flex",
2963
2957
  // }}
2964
- id: "solar-system-form" }, index.h("h1", { key: 'f003bc55e2f63531822bd23ac3d39946d730df69', class: "text-2xl font-bold text-[#271200] mb-4 w-full" }, t.solarSystemForm.title), index.h("div", { key: '20c215156baabe57b3188759741d7d20c99270ef', class: "w-full bg-[#f3ebda] rounded-4xl p-6 space-y-6" }, index.h("div", { key: '7372fb2f5dadd14e0bc411773598c1316b7d1607', class: "space-y-4" }, index.h("h2", { key: '05978eeb5b39b5e37e40cd052bb64f9f239b1a01', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.systemInformation), index.h("div", { key: '005128f28eee0bba612bcc5b65f81a546d52e754', class: "grid grid-rows-3 gap-0" }, index.h("div", { key: '9095d807e024286e0ddd505e4f0c4d6311e92f99', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: 'ce78ba6e92916f72a53698c1372637d065010d22', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.numberOfPanels), index.h("label", { key: '4c2f7e8a88baa146a4f01e2dabafaea416c74acd', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.panelPeakPower)), index.h("div", { key: 'fc7b28c8de9de709b7116612213f993e37598b09', class: "grid grid-cols-2 gap-4" }, index.h("input", { key: 'b7b63eb3667e664c6b7dcf251b786a20882b500d', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.numberOfPanels, readOnly: true }), index.h("input", { key: 'c500aa9a91ce6b21f734d95d92532d82be154055', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.panelPeakPower, readonly: true })), index.h("div", { key: 'd69c51ebd1188abaf61de239ce5d537ad9115a7e', class: "grid grid-cols-2 gap-4" }, index.h("div", { key: 'ecac73eba72e206b678d86ba18b4ba04e72d6e2d', class: "w-full pt-2" }, index.h("input", { key: '48a2fda42efcbd457df3c21ba63cb73066471052', 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-white", value: this.numberOfPanels, onInput: (e) => {
2965
- this.numberOfPanels = parseInt(e.target
2966
- .value);
2967
- this.recalculate();
2968
- } })))), index.h("div", { key: 'b01c9bbec27359126ed3283a14e275861ca79194', class: "bg-white rounded-4xl p-4" }, index.h("div", { key: '4be558f4d94a68bda294dc32155df64243e3f2c7', class: "flex items-center justify-between" }, index.h("span", { key: '677a12d0236e17349fff064f6fad76279a51299a', class: "text-gray-600" }, t.solarSystemForm.totalSystemPeakPower), index.h("span", { key: '15f819a867ee238aeeb4f9cfc24b7b5e607176c8', class: "text-xl font-bold text-[#271200]" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
2969
- this.numberOfPanels).toFixed(1), " kW")))), index.h("div", { key: '0adcb579dce8f9357c2631b4b6fa8dc0e66a5727', class: "space-y-4" }, index.h("h2", { key: '93ce837e4b57123e19629499d371211c82b67f17', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.householdConsumptionTitle), index.h("div", { key: '7c1b46ffac1807ffa75b98b9ff317250cb7f4f3f', class: "grid grid-rows-2 gap-0" }, index.h("div", { key: '115981c3667bdd500bb9ed9862dfcf6c57cf3488', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: '1d36b519882a44f84f948594f2aac031c8b14785', class: "block text-sm font-medium text-gray-600" }, t.solarSystemForm.annualConsumption), index.h("label", { key: 'd0360fb66300f6a1048d6318ad388a28c25ede1c', class: "block text-sm font-medium text-gray-600" }, t.solarSystemForm.consumptionProfileTitle)), index.h("div", { key: '830c929bedc1731853b8abb4602c1a183b31c5d9', class: "grid grid-cols-2 gap-4" }, index.h("input", { key: '1f0625102ccf8711c5d25b8b42086ddacf0f5bce', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.householdConsumption, onInput: (e) => {
2958
+ id: "solar-system-form" }, index.h("h1", { key: '0972b02752b45df6c041612092d464e92452b98a', class: "text-2xl font-bold text-[#271200] mb-4 w-full" }, t.solarSystemForm.title), index.h("div", { key: 'd66e6215be092ffed8fa69f876e2184ce734f9dc', class: "w-full bg-[#f3ebda] rounded-4xl p-6 space-y-6" }, index.h("div", { key: '5036c23117c8fdb9497746ad8eba7c0b4cf509e3', class: "space-y-4" }, index.h("h2", { key: 'f0342a639b9c11f6d30693da91001d01ea758de4', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.systemInformation), index.h("div", { key: 'bf6748d062b9e3d3505f77b3a3862be7f4b2d8af', class: "grid grid-rows-3 gap-0" }, index.h("div", { key: '21e6341bc4dadc41cfe755312ed6bf7ff24febbc', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: 'ad9b6d44fa4a0feedcb67f9c697963af10ae3e5f', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.numberOfPanels), index.h("label", { key: '48045b48436b408c29e21f005fde2ace05d75703', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.panelPeakPower)), index.h("div", { key: '13c5228111f38d156672b74486804bfe34d28ad7', class: "grid grid-cols-2 gap-4" }, !this.isIOS()
2959
+ ? (index.h("input", { type: "number", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.numberOfPanels, readOnly: true }))
2960
+ : (index.h("input", { type: "number", min: "1", max: this.maxPanels, class: "flex-1 px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.numberOfPanels, onInput: (e) => {
2961
+ const value = parseInt(e.target
2962
+ .value);
2963
+ if (value >= 1 &&
2964
+ value <=
2965
+ this.maxPanels) {
2966
+ this.numberOfPanels = value;
2967
+ this.recalculate();
2968
+ }
2969
+ } })), index.h("input", { key: '53d8ea2e917661f9151ddf9b185af5d6756bf632', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.panelPeakPower, readonly: true })), index.h("div", { key: '17477ccb77a6f5953cf9976d743f3ba7009781af', class: "grid grid-cols-2 gap-4" }, index.h("div", { key: '85b218da4a521d88740d6f3921fb25cfbeaf7dbe', class: "w-full pt-2" }, !this.isIOS() &&
2970
+ (index.h("input", { key: '52e835a0cb277b040a36af6a06e312e9a573fe0f', 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-white", value: this.numberOfPanels, onInput: (e) => {
2971
+ this.numberOfPanels =
2972
+ parseInt(e.target
2973
+ .value);
2974
+ this.recalculate();
2975
+ } }))))), index.h("div", { key: 'afe5465d0eeb4de5f8cacb1defd003ebf67a8308', class: "bg-white rounded-4xl p-4" }, index.h("div", { key: 'caf3fa20ee512be50c0ee47dd446325589c708cb', class: "flex items-center justify-between" }, index.h("span", { key: '4478560c195bd1fb0c2a37b409fc94b437d89576', class: "text-gray-600" }, t.solarSystemForm.totalSystemPeakPower), index.h("span", { key: '955d70d3c451a120e939dd6812f6d5a56b93b91c', class: "text-xl font-bold text-[#271200]" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
2976
+ this.numberOfPanels).toFixed(1), " kW")))), index.h("div", { key: '7be99868bcb573b69940ae0eed1dd339c276182a', class: "space-y-4" }, index.h("h2", { key: '4c707b1f87c2f1ee48f21523910876298c1d50cc', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.householdConsumptionTitle), index.h("div", { key: '91275b282cd1deef545ccc09971c6e8f501c27a2', class: "grid grid-rows-2 gap-0" }, index.h("div", { key: 'a64d9f3934d296ee3efe68796d1dba323797d67d', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: '63772879247a7c9a099fabcd3bcec1b0e1ab4ee8', class: "block text-sm font-medium text-gray-600" }, t.solarSystemForm.annualConsumption), index.h("label", { key: '6a5754992670dbe36b25f6bc0e39f4bab847dca0', class: "block text-sm font-medium text-gray-600" }, t.solarSystemForm.consumptionProfileTitle)), index.h("div", { key: 'cf7ff437e16df324a0f193e3b98828ec44d0c46f', class: "grid grid-cols-2 gap-4" }, index.h("input", { key: 'b4b67d847c8f8f9fae7a1a7d51d95cb50b8a258b', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.householdConsumption, onInput: (e) => {
2970
2977
  this.householdConsumption = parseInt(e.target
2971
2978
  .value);
2972
2979
  this.recalculate();
2973
- } }), index.h("select", { key: '39cec2d7c15bd3eec6091b3dc6384ab7ed95310c', class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", onChange: (e) => {
2980
+ } }), index.h("select", { key: '6673bebb683bf19abe42f519f1cb04b422c6b364', class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", onChange: (e) => {
2974
2981
  this.consumptionProfile =
2975
2982
  e.target
2976
2983
  .value;
2977
2984
  this.recalculate();
2978
- } }, index.h("option", { key: '74b10c47b8fefb3aee7c818d35797649cd9cf700', value: "mostly_at_home", selected: this.consumptionProfile ===
2985
+ } }, index.h("option", { key: 'b2d9dd9c783e5f245cc0b2543334e3be9ae5bd69', value: "mostly_at_home", selected: this.consumptionProfile ===
2979
2986
  "mostly_at_home" }, t.solarSystemForm.consumptionProfiles
2980
- .mostlyAtHome), index.h("option", { key: '650009f75563391223500548984d7c36ad6c13b2', value: "mostly_away", selected: this.consumptionProfile ===
2987
+ .mostlyAtHome), index.h("option", { key: 'eb3e39a87362b3d39ca11c00449456ec677cbfc8', value: "mostly_away", selected: this.consumptionProfile ===
2981
2988
  "mostly_away" }, t.solarSystemForm.consumptionProfiles
2982
- .mostlyAway))))), index.h("div", { key: '86a106ff0692fe3387ac8cd885120933b4f0e4d0', class: "space-y-4" }, index.h("h2", { key: 'ec07a0b6a96ed21036fb01ec15b5e14f26c05717', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.additionalComponents.title), index.h("div", { key: '2406008f140b2e6118a1158c40170db3049d1d0e', class: "flex flex-col gap-4" }, index.h("div", { key: '7e11cbbb64c167795b8f3d67e81936cbcab7e437', class: "flex flex-col bg-white rounded-4xl p-4 gap-4" }, index.h("div", { key: '4939f5f7fc79efadbc861f5b5d64730fe6dd08ec', class: "flex items-center justify-between" }, index.h("div", { key: 'e8a076f0129819d83c021baf76f9051e32a51745', class: "flex items-center gap-2" }, index.h("input", { key: 'acc0ae74a9fcd0bedce903ffa5d38f2174ba2874', type: "checkbox", id: "heatPump", class: "w-4 h-4 accent-[#964500] border-gray-300 rounded-full focus:ring-[#964500] focus:ring-offset-0 focus:ring-2", checked: this.heatPump > 0, onChange: (e) => {
2989
+ .mostlyAway))))), index.h("div", { key: '1e5da3eb5db4fcb7c48d667e0a2cd5fa7a54faed', class: "space-y-4" }, index.h("h2", { key: 'f9b05e006eee674279060a15f1f1dbb9d6c10d50', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.additionalComponents.title), index.h("div", { key: '0b9489a8e1ce2adcdce15f3223ac88601173a801', class: "flex flex-col gap-4" }, index.h("div", { key: 'c89bb7cc403c428bbd443ca87e8992e91785fde4', class: "flex flex-col bg-white rounded-4xl p-4 gap-4" }, index.h("div", { key: '273475b46f1486f1e7231f44349322a91c3c301b', class: "flex items-center justify-between" }, index.h("div", { key: '4bbf86342e38d59b24c3a7417374452a3c73b8ed', class: "flex items-center gap-2" }, index.h("input", { key: '124da317438aa1e19c3d5ac68af68266cd1e3564', type: "checkbox", id: "heatPump", class: "w-4 h-4 accent-[#964500] border-gray-300 rounded-full focus:ring-[#964500] focus:ring-offset-0 focus:ring-2", checked: this.heatPump > 0, onChange: (e) => {
2983
2990
  this.heatPump =
2984
2991
  e.target
2985
2992
  .checked
2986
2993
  ? 100
2987
2994
  : 0;
2988
2995
  this.recalculate();
2989
- } }), index.h("label", { key: 'cd903331c1dadec8fb8e32fb292a35e833349dde', htmlFor: "heatPump", class: "text-gray-600" }, t.solarSystemForm
2996
+ } }), index.h("label", { key: '7845fc7124ea276e780ee5f0e53b0795f254e31f', htmlFor: "heatPump", class: "text-gray-600" }, t.solarSystemForm
2990
2997
  .additionalComponents
2991
- .heatPump)), this.heatPump > 0 && (index.h("span", { key: 'a4b28f091c369e7b8167326f6f0ce7ce2ed87403', class: "text-gray-600" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (index.h("div", { key: '21799a5144de79e95bd82efd8e32d9a77d939e82', class: "flex flex-col gap-2" }, index.h("input", { key: 'c378e59e2421626b59aab30dca50d689318ea1c5', type: "range", min: "10", max: "300", step: "10", class: "input-slider 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-white", value: this.heatPump, onInput: (e) => {
2992
- this.heatPump = parseInt(e.target
2993
- .value);
2994
- this.recalculate();
2995
- } })))), index.h("div", { key: 'f361c0fc04391089240776a5dd76eb4a1f139dc2', class: "flex flex-col bg-white rounded-4xl p-4 gap-4" }, index.h("div", { key: '02bc28aff14eb518268cabb806caf30749fee32e', class: "flex items-center justify-between" }, index.h("div", { key: 'f53cb4db1f15b85743a2ba6d20486d0c12da3447', class: "flex items-center gap-2" }, index.h("input", { key: 'b6e4a0f08869fa9e7950371d590b9991ec03d452', type: "checkbox", id: "electricCar", class: "w-4 h-4 accent-[#964500] border-gray-300 rounded focus:ring-[#964500] focus:ring-offset-0 focus:ring-2", checked: this.electricCar, onChange: (e) => {
2998
+ .heatPump)), (this.heatPump > 0 && !this.isIOS()) && (index.h("span", { key: '0eda4b5459b14430bc9be00ef740e216df7cd15c', class: "text-gray-600" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (index.h("div", { key: '91f8bf5247aa936892ed10e3987f8201f078cd92', class: "flex flex-col gap-2" }, this.isIOS()
2999
+ ? (index.h("div", { class: "flex items-center gap-2" }, index.h("input", { type: "number", min: "10", max: "300", step: "10", class: "flex-1 px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.heatPump, onInput: (e) => {
3000
+ const value = parseInt(e.target
3001
+ .value);
3002
+ if (value >= 10 &&
3003
+ value <= 300) {
3004
+ this.heatPump =
3005
+ value;
3006
+ this.recalculate();
3007
+ }
3008
+ } }), index.h("span", { class: "text-sm text-gray-600" }, "m\u00B2")))
3009
+ : (index.h("input", { type: "range", min: "10", max: "300", step: "10", class: "input-slider 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-white", value: this.heatPump, onInput: (e) => {
3010
+ this.heatPump =
3011
+ parseInt(e.target
3012
+ .value);
3013
+ this.recalculate();
3014
+ } }))))), index.h("div", { key: 'dde5da644a165acb42ae0c23c8a129851728fb40', class: "flex flex-col bg-white rounded-4xl p-4 gap-4" }, index.h("div", { key: '657c3e78f58d54e26305071d60948a334a06e68c', class: "flex items-center justify-between" }, index.h("div", { key: '88718f9d326fc4824d77f5ee1ad120684f42c5c7', class: "flex items-center gap-2" }, index.h("input", { key: 'e2f3c3f9978d11471aea4736745169aa61a90206', type: "checkbox", id: "electricCar", class: "w-4 h-4 accent-[#964500] border-gray-300 rounded focus:ring-[#964500] focus:ring-offset-0 focus:ring-2", checked: this.electricCar, onChange: (e) => {
2996
3015
  this.electricCar =
2997
3016
  e.target
2998
3017
  .checked;
2999
3018
  this.recalculate();
3000
- } }), index.h("label", { key: 'a607d596e03ee4969111bd4124507814f1ea048d', htmlFor: "electricCar", class: "text-gray-600" }, t.solarSystemForm
3019
+ } }), index.h("label", { key: '6df782a0b807a3c4463686804e71a65360c651ac', htmlFor: "electricCar", class: "text-gray-600" }, t.solarSystemForm
3001
3020
  .additionalComponents
3002
- .electricCar))), this.electricCar && (index.h("div", { key: '65681c033ecb581ac19c28034b456d3d2dc8bb6c', class: "flex flex-col gap-2" }, index.h("label", { key: 'e95874e8b94206c57fe44ed7355be4e38ddbd2ed', class: "text-sm text-gray-600" }, t.solarSystemForm
3021
+ .electricCar))), this.electricCar && (index.h("div", { key: 'f3d23a7c239c4a32bd838825fc5c2bdb018c0922', class: "flex flex-col gap-2" }, index.h("div", { key: 'bf5b72bdad1771baace0b191d698c2f083d50e19', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: '6df23bf10da5d23735c3c5cfab6301a35d9575ec', class: "text-sm text-gray-600" }, t.solarSystemForm
3003
3022
  .additionalComponents
3004
- .chargingTime), index.h("select", { key: '47ed96b55ae0b40ab0bd40236f3f1def09701548', class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", onChange: (e) => {
3023
+ .chargingTime), index.h("label", { key: 'c33783c4485f9076190f0c47992e1594a8cc3548', class: "text-sm text-gray-600" }, t.solarSystemForm
3024
+ .additionalComponents
3025
+ .kilometersPerYear)), index.h("div", { key: '5722c0e3fca87593f93bb22168a776dc7d12a51f', class: "grid grid-cols-2 gap-4" }, index.h("select", { key: '0f38ea2f92d1bbb1aa24dca501a46ef510c3de9d', class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", onChange: (e) => {
3005
3026
  this.electricCarChargingTime =
3006
3027
  e.target
3007
3028
  .value;
3008
3029
  this.recalculate();
3009
- } }, index.h("option", { key: '1c48c51cae0282d0f2663ee0683e0d828e2cc508', value: "day", selected: this
3030
+ } }, index.h("option", { key: 'b25ca2e4796760fb657905e3840c073696c9ced9', value: "day", selected: this
3010
3031
  .electricCarChargingTime ===
3011
3032
  "day" }, t.solarSystemForm
3012
3033
  .additionalComponents
3013
- .chargingTimeDay), index.h("option", { key: 'a8f55ef8f4bfecca29290ae2bd49975bd3cfc386', value: "night", selected: this
3034
+ .chargingTimeDay), index.h("option", { key: '8569ac468010bf4aa8017b04855a2c3eb929f9c3', value: "night", selected: this
3014
3035
  .electricCarChargingTime ===
3015
3036
  "night" }, t.solarSystemForm
3016
3037
  .additionalComponents
3017
- .chargingTimeNight))))), index.h("div", { key: '5050cb4356d0f01bd6de72c778efd3d74dc48fcc', class: "flex flex-col bg-white rounded-4xl p-4 gap-4" }, index.h("div", { key: '94bc81576b9f577edf0eb5a50e5a72ea70a6a23c', class: "flex items-center justify-between" }, index.h("label", { key: '78374a6a108650c6e9da3d690c5cde3409009b64', class: "text-gray-600" }, t.solarSystemForm.additionalComponents
3018
- .battery), index.h("span", { key: '7dc59ee19216c1a59a19b3c6cd0889faebb9af85', class: "text-gray-600" }, this.battery, " kWh")), index.h("div", { key: '6880afe65e17ecfb231d994cc03618457738c68f', class: "flex flex-col gap-2" }, index.h("input", { key: 'e07afb820af65843e68e34a84730edc5b214440b', type: "range", min: "0", 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-white", value: this.battery, onInput: (e) => {
3019
- this.battery = parseInt(e.target
3020
- .value);
3038
+ .chargingTimeNight)), index.h("input", { key: '234a97ea1a54194dd5213debeafdcee3d18472af', type: "number", min: "1000", max: "50000", step: "1000", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.kmDrivenPerYear, onInput: (e) => {
3039
+ this.kmDrivenPerYear =
3040
+ parseInt(e.target
3041
+ .value);
3021
3042
  this.recalculate();
3022
- } }))))), index.h("div", { key: 'a4bfb580de1e3c45a9f3b25acdec60008be691ce', class: "space-y-4" }, index.h("h2", { key: 'dfd3a5492bc3b57e800b3c946e95ada611190378', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.electricityCostsTitle), index.h("div", { key: '51e1bce640dd72353ee4f163c4d0db3343a87504', class: "grid grid-rows-2 gap-0" }, index.h("div", { key: '96422dfb55d394ad3678a924681e954b7ce22df3', class: "grid grid-cols-3 gap-4" }, index.h("label", { key: 'cf0d91a03cc3daef6fa6d82be31871bab5f7c100', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.electricityPrice), index.h("label", { key: '8ddfef1b47fb2ed3408a94244ed34d03d20445b7', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.compensationRate), index.h("label", { key: 'b6f72c81858b794c1326c13ebf1e7874d8a73375', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.annualPriceIncrease)), index.h("div", { key: '53bb5a5f2332e2a47c1266f22106809128678e56', class: "grid grid-cols-3 gap-4" }, index.h("input", { key: '5244283ad3af74ecdc19e6007088cb0ce1b36664', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.electricityPrice.toFixed(2), onInput: (e) => {
3043
+ } }))))), index.h("div", { key: '2b9ec6f3abefbc9a12a0c412376a117201d9cbf7', class: "flex flex-col bg-white rounded-4xl p-4 gap-4" }, index.h("div", { key: 'b8007674c3f2fcaa9b1120f452804737c2e60b61', class: "flex items-center justify-between" }, index.h("label", { key: 'b10b40d2079c8a6643e0e5c7078170c8ec1fd07a', class: "text-gray-600" }, t.solarSystemForm.additionalComponents
3044
+ .battery), !this.isIOS() && (index.h("span", { key: '8abfc38292626294d96cd46134ae6c9efcd45caf', class: "text-gray-600" }, this.battery, " kWh"))), index.h("div", { key: '89dd22648545df7ea017a704793aeab8cf193437', class: "flex flex-col gap-2" }, this.isIOS()
3045
+ ? (index.h("div", { class: "flex items-center gap-2" }, index.h("input", { type: "number", min: "0", max: "20", step: "1", class: "flex-1 px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.battery, onInput: (e) => {
3046
+ const value = parseInt(e.target
3047
+ .value);
3048
+ if (value >= 0 &&
3049
+ value <= 20) {
3050
+ this.battery =
3051
+ value;
3052
+ this.recalculate();
3053
+ }
3054
+ }, placeholder: "Battery capacity" }), index.h("span", { class: "text-sm text-gray-600" }, "kWh")))
3055
+ : (index.h("input", { type: "range", min: "0", 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-white", value: this.battery, onInput: (e) => {
3056
+ this.battery = parseInt(e.target
3057
+ .value);
3058
+ this.recalculate();
3059
+ } })))))), index.h("div", { key: '8729a38d3c447d702dbd962ce732cb835683cc40', class: "space-y-4" }, index.h("h2", { key: '1baeb07b6e4d9b80d8d5238730c5f24679fd8056', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.electricityCostsTitle), index.h("div", { key: '55af89837e9c511c6e38d13e8b43edb3a3188831', class: "grid grid-rows-2 gap-0" }, index.h("div", { key: '7810a1fcfa5e3bd3bae3ae8860b5f3b88cffc7fd', class: "grid grid-cols-3 gap-4" }, index.h("label", { key: '93f0fdcad9d8a0293686630b5bd7c1de1f2ce6f3', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.electricityPrice), index.h("label", { key: '4a90ddf97d30c14e7dadc0668bd99b67b67fbe10', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.compensationRate), index.h("label", { key: '51d4537d803746c154a0beead97fc1385c5ce3ff', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.annualPriceIncrease)), index.h("div", { key: 'ffe8e05a5d0cb78ce9521e45bf1432f8cf071535', class: "grid grid-cols-3 gap-4" }, index.h("input", { key: '589327000adc4bf5611dbfeab5146cd9dbfcd117', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.electricityPrice.toFixed(2), onInput: (e) => {
3023
3060
  this.electricityPrice = parseFloat(e.target
3024
3061
  .value);
3025
3062
  this.recalculate();
3026
- } }), index.h("input", { key: '156f947d4e06d7a3cc6ad217ec5d9fa2951ad4dc', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.compensationRate.toFixed(2), onInput: (e) => {
3063
+ } }), index.h("input", { key: '385e5e85ecde6812807e02c6fb5e45f64d41bb97', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.compensationRate.toFixed(2), onInput: (e) => {
3027
3064
  this.compensationRate = parseFloat(e.target
3028
3065
  .value);
3029
3066
  this.recalculate();
3030
- } }), index.h("input", { key: '98143e54459b81a7b7264bffc923dd371bc1742f', type: "number", step: "0.1", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.annualPriceIncrease.toFixed(1), onInput: (e) => {
3067
+ } }), index.h("input", { key: 'f71a1b7236c0ff45b24f1c012e4e6c5fb05f512c', type: "number", step: "0.1", class: "w-full px-4 py-2 rounded-4xl border border-gray-300 focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white", value: this.annualPriceIncrease.toFixed(1), onInput: (e) => {
3031
3068
  this.annualPriceIncrease = parseFloat(e.target
3032
3069
  .value);
3033
3070
  this.recalculate();
3034
- } })))), index.h("div", { key: '86b293619777e18d63b305ca07bc7e797fb0d70e', class: "space-y-4 pt-4 border-t border-gray-200" }, index.h("h2", { key: 'a68bcc7eeec7f0be54aea7c029e52ba1b0609638', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.resultsTitle), index.h("div", { key: 'b7ba73455969d9bd125c96a1f33dcf48c1418c37', class: "bg-white rounded-4xl p-4" }, index.h("div", { key: '18c3105018499d3b3a637aed351d91714ba5a612', class: "flex items-center justify-between" }, index.h("span", { key: '0035e2b15865f8227cbc114d38ebf5ccc00b656b', class: "text-gray-600" }, t.solarSystemForm.autonomy), index.h("span", { key: 'fb045f2880eeb51734f97d6a77a7319fca895ee9', class: "text-xl font-bold text-[#271200]" }, this.autonomy > 100
3071
+ } })))), index.h("div", { key: 'ec6d113a5645a3e3de006a51ed2eb022f5545b2f', class: "space-y-4 pt-4 border-t border-gray-200" }, index.h("h2", { key: 'b1f8e2e61ef2e0155867bde9ca7b72ccc409bcca', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.resultsTitle), index.h("div", { key: 'f6f6baef1de50a71e400a86c7cf0af838430d759', class: "bg-white rounded-4xl p-4" }, index.h("div", { key: '21bd3865da59dfa154c371b1f0df48e94fbe2ebe', class: "flex items-center justify-between" }, index.h("span", { key: '8fedb2c918d3aa1d3fadb0d07aaabccb2d78281f', class: "text-gray-600" }, t.solarSystemForm.autonomy), index.h("span", { key: '14600dda39b1cbee3281145836b03087bfaf99e7', class: "text-xl font-bold text-[#271200]" }, this.autonomy > 100
3035
3072
  ? "100"
3036
- : this.autonomy.toFixed(1), "%")), index.h("div", { key: '0b496be58c3105ffd4ce3e8bbb5647cf4b3ed92e', class: "flex items-center justify-between mt-4" }, index.h("div", { key: '3e08d94b99e63a9b52d9b1ac4eb1662023afebf8', class: "flex items-center gap-2" }, index.h("span", { key: 'abe46d153767c62c13d2d8b3eef0ccc89fa5f22e', class: "text-gray-600" }, t.solarSystemForm.costSavings), index.h("div", { key: '51d67b7365530344639c8df9122c4c52803fbe0f', class: "relative group" }, index.h("svg", { key: '0bc8015429f01fb53ae07c1921152a1493d87a2d', xmlns: "http://www.w3.org/2000/svg", class: "h-5 w-5 text-gray-400 cursor-help", viewBox: "0 0 20 20", fill: "currentColor" }, index.h("path", { key: '593c7428f06632d9e46d8d7ecb06ca1e25fb6c4f', "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" })), index.h("div", { key: 'ce7e6f853ea5370a2dbdfd392fef232f21bdc0d1', class: "absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-64 p-2 bg-gray-800 text-white text-sm rounded-lg opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none" }, t.solarSystemForm
3037
- .savingsDisclaimer))), index.h("span", { key: '2d89f0f4d9437d5b75b1bc5c34140bc8502f2b23', class: "text-xl font-bold text-green-600" }, this.costSavings.toFixed(2), "\u20AC/", t
3038
- .solarSystemForm.year)), index.h("div", { key: 'ae58b2b27ba70aa4f18dce63c507395255452db6', class: "flex items-center justify-between mt-4" }, index.h("div", { key: '7a0a1c6d8948a475374537eee1d9054b6824c38c', class: "flex items-center gap-2" }, index.h("span", { key: '4537c21706ee095f3e3ed263f0a99386eec92795', class: "text-gray-600" }, "Einspeiseverg\u00FCtung 25 Jahre")), index.h("span", { key: '75955814953cb2c9e0f311aaa1e3d04f19fc89fb', class: "text-xl font-bold text-green-600" }, this.compensation25Years.toFixed(2), "\u20AC")), index.h("div", { key: '06c3fa7e43948fb35f09e6e98716cbcd7d064d6c', class: "flex items-center justify-between mt-4" }, index.h("div", { key: '01210645e518efbc462feebc9980d24a6c09c163', class: "flex items-center gap-2" }, index.h("span", { key: 'f2519b5004a17f4ea09ac6ec374b73a553706ab5', class: "text-gray-600" }, "Geldwerter Vorteil 25 Jahre")), index.h("span", { key: 'b4e92d010609ac4a571e2c2732f62bf8dc836133', class: "text-xl font-bold text-green-600" }, this.savedCosts25Years.toFixed(2), "\u20AC")))), index.h("div", { key: '8d0dba4bcddfaf4e1509713c54d6474787b6254d', class: "space-y-4 pt-4 border-t border-gray-200" }, index.h("h2", { key: '26c08b27f7282f261f5a4779caaba766f20a8ca4', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.requestOffer), index.h("div", { key: 'a9366b58ac1e04aac462f0b9e21513400c053cb0', class: "grid grid-rows-2 gap-0" }, index.h("div", { key: 'a49322839297e3c7593236f071a8094138a32b47', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: '3676b60ef2f4fd8edcea20b86c9c0c0321829e95', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.name), index.h("label", { key: 'f41e248f056c96db5cfd225a79d1ec70ced03586', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.email)), index.h("div", { key: '3facacede4f9f59c96332e8caa76dd017c2640d6', class: "grid grid-cols-2 gap-4" }, index.h("input", { key: 'e31c14c1bdc5e50b833f1868bd03157e3919a585', type: "text", class: `w-full px-4 py-2 rounded-4xl border ${this.nameError
3073
+ : this.autonomy.toFixed(1), "%")), index.h("div", { key: '8be640248569dfcae408ca9b9552d23147129203', class: "flex items-center justify-between mt-4" }, index.h("div", { key: 'dbfc7ce335696180abfe84e5b976cdd4e820267e', class: "flex items-center gap-2" }, index.h("span", { key: 'b81ab0aca1d04a307a88160215188c986da9e14e', class: "text-gray-600" }, t.solarSystemForm.costSavings), index.h("div", { key: 'd188d4ebfc268417cafc92513ab60dda64ee4a2c', class: "relative group" }, index.h("svg", { key: '432b93be3b94a02afd9594183ea7aad458851cb8', xmlns: "http://www.w3.org/2000/svg", class: "h-5 w-5 text-gray-400 cursor-help", viewBox: "0 0 20 20", fill: "currentColor" }, index.h("path", { key: '85c79119ab2e4986dd80ebc615067881be8aef47', "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" })), index.h("div", { key: '97d984d70cc4e468c96d1efa407fbb5d907f878f', class: "absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-64 p-2 bg-gray-800 text-white text-sm rounded-lg opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none" }, t.solarSystemForm
3074
+ .savingsDisclaimer))), index.h("span", { key: '2ebf755861a392d0334051bc74dba3ecf3da54c8', class: "text-xl font-bold text-green-600" }, this.costSavings.toFixed(2), "\u20AC/", t
3075
+ .solarSystemForm.year)), index.h("div", { key: 'e8d6aed4a3090691a8e099033e10fd7402101bd0', class: "flex items-center justify-between mt-4" }, index.h("div", { key: '8620e5ee6cc66670ee8edc67e31ad47f5e2e7cfc', class: "flex items-center gap-2" }, index.h("span", { key: '7eeb068aa83f5f022f4ae89ef101239370717fb8', class: "text-gray-600" }, "Einspeiseverg\u00FCtung 25 Jahre")), index.h("span", { key: '2cf06969e5e77e70059e1e9394f2d8524301929c', class: "text-xl font-bold text-green-600" }, this.compensation25Years.toFixed(2), "\u20AC")), index.h("div", { key: '36601f46327e20a1208647b83d58bd4dbf74d27f', class: "flex items-center justify-between mt-4" }, index.h("div", { key: 'a14b9f951cf78e264836c2324ca67200b00d19ca', class: "flex items-center gap-2" }, index.h("span", { key: 'b10ccfdd861677e499c0ca6932359aed155c77fb', class: "text-gray-600" }, "Geldwerter Vorteil 25 Jahre")), index.h("span", { key: '4d76e1c00dc6faf30a136d4b87a9e48b10295c21', class: "text-xl font-bold text-green-600" }, this.savedCosts25Years.toFixed(2), "\u20AC")))), index.h("div", { key: '86702fecf5d88cffad85540fd0a6bdf85a7d2819', class: "space-y-4 pt-4 border-t border-gray-200" }, index.h("h2", { key: 'e5a175e49d3005cf3550870ea701f9f2a9c01563', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.requestOffer), index.h("div", { key: '90835fc6003c9c3aac3599b0a84c17a4db8fb234', class: "grid grid-rows-2 gap-0" }, index.h("div", { key: 'e06697367b1c321538d930de33135d24bc924c25', class: "grid grid-cols-2 gap-4" }, index.h("label", { key: '99dd59c35f123f57b8ebfc78d0c4f7dc204fb515', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.name), index.h("label", { key: '0a47717b2397f4cae1540992a43bf167b2f6a9a0', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.email)), index.h("div", { key: 'f23dba91b9af821b44119e71cc5649f61ce3e8cb', class: "grid grid-cols-2 gap-4" }, index.h("input", { key: '91bfb8d4c0ec6f9bc92ae3c8b96ab8cb22338c6f', type: "text", class: `w-full px-4 py-2 rounded-4xl border ${this.nameError
3039
3076
  ? "border-red-500"
3040
3077
  : "border-gray-300"} focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white`, value: this.name, onInput: (e) => {
3041
3078
  this.name =
3042
3079
  e.target
3043
3080
  .value;
3044
3081
  this.validateForm();
3045
- }, placeholder: "Your name" }), this.nameError && (index.h("p", { key: '9d04539c41c625e235ba6589d7bce5599d06a39e', class: "text-red-500 text-sm mt-1" }, this.nameError)), index.h("input", { key: 'eb8fe3b14a98867a9f62cfd4db4b2104ae2864eb', type: "email", class: `w-full px-4 py-2 rounded-4xl border ${this.emailError
3082
+ }, placeholder: "Your name" }), this.nameError && (index.h("p", { key: '393b5f1217e7f130d03ef1ce33f2c80d0ece5287', class: "text-red-500 text-sm mt-1" }, this.nameError)), index.h("input", { key: '3dad5518450c61625c301028e2ccac01ed3c1068', type: "email", class: `w-full px-4 py-2 rounded-4xl border ${this.emailError
3046
3083
  ? "border-red-500"
3047
3084
  : "border-gray-300"} focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white`, value: this.email, onInput: (e) => {
3048
3085
  this.email =
3049
3086
  e.target
3050
3087
  .value;
3051
3088
  this.validateForm();
3052
- }, placeholder: "your.email@example.com" }), this.emailError && (index.h("p", { key: '0c53594a4dc486f83fd05b09547b2a41297165bb', class: "text-red-500 text-sm mt-1" }, this.emailError)))), index.h("div", { key: '9a975e258e31e3b1b592b7b6bd4518be55d4c42d', class: "flex justify-center" }, index.h("button", { key: '5eb37544172e568838477368f62dfc84696d3ba6', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
3089
+ }, placeholder: "your.email@example.com" }), this.emailError && (index.h("p", { key: 'ab9abb1cf9d94af195ab1e0db0e4ae3bfa1f9dac', class: "text-red-500 text-sm mt-1" }, this.emailError)))), index.h("div", { key: '30e9097ad6a2ac886da307dc199ef19f3a685e4a', class: "flex justify-center" }, index.h("button", { key: '6a27417c30b6dc43685e03b30593a97a70c8caa0', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
3053
3090
  !this.email.trim() || !!this.nameError ||
3054
3091
  !!this.emailError, class: "px-4 py-2 bg-[#271200] rounded-4xl hover:bg-[#964500] transition-colors duration-200", style: { color: "white" } }, t.solarSystemForm.requestOfferButton))))));
3055
3092
  }