blue-chestnut-solar-expert 0.0.54 → 0.0.56

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 (380) hide show
  1. package/dist/cjs/app-globals-I24yU8do.js +10 -0
  2. package/dist/cjs/app-globals-I24yU8do.js.map +1 -0
  3. package/dist/cjs/basedecoder-CQuzfSgz.js +116 -0
  4. package/dist/cjs/basedecoder-CQuzfSgz.js.map +1 -0
  5. package/dist/cjs/deflate-AzGzQSW2.js +17 -0
  6. package/dist/cjs/deflate-AzGzQSW2.js.map +1 -0
  7. package/dist/cjs/eraser-icon_18.cjs.entry.js +30 -0
  8. package/dist/cjs/eraser-icon_18.cjs.entry.js.map +1 -0
  9. package/dist/cjs/index-HgRXF6kp.js +1470 -0
  10. package/dist/cjs/index-HgRXF6kp.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +7 -0
  12. package/dist/cjs/index.cjs.js.map +1 -0
  13. package/dist/cjs/jpeg-Bx3bTm32.js +904 -0
  14. package/dist/cjs/jpeg-Bx3bTm32.js.map +1 -0
  15. package/dist/cjs/lerc-BC1SKbTC.js +4427 -0
  16. package/dist/cjs/lerc-BC1SKbTC.js.map +1 -0
  17. package/dist/cjs/loader.cjs.js +18 -0
  18. package/dist/cjs/loader.cjs.js.map +1 -0
  19. package/dist/cjs/loading-widget.cjs.entry.js +22 -0
  20. package/dist/cjs/loading-widget.cjs.entry.js.map +1 -0
  21. package/dist/cjs/loading-widget.entry.cjs.js.map +1 -0
  22. package/dist/cjs/lzw-BmFug486.js +140 -0
  23. package/dist/cjs/lzw-BmFug486.js.map +1 -0
  24. package/dist/cjs/packbits-CYx9fB0v.js +35 -0
  25. package/dist/cjs/packbits-CYx9fB0v.js.map +1 -0
  26. package/dist/cjs/pako.esm-0mKI6Jik.js +3243 -0
  27. package/dist/cjs/pako.esm-0mKI6Jik.js.map +1 -0
  28. package/dist/cjs/raw-DC82yoyr.js +16 -0
  29. package/dist/cjs/raw-DC82yoyr.js.map +1 -0
  30. package/dist/cjs/stencil-library.cjs.js +30 -0
  31. package/dist/cjs/stencil-library.cjs.js.map +1 -0
  32. package/dist/cjs/webimage-Dc0t2xAB.js +49 -0
  33. package/dist/cjs/webimage-Dc0t2xAB.js.map +1 -0
  34. package/dist/collection/build/assets/tutorial1.mp4 +0 -0
  35. package/dist/collection/build/assets/tutorial2.mp4 +0 -0
  36. package/dist/collection/build/assets/tutorial3.mp4 +0 -0
  37. package/dist/collection/collection-manifest.json +30 -0
  38. package/dist/collection/components/icons/eraser.js +64 -0
  39. package/dist/collection/components/icons/eraser.js.map +1 -0
  40. package/dist/collection/components/icons/house.js +64 -0
  41. package/dist/collection/components/icons/house.js.map +1 -0
  42. package/dist/collection/components/icons/icon.js +108 -0
  43. package/dist/collection/components/icons/icon.js.map +1 -0
  44. package/dist/collection/components/icons/marker.js +64 -0
  45. package/dist/collection/components/icons/marker.js.map +1 -0
  46. package/dist/collection/components/icons/move.js +64 -0
  47. package/dist/collection/components/icons/move.js.map +1 -0
  48. package/dist/collection/components/icons/octagonMinus.js +64 -0
  49. package/dist/collection/components/icons/octagonMinus.js.map +1 -0
  50. package/dist/collection/components/icons/search.js +64 -0
  51. package/dist/collection/components/icons/search.js.map +1 -0
  52. package/dist/collection/components/icons/settings.js +64 -0
  53. package/dist/collection/components/icons/settings.js.map +1 -0
  54. package/dist/collection/components/icons/undo.js +64 -0
  55. package/dist/collection/components/icons/undo.js.map +1 -0
  56. package/dist/collection/components/map-draw/map-draw.js +797 -0
  57. package/dist/collection/components/map-draw/map-draw.js.map +1 -0
  58. package/dist/collection/components/map-draw/map-selector.js +246 -0
  59. package/dist/collection/components/map-draw/map-selector.js.map +1 -0
  60. package/dist/collection/components/map-draw/polygon-buttons.js +86 -0
  61. package/dist/collection/components/map-draw/polygon-buttons.js.map +1 -0
  62. package/dist/collection/components/map-draw/polygon-information.js +204 -0
  63. package/dist/collection/components/map-draw/polygon-information.js.map +1 -0
  64. package/dist/collection/components/map-draw/tool-box.js +108 -0
  65. package/dist/collection/components/map-draw/tool-box.js.map +1 -0
  66. package/dist/collection/components/map-draw/tutorial-component.js +118 -0
  67. package/dist/collection/components/map-draw/tutorial-component.js.map +1 -0
  68. package/dist/collection/components/settings/settings.js +127 -0
  69. package/dist/collection/components/settings/settings.js.map +1 -0
  70. package/dist/collection/components/solar-expert/solar-expert.js +239 -0
  71. package/dist/collection/components/solar-expert/solar-expert.js.map +1 -0
  72. package/dist/collection/components/solar-system-form/solar-system-form.js +573 -0
  73. package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -0
  74. package/dist/collection/components/widgets/loading-widget.js +18 -0
  75. package/dist/collection/components/widgets/loading-widget.js.map +1 -0
  76. package/dist/{stencil-library/config-CWfV1nKn.js → collection/config.js} +4 -10
  77. package/dist/collection/config.js.map +1 -0
  78. package/dist/collection/constants.js +90 -0
  79. package/dist/collection/constants.js.map +1 -0
  80. package/dist/collection/index.js +2 -0
  81. package/dist/collection/index.js.map +1 -0
  82. package/dist/collection/output.css +1175 -0
  83. package/dist/collection/store.js +43 -0
  84. package/dist/collection/store.js.map +1 -0
  85. package/dist/collection/types/lang.js +2 -0
  86. package/dist/collection/types/lang.js.map +1 -0
  87. package/dist/collection/types/shapes.js +2 -0
  88. package/dist/collection/types/shapes.js.map +1 -0
  89. package/dist/{stencil-library/api-Did5lAE0.js → collection/utils/api.js} +27 -32
  90. package/dist/collection/utils/api.js.map +1 -0
  91. package/dist/collection/utils/images.js +2 -0
  92. package/dist/collection/utils/images.js.map +1 -0
  93. package/dist/collection/utils/lang/english.js +150 -0
  94. package/dist/collection/utils/lang/english.js.map +1 -0
  95. package/dist/collection/utils/lang/general.js +30 -0
  96. package/dist/collection/utils/lang/general.js.map +1 -0
  97. package/dist/collection/utils/lang/german.js +150 -0
  98. package/dist/collection/utils/lang/german.js.map +1 -0
  99. package/dist/collection/utils/lang/spanish.js +150 -0
  100. package/dist/collection/utils/lang/spanish.js.map +1 -0
  101. package/dist/{stencil-library/tools-BCET7NeO.js → collection/utils/render/tools.js} +10 -15
  102. package/dist/collection/utils/render/tools.js.map +1 -0
  103. package/dist/collection/utils/solar.js +135 -0
  104. package/dist/collection/utils/solar.js.map +1 -0
  105. package/dist/collection/utils/theme.js +97 -0
  106. package/dist/collection/utils/theme.js.map +1 -0
  107. package/dist/{stencil-library/utils-BCUZxI9u.js → collection/utils/utils.js} +3 -9
  108. package/dist/collection/utils/utils.js.map +1 -0
  109. package/dist/components/eraser-icon.js +11 -0
  110. package/dist/components/eraser-icon.js.map +1 -0
  111. package/dist/components/house-icon.js +11 -0
  112. package/dist/components/house-icon.js.map +1 -0
  113. package/dist/components/icon-selector.js +11 -0
  114. package/dist/components/icon-selector.js.map +1 -0
  115. package/dist/components/index.js +1269 -0
  116. package/dist/components/index.js.map +1 -0
  117. package/dist/components/loading-widget.js +38 -0
  118. package/dist/components/loading-widget.js.map +1 -0
  119. package/dist/components/map-draw.js +11 -0
  120. package/dist/components/map-draw.js.map +1 -0
  121. package/dist/components/map-selector.js +11 -0
  122. package/dist/components/map-selector.js.map +1 -0
  123. package/dist/components/{solar-calculator.d.ts → marker-icon.d.ts} +4 -4
  124. package/dist/components/marker-icon.js +11 -0
  125. package/dist/components/marker-icon.js.map +1 -0
  126. package/dist/components/move-icon.js +11 -0
  127. package/dist/components/move-icon.js.map +1 -0
  128. package/dist/components/octagon-minus-icon.js +11 -0
  129. package/dist/components/octagon-minus-icon.js.map +1 -0
  130. package/dist/components/p-B54Ul0nf.js +15 -0
  131. package/dist/components/p-B54Ul0nf.js.map +1 -0
  132. package/dist/components/p-B5WTRCh8.js +3241 -0
  133. package/dist/components/p-B5WTRCh8.js.map +1 -0
  134. package/dist/components/p-B7UJpRdF.js +40 -0
  135. package/dist/components/p-B7UJpRdF.js.map +1 -0
  136. package/dist/components/p-BELtn8mh.js +40 -0
  137. package/dist/components/p-BELtn8mh.js.map +1 -0
  138. package/dist/components/p-BFxdD9Vs.js +40 -0
  139. package/dist/components/p-BFxdD9Vs.js.map +1 -0
  140. package/dist/{stencil-library/jpeg-CjOJHUd1.js → components/p-BGoSj_DR.js} +3 -11
  141. package/dist/components/p-BGoSj_DR.js.map +1 -0
  142. package/dist/components/p-BXbeMtbx.js +76 -0
  143. package/dist/components/p-BXbeMtbx.js.map +1 -0
  144. package/dist/components/p-BYE5N70N.js +163 -0
  145. package/dist/components/p-BYE5N70N.js.map +1 -0
  146. package/dist/components/p-BnTinS5t.js +40 -0
  147. package/dist/components/p-BnTinS5t.js.map +1 -0
  148. package/dist/components/p-BsLLB46f.js +114 -0
  149. package/dist/components/p-BsLLB46f.js.map +1 -0
  150. package/dist/{stencil-library/packbits-BMYGgS0z.js → components/p-ByX6QP-E.js} +3 -9
  151. package/dist/components/p-ByX6QP-E.js.map +1 -0
  152. package/dist/{stencil-library/lerc-BQF80JgE.js → components/p-CH_OwRlu.js} +1981 -27
  153. package/dist/components/p-CH_OwRlu.js.map +1 -0
  154. package/dist/components/p-CO7fYxHj.js +40 -0
  155. package/dist/components/p-CO7fYxHj.js.map +1 -0
  156. package/dist/{stencil-library/store-4trH9erz.js → components/p-CRQ8cKpY.js} +72 -9
  157. package/dist/components/p-CRQ8cKpY.js.map +1 -0
  158. package/dist/components/p-CZydnQHs.js +114 -0
  159. package/dist/components/p-CZydnQHs.js.map +1 -0
  160. package/dist/components/p-CcItlhA2.js +60 -0
  161. package/dist/components/p-CcItlhA2.js.map +1 -0
  162. package/dist/{stencil-library/webimage-V5ihYILu.js → components/p-Cgchl6bA.js} +3 -9
  163. package/dist/components/p-Cgchl6bA.js.map +1 -0
  164. package/dist/components/p-DJcc5dax.js +1959 -0
  165. package/dist/components/p-DJcc5dax.js.map +1 -0
  166. package/dist/components/p-Dcu7-bdb.js +623 -0
  167. package/dist/components/p-Dcu7-bdb.js.map +1 -0
  168. package/dist/components/p-DotCjbjt.js +40 -0
  169. package/dist/components/p-DotCjbjt.js.map +1 -0
  170. package/dist/components/p-Dqekrz_n.js +40 -0
  171. package/dist/components/p-Dqekrz_n.js.map +1 -0
  172. package/dist/components/p-DvYICeab.js +40 -0
  173. package/dist/components/p-DvYICeab.js.map +1 -0
  174. package/dist/components/p-Dvlk0vkV.js +47 -0
  175. package/dist/components/p-Dvlk0vkV.js.map +1 -0
  176. package/dist/components/p-N0461-xw.js +15944 -0
  177. package/dist/components/p-N0461-xw.js.map +1 -0
  178. package/dist/components/p-WmcSqXD8.js +14 -0
  179. package/dist/components/p-WmcSqXD8.js.map +1 -0
  180. package/dist/components/p-j-vOrhhh.js +114 -0
  181. package/dist/components/p-j-vOrhhh.js.map +1 -0
  182. package/dist/{stencil-library/lzw-PA2aOuVK.js → components/p-q8auDIJ2.js} +4 -10
  183. package/dist/components/p-q8auDIJ2.js.map +1 -0
  184. package/dist/components/polygon-buttons.js +11 -0
  185. package/dist/components/polygon-buttons.js.map +1 -0
  186. package/dist/components/polygon-information.js +11 -0
  187. package/dist/components/polygon-information.js.map +1 -0
  188. package/dist/components/search-icon.js +11 -0
  189. package/dist/components/search-icon.js.map +1 -0
  190. package/dist/components/settings-icon.js +11 -0
  191. package/dist/components/settings-icon.js.map +1 -0
  192. package/dist/components/settings-modal.js +11 -0
  193. package/dist/components/settings-modal.js.map +1 -0
  194. package/dist/components/solar-expert.js +373 -0
  195. package/dist/components/solar-expert.js.map +1 -0
  196. package/dist/components/solar-system-form.js +11 -0
  197. package/dist/components/solar-system-form.js.map +1 -0
  198. package/dist/components/tool-box.js +11 -0
  199. package/dist/components/tool-box.js.map +1 -0
  200. package/dist/components/tutorial-component.d.ts +11 -0
  201. package/dist/components/tutorial-component.js +11 -0
  202. package/dist/components/tutorial-component.js.map +1 -0
  203. package/dist/components/undo-icon.js +11 -0
  204. package/dist/components/undo-icon.js.map +1 -0
  205. package/dist/esm/basedecoder-j-vOrhhh.js +114 -0
  206. package/dist/esm/basedecoder-j-vOrhhh.js.map +1 -0
  207. package/dist/esm/deflate-DHgPf9CO.js +15 -0
  208. package/dist/{stencil-library/deflate-BrCNE9ec.js.map → esm/deflate-DHgPf9CO.js.map} +1 -1
  209. package/dist/esm/eraser-icon_18.entry.js +7 -0
  210. package/dist/esm/eraser-icon_18.entry.js.map +1 -0
  211. package/dist/esm/index-C2JRBB5c.js +1458 -0
  212. package/dist/esm/index-C2JRBB5c.js.map +1 -0
  213. package/dist/esm/index.js +5 -0
  214. package/dist/esm/index.js.map +1 -0
  215. package/dist/esm/jpeg-CJLm1GkA.js +902 -0
  216. package/dist/esm/jpeg-CJLm1GkA.js.map +1 -0
  217. package/dist/esm/lerc-C1dTV3Ec.js +4424 -0
  218. package/dist/esm/lerc-C1dTV3Ec.js.map +1 -0
  219. package/dist/esm/loader.js +16 -0
  220. package/dist/esm/loader.js.map +1 -0
  221. package/dist/esm/loading-widget.entry.js +20 -0
  222. package/dist/esm/loading-widget.entry.js.map +1 -0
  223. package/dist/esm/lzw-DaOzWJUD.js +138 -0
  224. package/dist/esm/lzw-DaOzWJUD.js.map +1 -0
  225. package/dist/esm/packbits-CZPyx9kx.js +33 -0
  226. package/dist/esm/packbits-CZPyx9kx.js.map +1 -0
  227. package/dist/esm/pako.esm-B5WTRCh8.js +3241 -0
  228. package/dist/{stencil-library/pako.esm-CPorU236.js.map → esm/pako.esm-B5WTRCh8.js.map} +1 -1
  229. package/dist/esm/raw-pqeeWc2_.js +14 -0
  230. package/dist/esm/raw-pqeeWc2_.js.map +1 -0
  231. package/dist/esm/stencil-library.js +26 -0
  232. package/dist/esm/stencil-library.js.map +1 -0
  233. package/dist/esm/webimage-BiHardhv.js +47 -0
  234. package/dist/{stencil-library/webimage-V5ihYILu.js.map → esm/webimage-BiHardhv.js.map} +1 -1
  235. package/dist/index.cjs.js +1 -0
  236. package/dist/index.js +1 -0
  237. package/dist/stencil-library/build/assets/tutorial1.mp4 +0 -0
  238. package/dist/stencil-library/build/assets/tutorial2.mp4 +0 -0
  239. package/dist/stencil-library/build/assets/tutorial3.mp4 +0 -0
  240. package/dist/stencil-library/index.esm.js +1 -13
  241. package/dist/stencil-library/index.esm.js.map +1 -1
  242. package/dist/stencil-library/loading-widget.entry.esm.js.map +1 -1
  243. package/dist/stencil-library/p-0cc467c4.entry.js +2 -0
  244. package/dist/stencil-library/p-0cc467c4.entry.js.map +1 -0
  245. package/dist/stencil-library/p-B54Ul0nf.js +2 -0
  246. package/dist/stencil-library/p-B54Ul0nf.js.map +1 -0
  247. package/dist/stencil-library/p-B5WTRCh8.js +2 -0
  248. package/dist/stencil-library/p-B5WTRCh8.js.map +1 -0
  249. package/dist/stencil-library/p-BGoSj_DR.js +2 -0
  250. package/dist/stencil-library/p-BGoSj_DR.js.map +1 -0
  251. package/dist/stencil-library/p-ByX6QP-E.js +2 -0
  252. package/dist/stencil-library/p-ByX6QP-E.js.map +1 -0
  253. package/dist/stencil-library/p-C2JRBB5c.js +3 -0
  254. package/dist/stencil-library/p-C2JRBB5c.js.map +1 -0
  255. package/dist/stencil-library/p-CX8V3eiN.js +2 -0
  256. package/dist/stencil-library/p-CX8V3eiN.js.map +1 -0
  257. package/dist/stencil-library/p-Cgchl6bA.js +2 -0
  258. package/dist/stencil-library/p-Cgchl6bA.js.map +1 -0
  259. package/dist/stencil-library/p-DN5z5Lnk.js +2 -0
  260. package/dist/stencil-library/p-DN5z5Lnk.js.map +1 -0
  261. package/dist/stencil-library/p-DYtW7_ih.js +10 -0
  262. package/dist/stencil-library/p-DYtW7_ih.js.map +1 -0
  263. package/dist/stencil-library/p-WmcSqXD8.js +2 -0
  264. package/dist/stencil-library/p-WmcSqXD8.js.map +1 -0
  265. package/dist/stencil-library/p-d3e17162.entry.js +2 -0
  266. package/dist/stencil-library/p-d3e17162.entry.js.map +1 -0
  267. package/dist/stencil-library/p-j-vOrhhh.js +2 -0
  268. package/dist/stencil-library/p-j-vOrhhh.js.map +1 -0
  269. package/dist/stencil-library/p-q8auDIJ2.js +2 -0
  270. package/dist/stencil-library/p-q8auDIJ2.js.map +1 -0
  271. package/dist/stencil-library/stencil-library.esm.js +1 -52
  272. package/dist/stencil-library/stencil-library.esm.js.map +1 -1
  273. package/dist/types/components/icons/marker.d.ts +5 -0
  274. package/dist/types/components/map-draw/map-draw.d.ts +8 -1
  275. package/dist/types/components/map-draw/map-selector.d.ts +1 -0
  276. package/dist/types/components/map-draw/polygon-buttons.d.ts +0 -1
  277. package/dist/types/components/map-draw/polygon-information.d.ts +2 -0
  278. package/dist/types/components/map-draw/tutorial-component.d.ts +8 -0
  279. package/dist/types/components.d.ts +42 -17
  280. package/dist/types/types/lang.d.ts +21 -0
  281. package/dist/types/utils/api.d.ts +1 -1
  282. package/dist/types/utils/images.d.ts +1 -0
  283. package/package.json +2 -1
  284. package/dist/stencil-library/api-90JQS7b6.js +0 -104
  285. package/dist/stencil-library/api-90JQS7b6.js.map +0 -1
  286. package/dist/stencil-library/api-B5514wut.js +0 -102
  287. package/dist/stencil-library/api-B5514wut.js.map +0 -1
  288. package/dist/stencil-library/api-CLbMaqt3.js +0 -103
  289. package/dist/stencil-library/api-CLbMaqt3.js.map +0 -1
  290. package/dist/stencil-library/api-Cfi-C6kT.js +0 -104
  291. package/dist/stencil-library/api-Cfi-C6kT.js.map +0 -1
  292. package/dist/stencil-library/api-CiNFC5mG.js +0 -104
  293. package/dist/stencil-library/api-CiNFC5mG.js.map +0 -1
  294. package/dist/stencil-library/api-D_61gY2X.js +0 -102
  295. package/dist/stencil-library/api-D_61gY2X.js.map +0 -1
  296. package/dist/stencil-library/api-Did5lAE0.js.map +0 -1
  297. package/dist/stencil-library/api-S3oJcLL5.js +0 -103
  298. package/dist/stencil-library/api-S3oJcLL5.js.map +0 -1
  299. package/dist/stencil-library/api-iAs1ZQr1.js +0 -104
  300. package/dist/stencil-library/api-iAs1ZQr1.js.map +0 -1
  301. package/dist/stencil-library/api-vropRvpT.js +0 -102
  302. package/dist/stencil-library/api-vropRvpT.js.map +0 -1
  303. package/dist/stencil-library/config-CWfV1nKn.js.map +0 -1
  304. package/dist/stencil-library/constants-pXQQsEkH.js +0 -1519
  305. package/dist/stencil-library/constants-pXQQsEkH.js.map +0 -1
  306. package/dist/stencil-library/decoder-BDfrXE7e.js +0 -39
  307. package/dist/stencil-library/decoder-BDfrXE7e.js.map +0 -1
  308. package/dist/stencil-library/deflate-BrCNE9ec.js +0 -21
  309. package/dist/stencil-library/eraser-icon.entry.esm.js.map +0 -1
  310. package/dist/stencil-library/eraser-icon.entry.js +0 -22
  311. package/dist/stencil-library/eraser-icon.entry.js.map +0 -1
  312. package/dist/stencil-library/house-icon.entry.esm.js.map +0 -1
  313. package/dist/stencil-library/house-icon.entry.js +0 -22
  314. package/dist/stencil-library/house-icon.entry.js.map +0 -1
  315. package/dist/stencil-library/icon-selector.entry.esm.js.map +0 -1
  316. package/dist/stencil-library/icon-selector.entry.js +0 -44
  317. package/dist/stencil-library/icon-selector.entry.js.map +0 -1
  318. package/dist/stencil-library/index-CChkgM3J.js +0 -414
  319. package/dist/stencil-library/index-CChkgM3J.js.map +0 -1
  320. package/dist/stencil-library/index-Cx8GOJRA.js +0 -4172
  321. package/dist/stencil-library/index-Cx8GOJRA.js.map +0 -1
  322. package/dist/stencil-library/jpeg-CjOJHUd1.js.map +0 -1
  323. package/dist/stencil-library/lerc-BQF80JgE.js.map +0 -1
  324. package/dist/stencil-library/loading-widget.entry.js +0 -20
  325. package/dist/stencil-library/loading-widget.entry.js.map +0 -1
  326. package/dist/stencil-library/lzw-PA2aOuVK.js.map +0 -1
  327. package/dist/stencil-library/map-draw-CaQc1QTP.js +0 -25429
  328. package/dist/stencil-library/map-draw-CaQc1QTP.js.map +0 -1
  329. package/dist/stencil-library/map-draw.entry.esm.js.map +0 -1
  330. package/dist/stencil-library/map-draw.entry.js +0 -12
  331. package/dist/stencil-library/map-draw.entry.js.map +0 -1
  332. package/dist/stencil-library/map-selector.entry.esm.js.map +0 -1
  333. package/dist/stencil-library/map-selector.entry.js +0 -171
  334. package/dist/stencil-library/map-selector.entry.js.map +0 -1
  335. package/dist/stencil-library/move-icon.entry.esm.js.map +0 -1
  336. package/dist/stencil-library/move-icon.entry.js +0 -22
  337. package/dist/stencil-library/move-icon.entry.js.map +0 -1
  338. package/dist/stencil-library/octagon-minus-icon.entry.esm.js.map +0 -1
  339. package/dist/stencil-library/octagon-minus-icon.entry.js +0 -22
  340. package/dist/stencil-library/octagon-minus-icon.entry.js.map +0 -1
  341. package/dist/stencil-library/packbits-BMYGgS0z.js.map +0 -1
  342. package/dist/stencil-library/pako.esm-CPorU236.js +0 -6881
  343. package/dist/stencil-library/polygon-buttons.entry.esm.js.map +0 -1
  344. package/dist/stencil-library/polygon-buttons.entry.js +0 -30
  345. package/dist/stencil-library/polygon-buttons.entry.js.map +0 -1
  346. package/dist/stencil-library/polygon-information.entry.esm.js.map +0 -1
  347. package/dist/stencil-library/polygon-information.entry.js +0 -53
  348. package/dist/stencil-library/polygon-information.entry.js.map +0 -1
  349. package/dist/stencil-library/raw-D-Vfg78n.js +0 -20
  350. package/dist/stencil-library/raw-D-Vfg78n.js.map +0 -1
  351. package/dist/stencil-library/search-icon.entry.esm.js.map +0 -1
  352. package/dist/stencil-library/search-icon.entry.js +0 -22
  353. package/dist/stencil-library/search-icon.entry.js.map +0 -1
  354. package/dist/stencil-library/settings-icon.entry.esm.js.map +0 -1
  355. package/dist/stencil-library/settings-icon.entry.js +0 -22
  356. package/dist/stencil-library/settings-icon.entry.js.map +0 -1
  357. package/dist/stencil-library/settings-modal.entry.esm.js.map +0 -1
  358. package/dist/stencil-library/settings-modal.entry.js +0 -58
  359. package/dist/stencil-library/settings-modal.entry.js.map +0 -1
  360. package/dist/stencil-library/solar-calculator.entry.esm.js.map +0 -1
  361. package/dist/stencil-library/solar-calculator.entry.js +0 -26666
  362. package/dist/stencil-library/solar-calculator.entry.js.map +0 -1
  363. package/dist/stencil-library/solar-expert.entry.esm.js.map +0 -1
  364. package/dist/stencil-library/solar-expert.entry.js +0 -241
  365. package/dist/stencil-library/solar-expert.entry.js.map +0 -1
  366. package/dist/stencil-library/solar-system-form.entry.esm.js.map +0 -1
  367. package/dist/stencil-library/solar-system-form.entry.js +0 -444
  368. package/dist/stencil-library/solar-system-form.entry.js.map +0 -1
  369. package/dist/stencil-library/store-4trH9erz.js.map +0 -1
  370. package/dist/stencil-library/tool-box.entry.esm.js.map +0 -1
  371. package/dist/stencil-library/tool-box.entry.js +0 -36
  372. package/dist/stencil-library/tool-box.entry.js.map +0 -1
  373. package/dist/stencil-library/tools-BCET7NeO.js.map +0 -1
  374. package/dist/stencil-library/undo-icon.entry.esm.js.map +0 -1
  375. package/dist/stencil-library/undo-icon.entry.js +0 -22
  376. package/dist/stencil-library/undo-icon.entry.js.map +0 -1
  377. package/dist/stencil-library/utils-BCUZxI9u.js.map +0 -1
  378. package/dist/types/components/solar-calculator/solar-calculator.d.ts +0 -15
  379. /package/dist/{stencil-library → esm}/app-globals-CX8V3eiN.js +0 -0
  380. /package/dist/{stencil-library → esm}/app-globals-CX8V3eiN.js.map +0 -0
