PageSourceSearch

https://www.rheem.com/vike/assets/chunks/chunk-BYgXQy5S.js

js rheem.com collected 2026-09-24 10:20:08 UTC 10,857 bytes, 329 lines download raw bytes

1import { R as RmcAccordion, a as RmcAccordionItem } from "./chunk-C6IBSlvN.js";
2import { R as RmcCheckBox } from "./chunk-jI3uRR5B.js";
3import { j as defineComponent, H as useId, r as ref, c as computed, S as reactive, k as onMounted, _ as _export_sfc, e as createElementBlock, f as createBaseVNode, N as withDirectives, T as vModelSelect, F as Fragment, x as renderList, h as toDisplayString, I as createTextVNode, q as createVNode, A as withCtx, o as openBlock, y as createCommentVNode } from "./chunk-Cy-M6TJt.js";
4/* empty css               */
5const _sfc_main = /* @__PURE__ */ defineComponent({
6  __name: "+Page",
7  setup(__props, { expose: __expose }) {
8    __expose();
9    const accordionId = useId();
10    const states = [
11      "AL",
12      "AK",
13      "AR",
14      "AZ",
15      "CA",
16      "CO",
17      "CT",
18      "DC",
19      "DE",
20      "FL",
21      "GA",
22      "HI",
23      "IA",
24      "ID",
25      "IL",
26      "IN",
27      "KS",
28      "KY",
29      "LA",
30      "MA",
31      "MD",
32      "ME",
33      "MI",
34      "MN",
35      "MO",
36      "MS",
37      "MT",
38      "NC",
39      "NE",
40      "NH",
41      "NJ",
42      "NM",
43      "NV",
44      "NY",
45      "ND",
46      "OH",
47      "OK",
48      "OR",
49      "PA",
50      "RI",
51      "SC",
52      "SD",
53      "TN",
54      "TX",
55      "UT",
56      "VT",
57      "VA",
58      "WA",
59      "WI",
60      "WV",
61      "WY"
62    ];
63    const state = ref(states[0]);
64    const zone1 = ["SC", "GA", "FL", "AL", "MS", "LA", "TX", "HI"];
65    const zone2 = ["NC", "TN", "KY", "MO", "AR", "KS", "OK", "NM", "AZ", "CA"];
66    const zone = computed(() => {
67      if (zone1.includes(state.value)) return "zone1";
68      if (zone2.includes(state.value)) return "zone2";
69      return "zone3";
70    });
71    const zoneValues = {
72      zone1: {
73        nooption: 7.5,
74        option1: 11.5,
75        option2: 9,
76        option3: 2,
77        option4: 2.5,
78        option5: 3,
79        option6: 12
80      },
81      zone2: {
82        nooption: 2.5,
83        option1: 13,
84        option2: 13.5,
85        option3: 2.5,
86        option4: 3.5,
87        option5: 4,
88        option6: 9.5
89      },
90      zone3: {
91        nooption: 2,
92        option1: 9,
93        option2: 17,
94        option3: 5.5,
95        option4: 7.5,
96        option5: 8.5,
97        option6: 4.5
98      }
99    };
100    const staticValues = {
101      option7: 0.5,
102      option8: 0.5,
103      option9: 0.5,
104      option10: 0.5
105    };
106    const currentValues = computed(() => ({
107      ...zoneValues[zone.value],
108      ...staticValues
109    }));
110    const groupedOptions = [
111      {
112        title: "Mandatory Minimum Requirements",
113        initialOpen: true,
114        items: [
115          {
116            key: "nooption",
117            label: `See <a class="rmc-color-gray-dark-650" href="https://www.energystar.gov/sites/default/files/2024-07/ENERGY%20STAR%20Manufactured%20New%20Homes%20Program%20Requirements%2C%20Version%203%20%28Rev.%2002%29.pdf" target="_blank">DOE ZERH National Program Requirements</a>`,
118            labelText: "Mandatory Energy Efficiency Measures",
119            defaultChecked: true
120          }
121        ]
122      },
123      {
124        title: "Water Heater",
125        initialOpen: true,
126        items: [
127          {
128            key: "option1",
129            labelText: "Water Heater",
130            defaultChecked: true
131          }
132        ]
133      },
134      {
135        title: "Heating & Cooling",
136        initialOpen: false,
137        items: [
138          {
139            key: "option2",
140            label: "≥ 7.5 HSPF2 / 14.3 SEER2",
141            labelText: "Gas / Propane Furnace"
142          },
143          {
144            key: "option3",
145            label: "≥ 90 AFUE",
146            labelText: "Gas / Propane Furnace"
147          },
148          {
149            key: "option4",
150            label: "≥ 95 AFUE",
151            labelText: "Gas / Propane Furnace"
152          },
153          {
154            key: "option5",
155            label: "≥ 96 AFUE",
156            labelText: "Gas / Propane Furnace"
157          }
158        ]
159      },
160      {
161        title: "Building Envelope",
162        initialOpen: false,
163        items: [
164          {
165            key: "option6",
166            label: "Transmission (Uo) > 0.049",
167            labelText: "Coefficient of Heat"
168          }
169        ]
170      },
171      {
172        title: "Lighting, Appliances & Water Fixtures",
173        initialOpen: false,
174        items: [
175          {
176            key: "option7",
177            labelText: "LED Lighting"
178          },
179          {
180            key: "option8",
181            label: "≤ 1.5 gallons per minute (gpm) & showerheads ≥ 2.0 gpm",
182            labelText: "Bathroom Faucets"
183          },
184          {
185            key: "option9",
186            labelText: "ENERGY STAR<sup>®</sup> Refrigerator &amp; Dishwasher"
187          },
188          {
189            key: "option10",
190            labelText: "ENERGY STAR<sup>®</sup> Washer"
191          }
192        ]
193      }
194    ];
195    const selected = reactive({
196      nooption: false,
197      option1: false,
198      option2: false,
199      option3: false,
200      option4: false,
201      option5: false,
202      option6: false,
203      option7: false,
204      option8: false,
205      option9: false,
206      option10: false
207    });
208    onMounted(() => {
209      groupedOptions.forEach((g) => {
210        g.items.forEach((it) => {
211          if (it.defaultChecked) selected[it.key] = true;
212        });
213      });
214    });
215    const total = computed(
216      () => Object.entries(selected).reduce((sum, [key, isOn]) => {
217        if (!isOn) return sum;
218        return sum + (currentValues.value[key] ?? 0);
219      }, 0)
220    );
221    function displayValue(key) {
222      const v = currentValues.value[key];
223      return typeof v === "number" ? v.toFixed(1) : "0.0";
224    }
225    const __returned__ = { accordionId, states, state, zone1, zone2, zone, zoneValues, staticValues, currentValues, groupedOptions, selected, total, displayValue, RmcAccordion, RmcAccordionItem, RmcCheckBox };
226    Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
227    return __returned__;
228  }
229});
230const _hoisted_1 = ["value"];
231const _hoisted_2 = { class: "result rmc-p-3xl rmc-mb-xl" };
232const _hoisted_3 = { class: "rmc-py-3xl" };
233const _hoisted_4 = { class: "rmc-ty-lg-text-xl" };
234const _hoisted_5 = { class: "rmc-mb-xl" };
235const _hoisted_6 = { class: "d-flex align-items-start rmc-gap-xl justify-content-between" };
236const _hoisted_7 = { class: "rmc-mb-md d-flex align-items-start" };
237const _hoisted_8 = ["innerHTML"];
238const _hoisted_9 = ["innerHTML"];
239const _hoisted_10 = ["id"];
240function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
241  return openBlock(), createElementBlock("div", null, [
242    _cache[4] || (_cache[4] = createBaseVNode("p", { class: "rmc-ty-text-lg rmc-ty-lg-text-xl fw-bold rmc-mb-xl" }, "Select your state", -1)),
243    _cache[5] || (_cache[5] = createBaseVNode("p", { class: "rmc-ty-text-lg rmc-mb-xl" }, "Select your state to calculate your Energy Efficiency Measurement points and see how easily you can meet program requirements.", -1)),
244    withDirectives(createBaseVNode("select", {
245      "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $setup.state = $event),
246      class: "rmc-form-select rmc-mb-xl"
247    }, [
248      (openBlock(), createElementBlock(Fragment, null, renderList($setup.states, (s) => {
249        return createBaseVNode("option", {
250          key: s,
251          value: s
252        }, toDisplayString(s), 9, _hoisted_1);
253      }), 64))
254    ], 512), [
255      [vModelSelect, $setup.state]
256    ]),
257    createBaseVNode("div", _hoisted_2, [
258      createBaseVNode("div", _hoisted_3, [
259        _cache[1] || (_cache[1] = createBaseVNode("p", { class: "rmc-ty-text-lg rmc-ty-lg-text-xl fw-bold rmc-mb-xs" }, "Your energy efficiency points", -1)),
260        createBaseVNode("span", _hoisted_4, toDisplayString($setup.total.toFixed(1)), 1),
261        _cache[2] || (_cache[2] = createTextVNode()),
262        _cache[3] || (_cache[3] = createBaseVNode("span", { class: "rmc-ty-lg-text-xl rmc-color-gray-dark-650" }, " / 18", -1))
263      ])
264    ]),
265    createVNode($setup["RmcAccordion"], {
266      class: "rmc-mt-3xl",
267      id: $setup.accordionId
268    }, {
269      default: withCtx(() => [
270        (openBlock(), createElementBlock(Fragment, null, renderList($setup.groupedOptions, (group, gi) => {
271          return createVNode($setup["RmcAccordionItem"], {
272            accordionId: $setup.accordionId,
273            itemId: gi.toString(),
274            isParent: false,
275            initialOpen: group.initialOpen
276          }, {
277            title: withCtx(() => [
278              createTextVNode(toDisplayString(group.title), 1)
279            ]),
280            content: withCtx(() => [
281              createBaseVNode("div", _hoisted_5, [
282                (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (opt) => {
283                  return openBlock(), createElementBlock("div", {
284                    key: opt.key
285                  }, [
286                    createBaseVNode("label", _hoisted_6, [
287                      createBaseVNode("div", _hoisted_7, [
288                        createVNode($setup["RmcCheckBox"], {
289                          modelValue: $setup.selected[opt.key],
290                          "onUpdate:modelValue": ($event) => $setup.selected[opt.key] = $event,
291                          label: ""
292                        }, null, 8, ["modelValue", "onUpdate:modelValue"]),
293                        createBaseVNode("div", null, [
294                          createBaseVNode("p", {
295                            class: "rmc-ty-text-sm fw-bold rmc-color-gray-dark-650 rmc-mb-none",
296                            innerHTML: opt.labelText
297                          }, null, 8, _hoisted_8),
298                          opt.label ? (openBlock(), createElementBlock("p", {
299                            key: 0,
300                            class: "rmc-ty-text-md rmc-color-gray-dark-600",
301                            innerHTML: opt.label
302                          }, null, 8, _hoisted_9)) : createCommentVNode("", true)
303                        ])
304                      ]),
305                      createBaseVNode("p", {
306                        class: "mc-ty-text-sm fw-bold rmc-color-gray-dark-650",
307                        id: "displayed" + opt.key
308                      }, toDisplayString($setup.displayValue(opt.key)), 9, _hoisted_10)
309                    ])
310                  ]);
311                }), 128))
312              ])
313            ]),
314            _: 2
315          }, 1032, ["accordionId", "itemId", "initialOpen"]);
316        }), 64))
317      ]),
318      _: 1
319    }, 8, ["id"])
320  ]);
321}
322const _Page = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-2099955d"], ["__file", "+Page.vue"]]);
323const import4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
324  __proto__: null,
325  default: _Page
326}, Symbol.toStringTag, { value: "Module" }));
327export {
328  import4 as i
329};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.