blue-chestnut-solar-expert 0.0.9 → 0.0.12

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 (130) hide show
  1. package/dist/cjs/eraser-icon.house-icon.icon-selector.map-draw.move-icon.octagon-minus-icon.search-icon.solar-expert.solar-system-form.entry.cjs.js.map +1 -1
  2. package/dist/cjs/eraser-icon_9.cjs.entry.js +388 -15110
  3. package/dist/cjs/eraser-icon_9.cjs.entry.js.map +1 -1
  4. package/dist/cjs/{index-BFx4q5Ui.js → index-GZ-kuJi4.js} +8 -28
  5. package/dist/{esm/index-D0YnIAAN.js.map → cjs/index-GZ-kuJi4.js.map} +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/loading-widget.cjs.entry.js +20 -0
  8. package/dist/cjs/loading-widget.cjs.entry.js.map +1 -0
  9. package/dist/cjs/loading-widget.entry.cjs.js.map +1 -0
  10. package/dist/cjs/solar-calculator.cjs.entry.js +3 -3
  11. package/dist/cjs/solar-calculator.cjs.entry.js.map +1 -1
  12. package/dist/cjs/solar-calculator.entry.cjs.js.map +1 -1
  13. package/dist/cjs/stencil-library.cjs.js +2 -2
  14. package/dist/collection/collection-manifest.json +2 -1
  15. package/dist/collection/components/icons/eraser.js +26 -1
  16. package/dist/collection/components/icons/eraser.js.map +1 -1
  17. package/dist/collection/components/icons/house.js +26 -1
  18. package/dist/collection/components/icons/house.js.map +1 -1
  19. package/dist/collection/components/icons/icon.js +27 -6
  20. package/dist/collection/components/icons/icon.js.map +1 -1
  21. package/dist/collection/components/icons/move.js +26 -1
  22. package/dist/collection/components/icons/move.js.map +1 -1
  23. package/dist/collection/components/icons/octagonMinus.js +26 -1
  24. package/dist/collection/components/icons/octagonMinus.js.map +1 -1
  25. package/dist/collection/components/icons/search.js +26 -1
  26. package/dist/collection/components/icons/search.js.map +1 -1
  27. package/dist/collection/components/map-draw/map-draw.js +133 -31
  28. package/dist/collection/components/map-draw/map-draw.js.map +1 -1
  29. package/dist/collection/components/solar-calculator/solar-calculator.js +1 -1
  30. package/dist/collection/components/solar-expert/solar-expert.js +3 -3
  31. package/dist/collection/components/solar-expert/solar-expert.js.map +1 -1
  32. package/dist/collection/components/solar-system-form/solar-system-form.js +86 -84
  33. package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
  34. package/dist/collection/components/widgets/loading-widget.js +18 -0
  35. package/dist/collection/components/widgets/loading-widget.js.map +1 -0
  36. package/dist/collection/output.css +284 -0
  37. package/dist/collection/utils/geometry/gridMatch.js +0 -1
  38. package/dist/collection/utils/geometry/gridMatch.js.map +1 -1
  39. package/dist/collection/utils/lang/english.js +1 -1
  40. package/dist/collection/utils/lang/english.js.map +1 -1
  41. package/dist/collection/utils/lang/german.js +3 -3
  42. package/dist/collection/utils/lang/german.js.map +1 -1
  43. package/dist/collection/utils/lang/spanish.js +1 -1
  44. package/dist/collection/utils/lang/spanish.js.map +1 -1
  45. package/dist/components/eraser-icon.js +1 -1
  46. package/dist/components/house-icon.js +1 -1
  47. package/dist/components/icon-selector.js +1 -1
  48. package/dist/components/index.js +7 -22
  49. package/dist/components/index.js.map +1 -1
  50. package/dist/components/loading-widget.d.ts +11 -0
  51. package/dist/components/loading-widget.js +36 -0
  52. package/dist/components/loading-widget.js.map +1 -0
  53. package/dist/components/map-draw.js +1 -1
  54. package/dist/components/move-icon.js +1 -1
  55. package/dist/components/octagon-minus-icon.js +1 -1
  56. package/dist/components/p-BGspvo5S.js +36 -0
  57. package/dist/components/p-BGspvo5S.js.map +1 -0
  58. package/dist/components/p-C46bD4Bg.js +36 -0
  59. package/dist/components/p-C46bD4Bg.js.map +1 -0
  60. package/dist/components/p-CB8h41UZ.js +36 -0
  61. package/dist/components/p-CB8h41UZ.js.map +1 -0
  62. package/dist/components/p-CHsmfSJD.js +36 -0
  63. package/dist/components/p-CHsmfSJD.js.map +1 -0
  64. package/dist/components/p-Cg3h6HF4.js +83 -0
  65. package/dist/components/p-Cg3h6HF4.js.map +1 -0
  66. package/dist/components/p-D6cs3r7j.js +621 -0
  67. package/dist/components/p-D6cs3r7j.js.map +1 -0
  68. package/dist/components/{p-CtPeF0hC.js → p-DEfwuR25.js} +143 -42
  69. package/dist/components/p-DEfwuR25.js.map +1 -0
  70. package/dist/components/p-DP1y5q1K.js +36 -0
  71. package/dist/components/p-DP1y5q1K.js.map +1 -0
  72. package/dist/components/search-icon.js +1 -1
  73. package/dist/components/solar-calculator.js +2 -2
  74. package/dist/components/solar-calculator.js.map +1 -1
  75. package/dist/components/solar-expert.js +12 -12
  76. package/dist/components/solar-expert.js.map +1 -1
  77. package/dist/components/solar-system-form.js +1 -1
  78. package/dist/esm/eraser-icon.house-icon.icon-selector.map-draw.move-icon.octagon-minus-icon.search-icon.solar-expert.solar-system-form.entry.js.map +1 -1
  79. package/dist/esm/eraser-icon_9.entry.js +370 -15092
  80. package/dist/esm/eraser-icon_9.entry.js.map +1 -1
  81. package/dist/esm/{index-D0YnIAAN.js → index-CnQR_-WL.js} +8 -28
  82. package/dist/{cjs/index-BFx4q5Ui.js.map → esm/index-CnQR_-WL.js.map} +1 -1
  83. package/dist/esm/loader.js +3 -3
  84. package/dist/esm/loading-widget.entry.js +18 -0
  85. package/dist/esm/loading-widget.entry.js.map +1 -0
  86. package/dist/esm/solar-calculator.entry.js +3 -3
  87. package/dist/esm/solar-calculator.entry.js.map +1 -1
  88. package/dist/esm/stencil-library.js +3 -3
  89. package/dist/stencil-library/eraser-icon.house-icon.icon-selector.map-draw.move-icon.octagon-minus-icon.search-icon.solar-expert.solar-system-form.entry.esm.js.map +1 -1
  90. package/dist/stencil-library/loading-widget.entry.esm.js.map +1 -0
  91. package/dist/stencil-library/p-25e04c7a.entry.js +2 -0
  92. package/dist/stencil-library/p-25e04c7a.entry.js.map +1 -0
  93. package/dist/stencil-library/p-642b4ce9.entry.js +32 -0
  94. package/dist/stencil-library/{p-ded21f18.entry.js.map → p-642b4ce9.entry.js.map} +1 -1
  95. package/dist/stencil-library/p-CnQR_-WL.js +3 -0
  96. package/dist/stencil-library/{p-D0YnIAAN.js.map → p-CnQR_-WL.js.map} +1 -1
  97. package/dist/stencil-library/p-a8d15c85.entry.js +2 -0
  98. package/dist/stencil-library/p-a8d15c85.entry.js.map +1 -0
  99. package/dist/stencil-library/solar-calculator.entry.esm.js.map +1 -1
  100. package/dist/stencil-library/stencil-library.esm.js +1 -1
  101. package/dist/types/components/icons/eraser.d.ts +1 -0
  102. package/dist/types/components/icons/house.d.ts +1 -0
  103. package/dist/types/components/icons/icon.d.ts +1 -0
  104. package/dist/types/components/icons/move.d.ts +1 -0
  105. package/dist/types/components/icons/octagonMinus.d.ts +1 -0
  106. package/dist/types/components/icons/search.d.ts +1 -0
  107. package/dist/types/components/map-draw/map-draw.d.ts +2 -0
  108. package/dist/types/components/solar-system-form/solar-system-form.d.ts +3 -2
  109. package/dist/types/components/widgets/loading-widget.d.ts +3 -0
  110. package/dist/types/components.d.ts +25 -0
  111. package/package.json +1 -1
  112. package/dist/components/p-BL_DlPdu.js +0 -33
  113. package/dist/components/p-BL_DlPdu.js.map +0 -1
  114. package/dist/components/p-BcT1n-3A.js +0 -15447
  115. package/dist/components/p-BcT1n-3A.js.map +0 -1
  116. package/dist/components/p-CC3tp0bK.js +0 -33
  117. package/dist/components/p-CC3tp0bK.js.map +0 -1
  118. package/dist/components/p-CtPeF0hC.js.map +0 -1
  119. package/dist/components/p-D064AshY.js +0 -33
  120. package/dist/components/p-D064AshY.js.map +0 -1
  121. package/dist/components/p-DQwOnYzQ.js +0 -33
  122. package/dist/components/p-DQwOnYzQ.js.map +0 -1
  123. package/dist/components/p-DbEU_5GR.js +0 -33
  124. package/dist/components/p-DbEU_5GR.js.map +0 -1
  125. package/dist/components/p-Dv86mKXd.js +0 -81
  126. package/dist/components/p-Dv86mKXd.js.map +0 -1
  127. package/dist/stencil-library/p-7512b392.entry.js +0 -20
  128. package/dist/stencil-library/p-7512b392.entry.js.map +0 -1
  129. package/dist/stencil-library/p-D0YnIAAN.js +0 -3
  130. package/dist/stencil-library/p-ded21f18.entry.js +0 -32
