blue-chestnut-solar-expert 0.0.18 → 0.0.20

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 (181) 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 -0
  2. package/dist/cjs/eraser-icon_16.cjs.entry.js +3124 -0
  3. package/dist/cjs/eraser-icon_16.cjs.entry.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/loading-widget.cjs.entry.js +2 -2
  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/solar-calculator.cjs.entry.js +2 -2
  9. package/dist/cjs/solar-calculator.cjs.entry.js.map +1 -1
  10. package/dist/cjs/solar-calculator.entry.cjs.js.map +1 -1
  11. package/dist/cjs/stencil-library.cjs.js +1 -1
  12. package/dist/collection/collection-manifest.json +1 -0
  13. package/dist/collection/components/icons/icon.js +3 -0
  14. package/dist/collection/components/icons/icon.js.map +1 -1
  15. package/dist/collection/components/icons/undo.js +64 -0
  16. package/dist/collection/components/icons/undo.js.map +1 -0
  17. package/dist/collection/components/map-draw/map-draw.js +65 -22
  18. package/dist/collection/components/map-draw/map-draw.js.map +1 -1
  19. package/dist/collection/components/map-draw/map-selector.js +2 -2
  20. package/dist/collection/components/map-draw/map-selector.js.map +1 -1
  21. package/dist/collection/components/map-draw/polygon-buttons.js +26 -1
  22. package/dist/collection/components/map-draw/polygon-buttons.js.map +1 -1
  23. package/dist/collection/components/map-draw/polygon-information.js +3 -3
  24. package/dist/collection/components/map-draw/polygon-information.js.map +1 -1
  25. package/dist/collection/components/map-draw/tool-box.js +27 -3
  26. package/dist/collection/components/map-draw/tool-box.js.map +1 -1
  27. package/dist/collection/components/settings/settings.js +8 -8
  28. package/dist/collection/components/solar-calculator/solar-calculator.js +1 -1
  29. package/dist/collection/components/solar-expert/solar-expert.js +16 -1
  30. package/dist/collection/components/solar-expert/solar-expert.js.map +1 -1
  31. package/dist/collection/components/solar-system-form/solar-system-form.js +85 -185
  32. package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
  33. package/dist/collection/components/widgets/loading-widget.js +1 -1
  34. package/dist/collection/constants.js +2 -1
  35. package/dist/collection/constants.js.map +1 -1
  36. package/dist/collection/output.css +20 -9
  37. package/dist/collection/store.js +1 -1
  38. package/dist/collection/store.js.map +1 -1
  39. package/dist/collection/types/lang.js.map +1 -1
  40. package/dist/collection/utils/lang/english.js +5 -0
  41. package/dist/collection/utils/lang/english.js.map +1 -1
  42. package/dist/collection/utils/lang/german.js +7 -2
  43. package/dist/collection/utils/lang/german.js.map +1 -1
  44. package/dist/collection/utils/lang/spanish.js +5 -0
  45. package/dist/collection/utils/lang/spanish.js.map +1 -1
  46. package/dist/collection/utils/render/tools.js +7 -0
  47. package/dist/collection/utils/render/tools.js.map +1 -1
  48. package/dist/collection/utils/simulation/simulation.js +109 -0
  49. package/dist/collection/utils/simulation/simulation.js.map +1 -0
  50. package/dist/collection/utils/simulation/solarCurves.js +31 -0
  51. package/dist/collection/utils/simulation/solarCurves.js.map +1 -0
  52. package/dist/collection/utils/simulation/types.js +4 -0
  53. package/dist/collection/utils/simulation/types.js.map +1 -0
  54. package/dist/components/eraser-icon.js +1 -1
  55. package/dist/components/house-icon.js +1 -1
  56. package/dist/components/icon-selector.js +1 -1
  57. package/dist/components/loading-widget.js +2 -2
  58. package/dist/components/loading-widget.js.map +1 -1
  59. package/dist/components/map-draw.js +1 -1
  60. package/dist/components/map-selector.js +1 -1
  61. package/dist/components/move-icon.js +1 -1
  62. package/dist/components/octagon-minus-icon.js +1 -1
  63. package/dist/components/p-BDBrVfn4.js +38 -0
  64. package/dist/components/p-BDBrVfn4.js.map +1 -0
  65. package/dist/components/p-BDrs1Te9.js +38 -0
  66. package/dist/components/p-BDrs1Te9.js.map +1 -0
  67. package/dist/components/p-BbXgEBG5.js +38 -0
  68. package/dist/components/p-BbXgEBG5.js.map +1 -0
  69. package/dist/components/p-Bq1PVegq.js +174 -0
  70. package/dist/components/p-Bq1PVegq.js.map +1 -0
  71. package/dist/components/p-BrVkygdn.js +38 -0
  72. package/dist/components/p-BrVkygdn.js.map +1 -0
  73. package/dist/components/p-BxEeUA4s.js +149 -0
  74. package/dist/components/p-BxEeUA4s.js.map +1 -0
  75. package/dist/components/p-C-_6TJs5.js +164 -0
  76. package/dist/components/p-C-_6TJs5.js.map +1 -0
  77. package/dist/components/{p-BSx-VRl1.js → p-CPLDlLfb.js} +99 -50
  78. package/dist/components/p-CPLDlLfb.js.map +1 -0
  79. package/dist/components/p-CRnyqUKc.js +47 -0
  80. package/dist/components/p-CRnyqUKc.js.map +1 -0
  81. package/dist/components/p-CabEU06O.js +103 -0
  82. package/dist/components/p-CabEU06O.js.map +1 -0
  83. package/dist/components/p-CmFUQbz_.js +507 -0
  84. package/dist/components/p-CmFUQbz_.js.map +1 -0
  85. package/dist/components/p-CumvV0_M.js +38 -0
  86. package/dist/components/p-CumvV0_M.js.map +1 -0
  87. package/dist/components/{p-C5Qpifsm.js → p-CwVUc6Hq.js} +20 -5
  88. package/dist/components/p-CwVUc6Hq.js.map +1 -0
  89. package/dist/components/p-DI6_jwLe.js +38 -0
  90. package/dist/components/p-DI6_jwLe.js.map +1 -0
  91. package/dist/components/p-DPfpDV5e.js +74 -0
  92. package/dist/components/p-DPfpDV5e.js.map +1 -0
  93. package/dist/components/p-DYiK8eDp.js +38 -0
  94. package/dist/components/p-DYiK8eDp.js.map +1 -0
  95. package/dist/components/polygon-buttons.js +1 -1
  96. package/dist/components/polygon-information.js +1 -1
  97. package/dist/components/search-icon.js +1 -1
  98. package/dist/components/settings-icon.js +1 -1
  99. package/dist/components/settings-modal.js +1 -1
  100. package/dist/components/solar-calculator.js +2 -2
  101. package/dist/components/solar-calculator.js.map +1 -1
  102. package/dist/components/solar-expert.js +52 -31
  103. package/dist/components/solar-expert.js.map +1 -1
  104. package/dist/components/solar-system-form.js +1 -1
  105. package/dist/components/tool-box.js +1 -1
  106. package/dist/components/undo-icon.d.ts +11 -0
  107. package/dist/components/undo-icon.js +9 -0
  108. package/dist/components/undo-icon.js.map +1 -0
  109. 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 -0
  110. package/dist/esm/eraser-icon_16.entry.js +3107 -0
  111. package/dist/esm/eraser-icon_16.entry.js.map +1 -0
  112. package/dist/esm/loader.js +1 -1
  113. package/dist/esm/loading-widget.entry.js +2 -2
  114. package/dist/esm/loading-widget.entry.js.map +1 -1
  115. package/dist/esm/solar-calculator.entry.js +2 -2
  116. package/dist/esm/solar-calculator.entry.js.map +1 -1
  117. package/dist/esm/stencil-library.js +1 -1
  118. 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 -0
  119. package/dist/stencil-library/loading-widget.entry.esm.js.map +1 -1
  120. package/dist/stencil-library/p-1acfe8c0.entry.js +32 -0
  121. package/dist/stencil-library/{p-04893dc6.entry.js.map → p-1acfe8c0.entry.js.map} +1 -1
  122. package/dist/stencil-library/p-1e2ddc82.entry.js +2 -0
  123. package/dist/stencil-library/p-1e2ddc82.entry.js.map +1 -0
  124. package/dist/stencil-library/p-56f8bd65.entry.js +2 -0
  125. package/dist/stencil-library/p-56f8bd65.entry.js.map +1 -0
  126. package/dist/stencil-library/solar-calculator.entry.esm.js.map +1 -1
  127. package/dist/stencil-library/stencil-library.esm.js +1 -1
  128. package/dist/types/components/icons/undo.d.ts +5 -0
  129. package/dist/types/components/map-draw/map-draw.d.ts +1 -0
  130. package/dist/types/components/map-draw/polygon-buttons.d.ts +1 -0
  131. package/dist/types/components/map-draw/tool-box.d.ts +1 -0
  132. package/dist/types/components/solar-expert/solar-expert.d.ts +1 -0
  133. package/dist/types/components/solar-system-form/solar-system-form.d.ts +3 -2
  134. package/dist/types/components.d.ts +21 -0
  135. package/dist/types/constants.d.ts +2 -1
  136. package/dist/types/types/lang.d.ts +5 -0
  137. package/dist/types/utils/render/tools.d.ts +2 -1
  138. package/dist/types/utils/simulation/simulation.d.ts +8 -0
  139. package/dist/types/utils/simulation/solarCurves.d.ts +3 -0
  140. package/dist/types/utils/simulation/types.d.ts +49 -0
  141. package/package.json +2 -2
  142. 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.entry.cjs.js.map +0 -1
  143. package/dist/cjs/eraser-icon_15.cjs.entry.js +0 -3007
  144. package/dist/cjs/eraser-icon_15.cjs.entry.js.map +0 -1
  145. package/dist/components/p-BJFgUvs3.js +0 -38
  146. package/dist/components/p-BJFgUvs3.js.map +0 -1
  147. package/dist/components/p-BP2JkbOB.js +0 -149
  148. package/dist/components/p-BP2JkbOB.js.map +0 -1
  149. package/dist/components/p-BSx-VRl1.js.map +0 -1
  150. package/dist/components/p-BfAeCWO4.js +0 -38
  151. package/dist/components/p-BfAeCWO4.js.map +0 -1
  152. package/dist/components/p-BilSpdUG.js +0 -94
  153. package/dist/components/p-BilSpdUG.js.map +0 -1
  154. package/dist/components/p-Bn39cXBR.js +0 -38
  155. package/dist/components/p-Bn39cXBR.js.map +0 -1
  156. package/dist/components/p-BzuGyPz5.js +0 -493
  157. package/dist/components/p-BzuGyPz5.js.map +0 -1
  158. package/dist/components/p-C4UfrfLc.js +0 -40
  159. package/dist/components/p-C4UfrfLc.js.map +0 -1
  160. package/dist/components/p-C5Qpifsm.js.map +0 -1
  161. package/dist/components/p-CesxKYgJ.js +0 -38
  162. package/dist/components/p-CesxKYgJ.js.map +0 -1
  163. package/dist/components/p-Cm-6HU5f.js +0 -38
  164. package/dist/components/p-Cm-6HU5f.js.map +0 -1
  165. package/dist/components/p-D93MrNOs.js +0 -174
  166. package/dist/components/p-D93MrNOs.js.map +0 -1
  167. package/dist/components/p-DSWRVBhO.js +0 -74
  168. package/dist/components/p-DSWRVBhO.js.map +0 -1
  169. package/dist/components/p-klKuBKKU.js +0 -149
  170. package/dist/components/p-klKuBKKU.js.map +0 -1
  171. package/dist/components/p-metMBa33.js +0 -38
  172. package/dist/components/p-metMBa33.js.map +0 -1
  173. 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.entry.js.map +0 -1
  174. package/dist/esm/eraser-icon_15.entry.js +0 -2991
  175. package/dist/esm/eraser-icon_15.entry.js.map +0 -1
  176. 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.entry.esm.js.map +0 -1
  177. package/dist/stencil-library/p-02607fda.entry.js +0 -2
  178. package/dist/stencil-library/p-02607fda.entry.js.map +0 -1
  179. package/dist/stencil-library/p-04893dc6.entry.js +0 -32
  180. package/dist/stencil-library/p-3af1ea82.entry.js +0 -2
  181. package/dist/stencil-library/p-3af1ea82.entry.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{p as e,b as o}from"./p-yVbXII2Q.js";export{s as setNonce}from"./p-yVbXII2Q.js";import{g as n}from"./p-DQuL1Twl.js";var a=()=>{const o=import.meta.url;const n={};if(o!==""){n.resourcesUrl=new URL(".",o).href}return e(n)};a().then((async e=>{await n();return o([["p-3af1ea82",[[0,"loading-widget"]]],["p-04893dc6",[[0,"solar-calculator",{apiKey:[1,"api-key"],buildingInsights:[32],isLoaded:[32],autocomplete:[32],place:[32]}]]],["p-02607fda",[[0,"solar-expert",{apiKey:[1,"api-key"],language:[1],latitude:[32],longitude:[32],isLoaded:[32],autocomplete:[32],place:[32],showMapSelector:[32]}],[0,"map-draw",{apiKey:[1,"api-key"],config:[16],solarPanel:[16,"solar-panel"],showInstructions:[32],showSettings:[32],zoom:[32],loadingState:[32],rgbTiff:[32],draggedPointIndex:[32],hoveredPointIndex:[32],hoveredPolygon:[32],shiftKeyPressed:[32],altKeyPressed:[32],mousePoint:[32],currentTool:[32],roofPolygons:[32],roofPolygonsSolarPanels:[32],obstructionPolygons:[32],selectedPolygon:[32],buildingInsights:[32],pixelInMeters:[32],isMobile:[32],highlightedEdge:[32]},[[5,"mousemove","handleMouseMove"],[4,"keydown","handleKeyDown"],[4,"keyup","handleKeyUp"],[5,"mousedown","handleMouseDown"],[5,"mouseup","handleMouseUp"]],{rgbTiff:["drawMap"],buildingInsights:["drawMap"],canvasElement:["drawMap"]}],[1,"map-selector",{apiKey:[1,"api-key"],language:[1],isLoaded:[32],autocomplete:[32],map:[32],marker:[32],circle:[32],radius:[32],latitude:[32],longitude:[32]}],[0,"tool-box",{currentTool:[16,"current-tool"],onToolSelect:[16,"on-tool-select"]}],[0,"polygon-buttons",{calculateSolarPanels:[16,"calculate-solar-panels"],selectEdgeTool:[16,"select-edge-tool"]}],[1,"polygon-information",{currentPolygon:[8,"current-polygon"],positionedPanels:[16,"positioned-panels"],handleAzimuthChange:[16,"handle-azimuth-change"],handlePitchChange:[16,"handle-pitch-change"],calculateSolarPanels:[16,"calculate-solar-panels"]}],[0,"settings-modal",{settings:[16],tempSettings:[32]}],[0,"solar-system-form",{systemConfigs:[16,"system-configs"],roofPolygons:[16,"roof-polygons"],obstructionPolygons:[16,"obstruction-polygons"],householdConsumption:[32],consumptionProfile:[32],electricityPrice:[32],compensationRate:[32],annualPriceIncrease:[32],autonomy:[32],costSavings:[32],costSavings25Years:[32],numberOfPanels:[32],panelPeakPower:[32],name:[32],email:[32],nameError:[32],emailError:[32],electricCar:[32],electricCarChargingTime:[32],heatPump:[32],battery:[32]},null,{systemConfigs:["updateSystemConfigs"]}],[0,"icon-selector",{name:[1],inline:[4],size:[2]}],[0,"eraser-icon",{inline:[4],size:[2]}],[0,"house-icon",{inline:[4],size:[2]}],[0,"move-icon",{inline:[4],size:[2]}],[0,"octagon-minus-icon",{inline:[4],size:[2]}],[0,"settings-icon",{inline:[4],size:[2]}],[0,"search-icon",{inline:[4],size:[2]}]]]],e)}));
