blue-chestnut-solar-expert 0.0.33 → 0.0.35
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.
- package/dist/cjs/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/eraser-icon_16.cjs.entry.js +79 -43
- package/dist/cjs/eraser-icon_16.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-elxiOP_I.js → index-C3Kp1xqq.js} +5 -28
- package/dist/cjs/index-C3Kp1xqq.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/loading-widget.cjs.entry.js +2 -2
- package/dist/cjs/solar-calculator.cjs.entry.js +1 -1
- package/dist/cjs/stencil-library.cjs.js +2 -2
- package/dist/collection/components/map-draw/tool-box.js +7 -3
- package/dist/collection/components/map-draw/tool-box.js.map +1 -1
- package/dist/collection/components/solar-expert/solar-expert.js +2 -3
- package/dist/collection/components/solar-expert/solar-expert.js.map +1 -1
- package/dist/collection/components/solar-system-form/solar-system-form.js +58 -33
- package/dist/collection/components/solar-system-form/solar-system-form.js.map +1 -1
- package/dist/collection/components/widgets/loading-widget.js +1 -1
- package/dist/collection/constants.js +1 -1
- package/dist/collection/constants.js.map +1 -1
- package/dist/collection/types/lang.js.map +1 -1
- package/dist/collection/utils/lang/english.js +1 -0
- package/dist/collection/utils/lang/english.js.map +1 -1
- package/dist/collection/utils/lang/german.js +1 -0
- package/dist/collection/utils/lang/german.js.map +1 -1
- package/dist/collection/utils/lang/spanish.js +1 -0
- package/dist/collection/utils/lang/spanish.js.map +1 -1
- package/dist/collection/utils/simulation/simulation.js +8 -3
- package/dist/collection/utils/simulation/simulation.js.map +1 -1
- package/dist/collection/utils/simulation/types.js.map +1 -1
- package/dist/components/index.js +4 -22
- package/dist/components/index.js.map +1 -1
- package/dist/components/loading-widget.js +1 -1
- package/dist/components/map-draw.js +1 -1
- package/dist/components/map-selector.js +1 -1
- package/dist/components/{p-DbJfa2yQ.js → p-2Um_yzGy.js} +3 -3
- package/dist/components/{p-DbJfa2yQ.js.map → p-2Um_yzGy.js.map} +1 -1
- package/dist/components/{p-BGxYjXB5.js → p-3JEPWoBM.js} +3 -3
- package/dist/components/{p-BGxYjXB5.js.map → p-3JEPWoBM.js.map} +1 -1
- package/dist/components/{p-BcV6HHN8.js → p-BU8VgrD9.js} +3 -3
- package/dist/components/{p-BcV6HHN8.js.map → p-BU8VgrD9.js.map} +1 -1
- package/dist/components/{p-CrzEBN9H.js → p-C8ujytCa.js} +69 -40
- package/dist/components/p-C8ujytCa.js.map +1 -0
- package/dist/components/{p-B1ywivYa.js → p-CUDvRPwB.js} +3 -3
- package/dist/components/{p-B1ywivYa.js.map → p-CUDvRPwB.js.map} +1 -1
- package/dist/components/{p-DMkbzkL_.js → p-DJT7IBlC.js} +10 -6
- package/dist/components/p-DJT7IBlC.js.map +1 -0
- package/dist/components/{p-BLXc1FjC.js → p-DmmMPG7q.js} +5 -2
- package/dist/components/p-DmmMPG7q.js.map +1 -0
- package/dist/components/{p-ClYOM_0b.js → p-wv9-rUOt.js} +8 -8
- package/dist/components/{p-ClYOM_0b.js.map → p-wv9-rUOt.js.map} +1 -1
- package/dist/components/polygon-buttons.js +1 -1
- package/dist/components/polygon-information.js +1 -1
- package/dist/components/settings-modal.js +1 -1
- package/dist/components/solar-expert.js +11 -12
- package/dist/components/solar-expert.js.map +1 -1
- package/dist/components/solar-system-form.js +1 -1
- package/dist/components/tool-box.js +1 -1
- package/dist/esm/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.js.map +1 -1
- package/dist/esm/eraser-icon_16.entry.js +79 -43
- package/dist/esm/eraser-icon_16.entry.js.map +1 -1
- package/dist/esm/{index-yVbXII2Q.js → index-DNOniOEj.js} +5 -28
- package/dist/esm/index-DNOniOEj.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/loading-widget.entry.js +2 -2
- package/dist/esm/solar-calculator.entry.js +1 -1
- package/dist/esm/stencil-library.js +3 -3
- package/dist/stencil-library/eraser-icon.house-icon.icon-selector.map-draw.map-selector.move-icon.octagon-minus-icon.polygon-buttons.polygon-information.search-icon.settings-icon.settings-modal.solar-expert.solar-system-form.tool-box.undo-icon.entry.esm.js.map +1 -1
- package/dist/stencil-library/{p-2a83d5d6.entry.js → p-6cbb411b.entry.js} +2 -2
- package/dist/stencil-library/p-DNOniOEj.js +3 -0
- package/dist/stencil-library/p-DNOniOEj.js.map +1 -0
- package/dist/stencil-library/{p-825501e2.entry.js → p-b1771344.entry.js} +2 -2
- package/dist/stencil-library/p-e92dbc2a.entry.js +2 -0
- package/dist/stencil-library/p-e92dbc2a.entry.js.map +1 -0
- package/dist/stencil-library/stencil-library.esm.js +1 -1
- package/dist/types/components/solar-system-form/solar-system-form.d.ts +1 -0
- package/dist/types/constants.d.ts +1 -1
- package/dist/types/types/lang.d.ts +1 -0
- package/dist/types/utils/simulation/types.d.ts +1 -0
- package/package.json +2 -1
- package/dist/cjs/index-elxiOP_I.js.map +0 -1
- package/dist/components/p-BLXc1FjC.js.map +0 -1
- package/dist/components/p-CrzEBN9H.js.map +0 -1
- package/dist/components/p-DMkbzkL_.js.map +0 -1
- package/dist/esm/index-yVbXII2Q.js.map +0 -1
- package/dist/stencil-library/p-3d7da486.entry.js +0 -2
- package/dist/stencil-library/p-3d7da486.entry.js.map +0 -1
- package/dist/stencil-library/p-yVbXII2Q.js +0 -3
- package/dist/stencil-library/p-yVbXII2Q.js.map +0 -1
- /package/dist/stencil-library/{p-2a83d5d6.entry.js.map → p-6cbb411b.entry.js.map} +0 -0
- /package/dist/stencil-library/{p-825501e2.entry.js.map → p-b1771344.entry.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as registerInstance, h, g as getRenderingRef, f as forceUpdate, a as getElement, c as createEvent, E as Env } from './index-
|
|
1
|
+
import { r as registerInstance, h, g as getRenderingRef, f as forceUpdate, a as getElement, c as createEvent, E as Env } from './index-DNOniOEj.js';
|
|
2
2
|
import { f as fetchSolarData, c as getBuildingImages, L as Loader } from './index-Dvw5w4-m.js';
|
|
3
3
|
|
|
4
4
|
const outputCss$f = "/*! tailwindcss v4.1.8 | 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-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-black: #000;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\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 --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-lg: 0.5rem;\n --radius-4xl: 2rem;\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 --color-primary: hsl(41 51% 90%);\n --color-primary-foreground: hsl(0 0% 0%);\n --color-secondary: hsl(28 100% 8%);\n --color-secondary-foreground: hsl(0 0% 100%);\n --color-tertiary: hsl(28 100% 29%);\n --color-tertiary-foreground: hsl(0 0% 100%);\n --color-muted: hsl(0 0% 100%);\n --color-muted-foreground: hsl(0 0% 0%);\n --color-error: hsl(0 100% 50%);\n --color-error-foreground: hsl(0 0% 100%);\n --color-surface: hsl(0 0% 88%);\n --color-surface-hover: hsl(0 0% 82%);\n --color-surface-active: hsl(0 0% 64%);\n --color-text-muted: hsl(0 0% 45%);\n --color-text-secondary: hsl(0 0% 55%);\n --color-text-placeholder: hsl(0 0% 73%);\n --color-border: hsl(0 0% 82%);\n --color-border-light: hsl(0 0% 93%);\n --color-success: hsl(142 76% 36%);\n --color-info: hsl(221 83% 53%);\n --color-hover: hsl(0 0% 88%);\n --color-hover-dark: hsl(28 100% 8%);\n --color-overlay: rgba(0, 0, 0, 0.24);\n --color-tooltip: hsl(0 0% 13%);\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 .fixed {\n position: fixed;\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\\/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\\/2 {\n left: calc(1/2 * 100%);\n }\n .left-3 {\n left: calc(var(--spacing) * 3);\n }\n .z-20 {\n z-index: 20;\n }\n .z-50 {\n z-index: 50;\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 .mt-6 {\n margin-top: calc(var(--spacing) * 6);\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 .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .block {\n display: block;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\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-\\[400px\\] {\n height: 400px;\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-64 {\n width: calc(var(--spacing) * 64);\n }\n .w-full {\n width: 100%;\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .flex-1 {\n flex: 1;\n }\n .flex-3 {\n flex: 3;\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\\/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 .appearance-none {\n appearance: none;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n .grid-rows-3 {\n grid-template-rows: repeat(3, 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 .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .items-stretch {\n align-items: stretch;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\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 .rounded {\n border-radius: 0.25rem;\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-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-border {\n border-color: var(--color-border);\n }\n .border-error {\n border-color: var(--color-error);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-secondary {\n border-color: var(--color-secondary);\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-gray-800 {\n background-color: var(--color-gray-800);\n }\n .bg-muted {\n background-color: var(--color-muted);\n }\n .bg-overlay {\n background-color: var(--color-overlay);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-surface {\n background-color: var(--color-surface);\n }\n .bg-surface-active {\n background-color: var(--color-surface-active);\n }\n .bg-text-secondary {\n background-color: var(--color-text-secondary);\n }\n .bg-transparent {\n background-color: transparent;\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-2 {\n padding-top: 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 .pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n }\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\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 .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--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-error {\n color: var(--color-error);\n }\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n .text-muted {\n color: var(--color-muted);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-secondary {\n color: var(--color-secondary);\n }\n .text-secondary-foreground {\n color: var(--color-secondary-foreground);\n }\n .text-success {\n color: var(--color-success);\n }\n .text-text-muted {\n color: var(--color-text-muted);\n }\n .text-text-placeholder {\n color: var(--color-text-placeholder);\n }\n .text-text-secondary {\n color: var(--color-text-secondary);\n }\n .accent-tertiary {\n accent-color: var(--color-tertiary);\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 .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-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-hover);\n }\n }\n }\n .hover\\:bg-hover-dark {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-hover-dark);\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-overlay {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-overlay);\n }\n }\n }\n .hover\\:bg-secondary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-secondary);\n }\n }\n }\n .hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(28 100% 8%) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent);\n }\n }\n }\n }\n .hover\\:bg-surface-hover {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-surface-hover);\n }\n }\n }\n .hover\\:bg-tertiary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-tertiary);\n }\n }\n }\n .hover\\:bg-text-secondary {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-text-secondary);\n }\n }\n }\n .hover\\:text-muted {\n &:hover {\n @media (hover: hover) {\n color: var(--color-muted);\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-info {\n &:focus {\n --tw-ring-color: var(--color-info);\n }\n }\n .focus\\:ring-secondary {\n &:focus {\n --tw-ring-color: var(--color-secondary);\n }\n }\n .focus\\:ring-tertiary {\n &:focus {\n --tw-ring-color: var(--color-tertiary);\n }\n }\n .focus\\:ring-offset-0 {\n &:focus {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\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 .\\[\\&\\:\\:-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-thumb\\]\\:h-\\[10px\\] {\n &::-webkit-slider-thumb {\n height: 10px;\n }\n }\n .\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-\\[10px\\] {\n &::-webkit-slider-thumb {\n width: 10px;\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-muted {\n &::-webkit-slider-thumb {\n background-color: var(--color-muted);\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-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-duration: initial;\n }\n }\n}\n";
|
|
@@ -207,7 +207,7 @@ const ROW_SPACING = 1;
|
|
|
207
207
|
const COLUMN_SPACING = 1;
|
|
208
208
|
const BORDER_INSET = 0;
|
|
209
209
|
const DEFAULT_SUNNINESS = 600;
|
|
210
|
-
const HEAT_PUMP_CONSUMPTION = 0.
|
|
210
|
+
const HEAT_PUMP_CONSUMPTION = 0.02; // kWh per m² per day
|
|
211
211
|
const CONSUMPTION_PROFILES = {
|
|
212
212
|
mostly_at_home: [
|
|
213
213
|
0.1,
|
|
@@ -1080,6 +1080,7 @@ const en = {
|
|
|
1080
1080
|
electricityPrice: "Electricity Price (€/kWh)",
|
|
1081
1081
|
compensationRate: "Compensation Rate (€/kWh)",
|
|
1082
1082
|
autonomy: "Autonomy",
|
|
1083
|
+
totalEnergyConsumption: "Total Energy Consumption",
|
|
1083
1084
|
costSavings: "Cost Savings (€/year)",
|
|
1084
1085
|
householdConsumptionTitle: "Household Electricity Consumption",
|
|
1085
1086
|
consumptionProfileTitle: "Consumption Profile",
|
|
@@ -1196,6 +1197,7 @@ const de = {
|
|
|
1196
1197
|
electricityPrice: "Strompreis (€/kWh)",
|
|
1197
1198
|
compensationRate: "Einspeisevergütung (€/kWh)",
|
|
1198
1199
|
autonomy: "Autarkie",
|
|
1200
|
+
totalEnergyConsumption: "Gesamtenergieverbrauch",
|
|
1199
1201
|
costSavings: "Einsparungen (€/Jahr)",
|
|
1200
1202
|
householdConsumptionTitle: "Haushaltsverbrauch",
|
|
1201
1203
|
consumptionProfileTitle: "Verbrauchprofil",
|
|
@@ -1312,6 +1314,7 @@ const es = {
|
|
|
1312
1314
|
electricityPrice: "Precio de la electricidad (€/kWh)",
|
|
1313
1315
|
compensationRate: "Tasa de compensación (€/kWh)",
|
|
1314
1316
|
autonomy: "Autonomía",
|
|
1317
|
+
totalEnergyConsumption: "Consumo Total de Energía",
|
|
1315
1318
|
costSavings: "Ahorro (€/año)",
|
|
1316
1319
|
householdConsumptionTitle: "Consumo de la casa",
|
|
1317
1320
|
consumptionProfileTitle: "Perfil de consumo",
|
|
@@ -2777,7 +2780,7 @@ const SolarExpert = class {
|
|
|
2777
2780
|
state.settings.language = this.language;
|
|
2778
2781
|
const isIPhone = navigator.userAgent.indexOf("iPhone") != -1;
|
|
2779
2782
|
const isMac = navigator.userAgent.indexOf("Mac OS") != -1;
|
|
2780
|
-
state.isIOS = isIPhone || isMac
|
|
2783
|
+
state.isIOS = isIPhone || isMac;
|
|
2781
2784
|
if (!this.colorScheme) {
|
|
2782
2785
|
applyThemeToElement(this.el, DEFAULT_COLOR_SCHEME);
|
|
2783
2786
|
applyThemeGlobally(DEFAULT_COLOR_SCHEME);
|
|
@@ -2841,7 +2844,7 @@ const SolarExpert = class {
|
|
|
2841
2844
|
}
|
|
2842
2845
|
render() {
|
|
2843
2846
|
const t = getLanguageStrings(this.language);
|
|
2844
|
-
return (h("div", { key: '
|
|
2847
|
+
return (h("div", { key: 'f9bac9f41ec94a5dd11f85477fc8f739faa7f909', class: "flex flex-col w-full h-full p-3 m-auto", id: "solar-calculator" }, this.showMapSelector
|
|
2845
2848
|
? (h("map-selector", { "api-key": this.apiKey, language: this.language }))
|
|
2846
2849
|
: (h(h.Fragment, null, h("div", { class: "pb-3 flex flex-row gap-4 items-stretch w-full" }, h("div", { class: "relative flex-3" }, h("div", { class: "absolute left-3 top-0 h-full flex items-center text-muted-foreground pointer-events-none" }, h("search-icon", null)), h("input", { ref: (el) => this.inputElement = el, type: "text", placeholder: t.solarExpert
|
|
2847
2850
|
.searchPlaceholder, class: "w-full pl-10 pr-4 py-2 border border-border rounded-4xl focus:ring-secondary bg-muted text-muted-foreground h-full" })), h("button", { onClick: () => this.handleChooseOnMap(), class: "flex-1 pl-4 pr-4 py-2 border border-border bg-muted rounded-4xl focus:ring-secondary hover:bg-secondary hover:text-muted" }, t.mapSelector.chooseOnMap)), h("map-draw", { apiKey: this.apiKey })))));
|
|
@@ -2911,8 +2914,13 @@ function simulateDay(production, consumption, dailyConsumption, battery) {
|
|
|
2911
2914
|
const energyDifference = production[hour] - consumption[hour];
|
|
2912
2915
|
if (energyDifference > 0) {
|
|
2913
2916
|
energyUsageOfProduction += consumption[hour];
|
|
2914
|
-
if (batteryCharge < battery) {
|
|
2915
|
-
batteryCharge =
|
|
2917
|
+
if (batteryCharge < battery && batteryCharge + energyDifference <= battery) {
|
|
2918
|
+
batteryCharge = batteryCharge + energyDifference;
|
|
2919
|
+
}
|
|
2920
|
+
else if (batteryCharge < battery) {
|
|
2921
|
+
const batteryDifference = battery - batteryCharge;
|
|
2922
|
+
batteryCharge = battery;
|
|
2923
|
+
soldEnergy += energyDifference - batteryDifference;
|
|
2916
2924
|
}
|
|
2917
2925
|
else {
|
|
2918
2926
|
soldEnergy += energyDifference;
|
|
@@ -2926,7 +2934,6 @@ function simulateDay(production, consumption, dailyConsumption, battery) {
|
|
|
2926
2934
|
}
|
|
2927
2935
|
else {
|
|
2928
2936
|
energyUsageOfProduction += production[hour] + batteryCharge;
|
|
2929
|
-
soldEnergy -= energyDifference + batteryCharge;
|
|
2930
2937
|
batteryCharge = 0;
|
|
2931
2938
|
}
|
|
2932
2939
|
}
|
|
@@ -2987,6 +2994,7 @@ function simulate(config) {
|
|
|
2987
2994
|
autonomy: (summerDay.autonomy + winterDay.autonomy) / 2,
|
|
2988
2995
|
compensationPerDay: soldEnergy * config.electricityPrice.sell,
|
|
2989
2996
|
byYearSavedCosts: savedCostsByYear,
|
|
2997
|
+
totalEnergyConsumptionDay: (summerConsumptionWholeDay + winterConsumptionWholeDay) / 2,
|
|
2990
2998
|
};
|
|
2991
2999
|
}
|
|
2992
3000
|
|
|
@@ -3033,6 +3041,16 @@ const SolarSystemForm = class {
|
|
|
3033
3041
|
.kWattPeak;
|
|
3034
3042
|
this.recalculate();
|
|
3035
3043
|
}
|
|
3044
|
+
formatEuropeanNumber(num, decimals = 2) {
|
|
3045
|
+
const fixed = num.toFixed(decimals);
|
|
3046
|
+
const [integerPart, decimalPart] = fixed.split(".");
|
|
3047
|
+
// Add dots as thousands separators
|
|
3048
|
+
const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
|
|
3049
|
+
// Join with comma as decimal separator
|
|
3050
|
+
return decimalPart
|
|
3051
|
+
? `${formattedInteger},${decimalPart}`
|
|
3052
|
+
: formattedInteger;
|
|
3053
|
+
}
|
|
3036
3054
|
recalculate() {
|
|
3037
3055
|
const simulationConfig = {
|
|
3038
3056
|
general: {
|
|
@@ -3129,13 +3147,13 @@ const SolarSystemForm = class {
|
|
|
3129
3147
|
}
|
|
3130
3148
|
render() {
|
|
3131
3149
|
const t = getLanguageStrings(state.settings.language);
|
|
3132
|
-
return (h("div", { key: '
|
|
3150
|
+
return (h("div", { key: '1ae88d30fbe89d5117b06b72258eb614b5e9371d', class: "flex flex-col justify-center items-center w-full h-full pt-4" // style={{
|
|
3133
3151
|
,
|
|
3134
3152
|
// display: (Object.keys(this.systemConfigs).length === 0)
|
|
3135
3153
|
// ? "none"
|
|
3136
3154
|
// : "flex",
|
|
3137
3155
|
// }}
|
|
3138
|
-
id: "solar-system-form" }, h("h1", { key: '
|
|
3156
|
+
id: "solar-system-form" }, h("h1", { key: '6be2af903cc9eab0aaade44ba5ced159debb7865', class: "text-2xl font-bold text-secondary mb-4 w-full" }, t.solarSystemForm.title), h("div", { key: 'd22714961f748004062408498d98935760fd0ba5', class: "w-full bg-primary rounded-4xl p-6 space-y-6" }, h("div", { key: '2379aa7eff17d0e5e702d5d4374fc17a7fb94ffd', class: "space-y-4" }, h("h2", { key: 'f73f73ccc7b3152b318d9e2c09cf85920a13b236', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.systemInformation), h("div", { key: '8fda12c5d7eec29418ad796112dc64f50e73eead', class: "grid grid-rows-3 gap-0" }, h("div", { key: 'd6a4a9b312299b9f9959a5844bf5b9334b998fec', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'a2a7db81b5bb8e21763464ff4cff3e30bef74fc3', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.numberOfPanels), h("label", { key: 'fc9b18fcd0e8b8f4e878c40e30a22ea397294c5c', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.panelPeakPower)), h("div", { key: 'edf38f4430c8a70bd2b1f39a027657ed59ffeb18', class: "grid grid-cols-2 gap-4" }, !this.isIOS()
|
|
3139
3157
|
? (h("input", { type: "number", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.numberOfPanels, readOnly: true }))
|
|
3140
3158
|
: (h("input", { type: "number", min: "1", max: this.maxPanels, class: "flex-1 px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.numberOfPanels, onInput: (e) => {
|
|
3141
3159
|
const value = parseInt(e.target
|
|
@@ -3146,36 +3164,36 @@ const SolarSystemForm = class {
|
|
|
3146
3164
|
this.numberOfPanels = value;
|
|
3147
3165
|
this.recalculate();
|
|
3148
3166
|
}
|
|
3149
|
-
} })), h("input", { key: '
|
|
3150
|
-
(h("input", { key: '
|
|
3167
|
+
} })), h("input", { key: '312408e6c6bbb9badf4b699606ad017e200c6e26', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.panelPeakPower, readonly: true })), h("div", { key: 'b02e4d8355f23b0a703056797ba570aea6623ebf', class: "grid grid-cols-2 gap-4" }, h("div", { key: '00ab5e96539ce96f65dc6b612741ca87a89a527c', class: "w-full pt-2" }, !this.isIOS() &&
|
|
3168
|
+
(h("input", { key: '5b892d1da7810fb107f17939469329478ff6af32', 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) => {
|
|
3151
3169
|
this.numberOfPanels =
|
|
3152
3170
|
parseInt(e.target
|
|
3153
3171
|
.value);
|
|
3154
3172
|
this.recalculate();
|
|
3155
|
-
} }))))), h("div", { key: '
|
|
3156
|
-
this.numberOfPanels).toFixed(1), " kW")))), h("div", { key: '
|
|
3173
|
+
} }))))), h("div", { key: '38eba0ef58b127f95e6bafcf0604e6b515db9341', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '00d5d43ce80bedafe103ef31835fada196761cfa', class: "flex items-center justify-between" }, h("span", { key: '9c2500184852f0b7b4de75b1caf0a70d3c86fb7b', class: "text-text-muted" }, t.solarSystemForm.totalSystemPeakPower), h("span", { key: 'de96fd48027d7a95bb628b0455a042fee4033dad', class: "text-xl font-bold text-secondary" }, (DEFAULT_SOLAR_PANEL_TYPE.kWattPeak *
|
|
3174
|
+
this.numberOfPanels).toFixed(1), " kW")))), h("div", { key: 'e03cc455e8a3f74b33e07b25d6ad03ec02aa573c', class: "space-y-4" }, h("h2", { key: 'c76da7ecabe9c84dfb6648aa752241a3400f696c', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.householdConsumptionTitle), h("div", { key: '574a3c0b62f1e1972ae79047dc6cc2f298a4479e', class: "grid grid-rows-2 gap-0" }, h("div", { key: 'd29dda751ad3ec80253c2247db21f0d831e5ecbd', class: "grid grid-cols-2 gap-4" }, h("label", { key: '637a2bf8d0b779a9819742d1083a98f72cbdff92', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.annualConsumption), h("label", { key: '3756f091f2f85dafe6301d82789a6c69251fd2f8', class: "block text-sm font-medium text-text-muted" }, t.solarSystemForm.consumptionProfileTitle)), h("div", { key: '91822e7ef92a9297abcfe4ee0900377a26919542', class: "grid grid-cols-2 gap-4" }, h("input", { key: 'd6efc3b9d5482e8d4c4a1e212f11d4e1663781eb', type: "number", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", value: this.householdConsumption, onInput: (e) => {
|
|
3157
3175
|
this.householdConsumption = parseInt(e.target
|
|
3158
3176
|
.value);
|
|
3159
3177
|
this.recalculate();
|
|
3160
|
-
} }), h("select", { key: '
|
|
3178
|
+
} }), h("select", { key: 'd206161ce9c8b56f6b71ff23d688d76aa87ed10e', class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground", onChange: (e) => {
|
|
3161
3179
|
this.consumptionProfile =
|
|
3162
3180
|
e.target
|
|
3163
3181
|
.value;
|
|
3164
3182
|
this.recalculate();
|
|
3165
|
-
} }, h("option", { key: '
|
|
3183
|
+
} }, h("option", { key: '3277b1fa3f7adb6761f61e120b82c0cc0afdffc2', value: "mostly_at_home", selected: this.consumptionProfile ===
|
|
3166
3184
|
"mostly_at_home" }, t.solarSystemForm.consumptionProfiles
|
|
3167
|
-
.mostlyAtHome), h("option", { key: '
|
|
3185
|
+
.mostlyAtHome), h("option", { key: 'ba986968b4e63e53bbefba4551cb3d13d2631b86', value: "mostly_away", selected: this.consumptionProfile ===
|
|
3168
3186
|
"mostly_away" }, t.solarSystemForm.consumptionProfiles
|
|
3169
|
-
.mostlyAway))))), h("div", { key: '
|
|
3187
|
+
.mostlyAway))))), h("div", { key: 'b1df61d9586befe53d46457fd2d0836a5b5bc697', class: "space-y-4" }, h("h2", { key: 'd24180e9bbc0d4f625154ad8bff99e23a0cb1a62', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.additionalComponents.title), h("div", { key: 'b559b111e2005d63db36e500deae0733a473aa8d', class: "flex flex-col gap-4" }, h("div", { key: '139ff7f1d6624ca6fd31a155c36729be21e1f8b0', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '3db4013aaa29485966b13231e35d34f300abfc1b', class: "flex items-center justify-between" }, h("div", { key: '2fbd022c9d21c798308d713392224a7161a18799', class: "flex items-center gap-2" }, h("input", { key: '379f28e54b9cb06be1e6581cee9bfe280de5c15b', 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) => {
|
|
3170
3188
|
this.heatPump =
|
|
3171
3189
|
e.target
|
|
3172
3190
|
.checked
|
|
3173
3191
|
? 100
|
|
3174
3192
|
: 0;
|
|
3175
3193
|
this.recalculate();
|
|
3176
|
-
} }), h("label", { key: '
|
|
3194
|
+
} }), h("label", { key: 'a4ae005639f2703c4c3ba336404fa0e19822f5d3', htmlFor: "heatPump", class: "text-text-muted" }, t.solarSystemForm
|
|
3177
3195
|
.additionalComponents
|
|
3178
|
-
.heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: '
|
|
3196
|
+
.heatPump)), (this.heatPump > 0 && !this.isIOS()) && (h("span", { key: '54d4a2e5fe6cd0cbccc8d87f0199a6e241ff9b72', class: "text-text-muted" }, this.heatPump, " m\u00B2"))), this.heatPump > 0 && (h("div", { key: 'be90b9492b1ae91b49564e646f46b7f80c766ad4', class: "flex flex-col gap-2" }, this.isIOS()
|
|
3179
3197
|
? (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 border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", style: {
|
|
3180
3198
|
border: "1px solid var(--color-border)",
|
|
3181
3199
|
}, value: this.heatPump, onInput: (e) => {
|
|
@@ -3193,41 +3211,41 @@ const SolarSystemForm = class {
|
|
|
3193
3211
|
parseInt(e.target
|
|
3194
3212
|
.value);
|
|
3195
3213
|
this.recalculate();
|
|
3196
|
-
} }))))), h("div", { key: '
|
|
3214
|
+
} }))))), h("div", { key: '5a15fbb22033d5bf3aa17412318e5caba273409f', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '14c992b960da894105afe998908091f71d8e9556', class: "flex items-center justify-between" }, h("div", { key: 'c620cfc146bfe4dfb963c8f4fe9f7da6b8fb03b7', class: "flex items-center gap-2" }, h("input", { key: 'ca46124ad41d16279663a58ec486ccd5869601ef', 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) => {
|
|
3197
3215
|
this.electricCar =
|
|
3198
3216
|
e.target
|
|
3199
3217
|
.checked;
|
|
3200
3218
|
this.recalculate();
|
|
3201
|
-
} }), h("label", { key: '
|
|
3219
|
+
} }), h("label", { key: 'dd5f3537a4f0b436b4b84e20726ecd95694df4a4', htmlFor: "electricCar", class: "text-text-muted" }, t.solarSystemForm
|
|
3202
3220
|
.additionalComponents
|
|
3203
|
-
.electricCar))), this.electricCar && (h("div", { key: '
|
|
3221
|
+
.electricCar))), this.electricCar && (h("div", { key: '3d8faac9b29457cabaef3e82fd490d7669c2ed79', class: "flex flex-col gap-2" }, h("div", { key: 'fd885be1fd003f9724398f97ea459144738cbc90', class: "grid grid-cols-2 gap-4" }, h("label", { key: 'bcfd46f61643c0d5c4a9c93e990ff6be4937efc2', class: "text-sm text-text-muted" }, t.solarSystemForm
|
|
3204
3222
|
.additionalComponents
|
|
3205
|
-
.chargingTime), h("label", { key: '
|
|
3223
|
+
.chargingTime), h("label", { key: 'acd1b8541b5d814e81949d06d2d1d56cc872fbd3', class: "text-sm text-text-muted" }, t.solarSystemForm
|
|
3206
3224
|
.additionalComponents
|
|
3207
|
-
.kilometersPerYear)), h("div", { key: '
|
|
3225
|
+
.kilometersPerYear)), h("div", { key: '1a9772ff5b6b4f3285afea70d9d5953bd3501d02', class: "grid grid-cols-2 gap-4" }, h("select", { key: 'd45e7979f476bd3afe2ef3a62107240b053f9bbb', class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", onChange: (e) => {
|
|
3208
3226
|
this.electricCarChargingTime =
|
|
3209
3227
|
e.target
|
|
3210
3228
|
.value;
|
|
3211
3229
|
this.recalculate();
|
|
3212
3230
|
}, style: {
|
|
3213
3231
|
border: "1px solid var(--color-border)",
|
|
3214
|
-
} }, h("option", { key: '
|
|
3232
|
+
} }, h("option", { key: 'c23713921e55368b7f4013503c1aa422dea05fd0', value: "day", selected: this
|
|
3215
3233
|
.electricCarChargingTime ===
|
|
3216
3234
|
"day" }, t.solarSystemForm
|
|
3217
3235
|
.additionalComponents
|
|
3218
|
-
.chargingTimeDay), h("option", { key: '
|
|
3236
|
+
.chargingTimeDay), h("option", { key: '67f440a8ba935e56098aae561f7f338dab01b219', value: "night", selected: this
|
|
3219
3237
|
.electricCarChargingTime ===
|
|
3220
3238
|
"night" }, t.solarSystemForm
|
|
3221
3239
|
.additionalComponents
|
|
3222
|
-
.chargingTimeNight)), h("input", { key: '
|
|
3240
|
+
.chargingTimeNight)), h("input", { key: '5d819884df9ba63f940a88bfd0d9d36fc988e56e', type: "number", min: "1000", max: "50000", step: "1000", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.kmDrivenPerYear, onInput: (e) => {
|
|
3223
3241
|
this.kmDrivenPerYear =
|
|
3224
3242
|
parseInt(e.target
|
|
3225
3243
|
.value);
|
|
3226
3244
|
this.recalculate();
|
|
3227
3245
|
}, style: {
|
|
3228
3246
|
border: "1px solid var(--color-border)",
|
|
3229
|
-
} }))))), h("div", { key: '
|
|
3230
|
-
.battery), !this.isIOS() && (h("span", { key: '
|
|
3247
|
+
} }))))), h("div", { key: '0a5d7fbfc2abc407c28d189b60a06df9eff66b1a', class: "flex flex-col bg-muted rounded-4xl p-4 gap-4" }, h("div", { key: '6996b502573c22718ebf8668382700e8b1a52e9b', class: "flex items-center justify-between" }, h("label", { key: '6b1bc5859ad5dd7c40726f5e04a41b5470afa20e', class: "text-text-muted" }, t.solarSystemForm.additionalComponents
|
|
3248
|
+
.battery), !this.isIOS() && (h("span", { key: 'b9a2629a617c204f9064b447b13e978e2df0e71b', class: "text-text-muted" }, this.battery, " kWh"))), h("div", { key: '75726ee7956ee611de845ea2349713e3a156c4f2', class: "flex flex-col gap-2" }, this.isIOS()
|
|
3231
3249
|
? (h("div", { class: "flex items-center gap-2" }, h("input", { type: "number", min: "0", max: "20", step: "1", class: "flex-1 px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.battery, onInput: (e) => {
|
|
3232
3250
|
const value = parseInt(e.target
|
|
3233
3251
|
.value);
|
|
@@ -3244,41 +3262,55 @@ const SolarSystemForm = class {
|
|
|
3244
3262
|
this.battery = parseInt(e.target
|
|
3245
3263
|
.value);
|
|
3246
3264
|
this.recalculate();
|
|
3247
|
-
} })))))), h("div", { key: '
|
|
3265
|
+
} })))))), h("div", { key: 'ead8323aa774b23dc250685fb1e790b239070166', class: "space-y-4" }, h("h2", { key: '1eba342b1d3b4dfd7bd1173fa7381825d3070bd2', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.electricityCostsTitle), h("div", { key: '14baaadcb93e5ee4076a5565156ca48620801dac', class: "grid grid-rows-2 gap-0" }, h("div", { key: '6355241c7a8b27e1c0eb39b5b678286c7e039e64', class: "grid grid-cols-3 gap-4" }, h("label", { key: '2617defe06150d2e67e9470950ae3073af947a92', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.electricityPrice), h("label", { key: '188ce676aa0c1e528a11718068080a68257bf99e', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.compensationRate), h("label", { key: '850a4ef204bb9487ec6385e17bb0c06a063dd53c', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.annualPriceIncrease)), h("div", { key: '4f6ff1e0a3147984cd000946017619c838016f12', class: "grid grid-cols-3 gap-4 text-primary-foreground" }, h("input", { key: 'bb173e355fb17bc3c760342c16b1d28a2293c9d1', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.electricityPrice.toFixed(2), onInput: (e) => {
|
|
3248
3266
|
this.electricityPrice = parseFloat(e.target
|
|
3249
3267
|
.value);
|
|
3250
3268
|
this.recalculate();
|
|
3251
|
-
} }), h("input", { key: '
|
|
3269
|
+
} }), h("input", { key: 'f75ea4cfad61746c716a985ec3edf8dd93700dea', type: "number", step: "0.01", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.compensationRate.toFixed(2), onInput: (e) => {
|
|
3252
3270
|
this.compensationRate = parseFloat(e.target
|
|
3253
3271
|
.value);
|
|
3254
3272
|
this.recalculate();
|
|
3255
|
-
} }), h("input", { key: '
|
|
3273
|
+
} }), h("input", { key: '34ad225b5da90c29d595680369a683236b018b4f', type: "number", step: "0.1", class: "w-full px-4 py-2 rounded-4xl border border-border focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted", value: this.annualPriceIncrease.toFixed(1), onInput: (e) => {
|
|
3256
3274
|
this.annualPriceIncrease = parseFloat(e.target
|
|
3257
3275
|
.value);
|
|
3258
3276
|
this.recalculate();
|
|
3259
|
-
} })))), h("div", { key: '
|
|
3277
|
+
} })))), h("div", { key: 'be3c737cf611997409562b6328f0becfce6eee56', class: "space-y-4 p-4 border border-border rounded-4xl", style: {
|
|
3260
3278
|
border: "1px solid var(--color-border)",
|
|
3261
|
-
} }, h("h2", { key: '
|
|
3279
|
+
} }, h("h2", { key: 'd85e0b1968326cbfa47ba2447cd625b5e801933b', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.resultsTitle), h("div", { key: '44e90f2bf38d401df3fba4047bf6015c01c00e73', class: "bg-muted rounded-4xl p-4" }, h("div", { key: '10f2c095e5970d55e197d3e2d5121e1b12c82ac8', class: "flex items-center justify-between" }, h("span", { key: '6671e18dc641d84640d35395ad9d3ed4ee35fcd4', class: "text-text-muted" }, t.solarSystemForm.autonomy), h("span", { key: '89c304d23420e6daa3d046640df30d8a0af1eb46', class: "text-xl font-bold text-secondary" }, this.autonomy > 100
|
|
3262
3280
|
? "100"
|
|
3263
|
-
: this.autonomy
|
|
3264
|
-
|
|
3265
|
-
|
|
3281
|
+
: this.formatEuropeanNumber(this.autonomy, 1), "%")), h("div", { key: '3629db34720f0053aaca70a6ee61ffb2a0c1b446', class: "flex items-center justify-between mt-4" }, h("span", { key: '91d347389c7e63b0d639d1bbc03f970cef92dc2b', class: "text-text-muted" }, t.solarSystemForm.totalEnergyConsumption), h("span", { key: 'd31714768be7b21f3470ee1e90dff8f4c6484b79', class: "text-xl font-bold text-secondary" }, (() => {
|
|
3282
|
+
let total = this.householdConsumption;
|
|
3283
|
+
// Add electric car consumption: km/year * 17kWh/100km
|
|
3284
|
+
if (this.electricCar) {
|
|
3285
|
+
total +=
|
|
3286
|
+
(this.kmDrivenPerYear * 17) /
|
|
3287
|
+
100;
|
|
3288
|
+
}
|
|
3289
|
+
// Add heat pump consumption: m2 * 60kWh/m2/year (typical estimate)
|
|
3290
|
+
if (this.heatPump > 0) {
|
|
3291
|
+
total += this.heatPump *
|
|
3292
|
+
HEAT_PUMP_CONSUMPTION * 365;
|
|
3293
|
+
}
|
|
3294
|
+
return this.formatEuropeanNumber(total, 0);
|
|
3295
|
+
})(), " kWh/", t.solarSystemForm.year)), h("div", { key: 'ff25e0aa4e9e0d240da27798344cecd87a50a980', class: "flex items-center justify-between mt-4" }, h("div", { key: '1bb0704dcbe48cee6059e9434d70a8bc41942664', class: "flex items-center gap-2" }, h("span", { key: 'cdccfd451a6e8658c2a0fe94d7cee4f091883aa8', class: "text-text-muted" }, t.solarSystemForm.costSavings), h("div", { key: '0f1126a6e4c08447c8fc58632efdb15a910d14a2', class: "relative group" }, h("svg", { key: '001578216fc70a81618354955c8566334ddd8537', 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: '23fa0cf5f2cd0cdfc8de271194e7ca88a0daed0b', "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: 'a1aa7e03d52fe658462e32df3e533c502827f7a7', class: "absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2 w-64 p-2 bg-gray-800 text-muted text-sm rounded-lg opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none" }, t.solarSystemForm
|
|
3296
|
+
.savingsDisclaimer))), h("span", { key: '56375d976935a662e6d2511cad3d5834c120df3f', class: "text-xl font-bold text-success" }, this.formatEuropeanNumber(this.costSavings), "\u20AC/", t
|
|
3297
|
+
.solarSystemForm.year)), h("div", { key: 'cd828e6c6926daab2233cedf4305e2fdb97be676', class: "flex items-center justify-between mt-4" }, h("div", { key: '0795d59077e5b0c797f057e031831cee8534c3c9', class: "flex items-center gap-2" }, h("span", { key: '6f48091f7555b8a325ad09738ac0cdb31e865154', class: "text-text-muted" }, "Einspeiseverg\u00FCtung 25 Jahre")), h("span", { key: 'f7791292253c6806157551d30170e4688ed3458a', class: "text-xl font-bold text-success" }, this.formatEuropeanNumber(this.compensation25Years), "\u20AC")), h("div", { key: '27c89b500a48af7f669ebaa0b489d94b976686e2', class: "flex items-center justify-between mt-4" }, h("div", { key: '21626f89fe1fd478b6ebf8dc28d98e9078e184ce', class: "flex items-center gap-2" }, h("span", { key: '157a25f00e437addc545785cb2238a61f23778cd', class: "text-text-muted" }, "Geldwerter Vorteil 25 Jahre")), h("span", { key: '450ca4a9726b877821b18efdb0f78993d43783be', class: "text-xl font-bold text-success" }, this.formatEuropeanNumber(this.savedCosts25Years), "\u20AC")))), h("div", { key: '27f91849d3fd0fa188dfb3303c5088fbb31477f6', class: "space-y-4 pt-4" }, h("h2", { key: '1fb4615d9f7fc7499796ff4bfc1f94de06347230', class: "text-lg font-semibold text-secondary" }, t.solarSystemForm.requestOffer), h("div", { key: 'b0fc51a1e23c8e6d888f52cb6c348ef87e0c021d', class: "grid gap-4" }, h("div", { key: 'dbc8276df0f39e6206cafad9ee78198bba4231a2', class: "grid grid-cols-2 gap-4" }, h("label", { key: '17f832a75bf26e206baf332a852e9918287ceddd', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.name), h("label", { key: 'c5f51ed3415cee24796980972003cb9d3d67377f', class: "block text-sm font-medium text-text-muted mb-1" }, t.solarSystemForm.email)), h("div", { key: 'aca926ba4957bc3f49c078ee26c187b2fa2e09c5', class: "grid grid-cols-2 gap-4" }, h("div", { key: 'bf67470f202a91c87794b9f524be7d6f8798a9d6' }, h("input", { key: 'e0ef0652f15c0b8131be5c08ab7e676053723403', type: "text", class: `w-full px-4 py-2 rounded-4xl border ${this.nameError
|
|
3266
3298
|
? "border-error"
|
|
3267
3299
|
: "border-border"} focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, value: this.name, onInput: (e) => {
|
|
3268
3300
|
this.name =
|
|
3269
3301
|
e.target
|
|
3270
3302
|
.value;
|
|
3271
3303
|
this.validateForm();
|
|
3272
|
-
}, placeholder: "Your name" }), this.nameError && (h("p", { key: '
|
|
3304
|
+
}, placeholder: "Your name" }), this.nameError && (h("p", { key: '4f4b48a763a00e0c3b01a7fb0114f34b233c0fd3', class: "text-error text-sm mt-1" }, this.nameError))), h("div", { key: 'c8ab7002857c3826009860ab2ebf9d87c1bde1b7' }, h("input", { key: 'd8b3df2653a9e8391f3322498757393342f2a86d', type: "email", class: `w-full px-4 py-2 rounded-4xl border ${this.emailError
|
|
3273
3305
|
? "border-error"
|
|
3274
3306
|
: "border-border"} focus:ring-2 focus:ring-tertiary focus:border-transparent bg-muted text-muted-foreground`, value: this.email, onInput: (e) => {
|
|
3275
3307
|
this.email =
|
|
3276
3308
|
e.target
|
|
3277
3309
|
.value;
|
|
3278
3310
|
this.validateForm();
|
|
3279
|
-
}, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '
|
|
3311
|
+
}, placeholder: "your.email@example.com" }), this.emailError && (h("p", { key: '8f1b0cfb3251e70294e5f67c461013ea935c11dc', class: "text-error text-sm mt-1" }, this.emailError))))), h("div", { key: 'eb74ae3147ff1d072050658b17016f6d03a29f35', class: "flex justify-center" }, h("button", { key: '448e329bde1237be4e2fbd12dd98ad36a9a558e3', onClick: () => this.handleRequestOffer(), disabled: !this.name.trim() ||
|
|
3280
3312
|
!this.email.trim() || !!this.nameError ||
|
|
3281
|
-
!!this.emailError, class: "px-4 py-2 bg-secondary rounded-4xl hover:bg-tertiary transition-colors duration-200
|
|
3313
|
+
!!this.emailError, class: "px-4 py-2 bg-secondary rounded-4xl hover:bg-tertiary transition-colors duration-200", style: { color: "var(--color-muted)" } }, t.solarSystemForm.requestOfferButton))))));
|
|
3282
3314
|
}
|
|
3283
3315
|
static get watchers() { return {
|
|
3284
3316
|
"systemConfigs": ["updateSystemConfigs"]
|
|
@@ -3301,9 +3333,13 @@ const ToolBox = class {
|
|
|
3301
3333
|
return (h("div", { key: '6a249c8eddd0bf541a98f77d09bcc9e297e8ec63', class: "flex lg:gap-4 rounded-4xl bg-primary p-4 flex-wrap justify-center w-full text-xs" }, tools.map((tool) => {
|
|
3302
3334
|
const toolStrings = t.mapDraw.tools[tool.name];
|
|
3303
3335
|
return (h("button", { class: `px-4 py-2 rounded-4xl transition-colors duration-200 ${this.currentTool.name === tool.name
|
|
3304
|
-
? "bg-secondary hover:bg-secondary/80
|
|
3305
|
-
: "bg-primary hover:bg-muted
|
|
3306
|
-
|
|
3336
|
+
? "bg-secondary hover:bg-secondary/80"
|
|
3337
|
+
: "bg-primary hover:bg-muted"}`, style: {
|
|
3338
|
+
color: this.currentTool.name === tool.name
|
|
3339
|
+
? "var(--color-secondary-foreground)"
|
|
3340
|
+
: "var(--color-primary-foreground)",
|
|
3341
|
+
}, "aria-label": toolStrings.ariaLabel, title: toolStrings.explanation, onClick: () => this.onToolSelect(tool) }, h("div", { class: "flex items-center gap-1 flex-col" }, h("icon-selector", { name: tool.icon }), h("span", null, toolStrings.name))));
|
|
3342
|
+
}), h("button", { key: 'b9eefc37d84ce8cf1fc3ea27fd0135d477a30eb2', class: `px-4 py-2 rounded-4xl transition-colors duration-200 bg-primary hover:bg-muted text-primary-foreground`, "aria-label": undoToolStrings.ariaLabel, title: undoToolStrings.explanation, onClick: () => this.undoCallback() }, h("div", { key: '06388aa01a0a70de8ffb202717e4d63df6c9cd1b', class: "flex items-center gap-1 flex-col" }, h("undo-icon", { key: 'ba5614562d52b0b06be3a9f557ed3dcb103eeeaa' }), h("span", { key: '39aeaf8cd4c4cabd39bec5051ef0eb53459e7846' }, undoToolStrings.name)))));
|
|
3307
3343
|
}
|
|
3308
3344
|
};
|
|
3309
3345
|
ToolBox.style = outputCss$1;
|