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 & 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.