@@ -0,0 +1,573 @@
1
+ import { h } from "@stencil/core";
2
+ import { DEFAULT_SOLAR_PANEL_TYPE } from "../../config";
3
+ import { getLanguageStrings } from "../../utils/lang/general";
4
+ import { state } from "../../store";
5
+ import { generateElectricCarChargingHours, simulate } from "harmonia-sim";
6
+ import { HEAT_PUMP_CONSUMPTION } from "../../constants";
7
+ import { sendLeadToNexvoro } from "../../utils/api";
8
+ export class SolarSystemForm {
9
+ systemConfigs = {};
10
+ polygons = [];
11
+ roofCanvas;
12
+ polygonCanvas;
13
+ householdConsumption = 4500;
14
+ consumptionProfile = "mostly_at_home";
15
+ electricityPrice = 0.3;
16
+ compensationRate = 0.07;
17
+ annualPriceIncrease = 2;
18
+ autonomy = 0;
19
+ costSavings = 0;
20
+ numberOfPanels = 5;
21
+ panelPeakPower = 0.4; // kW per panel
22
+ name = "";
23
+ email = "";
24
+ phone = "";
25
+ nameError = "";
26
+ emailError = "";
27
+ phoneError = "";
28
+ electricCar = false;
29
+ electricCarChargingTime = "day";
30
+ heatPump = 0;
31
+ battery = 0;
32
+ compensation20Years = 0;
33
+ savedCosts20Years = 0;
34
+ maxPanels = 5;
35
+ kmDrivenPerYear = 10000;
36
+ totalEnergyConsumption = 4500;
37
+ totalEnergyProduction = 0;
38
+ isSubmitting = false;
39
+ submitMessage = "";
40
+ submitSuccess = false;
41
+ updateSystemConfigs() {
42
+ if (Object.keys(this.systemConfigs).length === 0) {
43
+ this.numberOfPanels = 0;
44
+ this.maxPanels = 0;
45
+ return;
46
+ }
47
+ this.numberOfPanels = Object.keys(this.systemConfigs).reduce((acc, curr) => acc + this.systemConfigs[curr].numberOfPanels, 0);
48
+ this.maxPanels = Object.keys(this.systemConfigs).reduce((acc, curr) => acc + this.systemConfigs[curr].numberOfPanels, 0);
49
+ this.panelPeakPower = Object.entries(this.systemConfigs)[0][1][0]
50
+ ?.panel.kWattPeak ?? 0.44;
51
+ this.recalculate();
52
+ }
53
+ formatEuropeanNumber(num, decimals = 2) {
54
+ const fixed = num.toFixed(decimals);
55
+ const [integerPart, decimalPart] = fixed.split(".");
56
+ // Add dots as thousands separators
57
+ const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
58
+ // Join with comma as decimal separator
59
+ return decimalPart
60
+ ? `${formattedInteger},${decimalPart}`
61
+ : formattedInteger;
62
+ }
63
+ recalculate() {
64
+ const currentSystemConfigs = {};
65
+ let totalNumberOfPanels = 0;
66
+ for (const [key, value] of Object.entries(this.systemConfigs)) {
67
+ if (totalNumberOfPanels >= this.numberOfPanels) {
68
+ break;
69
+ }
70
+ if (value.numberOfPanels + totalNumberOfPanels > this.numberOfPanels) {
71
+ currentSystemConfigs[key] = {
72
+ ...value,
73
+ numberOfPanels: this.numberOfPanels - totalNumberOfPanels,
74
+ };
75
+ totalNumberOfPanels = this.numberOfPanels;
76
+ }
77
+ else {
78
+ currentSystemConfigs[key] = value;
79
+ totalNumberOfPanels += value.numberOfPanels;
80
+ }
81
+ }
82
+ const simulationConfig = {
83
+ general: {
84
+ simulationYears: 20,
85
+ },
86
+ householdConsumption: {
87
+ consumptionProfile: this.consumptionProfile,
88
+ winterConsumptionFactor: 1.4,
89
+ summerConsumptionFactor: 0.6,
90
+ averageConsumption: this.householdConsumption / 365,
91
+ },
92
+ electricityPrice: {
93
+ purchase: this.electricityPrice,
94
+ sell: this.compensationRate,
95
+ increase: this.annualPriceIncrease / 100,
96
+ },
97
+ solarSystems: currentSystemConfigs,
98
+ batteryKWh: this.battery,
99
+ solarRadiation: {
100
+ winterFactor: 0.2,
101
+ summerFactor: 0.6,
102
+ },
103
+ heatPump: {
104
+ m2: this.heatPump,
105
+ consumptionPerM2: HEAT_PUMP_CONSUMPTION / 365,
106
+ },
107
+ electricCar: this.electricCar
108
+ ? {
109
+ averageKilometersPerDay: this.kmDrivenPerYear / 365,
110
+ consumptionkWhPer100km: 20,
111
+ batteryKWh: 80,
112
+ chargingHours: this.electricCarChargingTime === "day"
113
+ ? generateElectricCarChargingHours(6, 18)
114
+ : generateElectricCarChargingHours(18, 6),
115
+ }
116
+ : undefined,
117
+ };
118
+ const result = simulate(simulationConfig);
119
+ this.compensation20Years = result.compensationPerDay * 365 * 20;
120
+ this.savedCosts20Years = result.byYearSavedCosts.reduce((acc, curr) => acc + curr, 0) + this.compensation20Years;
121
+ this.costSavings = result.byYearSavedCosts[0];
122
+ this.autonomy = result.autonomy * 100;
123
+ this.totalEnergyConsumption = result.totalEnergyConsumptionDay * 365;
124
+ // Calculate total energy production based on compensation and rate
125
+ this.totalEnergyProduction =
126
+ (result.compensationPerDay / this.compensationRate) * 365;
127
+ }
128
+ componentWillLoad() {
129
+ this.updateSystemConfigs();
130
+ }
131
+ validateForm() {
132
+ let isValid = true;
133
+ const t = getLanguageStrings(state.settings.language);
134
+ // Validate name
135
+ if (!this.name.trim()) {
136
+ this.nameError = t.solarSystemForm.nameError;
137
+ isValid = false;
138
+ }
139
+ else {
140
+ this.nameError = "";
141
+ }
142
+ // Validate email
143
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
144
+ if (!this.email.trim()) {
145
+ this.emailError = t.solarSystemForm.emailError;
146
+ isValid = false;
147
+ }
148
+ else if (!emailRegex.test(this.email)) {
149
+ this.emailError = t.solarSystemForm.validEmailError;
150
+ isValid = false;
151
+ }
152
+ else {
153
+ this.emailError = "";
154
+ }
155
+ // Validate phone (optional)
156
+ const phoneRegex = /^[\+]?[1-9][\d]{0,15}$/;
157
+ if (this.phone.trim() &&
158
+ !phoneRegex.test(this.phone.replace(/[\s\-\(\)]/g, ""))) {
159
+ this.phoneError = t.solarSystemForm.phoneError;
160
+ isValid = false;
161
+ }
162
+ else {
163
+ this.phoneError = "";
164
+ }
165
+ return isValid;
166
+ }
167
+ async handleRequestOffer() {
168
+ if (!this.validateForm()) {
169
+ return;
170
+ }
171
+ this.isSubmitting = true;
172
+ this.submitMessage = "";
173
+ this.submitSuccess = false;
174
+ const t = getLanguageStrings(state.settings.language);
175
+ try {
176
+ const leadData = {
177
+ location: {
178
+ name: state.location,
179
+ latitude: state.latitude,
180
+ longitude: state.longitude,
181
+ },
182
+ systemConfig: {
183
+ maxNumberOfPanels: this.maxPanels,
184
+ panelPeakPower: this.panelPeakPower,
185
+ polygons: this.polygons,
186
+ solarSystems: this.systemConfigs,
187
+ electricityPrice: this.electricityPrice,
188
+ compensationRate: this.compensationRate,
189
+ annualPriceIncrease: this.annualPriceIncrease,
190
+ },
191
+ client: {
192
+ name: this.name,
193
+ email: this.email,
194
+ phone: this.phone,
195
+ consumption: this.householdConsumption,
196
+ consumptionProfile: this.consumptionProfile,
197
+ hasBattery: this.battery > 0,
198
+ battery: this.battery,
199
+ hasHeatPump: this.heatPump > 0,
200
+ heatPumpM2: this.heatPump,
201
+ hasElectricCar: this.electricCar,
202
+ electricCarChargingTime: this.electricCarChargingTime,
203
+ electricCarKmPerYear: this.kmDrivenPerYear,
204
+ },
205
+ images: {
206
+ roof: this.roofCanvas.toDataURL(),
207
+ polygon: this.polygonCanvas.toDataURL(),
208
+ },
209
+ results: {
210
+ autonomy: this.autonomy,
211
+ costSavings: this.costSavings,
212
+ compensation20Years: this.compensation20Years,
213
+ savedCosts20Years: this.savedCosts20Years,
214
+ totalEnergyConsumption: this.totalEnergyConsumption,
215
+ },
216
+ };
217
+ console.log("leadData", leadData);
218
+ const result = await sendLeadToNexvoro(leadData);
219
+ this.submitSuccess = result.success;
220
+ if (result.success) {
221
+ console.log("Lead successfully sent to Nexvoro", result);
222
+ this.submitMessage = t.solarSystemForm.leadSubmitted;
223
+ // Optionally reset form or show success message
224
+ }
225
+ else {
226
+ console.error("Failed to send lead to Nexvoro:", result.message);
227
+ this.submitMessage = t.solarSystemForm.leadError;
228
+ }
229
+ }
230
+ catch (error) {
231
+ console.error("Error in handleRequestOffer:", error);
232
+ this.submitSuccess = false;
233
+ this.submitMessage = error instanceof Error
234
+ ? error.message
235
+ : "An unexpected error occurred";
236
+ }
237
+ finally {
238
+ this.isSubmitting = false;
239
+ }
240
+ }
241
+ isIOS() {
242
+ return state.isIOS;
243
+ }
244
+ render() {
245
+ const t = getLanguageStrings(state.settings.language);
246
+ // Reusable style objects
247
+ const borderStyle = { border: "1px solid var(--color-border)" };
248
+ const errorBorderStyle = { border: "1px solid var(--color-error)" };
249
+ return (h("div", { key: '7139c9f7a83ebbbda58963c1136bbdfd7728e0bd', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
250
+ ,
251
+ // display: (Object.keys(this.systemConfigs).length === 0)
252
+ // ? "none"
253
+ // : "flex",
254
+ // }}
255
+ id: "solar-system-form" }, h("h1", { key: '4e1cdee9c1ec934d4b874e88a96db2801c79a60d', class: "text-2xl font-bold text-secondary mb-4 w-full" }, t.solarSystemForm.title), h("div", { key: '63bb70b6c15761b9268dcc3059f44eb8ad4ef2fa', class: "w-full bg-primary rounded-4xl space-y-6" }, h("div", { key: '9f0f34af0c1dbfc1b8bb07883cb592010985692b', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '5e8a8d3554ec8d810433dd75f96c32c2545508fc', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.systemInformation), h("div", { key: 'cf72325db86b65965cdb44013533477e64c23422', class: "flex flex-col sm:flex-row gap-4" }, h("div", { key: '5241cb1db7b4d7afc9179fa138a610152a7a35e1', class: "flex-1 bg-muted rounded-4xl p-4 space-y-3" }, h("div", { key: 'bc6151b8cd4b9f2e8b1b7cd311719d9fd21fc212', class: "flex items-center justify-between" }, h("label", { key: '0c1cca4024a7274281df489cd5f7bd8b62a2c96b', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.numberOfPanels), !this.isIOS()
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
+ : (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
+ const value = parseInt(e.target
259
+ .value);
260
+ if (value >= 1 &&
261
+ value <=
262
+ this.maxPanels) {
263
+ this.numberOfPanels =
264
+ value;
265
+ this.recalculate();
266
+ }
267
+ } }))), !this.isIOS() && (h("input", { key: 'b7cc82a0d13854509a123976ffec2150497c54bf', 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
+ this.numberOfPanels = parseInt(e.target
269
+ .value);
270
+ this.recalculate();
271
+ } }))), h("div", { key: '2dd7469d204e77e97c29256a07dc164bbce62b3f', class: "flex-1 bg-muted rounded-4xl p-4" }, h("div", { key: 'd6fbb640a3093ffa56ddbdecf41fee985b7c13de', class: "flex items-center justify-between" }, h("label", { key: '5967e7593b965896fca79dc911f79dfb04bd31ba', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.panelPeakPower), h("span", { key: 'ecc8aebf57ebacdce115188308a3947d4329a4cd', class: "text-text-muted" }, this.panelPeakPower.toFixed(2), " kW")), h("div", { key: '07acff632a6492d811334c1b4fdfe7631fbf8930', class: "flex items-center justify-between mt-4" }, h("span", { key: 'f8692f2cf74cd8603775e94099752c9e4d03be9b', class: "text-sm font-medium text-text-muted" }, t.solarSystemForm.totalSystemPeakPower), h("span", { key: '7a89ad672637c04b5365e7ea034448ece3d32cf2', class: "font-bold text-text-muted" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
272
+ this.numberOfPanels).toFixed(1), " kWp"))))), h("div", { key: 'c913d3a0895044e60c992aa368c27379208a197b', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'fc1b7bfc69f79e199a8526fda30851395e615b0f', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.householdConsumptionTitle), h("div", { key: 'dc4e9eecae7e31cded9b85c544ce13c59226efa6', class: "grid grid-rows-2 gap-0" }, h("div", { key: '5e00f5e87fdccd6dd6455c9a26e3a7ce1ae05394', class: "grid grid-cols-2 gap-4" }, h("label", { key: '155a89fbbf6ccc69bdcc0bed88d05bc7d09a866d', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.annualConsumption), h("label", { key: '3bd653254b0f2ddb0c61f452952a0ab58c4f7d40', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.consumptionProfileTitle)), h("div", { key: '33113a21857b3f4f68339fc39cd3bbc4054e1586', class: "grid grid-cols-2 gap-4" }, h("input", { key: '063500ea400d697056ec5e214b6fb530af06ccfe', 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) => {
273
+ this.householdConsumption = parseInt(e.target
274
+ .value);
275
+ this.recalculate();
276
+ } }), h("select", { key: '48628afb1e204838358a8a56d7e3d09fc1576c10', 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
+ this.consumptionProfile =
278
+ e.target
279
+ .value;
280
+ this.recalculate();
281
+ } }, h("option", { key: 'dcdcf43433687a823b4cc617d956b10a56b82133', value: "mostly_at_home", selected: this.consumptionProfile ===
282
+ "mostly_at_home" }, t.solarSystemForm.consumptionProfiles
283
+ .mostlyAtHome), h("option", { key: 'ad37f3694f26f08cfc65e67f6d78e14c815478c9', value: "mostly_away", selected: this.consumptionProfile ===
284
+ "mostly_away" }, t.solarSystemForm.consumptionProfiles
285
+ .mostlyAway))))), h("div", { key: '2461025c58f8e091cf757c4968b0a21108f35e75', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '89575de1e21452e71028505f02474cc6d0de197a', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.additionalComponents.title), h("div", { key: 'b2f666cfe480ce0cc8c84c24a852034b04eca215', class: "flex flex-col gap-4" }, h("div", { key: '7a224cfb1d954bed01b45e3a9f397ba69f0055b8', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '4c0d72a28f4440e647159fbb8cfe5d3a6eda53e2', class: "flex items-center justify-between" }, h("div", { key: '928b6bf84a5349fa89e3b961894b538185d33961', class: "flex items-center gap-2" }, h("input", { key: '6f5d77b885551b0280366cd837baec595529490f', 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
+ this.heatPump =
287
+ e.target
288
+ .checked
289
+ ? 100
290
+ : 0;
291
+ this.recalculate();
292
+ } }), h("label", { key: '4df84acd8d1011ace4903c10674a6ea6c8320276', htmlFor: "heatPump", class: "text-text-muted" }, t.solarSystemForm
293
+ .additionalComponents
294
+ .heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: 'e1cc7cac2dd0d3efbefd9e05ef7fe61c7a1cfe3a', class: "text-text-muted" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (h("div", { key: '5bef4d0ac8adbd58bd8f4d56e6ba1c83f22d6f98', class: "flex flex-col gap-2" }, this.isIOS()
295
+ ? (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
297
+ .value);
298
+ if (value >= 10 &&
299
+ value <= 300) {
300
+ this.heatPump =
301
+ value;
302
+ this.recalculate();
303
+ }
304
+ } }), h("span", { class: "text-sm text-text-muted" }, "m\u00B2")))
305
+ : (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-muted", value: this.heatPump, onInput: (e) => {
306
+ this.heatPump =
307
+ parseInt(e.target
308
+ .value);
309
+ this.recalculate();
310
+ } }))))), h("div", { key: '76a40ab1f89c47050faf446a2017b2b74703638a', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '56666133211231da0c95f3ecd058ea62615ea88c', class: "flex items-center justify-between" }, h("div", { key: '08b1d06eb90a88e5583989f5d2743f9e294a1f7e', class: "flex items-center gap-2" }, h("input", { key: 'cbd441786b9e23720e2a0aa2c39ef5bbaaed01b4', 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
+ this.electricCar =
312
+ e.target
313
+ .checked;
314
+ this.recalculate();
315
+ } }), h("label", { key: 'f746d81d324d236e53d553706a0a64f78d6ae2d8', htmlFor: "electricCar", class: "text-text-muted" }, t.solarSystemForm
316
+ .additionalComponents
317
+ .electricCar))), this.electricCar && (h("div", { key: 'f2a0ff39ca1e52ba544f333ebd73da57b0803f36', class: "flex flex-col gap-2" }, h("div", { key: '052c60cf1661a8d3fe826a63e657b7ebb228bccc', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'f486f4876988df361f4bbb967e566112c491036c', class: "text-sm text-text-muted" }, t.solarSystemForm
318
+ .additionalComponents
319
+ .chargingTime), h("label", { key: '870bc7ff65a52cfa1bbfa0296bf8428c104d5edf', class: "text-sm text-text-muted" }, t.solarSystemForm
320
+ .additionalComponents
321
+ .kilometersPerYear)), h("div", { key: 'e1698c0928da471f3758228502159baafecbe44b', class: "grid grid-cols-2 gap-4" }, h("select", { key: '82362f74b362a31c8a30e246d073836e93bec1c3', class: "w-full px-4 py-2 rounded-4xl focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", onChange: (e) => {
322
+ this.electricCarChargingTime =
323
+ e.target
324
+ .value;
325
+ this.recalculate();
326
+ }, style: borderStyle }, h("option", { key: 'c76bd6ed6abbcb624f3c79585cb6f719bc60b30e', value: "day", selected: this
327
+ .electricCarChargingTime ===
328
+ "day" }, t.solarSystemForm
329
+ .additionalComponents
330
+ .chargingTimeDay), h("option", { key: 'abc0fd939d0d6d228b124f53e9b297bd8079fef6', value: "night", selected: this
331
+ .electricCarChargingTime ===
332
+ "night" }, t.solarSystemForm
333
+ .additionalComponents
334
+ .chargingTimeNight)), h("input", { key: '0f8792d286b91548ca25843c1ad31dd081842f88', 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) => {
335
+ this.kmDrivenPerYear =
336
+ parseInt(e.target
337
+ .value);
338
+ this.recalculate();
339
+ }, style: borderStyle }))))), h("div", { key: '3f9c6afd978a3e77435e035e64d9aaf3aa0aa97a', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '99b1f2cfbf1d8cba8d1fb19201ee59faa8943858', class: "flex items-center justify-between" }, h("div", { key: 'ae3155b4b63cea133953a9dee18629c61dbd1cc4', class: "flex items-center gap-2" }, h("input", { key: 'bbfe892ac4fe0564701d1e8a5595b6b85f0ba76a', 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 =
341
+ e.target
342
+ .checked
343
+ ? 5
344
+ : 0;
345
+ this.recalculate();
346
+ } }), h("label", { key: 'c0da0d83bfe05a6591683e308f14f2d7aa60b3b3', htmlFor: "battery", class: "text-text-muted" }, t.solarSystemForm
347
+ .additionalComponents
348
+ .battery)), (this.battery > 0 && !this.isIOS()) && (h("span", { key: '7e7e5848a5c12d3029887800c9cfa6a97c3c5f8d', class: "text-text-muted" }, this.battery, " kWh"))), this.battery > 0 && (h("div", { key: '41ebca4575af0383bae612780942f52197835390', 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
351
+ .value);
352
+ if (value >= 1 &&
353
+ value <= 20) {
354
+ this.battery =
355
+ value;
356
+ this.recalculate();
357
+ }
358
+ }, style: borderStyle }), h("span", { class: "text-sm text-text-muted" }, "kWh")))
359
+ : (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
361
+ .value);
362
+ this.recalculate();
363
+ } }))))))), h("div", { key: '1f3db56a01db3aa71a3e732eb42feee34619c016', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '4406c2eb5ce9f2fb6c2b9ced506e2722dd33c90d', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.electricityCostsTitle), h("div", { key: '9474e98cb4f906dc7bbe9c1ae9677be099af8554', style: {
364
+ display: "grid",
365
+ gridTemplateColumns: "repeat(auto-fit, minmax(250px, 1fr))",
366
+ gap: "1rem",
367
+ } }, h("div", { key: '45be0a23fce514b258b89308355512be1ab76543' }, h("label", { key: 'd4b5ae8bec34ea36437fbc80808954e3faa4b53a', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.electricityPrice), h("input", { key: '3f0f2f9f6424647f3b39fd6c1c71673c151f5168', 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
+ this.electricityPrice = parseFloat(e.target
369
+ .value);
370
+ this.recalculate();
371
+ } })), h("div", { key: 'ff004d5e3a408d0b471bccff956297eb80359581' }, h("label", { key: 'afd1ecf5fcbad4ccd0a9ab091e16cffd9c21b64c', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.compensationRate), h("input", { key: 'f22a6fa86cb9ade28345570bacd51a0ca69e3ccd', 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
+ this.compensationRate = parseFloat(e.target
373
+ .value);
374
+ this.recalculate();
375
+ } })), h("div", { key: '2b2f63afb3a565fbd96c3e81e06c7281fb62fa3b' }, h("label", { key: '46f212c2b33c682f3b2c203dc71f7b6441cc25a5', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.annualPriceIncrease), h("input", { key: '164994dc4f1bdaa38b0fd4a069ac1fbc0f02026f', 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
+ this.annualPriceIncrease = parseFloat(e.target
377
+ .value);
378
+ this.recalculate();
379
+ } })))), h("div", { key: '6543bebe9a5c3ddd914cd79a1d0bccdeb064091f', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: '05fafd14c233ce175189d8bd93df07121ee7c33c', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.resultsTitle), h("div", { key: '8dc5907b2cc779ff942ee0e6f2b501924f9d1a97', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '8fd3a7c0ef678a57834242dbc5e655cba001888a', class: "flex flex-col sm:flex-row sm:items-center justify-between" }, h("span", { key: 'c2c32f7f9f5f50242332c6a4b5af2cedb7fb6669', class: "text-text-muted" }, t.solarSystemForm.autonomy), h("span", { key: 'd6e5824d2b44cac00cd5d712007e65b2ccd0ecfd', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.autonomy > 100
380
+ ? "100"
381
+ : this.formatEuropeanNumber(this.autonomy, 1), "%")), h("div", { key: '15e3620ae50666bbd4dd08379d2d276b41508379', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("span", { key: 'ff9746b6eb4046ddf4d87839555297e64205e841', class: "text-text-muted" }, t.solarSystemForm.totalEnergyConsumption), h("span", { key: '692198f0d789364993b679f4d73c098c7a2c2b93', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.totalEnergyConsumption, 0), " kWh/", t.solarSystemForm.year)), h("div", { key: '8a292497f9b701b0805e5c3a2d007c8242033891', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("span", { key: 'd156ccda8acafbc6946810493c150881bc891757', class: "text-text-muted" }, t.solarSystemForm.totalEnergyProduction), h("span", { key: 'f3b8171f54c842950cf442b51a8e712b21a28a7c', class: "text-xl font-bold text-secondary mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.totalEnergyProduction, 0), " kWh/", t.solarSystemForm.year)), h("div", { key: '0ce95a5cfff5c3ae27056b680f4e290b5c383cea', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: 'e3551545706f356cbdb82b9d9b2b90c561f7895e', class: "flex items-center gap-2" }, h("span", { key: '97df861ed813711fc7d2f225b45071c9a6035e3d', class: "text-text-muted" }, t.solarSystemForm.costSavings)), h("span", { key: '0929f0961f4db248a3ad63cc685d5d48f4e0693c', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.costSavings), "\u20AC/", t
382
+ .solarSystemForm.year)), h("div", { key: '8658c9d6537b980d3c32f1382c9a1507de5482bf', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: 'e3b71e616e9f0be006cd48eb57161e24f5a8f204', class: "flex items-center gap-2" }, h("span", { key: 'a083ad4fec0a9d546cd2d38fdbaeb4d76e5ce091', class: "text-text-muted" }, t.solarSystemForm.compensation20Years)), h("span", { key: '028c3f9c1135bb74f4bf39baf657ac73dbd935d3', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.compensation20Years), "\u20AC")), h("div", { key: '875446618133c6cbe70c4939fa46a5b85157e6ca', class: "flex flex-col sm:flex-row sm:items-center justify-between mt-4" }, h("div", { key: '98b9829e57eb40d1be9f42d0497b5678363ef20b', class: "flex items-center gap-2" }, h("span", { key: '6a87d1ebb879bacade7d1de58942bdb080190e6c', class: "text-text-muted" }, t.solarSystemForm
383
+ .monetaryBenefit20Years)), h("span", { key: 'fcae5f3a40137fad4a51df1afa5cbb70cca43b0e', class: "text-xl font-bold text-success mt-1 sm:mt-0" }, this.formatEuropeanNumber(this.savedCosts20Years), "\u20AC")))), h("div", { key: 'f6298fa9bbba037cecb0b8e55bdd620b0cac1602', class: "space-y-4 p-4 rounded-4xl", style: borderStyle }, h("h2", { key: 'ba176c714d0c73cec7354b060734fbafdbbfd7b7', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.requestOffer), h("div", { key: 'e35c8b896aecc01ccc8036a64cfcd52636d7d816', style: {
384
+ display: "grid",
385
+ gridTemplateColumns: "repeat(auto-fit, minmax(250px, 1fr))",
386
+ gap: "1rem",
387
+ } }, h("div", { key: 'd88465e3c4edc99871fc92a0f36900d204579d9a' }, h("label", { key: 'f0a49b5ed350c5f638a64de1fa87739e46297c9f', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.name), h("input", { key: '70eb7d64859083937ed05c85e2a433b862e7ef0c', 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
+ ? errorBorderStyle
389
+ : borderStyle, value: this.name, onInput: (e) => {
390
+ this.name =
391
+ e.target
392
+ .value;
393
+ this.validateForm();
394
+ }, placeholder: "Your name" }), this.nameError && (h("p", { key: '953421511217ed5759266488e606ee706cbaaa66', class: "text-error text-sm mt-1" }, this.nameError))), h("div", { key: '7d2c2f6ce9f6161ea1123f45b017479f0a872153' }, h("label", { key: '190c752cc5f9a0db9355b871b42adfdedd7160b3', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.email), h("input", { key: 'f1bad4e18f283acd556017bb8ccb880cbbc804c4', 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
+ ? errorBorderStyle
396
+ : borderStyle, value: this.email, onInput: (e) => {
397
+ this.email =
398
+ e.target
399
+ .value;
400
+ this.validateForm();
401
+ }, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '07e41cd62db7a0585ce03cf66978bc1b485fcd58', class: "text-error text-sm mt-1" }, this.emailError))), h("div", { key: '4ac9628f2ce4cba2fda116e2ffbb6496372dcecf' }, h("label", { key: '94e2332210a1efed939555f52645cd0ebfef2679', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.phone), h("input", { key: 'de94479e3cf9c16f35e536815f1f511e168ef8e0', 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
+ ? errorBorderStyle
403
+ : borderStyle, value: this.phone, onInput: (e) => {
404
+ this.phone =
405
+ e.target
406
+ .value;
407
+ this.validateForm();
408
+ }, placeholder: "+34 123 456 789" }), this.phoneError && (h("p", { key: '644a0267abc1fec8a6a2784b21e1327d71f091af', class: "text-error text-sm mt-1" }, this.phoneError)))), h("div", { key: '4c88bcdee1119057ecc14ead825fd144414577ba', class: "flex flex-col items-center gap-4" }, h("button", { key: 'c8c97d037ad92042100af3c3be6bfdc1ff2517a5', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
409
+ !this.email.trim() || !!this.nameError ||
410
+ !!this.emailError || !!this.phoneError ||
411
+ this.isSubmitting, class: `px-6 py-3 rounded-4xl transition-colors duration-200 flex items-center gap-2 ${this.isSubmitting
412
+ ? "bg-muted text-text-muted cursor-not-allowed"
413
+ : "bg-secondary hover:bg-tertiary"}`, style: {
414
+ color: this.isSubmitting
415
+ ? "var(--color-text-muted)"
416
+ : "#ffffff",
417
+ } }, this.isSubmitting && (h("div", { key: '78ccc59f3f59496867c0699c1370cf79b4c7fe7d', class: "w-4 h-4 border-2 border-current border-t-transparent rounded-full animate-spin" })), this.isSubmitting
418
+ ? t.solarSystemForm.sending
419
+ : t.solarSystemForm.requestOfferButton), this.submitMessage && (h("div", { key: '5a1efe7e4264d5510618570e494b7ccbfef76bfa', class: `text-sm px-4 py-2 rounded-4xl ${this.submitSuccess
420
+ ? "bg-success/10 text-success border border-success/20"
421
+ : "bg-error/10 text-error border border-error/20"}` }, this.submitMessage)))))));
422
+ }
423
+ static get is() { return "solar-system-form"; }
424
+ static get originalStyleUrls() {
425
+ return {
426
+ "$": ["../../output.css"]
427
+ };
428
+ }
429
+ static get styleUrls() {
430
+ return {
431
+ "$": ["../../output.css"]
432
+ };
433
+ }
434
+ static get properties() {
435
+ return {
436
+ "systemConfigs": {
437
+ "type": "unknown",
438
+ "attribute": "system-configs",
439
+ "mutable": false,
440
+ "complexType": {
441
+ "original": "{ [id: string]: SolarSystem }",
442
+ "resolved": "{ [id: string]: SolarSystem; }",
443
+ "references": {
444
+ "SolarSystem": {
445
+ "location": "import",
446
+ "path": "harmonia-sim",
447
+ "id": "../../../harmonia/packages/harmonia-sim/dist/index.d.ts::SolarSystem"
448
+ }
449
+ }
450
+ },
451
+ "required": false,
452
+ "optional": false,
453
+ "docs": {
454
+ "tags": [],
455
+ "text": ""
456
+ },
457
+ "getter": false,
458
+ "setter": false,
459
+ "defaultValue": "{}"
460
+ },
461
+ "polygons": {
462
+ "type": "unknown",
463
+ "attribute": "polygons",
464
+ "mutable": false,
465
+ "complexType": {
466
+ "original": "Polygon[]",
467
+ "resolved": "Polygon[]",
468
+ "references": {
469
+ "Polygon": {
470
+ "location": "import",
471
+ "path": "harmonia-types",
472
+ "id": "../../../harmonia/packages/harmonia-types/dist/index.d.ts::Polygon"
473
+ }
474
+ }
475
+ },
476
+ "required": false,
477
+ "optional": false,
478
+ "docs": {
479
+ "tags": [],
480
+ "text": ""
481
+ },
482
+ "getter": false,
483
+ "setter": false,
484
+ "defaultValue": "[]"
485
+ },
486
+ "roofCanvas": {
487
+ "type": "unknown",
488
+ "attribute": "roof-canvas",
489
+ "mutable": false,
490
+ "complexType": {
491
+ "original": "HTMLCanvasElement",
492
+ "resolved": "HTMLCanvasElement",
493
+ "references": {
494
+ "HTMLCanvasElement": {
495
+ "location": "global",
496
+ "id": "global::HTMLCanvasElement"
497
+ }
498
+ }
499
+ },
500
+ "required": false,
501
+ "optional": false,
502
+ "docs": {
503
+ "tags": [],
504
+ "text": ""
505
+ },
506
+ "getter": false,
507
+ "setter": false
508
+ },
509
+ "polygonCanvas": {
510
+ "type": "unknown",
511
+ "attribute": "polygon-canvas",
512
+ "mutable": false,
513
+ "complexType": {
514
+ "original": "HTMLCanvasElement",
515
+ "resolved": "HTMLCanvasElement",
516
+ "references": {
517
+ "HTMLCanvasElement": {
518
+ "location": "global",
519
+ "id": "global::HTMLCanvasElement"
520
+ }
521
+ }
522
+ },
523
+ "required": false,
524
+ "optional": false,
525
+ "docs": {
526
+ "tags": [],
527
+ "text": ""
528
+ },
529
+ "getter": false,
530
+ "setter": false
531
+ }
532
+ };
533
+ }
534
+ static get states() {
535
+ return {
536
+ "householdConsumption": {},
537
+ "consumptionProfile": {},
538
+ "electricityPrice": {},
539
+ "compensationRate": {},
540
+ "annualPriceIncrease": {},
541
+ "autonomy": {},
542
+ "costSavings": {},
543
+ "numberOfPanels": {},
544
+ "panelPeakPower": {},
545
+ "name": {},
546
+ "email": {},
547
+ "phone": {},
548
+ "nameError": {},
549
+ "emailError": {},
550
+ "phoneError": {},
551
+ "electricCar": {},
552
+ "electricCarChargingTime": {},
553
+ "heatPump": {},
554
+ "battery": {},
555
+ "compensation20Years": {},
556
+ "savedCosts20Years": {},
557
+ "maxPanels": {},
558
+ "kmDrivenPerYear": {},
559
+ "totalEnergyConsumption": {},
560
+ "totalEnergyProduction": {},
561
+ "isSubmitting": {},
562
+ "submitMessage": {},
563
+ "submitSuccess": {}
564
+ };
565
+ }
566
+ static get watchers() {
567
+ return [{
568
+ "propName": "systemConfigs",
569
+ "methodName": "updateSystemConfigs"
570
+ }];
571
+ }
572
+ }
573
+ //# sourceMappingURL=solar-system-form.js.map