1
+ import{p as e,b as o}from"./p-yVbXII2Q.js";export{s as setNonce}from"./p-yVbXII2Q.js";import{g as n}from"./p-DQuL1Twl.js";var a=()=>{const o=import.meta.url;const n={};if(o!==""){n.resourcesUrl=new URL(".",o).href}return e(n)};a().then((async e=>{await n();return o([["p-56f8bd65",[[0,"loading-widget"]]],["p-1acfe8c0",[[0,"solar-calculator",{apiKey:[1,"api-key"],buildingInsights:[32],isLoaded:[32],autocomplete:[32],place:[32]}]]],["p-1e2ddc82",[[0,"solar-expert",{apiKey:[1,"api-key"],language:[1],latitude:[32],longitude:[32],isLoaded:[32],autocomplete:[32],place:[32],showMapSelector:[32]}],[0,"map-draw",{apiKey:[1,"api-key"],config:[16],solarPanel:[16,"solar-panel"],showInstructions:[32],showSettings:[32],zoom:[32],loadingState:[32],rgbTiff:[32],draggedPointIndex:[32],hoveredPointIndex:[32],hoveredPolygon:[32],shiftKeyPressed:[32],altKeyPressed:[32],mousePoint:[32],currentTool:[32],roofPolygons:[32],roofPolygonsSolarPanels:[32],obstructionPolygons:[32],selectedPolygon:[32],buildingInsights:[32],pixelInMeters:[32],isMobile:[32],highlightedEdge:[32]},[[5,"mousemove","handleMouseMove"],[4,"keydown","handleKeyDown"],[4,"keyup","handleKeyUp"],[5,"mousedown","handleMouseDown"],[5,"mouseup","handleMouseUp"]],{rgbTiff:["drawMap"],buildingInsights:["drawMap"],canvasElement:["drawMap"]}],[1,"map-selector",{apiKey:[1,"api-key"],language:[1],isLoaded:[32],autocomplete:[32],map:[32],marker:[32],circle:[32],radius:[32],latitude:[32],longitude:[32]}],[0,"tool-box",{currentTool:[16,"current-tool"],undoCallback:[16,"undo-callback"],onToolSelect:[16,"on-tool-select"]}],[0,"polygon-buttons",{calculateSolarPanels:[16,"calculate-solar-panels"],selectEdgeTool:[16,"select-edge-tool"],currentTool:[1,"current-tool"]}],[1,"polygon-information",{currentPolygon:[8,"current-polygon"],positionedPanels:[16,"positioned-panels"],handleAzimuthChange:[16,"handle-azimuth-change"],handlePitchChange:[16,"handle-pitch-change"],calculateSolarPanels:[16,"calculate-solar-panels"]}],[0,"settings-modal",{settings:[16],tempSettings:[32]}],[0,"solar-system-form",{systemConfigs:[16,"system-configs"],roofPolygons:[16,"roof-polygons"],obstructionPolygons:[16,"obstruction-polygons"],householdConsumption:[32],consumptionProfile:[32],electricityPrice:[32],compensationRate:[32],annualPriceIncrease:[32],autonomy:[32],costSavings:[32],numberOfPanels:[32],panelPeakPower:[32],name:[32],email:[32],nameError:[32],emailError:[32],electricCar:[32],electricCarChargingTime:[32],heatPump:[32],battery:[32],compensation25Years:[32],savedCosts25Years:[32],maxPanels:[32]},null,{systemConfigs:["updateSystemConfigs"]}],[0,"icon-selector",{name:[1],inline:[4],size:[2]}],[0,"eraser-icon",{inline:[4],size:[2]}],[0,"house-icon",{inline:[4],size:[2]}],[0,"move-icon",{inline:[4],size:[2]}],[0,"octagon-minus-icon",{inline:[4],size:[2]}],[0,"settings-icon",{inline:[4],size:[2]}],[0,"undo-icon",{inline:[4],size:[2]}],[0,"search-icon",{inline:[4],size:[2]}]]]],e)}));
2
2
  //# sourceMappingURL=stencil-library.esm.js.map