@@ -0,0 +1,621 @@
1
+ import { p as proxyCustomElement, H, h } from './index.js';
2
+
3
+ const DEFAULT_SOLAR_EXPERT_CONFIG = {
4
+ openRoofColor: "#d6eeff",
5
+ closedRoofColor: "#ffffff",
6
+ openObstructionColor: "#f57242",
7
+ closedObstructionColor: "rgba(255, 132, 107, 0.8)",
8
+ roofPolygonFillColor: "rgba(92, 187, 255, 0.5)",
9
+ obstructionPolygonFillColor: "rgba(255, 132, 107, 0.5)",
10
+ roofPolygonHoverFillColor: "rgba(92, 187, 255, 0.8)",
11
+ obstructionPolygonHoverFillColor: "rgba(255, 132, 107, 0.8)",
12
+ roofPolygonSelectedFillColor: "rgba(92, 187, 255, 0.7)",
13
+ obstructionPolygonSelectedFillColor: "rgba(255, 132, 107, 0.7)",
14
+ };
15
+ const DEFAULT_SOLAR_PANEL_TYPE = {
16
+ widthMeters: 1.134,
17
+ heightMeters: 1.762,
18
+ kWattPeak: 0.455,
19
+ efficiency: 0.224,
20
+ price: 77.68,
21
+ };
22
+
23
+ const en = {
24
+ solarExpert: {
25
+ searchPlaceholder: "Search for a location"
26
+ },
27
+ solarSystemForm: {
28
+ title: "Solar System Configuration",
29
+ systemInformation: "System Information",
30
+ numberOfPanels: "Number of Solar Panels",
31
+ panelPeakPower: "Panel Peak Power (kW)",
32
+ totalSystemPeakPower: "Total System Peak Power (kW)",
33
+ electricityPrice: "Electricity Price (€/kWh)",
34
+ compensationRate: "Compensation Rate (€/kWh)",
35
+ autonomy: "Autonomy",
36
+ costSavings: "Cost Savings (€/year)",
37
+ householdConsumptionTitle: "Household Electricity Consumption",
38
+ consumptionProfileTitle: "Consumption Profile",
39
+ electricityCostsTitle: "Electricity Costs",
40
+ compensationRateTitle: "Compensation Rate",
41
+ resultsTitle: "Results",
42
+ savingsDisclaimer: "Disclaimer: The savings are based on the average electricity price in Spain.",
43
+ annualConsumption: "Annual Consumption (kWh)",
44
+ name: "Name",
45
+ email: "Email",
46
+ nameError: "Please enter your name",
47
+ emailError: "Please enter a valid email address",
48
+ consumptionProfiles: {
49
+ mostlyAtHome: "Mostly at home",
50
+ mostlyAway: "Mostly away",
51
+ },
52
+ chart: {
53
+ consumption: "Consumption",
54
+ production: "Production",
55
+ consumptionProfile: "Consumption Profile",
56
+ relativeConsumption: "Relative Consumption",
57
+ hourOfDay: "Hour of Day",
58
+ },
59
+ validEmailError: "Please enter a valid email address",
60
+ requestOffer: "Request Offer",
61
+ requestOfferButton: "Request Offer",
62
+ year: "year",
63
+ },
64
+ mapDraw: {
65
+ noPolygonSelected: "No polygon selected",
66
+ noAddressSelected: "Please select an address",
67
+ information: "Information",
68
+ calculateSolarPanels: "Calculate Solar Panels",
69
+ panels: "Panels",
70
+ area: "Area",
71
+ azimuth: "Azimuth",
72
+ pitch: "Pitch",
73
+ tools: {
74
+ roof: {
75
+ name: "Roof",
76
+ explanation: "Draw the roof of the building",
77
+ ariaLabel: "Roof",
78
+ },
79
+ obstruction: {
80
+ name: "Obstruction",
81
+ explanation: "Draw the obstruction of the building",
82
+ ariaLabel: "Obstruction",
83
+ },
84
+ delete: {
85
+ name: "Delete",
86
+ explanation: "Delete the selected polygon",
87
+ ariaLabel: "Delete",
88
+ },
89
+ move: {
90
+ name: "Move",
91
+ explanation: "Move the selected polygon",
92
+ ariaLabel: "Move",
93
+ },
94
+ },
95
+ }
96
+ };
97
+
98
+ const de = {
99
+ solarExpert: {
100
+ searchPlaceholder: "Suche nach einer Adresse"
101
+ },
102
+ solarSystemForm: {
103
+ title: "Solarsystem Konfiguration",
104
+ systemInformation: "System Information",
105
+ numberOfPanels: "Anzahl der Solarpanel",
106
+ panelPeakPower: "Panelleistung (kW)",
107
+ totalSystemPeakPower: "Maximale Anlagengröße (kWp)",
108
+ electricityPrice: "Strompreis (€/kWh)",
109
+ compensationRate: "Einspeisevergütung (€/kWh)",
110
+ autonomy: "Autonomie",
111
+ costSavings: "Einsparungen (€/Jahr)",
112
+ householdConsumptionTitle: "Haushaltsverbrauch",
113
+ consumptionProfileTitle: "Verbrauchprofil",
114
+ electricityCostsTitle: "Stromkosten",
115
+ compensationRateTitle: "Einspeisevergütung",
116
+ resultsTitle: "Ergebnisse",
117
+ savingsDisclaimer: "Disclaimer: Die Einsparungen basieren auf dem durchschnittlichen Strompreis in Spanien.",
118
+ annualConsumption: "Jährlicher Verbrauch (kWh)",
119
+ name: "Name",
120
+ email: "Email",
121
+ nameError: "Bitte geben Sie Ihren Namen ein",
122
+ emailError: "Bitte geben Sie eine gültige E-Mail-Adresse ein",
123
+ consumptionProfiles: {
124
+ mostlyAtHome: "Hauptsächlich zu Hause",
125
+ mostlyAway: "Erwerbstätig",
126
+ },
127
+ chart: {
128
+ consumption: "Verbrauch",
129
+ production: "Produktion",
130
+ consumptionProfile: "Verbrauchprofil",
131
+ relativeConsumption: "Verbrauch",
132
+ hourOfDay: "Stunde des Tages",
133
+ },
134
+ validEmailError: "Bitte geben Sie eine gültige E-Mail-Adresse ein",
135
+ requestOffer: "Angebot anfordern",
136
+ requestOfferButton: "Angebot anfordern",
137
+ year: "Jahr",
138
+ },
139
+ mapDraw: {
140
+ noPolygonSelected: "Kein Polygon ausgewählt",
141
+ noAddressSelected: "Bitte wählen Sie eine Adresse",
142
+ information: "Information",
143
+ calculateSolarPanels: "Berechnen Sie die Solarpanele",
144
+ panels: "Panele",
145
+ area: "Fläche",
146
+ azimuth: "Ausrichtung",
147
+ pitch: "Neigung",
148
+ tools: {
149
+ roof: {
150
+ name: "Dach",
151
+ explanation: "Zeichnen Sie das Dach des Gebäudes",
152
+ ariaLabel: "Dach",
153
+ },
154
+ obstruction: {
155
+ name: "Hindernis",
156
+ explanation: "Zeichnen Sie das Hindernis des Gebäudes",
157
+ ariaLabel: "Hindernis",
158
+ },
159
+ delete: {
160
+ name: "Löschen",
161
+ explanation: "Löschen Sie das ausgewählte Polygon",
162
+ ariaLabel: "Löschen",
163
+ },
164
+ move: {
165
+ name: "Verschieben",
166
+ explanation: "Verschieben Sie Punkte des ausgewählten Polygons",
167
+ ariaLabel: "Verschieben",
168
+ },
169
+ },
170
+ }
171
+ };
172
+
173
+ const es = {
174
+ solarExpert: {
175
+ searchPlaceholder: "Suche nach einer Adresse"
176
+ },
177
+ solarSystemForm: {
178
+ title: "Configuración del sistema solar",
179
+ systemInformation: "Información del sistema",
180
+ numberOfPanels: "Número de paneles solares",
181
+ panelPeakPower: "Potencia pico del panel (kW)",
182
+ totalSystemPeakPower: "Potencia pico total del sistema (kW)",
183
+ electricityPrice: "Precio de la electricidad (€/kWh)",
184
+ compensationRate: "Tasa de compensación (€/kWh)",
185
+ autonomy: "Autonomía",
186
+ costSavings: "Ahorro (€/año)",
187
+ householdConsumptionTitle: "Consumo de la casa",
188
+ consumptionProfileTitle: "Perfil de consumo",
189
+ electricityCostsTitle: "Costes de la electricidad",
190
+ compensationRateTitle: "Tasa de compensación",
191
+ resultsTitle: "Resultados",
192
+ savingsDisclaimer: "Nota: Los ahorros se basan en el precio promedio de la electricidad en España.",
193
+ annualConsumption: "Consumo anual (kWh)",
194
+ name: "Nombre",
195
+ email: "Email",
196
+ nameError: "Por favor, ingrese su nombre",
197
+ emailError: "Por favor, ingrese una dirección de correo electrónico válida",
198
+ consumptionProfiles: {
199
+ mostlyAtHome: "Principalmente en casa",
200
+ mostlyAway: "Empleo",
201
+ },
202
+ chart: {
203
+ consumption: "Consumo",
204
+ production: "Producción",
205
+ consumptionProfile: "Perfil de consumo",
206
+ relativeConsumption: "Consumo",
207
+ hourOfDay: "Hora del día",
208
+ },
209
+ validEmailError: "Por favor, ingrese una dirección de correo electrónico válida",
210
+ requestOffer: "Solicitar una oferta",
211
+ requestOfferButton: "Solicitar oferta",
212
+ year: "Año",
213
+ },
214
+ mapDraw: {
215
+ noPolygonSelected: "No se ha seleccionado un polígono",
216
+ noAddressSelected: "Por favor, seleccione una dirección",
217
+ information: "Información",
218
+ calculateSolarPanels: "Calcular paneles solares",
219
+ panels: "Paneles",
220
+ area: "Área",
221
+ azimuth: "Azimut",
222
+ pitch: "Inclinación",
223
+ tools: {
224
+ roof: {
225
+ name: "Tejado",
226
+ explanation: "Dibuje el tejado del edificio",
227
+ ariaLabel: "Tejado",
228
+ },
229
+ obstruction: {
230
+ name: "Obstrucción",
231
+ explanation: "Dibuje la obstrucción del edificio",
232
+ ariaLabel: "Obstrucción",
233
+ },
234
+ delete: {
235
+ name: "Eliminar",
236
+ explanation: "Elimine el polígono seleccionado",
237
+ ariaLabel: "Eliminar",
238
+ },
239
+ move: {
240
+ name: "Mover",
241
+ explanation: "Mueva los puntos del polígono seleccionado",
242
+ ariaLabel: "Mover",
243
+ },
244
+ },
245
+ }
246
+ };
247
+
248
+ const languageStrings = {
249
+ en: en,
250
+ es: es,
251
+ de: de,
252
+ };
253
+ function getLanguageStrings(lang) {
254
+ const defaultLang = languageStrings["en"];
255
+ if (lang === "en") {
256
+ return defaultLang;
257
+ }
258
+ const langStrings = languageStrings[lang];
259
+ // Deep merge the default language strings with the selected language strings
260
+ const mergedStrings = JSON.parse(JSON.stringify(defaultLang)); // Deep clone default
261
+ function deepMerge(target, source) {
262
+ for (const key in source) {
263
+ if (source[key] instanceof Object && key in target) {
264
+ deepMerge(target[key], source[key]);
265
+ }
266
+ else if (source[key] !== undefined) {
267
+ target[key] = source[key];
268
+ }
269
+ }
270
+ }
271
+ deepMerge(mergedStrings, langStrings);
272
+ return mergedStrings;
273
+ }
274
+
275
+ const outputCss = "/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-4xl: 2rem;\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none;\n }\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-1 {\n top: calc(var(--spacing) * 1);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .bottom-full {\n bottom: 100%;\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n .left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .z-1 {\n z-index: 1;\n }\n .z-10 {\n z-index: 10;\n }\n .z-20 {\n z-index: 20;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-auto {\n margin: auto;\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .table {\n display: table;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-5 {\n height: calc(var(--spacing) * 5);\n }\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n .h-48 {\n height: calc(var(--spacing) * 48);\n }\n .h-full {\n height: 100%;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-5 {\n width: calc(var(--spacing) * 5);\n }\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n .w-20 {\n width: calc(var(--spacing) * 20);\n }\n .w-52 {\n width: calc(var(--spacing) * 52);\n }\n .w-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-full {\n width: 100%;\n }\n .max-w-2xl {\n max-width: var(--container-2xl);\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .max-w-xl {\n max-width: var(--container-xl);\n }\n .flex-1 {\n flex: 1;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .-translate-x-1 {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1 {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-help {\n cursor: help;\n }\n .resize {\n resize: both;\n }\n .appearance-none {\n appearance: none;\n }\n .auto-cols-max {\n grid-auto-columns: max-content;\n }\n .grid-flow-col {\n grid-auto-flow: column;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-stretch {\n place-items: stretch;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-start {\n justify-content: flex-start;\n }\n .gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded-4xl {\n border-radius: var(--radius-4xl);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .border-\\[\\#271200\\] {\n border-color: #271200;\n }\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-red-500 {\n border-color: var(--color-red-500);\n }\n .bg-\\[\\#271200\\] {\n background-color: #271200;\n }\n .bg-\\[\\#f3ebda\\] {\n background-color: #f3ebda;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-500 {\n background-color: var(--color-gray-500);\n }\n .bg-gray-800 {\n background-color: var(--color-gray-800);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .object-contain {\n object-fit: contain;\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n .pt-7 {\n padding-top: calc(var(--spacing) * 7);\n }\n .pr-4 {\n padding-right: calc(var(--spacing) * 4);\n }\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-10 {\n padding-left: calc(var(--spacing) * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-\\[\\#271200\\] {\n color: #271200;\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-green-600 {\n color: var(--color-green-600);\n }\n .text-red-500 {\n color: var(--color-red-500);\n }\n .text-white {\n color: var(--color-white);\n }\n .underline {\n text-decoration-line: underline;\n }\n .accent-\\[\\#271200\\] {\n accent-color: #271200;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .group-hover\\:opacity-100 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n }\n .hover\\:bg-\\[\\#964500\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #964500;\n }\n }\n }\n .hover\\:bg-\\[\\#ffffff\\] {\n &:hover {\n @media (hover: hover) {\n background-color: #ffffff;\n }\n }\n }\n .hover\\:bg-gray-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-50);\n }\n }\n }\n .hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n }\n .hover\\:bg-gray-500 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-500);\n }\n }\n }\n .hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n }\n .hover\\:text-\\[\\#271200\\] {\n &:hover {\n @media (hover: hover) {\n color: #271200;\n }\n }\n }\n .focus\\:border-transparent {\n &:focus {\n border-color: transparent;\n }\n }\n .focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:ring-\\[\\#964500\\] {\n &:focus {\n --tw-ring-color: #964500;\n }\n }\n .focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n }\n .focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .lg\\:gap-4 {\n @media (width >= 64rem) {\n gap: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-moz-range-thumb\\]\\:h-4 {\n &::-moz-range-thumb {\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-moz-range-thumb\\]\\:w-4 {\n &::-moz-range-thumb {\n width: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-moz-range-thumb\\]\\:cursor-pointer {\n &::-moz-range-thumb {\n cursor: pointer;\n }\n }\n .\\[\\&\\:\\:-moz-range-thumb\\]\\:appearance-none {\n &::-moz-range-thumb {\n appearance: none;\n }\n }\n .\\[\\&\\:\\:-moz-range-thumb\\]\\:rounded-full {\n &::-moz-range-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-moz-range-thumb\\]\\:bg-\\[\\#271200\\] {\n &::-moz-range-thumb {\n background-color: #271200;\n }\n }\n .\\[\\&\\:\\:-moz-range-track\\]\\:h-2 {\n &::-moz-range-track {\n height: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\:\\:-moz-range-track\\]\\:rounded-full {\n &::-moz-range-track {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-moz-range-track\\]\\:bg-gray-200 {\n &::-moz-range-track {\n background-color: var(--color-gray-200);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:h-2 {\n &::-webkit-slider-runnable-track {\n height: calc(var(--spacing) * 2);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:rounded-full {\n &::-webkit-slider-runnable-track {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:bg-black\\/25 {\n &::-webkit-slider-runnable-track {\n background-color: color-mix(in srgb, #000 25%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:bg-gray-200 {\n &::-webkit-slider-runnable-track {\n background-color: var(--color-gray-200);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-runnable-track\\]\\:bg-white {\n &::-webkit-slider-runnable-track {\n background-color: var(--color-white);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-4 {\n &::-webkit-slider-thumb {\n height: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-\\[5px\\] {\n &::-webkit-slider-thumb {\n height: 5px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-\\[10px\\] {\n &::-webkit-slider-thumb {\n height: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-\\[50px\\] {\n &::-webkit-slider-thumb {\n height: 50px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-4 {\n &::-webkit-slider-thumb {\n width: calc(var(--spacing) * 4);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[5px\\] {\n &::-webkit-slider-thumb {\n width: 5px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[10px\\] {\n &::-webkit-slider-thumb {\n width: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[50px\\] {\n &::-webkit-slider-thumb {\n width: 50px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:cursor-pointer {\n &::-webkit-slider-thumb {\n cursor: pointer;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:appearance-none {\n &::-webkit-slider-thumb {\n appearance: none;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:rounded-full {\n &::-webkit-slider-thumb {\n border-radius: calc(infinity * 1px);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-\\[\\#271200\\] {\n &::-webkit-slider-thumb {\n background-color: #271200;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-purple-500 {\n &::-webkit-slider-thumb {\n background-color: var(--color-purple-500);\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-white {\n &::-webkit-slider-thumb {\n background-color: var(--color-white);\n }\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n }\n }\n}\n";
276
+
277
+ const SOLAR_RADIATION = [
278
+ 0,
279
+ 0,
280
+ 0,
281
+ 0,
282
+ 0,
283
+ 0, // 00:00 - 05:00 - 6
284
+ 0,
285
+ 0.1,
286
+ 0.2, // 8
287
+ 0.4,
288
+ 0.8,
289
+ 1, // 06:00 - 11:00 - 12
290
+ 1,
291
+ 1,
292
+ 1,
293
+ 0.7,
294
+ 0.5,
295
+ 0.3, // 12:00 - 17:00 - 18
296
+ 0.16,
297
+ 0.02,
298
+ 0,
299
+ 0,
300
+ 0,
301
+ 0, // 18:00 - 23:00 - 24
302
+ ];
303
+ const CONSUMPTION_PROFILES = {
304
+ mostly_at_home: [
305
+ 0.1,
306
+ 0.1,
307
+ 0.1,
308
+ 0.1,
309
+ 0.1,
310
+ 0.15, // 00:00 - 05:00 - 6
311
+ 0.23,
312
+ 0.26,
313
+ 0.16,
314
+ 0.16,
315
+ 0.15,
316
+ 0.19, // 06:00 - 11:00 - 12
317
+ 0.23,
318
+ 0.24,
319
+ 0.35,
320
+ 0.28,
321
+ 0.275,
322
+ 0.8, // 12:00 - 17:00 - 18
323
+ 0.78,
324
+ 0.74,
325
+ 0.75,
326
+ 0.73,
327
+ 0.26,
328
+ 0.1, // 18:00 - 23:00 - 24
329
+ ],
330
+ mostly_away: [
331
+ 0.1,
332
+ 0.1,
333
+ 0.1,
334
+ 0.1,
335
+ 0.1,
336
+ 0.15, // 00:00 - 05:00 - 6
337
+ 0.29,
338
+ 0.32,
339
+ 0.25,
340
+ 0.15,
341
+ 0.12,
342
+ 0.14, // 06:00 - 11:00 - 12
343
+ 0.15,
344
+ 0.12,
345
+ 0.16,
346
+ 0.21,
347
+ 0.285,
348
+ 1, // 12:00 - 17:00 - 18
349
+ 0.81,
350
+ 0.77,
351
+ 0.79,
352
+ 0.73,
353
+ 0.26,
354
+ 0.1, // 18:00 - 23:00 - 24
355
+ ],
356
+ };
357
+ const SolarSystemForm = /*@__PURE__*/ proxyCustomElement(class SolarSystemForm extends H {
358
+ constructor() {
359
+ super();
360
+ this.__registerHost();
361
+ }
362
+ systemConfigs = {};
363
+ language = "en";
364
+ roofPolygons = {};
365
+ obstructionPolygons = {};
366
+ householdConsumption = 3500;
367
+ consumptionProfile = "mostly_at_home";
368
+ electricityPrice = 0.3;
369
+ compensationRate = 0.07;
370
+ autonomy = 0;
371
+ costSavings = 0;
372
+ numberOfPanels = 5;
373
+ panelPeakPower = 0.4; // kW per panel
374
+ name = "";
375
+ email = "";
376
+ nameError = "";
377
+ emailError = "";
378
+ electricCar = false;
379
+ heatPump = 0;
380
+ battery = 0;
381
+ // private chart: Chart | null = null;
382
+ // private chartRef: HTMLCanvasElement | null = null;
383
+ updateSystemConfigs() {
384
+ if (Object.keys(this.systemConfigs).length === 0) {
385
+ this.numberOfPanels = 0;
386
+ return;
387
+ }
388
+ this.numberOfPanels = Object.keys(this.systemConfigs).reduce((acc, curr) => acc + this.systemConfigs[curr].positionedPanels.length, 0);
389
+ this.panelPeakPower =
390
+ Object.entries(this.systemConfigs)[0][1].positionedPanels[0].panel
391
+ .kWattPeak;
392
+ this.recalculate();
393
+ this.updateChart();
394
+ }
395
+ recalculate() {
396
+ const data = CONSUMPTION_PROFILES[this.consumptionProfile];
397
+ const norm = data.reduce((acc, curr) => acc + curr, 0);
398
+ const peakKwh = this.numberOfPanels * this.panelPeakPower;
399
+ const production = SOLAR_RADIATION.map((radiation) => radiation * peakKwh);
400
+ let energyUsageOfProduction = 0;
401
+ for (let i = 0; i < data.length; i++) {
402
+ data[i] = data[i] * this.householdConsumption / norm / 365;
403
+ if (data[i] <= production[i]) {
404
+ energyUsageOfProduction += data[i];
405
+ }
406
+ else if (data[i] > production[i]) {
407
+ energyUsageOfProduction += production[i];
408
+ }
409
+ }
410
+ const energyDifference = production.map((p, i) => data[i] - p);
411
+ const soldEnergy = -energyDifference.filter((e) => e < 0).reduce((acc, curr) => acc + curr, 0);
412
+ // Calculate the cost savings
413
+ this.costSavings = soldEnergy * this.compensationRate * 365 +
414
+ energyUsageOfProduction * 365 * this.electricityPrice;
415
+ this.autonomy =
416
+ (energyUsageOfProduction / (this.householdConsumption / 365)) *
417
+ 100;
418
+ }
419
+ updateChart() {
420
+ // if (!this.chartRef) return;
421
+ // const ctx = this.chartRef.getContext("2d");
422
+ // if (!ctx) return;
423
+ // if (this.chart) {
424
+ // this.chart.destroy();
425
+ // }
426
+ // const hours = Array.from({ length: 24 }, (_, i) => `${i}:00`);
427
+ // const data = CONSUMPTION_PROFILES[this.consumptionProfile];
428
+ // const norm = data.reduce((acc, curr) => acc + curr, 0);
429
+ // const peakKwh = this.numberOfPanels * this.panelPeakPower;
430
+ // const production = SOLAR_RADIATION.map((radiation) =>
431
+ // radiation * peakKwh
432
+ // );
433
+ // for (let i = 0; i < data.length; i++) {
434
+ // data[i] = data[i] * this.householdConsumption / norm / 365;
435
+ // }
436
+ // let datasets = [{
437
+ // label: "Energy Consumption",
438
+ // data: data,
439
+ // borderColor: "#964500",
440
+ // backgroundColor: "rgba(150, 69, 0, 0.1)",
441
+ // fill: true,
442
+ // tension: 0.4,
443
+ // }, {
444
+ // label: "Energy Production",
445
+ // data: production,
446
+ // borderColor: "#000000",
447
+ // backgroundColor: "rgba(0, 0, 0, 0.1)",
448
+ // fill: true,
449
+ // }];
450
+ // this.chart = new Chart(ctx, {
451
+ // type: "line",
452
+ // data: {
453
+ // labels: hours,
454
+ // datasets: datasets,
455
+ // },
456
+ // options: {
457
+ // responsive: true,
458
+ // plugins: {
459
+ // title: {
460
+ // display: true,
461
+ // text: "Daily Consumption Profile",
462
+ // },
463
+ // },
464
+ // scales: {
465
+ // y: {
466
+ // beginAtZero: true,
467
+ // title: {
468
+ // display: true,
469
+ // text: "Relative Consumption",
470
+ // },
471
+ // },
472
+ // x: {
473
+ // title: {
474
+ // display: true,
475
+ // text: "Hour of Day",
476
+ // },
477
+ // },
478
+ // },
479
+ // },
480
+ // });
481
+ }
482
+ componentWillLoad() {
483
+ this.updateSystemConfigs();
484
+ }
485
+ validateForm() {
486
+ let isValid = true;
487
+ const t = getLanguageStrings(this.language);
488
+ // Validate name
489
+ if (!this.name.trim()) {
490
+ this.nameError = t.solarSystemForm.nameError;
491
+ isValid = false;
492
+ }
493
+ else {
494
+ this.nameError = "";
495
+ }
496
+ // Validate email
497
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
498
+ if (!this.email.trim()) {
499
+ this.emailError = t.solarSystemForm.emailError;
500
+ isValid = false;
501
+ }
502
+ else if (!emailRegex.test(this.email)) {
503
+ this.emailError = t.solarSystemForm.validEmailError;
504
+ isValid = false;
505
+ }
506
+ else {
507
+ this.emailError = "";
508
+ }
509
+ return isValid;
510
+ }
511
+ handleRequestOffer() {
512
+ if (!this.validateForm()) {
513
+ return;
514
+ }
515
+ // Here you can implement the logic to handle the offer request
516
+ console.log("Requesting offer for: ", {
517
+ name: this.name,
518
+ email: this.email,
519
+ systemConfig: this.systemConfigs,
520
+ consumption: this.householdConsumption,
521
+ autonomy: this.autonomy,
522
+ costSavings: this.costSavings,
523
+ roofPolygons: this.roofPolygons,
524
+ obstructionPolygons: this.obstructionPolygons,
525
+ });
526
+ }
527
+ render() {
528
+ const t = getLanguageStrings(this.language);
529
+ return (h("div", { key: '8d6f829e542b2c5c181e09341b308c57cf600b9c', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
530
+ }, h("h1", { key: 'ab4006f6fbaf7ec27d97866750c1379b61eda6af', class: "text-2xl font-bold text-[#271200] mb-4 w-full" }, t.solarSystemForm.title), h("div", { key: '146e4c669d1df07359804ed38ed848ad3352837a', class: "w-full bg-[#f3ebda] rounded-4xl p-6 space-y-6" }, h("div", { key: '057ed2bbd8aeae409547a7bc6b1511ac4d1d8ed7', class: "space-y-4" }, h("h2", { key: 'f305926a4e3a15edc39a11085d6de49a4f1f5219', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.systemInformation), h("div", { key: 'ca356100529b595f5e09659af63a954402358049', class: "grid grid-rows-2 gap-0" }, h("div", { key: '82928f8746710de68a488e0354868e0535fbe233', class: "grid grid-cols-2 gap-4" }, h("label", { key: '27d40999038574b81663e718496997d7d47ced14', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.numberOfPanels), h("label", { key: 'c61daf5bbc25b15e42cc6238fbc43c68fa0aea32', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.panelPeakPower)), h("div", { key: '7ba4968d89ec6c9bde572faeb19838b2d301e29c', class: "grid grid-cols-2 gap-4" }, h("input", { key: 'c7e1e79c1151ad393b547edbef3f11e7f157f83a', 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 }), h("input", { key: 'dfa15518c359c0efc12aa72043b465ad10a88412', 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 }))), h("div", { key: 'fe237482225d4007359614a196dc9c33a9859ef4', class: "bg-white rounded-4xl p-4" }, h("div", { key: '91f8b46c8feb1d4ed1eb5b1fcb02388bd1ba9687', class: "flex items-center justify-between" }, h("span", { key: 'f340e45aecae6bb63784389cac444cb54a18e684', class: "text-gray-600" }, t.solarSystemForm.totalSystemPeakPower), h("span", { key: '475c3c7508474fe3612d28fac781a51361135aba', class: "text-xl font-bold text-[#271200]" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
531
+ this.numberOfPanels).toFixed(1), " kW")))), h("div", { key: '4c0245a98b3166da5cdc50c2c975489146456b80', class: "space-y-4" }, h("h2", { key: 'b950d4ccf23e48c72a085cc875ac9a96a7a87816', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.householdConsumptionTitle), h("div", { key: 'c805531e81121d87c33b5191ae8f9494c9fa89e6', class: "grid grid-rows-2 gap-0" }, h("div", { key: '54ba5238e1663018f2e82f991e58288816c8dfeb', class: "grid grid-cols-2 gap-4" }, h("label", { key: '20afa3d0bdfdf57c4e21cb3939fca79d904935d1', class: "block text-sm font-medium text-gray-600" }, t.solarSystemForm.annualConsumption), h("label", { key: '37c9f06e2f32ec8d9d42483da0f0a3292c1d1616', class: "block text-sm font-medium text-gray-600" }, t.solarSystemForm.consumptionProfileTitle)), h("div", { key: '6b5ce305001442946aac00b51b3afb20625cda25', class: "grid grid-cols-2 gap-4" }, h("input", { key: 'a3677da2c99e917b832c3ec9b7627e23fd080064', 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) => {
532
+ this.householdConsumption = parseInt(e.target
533
+ .value);
534
+ this.recalculate();
535
+ this.updateChart();
536
+ } }), h("select", { key: '776ab2c001ea82845136a8d5f72e75edc69817dc', 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) => {
537
+ this.consumptionProfile =
538
+ e.target
539
+ .value;
540
+ this.recalculate();
541
+ this.updateChart();
542
+ } }, h("option", { key: 'b3165b60537890a35e5686ee1920fb2f95c51ac4', value: "mostly_at_home", selected: this.consumptionProfile ===
543
+ "mostly_at_home" }, t.solarSystemForm.consumptionProfiles
544
+ .mostlyAtHome), h("option", { key: 'eb39ea402951c308dce688da043a630818e88219', value: "mostly_away", selected: this.consumptionProfile ===
545
+ "mostly_away" }, t.solarSystemForm.consumptionProfiles
546
+ .mostlyAway))))), h("div", { key: '6d9b59896053431448ef4773526d55b248b94cf2', class: "space-y-4" }, h("h2", { key: 'e8408f003e0de554be8ad3eabbca0050e4f75155', class: "text-lg font-semibold text-[#271200]" }, "Additional Components"), h("div", { key: '5505fba56da71bae25767d053170dfabf8a610fe', class: "grid grid-rows-2 gap-4" })), h("div", { key: '3f727f45fea480257c41d779eb980839200209dd', class: "space-y-4" }, h("h2", { key: '9565045eb4262ad5708f0802ac9161ddb50405c9', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.electricityCostsTitle), h("div", { key: '422102ce3fbe1aca445d10c26506a50e3e5b5dcb', class: "grid grid-rows-2 gap-0" }, h("div", { key: 'e72dce6ec3f8abcc7ffc12114c669ef16ae2d1e4', class: "grid grid-cols-2 gap-4" }, h("label", { key: '1dae32e95c18b673a0dd876c4c645c0232d3bf3c', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.electricityPrice), h("label", { key: 'c6167205fc4bbf3b81e12d5e7a4b812d3cb7d7e4', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.compensationRate)), h("div", { key: '97f5a91c39a59e51e27f69227178dc7615e323da', class: "grid grid-cols-2 gap-4" }, h("input", { key: '9a6c81ab930a1db918a8b978d5a26318ad359979', 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) => {
547
+ this.electricityPrice = parseFloat(e.target
548
+ .value);
549
+ this.recalculate();
550
+ this.updateChart();
551
+ } }), h("input", { key: '5052bb2f4a1cae0c1a3eae47a358be65150b07f3', 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) => {
552
+ this.compensationRate = parseFloat(e.target
553
+ .value);
554
+ this.recalculate();
555
+ this.updateChart();
556
+ } })))), h("div", { key: '963fc95e0bad78a83683c4f67fc650a109ab2690', class: "space-y-4 pt-4 border-t border-gray-200" }, h("h2", { key: '95aa13e5cacdb63899460cf7dedb76c4461ee791', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.resultsTitle), h("div", { key: '4430f65734b775429b20f6ff0416b9786b0930c7', class: "bg-white rounded-4xl p-4" }, h("div", { key: 'ad1a2599bac396857ed68f896f43de0b44de5a48', class: "flex items-center justify-between" }, h("span", { key: '978c49b1770bb649c26d7b9d23d28a7a174afc96', class: "text-gray-600" }, t.solarSystemForm.autonomy), h("span", { key: 'cc7b0dae2d4db46ca284446988767207762c2bbe', class: "text-xl font-bold text-[#271200]" }, this.autonomy.toFixed(1), "%")), h("div", { key: '8bc803b6f2fb01e5a7c5a44d0054ff0096bb1f51', class: "flex items-center justify-between mt-4" }, h("div", { key: 'bf8cec65c5d32dbb32a1fd00d8b2897789d2dc37', class: "flex items-center gap-2" }, h("span", { key: 'fe123d39da7f209d13f441082f21de2474a27364', class: "text-gray-600" }, t.solarSystemForm.costSavings), h("div", { key: '00a33ff21329f0aa105696a4ab214188e25773d6', class: "relative group" }, h("svg", { key: '6f8e03c873fc28343bd515fdf8b0f47761c7ea3d', xmlns: "http://www.w3.org/2000/svg", class: "h-5 w-5 text-gray-400 cursor-help", viewBox: "0 0 20 20", fill: "currentColor" }, h("path", { key: '358ba8282f5e12629d5cbb0809ddd20c0a894fbc', "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" })), h("div", { key: '7c10aeaf6d2e58523f747cf4b1ce0d9d21aaaa49', 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
557
+ .savingsDisclaimer))), h("span", { key: 'e4faed1b8f1d57d0ebbb36084f9e4f0eed602014', class: "text-xl font-bold text-green-600" }, this.costSavings.toFixed(2), "\u20AC/", t
558
+ .solarSystemForm.year)))), h("div", { key: '57859b85dbf1bcee0cedb6c81e8ab9beffd51738', class: "space-y-4 pt-4 border-t border-gray-200" }, h("h2", { key: 'c8bda51815a9977304a3bca1a28a63d563375177', class: "text-lg font-semibold text-[#271200]" }, t.solarSystemForm.requestOffer), h("div", { key: 'a58139ae6c1714267b61b98f8bcbaa78f80c5e3e', class: "grid grid-rows-2 gap-0" }, h("div", { key: '30e18db38d9f2a2bd37d34d0e364b2477ec7e30e', class: "grid grid-cols-2 gap-4" }, h("label", { key: '15dd0d8714cc9a9548a0d478dc5825a55c9a249c', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.name), h("label", { key: 'e300aa1d93c95220e8cacc2903d5198a864d177f', class: "block text-sm font-medium text-gray-600 mb-1" }, t.solarSystemForm.email)), h("div", { key: 'ce9010d081c9c962c09ef8094899a3ea539b8fa8', class: "grid grid-cols-2 gap-4" }, h("input", { key: 'dd6317ee394798ec4ae897e0fc1aabc4a1fda935', type: "text", class: `w-full px-4 py-2 rounded-4xl border ${this.nameError
559
+ ? "border-red-500"
560
+ : "border-gray-300"} focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white`, value: this.name, onInput: (e) => {
561
+ this.name =
562
+ e.target
563
+ .value;
564
+ this.validateForm();
565
+ }, placeholder: "Your name" }), this.nameError && (h("p", { key: 'b101b6a18db1fd0c528393ae19beec13099fdd80', class: "text-red-500 text-sm mt-1" }, this.nameError)), h("input", { key: '361b641612c986ed2859da069488007601d66594', type: "email", class: `w-full px-4 py-2 rounded-4xl border ${this.emailError
566
+ ? "border-red-500"
567
+ : "border-gray-300"} focus:ring-2 focus:ring-[#964500] focus:border-transparent bg-white`, value: this.email, onInput: (e) => {
568
+ this.email =
569
+ e.target
570
+ .value;
571
+ this.validateForm();
572
+ }, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '504d32bba31775ba3e0ce650ee8840ea904e1877', class: "text-red-500 text-sm mt-1" }, this.emailError)))), h("div", { key: 'ade7fa72c0be4974ad6dc6d82f98cb2d11994c6f', class: "flex justify-center" }, h("button", { key: 'b2a2fdbbf4cffadc0c3d7b40027533cbfaa7943c', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
573
+ !this.email.trim() || !!this.nameError ||
574
+ !!this.emailError, class: "px-4 py-2 bg-[#271200] rounded-4xl hover:bg-[#964500] transition-colors duration-200", style: { color: "white" } }, t.solarSystemForm.requestOfferButton))))));
575
+ }
576
+ static get watchers() { return {
577
+ "systemConfigs": ["updateSystemConfigs"]
578
+ }; }
579
+ static get style() { return outputCss; }
580
+ }, [0, "solar-system-form", {
581
+ "systemConfigs": [16, "system-configs"],
582
+ "language": [1],
583
+ "roofPolygons": [16, "roof-polygons"],
584
+ "obstructionPolygons": [16, "obstruction-polygons"],
585
+ "householdConsumption": [32],
586
+ "consumptionProfile": [32],
587
+ "electricityPrice": [32],
588
+ "compensationRate": [32],
589
+ "autonomy": [32],
590
+ "costSavings": [32],
591
+ "numberOfPanels": [32],
592
+ "panelPeakPower": [32],
593
+ "name": [32],
594
+ "email": [32],
595
+ "nameError": [32],
596
+ "emailError": [32],
597
+ "electricCar": [32],
598
+ "heatPump": [32],
599
+ "battery": [32]
600
+ }, undefined, {
601
+ "systemConfigs": ["updateSystemConfigs"]
602
+ }]);
603
+ function defineCustomElement() {
604
+ if (typeof customElements === "undefined") {
605
+ return;
606
+ }
607
+ const components = ["solar-system-form"];
608
+ components.forEach(tagName => { switch (tagName) {
609
+ case "solar-system-form":
610
+ if (!customElements.get(tagName)) {
611
+ customElements.define(tagName, SolarSystemForm);
612
+ }
613
+ break;
614
+ } });
615
+ }
616
+ defineCustomElement();
617
+
618
+ export { DEFAULT_SOLAR_EXPERT_CONFIG as D, SolarSystemForm as S, DEFAULT_SOLAR_PANEL_TYPE as a, defineCustomElement as d, getLanguageStrings as g };
619
+ //# sourceMappingURL=p-D6cs3r7j.js.map
620
+
621
+ //# sourceMappingURL=p-D6cs3r7j.js.map