@@ -0,0 +1,5 @@
1
+ export declare class UndoIcon {
2
+ inline: boolean;
3
+ size: number;
4
+ render(): any;
5
+ }
@@ -53,6 +53,7 @@ export declare class MapDraw {
53
53
  private deletePolygon;
54
54
  handleKeyDown(event: KeyboardEvent): void;
55
55
  handleKeyUp(event: KeyboardEvent): void;
56
+ private undo;
56
57
  handleMouseDown(event: MouseEvent): void;
57
58
  handleMouseUp(): void;
58
59
  private closePolygon;
@@ -1,5 +1,6 @@
1
1
  export declare class PolygonButtons {
2
2
  calculateSolarPanels: () => void;
3
3
  selectEdgeTool: () => void;
4
+ currentTool: string;
4
5
  render(): any;
5
6
  }
@@ -1,6 +1,7 @@
1
1
  import { Tool } from "../../utils/render/tools";
2
2
  export declare class ToolBox {
3
3
  currentTool: Tool;
4
+ undoCallback: () => void;
4
5
  onToolSelect: (tool: Tool) => void;
5
6
  render(): any;
6
7
  }
@@ -10,6 +10,7 @@ export declare class SolarExpert {
10
10
  place: google.maps.places.PlaceResult | null;
11
11
  showMapSelector: boolean;
12
12
  private inputElement?;
13
+ private iosPolyfill;
13
14
  componentWillLoad(): void;
14
15
  private loadGoogleMapsScript;
15
16
  private initializeAutocomplete;
@@ -17,7 +17,6 @@ export declare class SolarSystemForm {
17
17
  annualPriceIncrease: number;
18
18
  autonomy: number;
19
19
  costSavings: number;
20
- costSavings25Years: number;
21
20
  numberOfPanels: number;
22
21
  panelPeakPower: number;
23
22
  name: string;
@@ -28,9 +27,11 @@ export declare class SolarSystemForm {
28
27
  electricCarChargingTime: "day" | "night";
29
28
  heatPump: number;
30
29
  battery: number;
30
+ compensation25Years: number;
31
+ savedCosts25Years: number;
32
+ maxPanels: number;
31
33
  updateSystemConfigs(): void;
32
34
  private recalculate;
33
- private updateChart;
34
35
  componentWillLoad(): void;
35
36
  private validateForm;
36
37
  private handleRequestOffer;
@@ -56,6 +56,7 @@ export namespace Components {
56
56
  }
57
57
  interface PolygonButtons {
58
58
  "calculateSolarPanels": () => void;
59
+ "currentTool": string;
59
60
  "selectEdgeTool": () => void;
60
61
  }
61
62
  interface PolygonInformation {
@@ -91,6 +92,11 @@ export namespace Components {
91
92
  interface ToolBox {
92
93
  "currentTool": Tool;
93
94
  "onToolSelect": (tool: Tool) => void;
95
+ "undoCallback": () => void;
96
+ }
97
+ interface UndoIcon {
98
+ "inline": boolean;
99
+ "size": number;
94
100
  }
95
101
  }
96
102
  export interface SettingsModalCustomEvent<T> extends CustomEvent<T> {
@@ -212,6 +218,12 @@ declare global {
212
218
  prototype: HTMLToolBoxElement;
213
219
  new (): HTMLToolBoxElement;
214
220
  };
221
+ interface HTMLUndoIconElement extends Components.UndoIcon, HTMLStencilElement {
222
+ }
223
+ var HTMLUndoIconElement: {
224
+ prototype: HTMLUndoIconElement;
225
+ new (): HTMLUndoIconElement;
226
+ };
215
227
  interface HTMLElementTagNameMap {
216
228
  "eraser-icon": HTMLEraserIconElement;
217
229
  "house-icon": HTMLHouseIconElement;
@@ -230,6 +242,7 @@ declare global {
230
242
  "solar-expert": HTMLSolarExpertElement;
231
243
  "solar-system-form": HTMLSolarSystemFormElement;
232
244
  "tool-box": HTMLToolBoxElement;
245
+ "undo-icon": HTMLUndoIconElement;
233
246
  }
234
247
  }
235
248
  declare namespace LocalJSX {
@@ -267,6 +280,7 @@ declare namespace LocalJSX {
267
280
  }
268
281
  interface PolygonButtons {
269
282
  "calculateSolarPanels"?: () => void;
283
+ "currentTool"?: string;
270
284
  "selectEdgeTool"?: () => void;
271
285
  }
272
286
  interface PolygonInformation {
@@ -304,6 +318,11 @@ declare namespace LocalJSX {
304
318
  interface ToolBox {
305
319
  "currentTool"?: Tool;
306
320
  "onToolSelect"?: (tool: Tool) => void;
321
+ "undoCallback"?: () => void;
322
+ }
323
+ interface UndoIcon {
324
+ "inline"?: boolean;
325
+ "size"?: number;
307
326
  }
308
327
  interface IntrinsicElements {
309
328
  "eraser-icon": EraserIcon;
@@ -323,6 +342,7 @@ declare namespace LocalJSX {
323
342
  "solar-expert": SolarExpert;
324
343
  "solar-system-form": SolarSystemForm;
325
344
  "tool-box": ToolBox;
345
+ "undo-icon": UndoIcon;
326
346
  }
327
347
  }
328
348
  export { LocalJSX as JSX };
@@ -346,6 +366,7 @@ declare module "@stencil/core" {
346
366
  "solar-expert": LocalJSX.SolarExpert & JSXBase.HTMLAttributes<HTMLSolarExpertElement>;
347
367
  "solar-system-form": LocalJSX.SolarSystemForm & JSXBase.HTMLAttributes<HTMLSolarSystemFormElement>;
348
368
  "tool-box": LocalJSX.ToolBox & JSXBase.HTMLAttributes<HTMLToolBoxElement>;
369
+ "undo-icon": LocalJSX.UndoIcon & JSXBase.HTMLAttributes<HTMLUndoIconElement>;
349
370
  }
350
371
  }
351
372
  }
@@ -5,9 +5,10 @@ declare const ROW_SPACING = 1;
5
5
  declare const COLUMN_SPACING = 1;
6
6
  declare const BORDER_INSET = 0;
7
7
  declare const DEFAULT_SUNNINESS = 600;
8
+ declare const HEAT_PUMP_CONSUMPTION = 0.05;
8
9
  declare const SOLAR_RADIATION: number[];
9
10
  declare const CONSUMPTION_PROFILES: {
10
11
  mostly_at_home: number[];
11
12
  mostly_away: number[];
12
13
  };
13
- export { OPEN_POLYGON_COLOR, CLOSED_POLYGON_COLOR, DOTTED_LINE_COLOR, ROW_SPACING, COLUMN_SPACING, BORDER_INSET, DEFAULT_SUNNINESS, CONSUMPTION_PROFILES, SOLAR_RADIATION };
14
+ export { OPEN_POLYGON_COLOR, CLOSED_POLYGON_COLOR, DOTTED_LINE_COLOR, ROW_SPACING, COLUMN_SPACING, BORDER_INSET, DEFAULT_SUNNINESS, CONSUMPTION_PROFILES, SOLAR_RADIATION, HEAT_PUMP_CONSUMPTION };
@@ -105,6 +105,11 @@ export interface LanguageStrings {
105
105
  explanation: string;
106
106
  ariaLabel: string;
107
107
  };
108
+ undo: {
109
+ name: string;
110
+ explanation: string;
111
+ ariaLabel: string;
112
+ };
108
113
  };
109
114
  };
110
115
  }
@@ -1,4 +1,4 @@
1
- export type ToolType = "move" | "roof" | "obstruction" | "delete" | "markRoofEdge";
1
+ export type ToolType = "move" | "roof" | "obstruction" | "delete" | "markRoofEdge" | "undo";
2
2
  export interface KeyboardCombination {
3
3
  key: string;
4
4
  description: string;
@@ -17,4 +17,5 @@ export declare const roofTool: Tool;
17
17
  export declare const obstructionTool: Tool;
18
18
  export declare const deleteTool: Tool;
19
19
  export declare const markRoofEdgeTool: Tool;
20
+ export declare const undoTool: Tool;
20
21
  export declare const tools: Tool[];
@@ -0,0 +1,8 @@
1
+ import { SimulationResult, SimulationConfig } from "./types";
2
+ export declare function generateElectricCarChargingHours(start: number, end: number): boolean[];
3
+ export declare function simulateDay(production: number[], consumption: number[], dailyConsumption: number, battery: number): {
4
+ autonomy: number;
5
+ soldEnergy: number;
6
+ energyUsageOfProduction: number;
7
+ };
8
+ export declare function simulate(config: SimulationConfig): SimulationResult;
@@ -0,0 +1,3 @@
1
+ declare const SOLAR_RADIATION: number[];
2
+ export { SOLAR_RADIATION };
3
+ export declare function getSolarRadiation(discountFactor: number): number[];
@@ -0,0 +1,49 @@
1
+ import { SolarPanelType } from "../solar";
2
+ export interface SimulationResult {
3
+ autonomy: number;
4
+ byYearSavedCosts: number[];
5
+ compensationPerDay: number;
6
+ }
7
+ export interface ElectricityPrice {
8
+ purchase: number;
9
+ sell: number;
10
+ increase: number;
11
+ }
12
+ export interface ElectricCarConfig {
13
+ batteryKWh: number;
14
+ chargingHours: boolean[];
15
+ averageKilometersPerDay: number;
16
+ consumptionkWhPer100km: number;
17
+ }
18
+ export interface HeatPumpConfig {
19
+ m2: number;
20
+ }
21
+ export interface SolarRadiation {
22
+ winterFactor: number;
23
+ summerFactor: number;
24
+ }
25
+ export interface SolarSystem {
26
+ numberOfPanels: number;
27
+ panelType: SolarPanelType;
28
+ pitch: number;
29
+ }
30
+ export interface HouseholdConsumption {
31
+ consumptionProfile: "mostly_at_home" | "mostly_away";
32
+ winterConsumptionFactor: number;
33
+ summerConsumptionFactor: number;
34
+ averageConsumption: number;
35
+ }
36
+ export interface GeneralSimulationConfig {
37
+ simulationYears: number;
38
+ }
39
+ export declare const DEFAULT_GENERAL_SIMULATION_CONFIG: GeneralSimulationConfig;
40
+ export interface SimulationConfig {
41
+ householdConsumption: HouseholdConsumption;
42
+ electricityPrice: ElectricityPrice;
43
+ solarSystem: SolarSystem;
44
+ batteryKWh: number;
45
+ electricCar?: ElectricCarConfig;
46
+ heatPump?: HeatPumpConfig;
47
+ solarRadiation: SolarRadiation;
48
+ general?: GeneralSimulationConfig;
49
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blue-chestnut-solar-expert",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "Blue Chestnut Solar Expert",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -36,7 +36,7 @@
36
36
  "start": "stencil build --dev --watch --serve",
37
37
  "test": "stencil test --spec --e2e",
38
38
  "testspec": "stencil test --spec --watchAll",
39
- "testspecfile": "jest src/utils/geometry/gridMatching.spec.ts --watch",
39
+ "testspecfile": "jest src/utils/simulation/simulation.spec.ts --watch",
40
40
  "test.watch": "stencil test --spec --e2e --watchAll",
41
41
  "generate": "stencil generate"
42
42
  },