1import { R as RmcIcon } from "./chunk-Bov-RE3A.js"; 2import { j as defineComponent, c as computed, _ as _export_sfc, o as openBlock, e as createElementBlock, q as createVNode, v as normalizeClass, z as createBlock, y as createCommentVNode, h as toDisplayString, F as Fragment, W as useTemplateRef, k as onMounted, f as createBaseVNode, x as renderList } from "./chunk-Cy-M6TJt.js"; 3/* empty css */ 4import { u as useI18n } from "./chunk-DUNv5myb.js"; 5const parseNumbers = (value) => { 6 return value.replace(/[^0-9.]/g, ""); 7}; 8const _sfc_main$1 = /* @__PURE__ */ defineComponent({ 9 __name: "ContractorProfileCertificateItem", 10 props: { 11 certificateName: { default: "" }, 12 KwikComfortCustomURL: { default: "" }, 13 size: { default: "md" } 14 }, 15 setup(__props, { expose: __expose }) { 16 __expose(); 17 const props = __props; 18 const certificate = computed( 19 () => certificateIcons(props.KwikComfortCustomURL)[props.certificateName] || null 20 ); 21 function certificateIcons(kwikComfortCustomURL) { 22 return { 23 IsTriton: { 24 iconName: "team-triton", 25 tooltip: "<p><b>Team Triton<sup>™</sup></b></p>This plumber is participating in our <a href='//www.teamtritonplumber.com'>TeamTritonPlumber.com</a> replacement contest.", 26 link: "//www.teamtritonplumber.com" 27 }, 28 ShowNateLogo: { 29 iconName: "nate-logo", 30 tooltip: "<p><b>NATE</b></p>NATE Certified contractors have been tested by a non-profit certification organization to validate knowledge of HVAC systems." 31 }, 32 PPlus: { 33 iconName: "extended-warranties", 34 tooltip: "<p><b>Protection Plus</b></p>The Protection Plus program provides a valuable way to obtain an extended service agreement for your new Rheem equipment." 35 }, 36 IsCommercialFinancingApproved: { 37 iconName: "pro-services-kwikcomfort-commercial", 38 tooltip: "<p><b>KwikComfort</b></p>The Commercial KwikComfort Consumer Financing Program offers you a variety of financing options to pay for your new Rheem Equipment.", 39 link: "https://fernwoodcapitalaa.fernwoodcapital.com/", 40 isFinancing: true, 41 analyticsEventName: "Commercial KwikComfort Financing" 42 }, 43 // absent in detail response 44 IsResidentialFinancingApproved: { 45 iconName: "pro-services-kwikcomfort-residential", 46 tooltip: "<p><b>KwikComfort</b></p>The KwikComfort Consumer Financing Program offers you a variety of financing options to pay for your new Rheem Equipment.", 47 link: kwikComfortCustomURL, 48 isFinancing: true, 49 analyticsEventName: "Residential KwikComfort Financing" 50 }, 51 TopTen: { 52 iconName: "top-pro-partner-2023", 53 tooltip: "<p><b>Rheem Pro Partners</b></p>Rheem Pro Partners are elite independent contractors whose superior dedication to the sale, installation, and servicing of Rheem products sets them apart from their peers." 54 }, 55 TopOne: { 56 iconName: "top-pro-partner-2023", 57 tooltip: "<p><b>Rheem Top Pro Partners</b></p>Rheem Pro Partners are elite independent contractors whose superior dedication to the sale, installation, and servicing of Rheem products sets them apart from their peers." 58 }, 59 // absent icon 60 MarketShaker: { 61 iconName: "market-shaker-2022", 62 tooltip: "<p><b>Rheem Pro Partner Market Shaker</b>" 63 }, 64 MarketMaker: { 65 iconName: "market-maker-2022", 66 tooltip: "<p><b>Rheem Pro Partner Market Maker</b>" 67 }, 68 ProPartner: { 69 iconName: "pro-partner", 70 tooltip: "<p><b>Rheem Pro Partners</b></p>Rheem Pro Partners are elite independent contractors whose superior dedication to the sale, installation, and servicing of Rheem products sets them apart from their peers." 71 }, 72 ProPlumber: { 73 iconName: "pro-plumber", 74 tooltip: "<p><b>Rheem Pro Partner Plumbing contractors</b></p>Rheem Pro Partner Plumbing contractors are elite independent plumbers whose superior dedication to the sale, installation, and servicing of Rheem products sets them apart from their peers." 75 }, 76 Multi: { 77 iconName: "pro-partner-multi", 78 tooltip: "<p><b>Rheem Pro Partners</b></p>Pro Partners are elite independent contractors whose superior dedication to the sale, installation, and servicing of Rheem Manufacturing products sets them apart from their peers." 79 } 80 }; 81 } 82 const __returned__ = { props, certificate, certificateIcons, RmcIcon };
83 Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); 84 return __returned__; 85 } 86}); 87const _hoisted_1$1 = ["title"]; 88const _hoisted_2$1 = ["href"]; 89const _hoisted_3$1 = { key: 1 }; 90function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) { 91 var _a, _b, _c; 92 return openBlock(), createElementBlock(Fragment, null, [ 93 ((_a = $setup.certificate) == null ? void 0 : _a.iconName) ? (openBlock(), createElementBlock("div", { 94 key: 0, 95 "data-bs-toggle": "tooltip", 96 "data-bs-html": "true", 97 "data-bs-custom-class": "rmc-contractor-tooltip", 98 title: $setup.certificate.tooltip, 99 "data-container": "body", 100 "data-offset": "0, 20" 101 }, [ 102 ((_b = $setup.certificate) == null ? void 0 : _b.link) ? (openBlock(), createElementBlock("a", { 103 key: 0, 104 href: (_c = $setup.certificate) == null ? void 0 : _c.link, 105 target: "_blank" 106 }, [ 107 createVNode($setup["RmcIcon"], { 108 class: normalizeClass(["certificate-icon", $setup.props.size === "md" ? "rmc-height-4xl" : "rmc-height-3xl"]), 109 "icon-name": $setup.certificate.iconName 110 }, null, 8, ["class", "icon-name"]) 111 ], 8, _hoisted_2$1)) : (openBlock(), createBlock($setup["RmcIcon"], { 112 key: 1, 113 class: normalizeClass(["certificate-icon", $setup.props.size === "md" ? "rmc-height-4xl" : "rmc-height-3xl"]), 114 "icon-name": $setup.certificate.iconName 115 }, null, 8, ["class", "icon-name"])) 116 ], 8, _hoisted_1$1)) : createCommentVNode("", true), 117 $setup.certificate && !$setup.certificate.iconName ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString($setup.props.certificateName), 1)) : createCommentVNode("", true) 118 ], 64); 119} 120const ContractorProfileCertificateItem = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-6b72041d"], ["__file", "ContractorProfileCertificateItem.vue"]]); 121const commercialFinancingUrl = "https://fernwoodcapitalaa.fernwoodcapital.com/"; 122const _sfc_main = /* @__PURE__ */ defineComponent({ 123 __name: "ContractorProfileCertifications", 124 props: { 125 certificates: { default: () => [] }, 126 isResidentialFinancingApproved: { type: Boolean, default: false }, 127 isCommercialFinancingApproved: { type: Boolean, default: false }, 128 residentialFinancingUrl: { default: "" }, 129 contractorCountry: { default: "" }, 130 size: { default: "md" } 131 }, 132 setup(__props, { expose: __expose }) { 133 __expose(); 134 const props = __props; 135 const { t } = useI18n(); 136 const residentialFinancingLabel = computed( 137 () => props.isResidentialFinancingApproved && props.isCommercialFinancingApproved ? `${t("findAPro.profile.residentialFinancing").split(" ")[0]} <span class="${props.size === "sm" ? "d-none" : ""}">${t("findAPro.profile.residentialFinancing").split(" ").slice(1).join(" ")}</span>` : t("findAPro.profile.applyForFinancingButton") 138 ); 139 const commercialFinancingLabel = computed( 140 () => props.isResidentialFinancingApproved && props.isCommercialFinancingApproved ? `${t("findAPro.profile.commercialFinancing").split(" ")[0]} <span class="${props.size === "sm" ? "d-none" : ""}">${t("findAPro.profile.commercialFinancing").split(" ").slice(1).join(" ")}</span>` : t("findAPro.profile.applyForFinancingButton") 141 ); 142 const certificateContainer = useTemplateRef("certificateContainer"); 143 const shouldShowFinancing = computed(() => props.contractorCountry !== "CA"); 144 onMounted(() => { 145 if (typeof window !== "undefined" && typeof window.reinitPopovers === "function") { 146 window.reinitPopovers(); 147 } 148 }); 149 const __returned__ = { props, t, residentialFinancingLabel, commercialFinancingLabel, commercialFinancingUrl, certificateContainer, shouldShowFinancing, ContractorProfileCertificateItem }; 150 Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); 151 return __returned__; 152 } 153}); 154const _hoisted_1 = { 155 key: 0, 156 class: "w-100 rmc-ty-text-sm" 157}; 158const _hoisted_2 = { 159 key: 1, 160 class: "d-flex rmc-gap-xl flex-wrap" 161}; 162const _hoisted_3 = { key: 0 }; 163const _hoisted_4 = ["href", "innerHTML"]; 164const _hoisted_5 = { key: 1 }; 165const _hoisted_6 = ["innerHTML"]; 166function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { 167 return openBlock(), createElementBlock(Fragment, null, [ 168 createBaseVNode("div", { 169 class: normalizeClass(["d-flex", $props.size === "md" ? "rmc-gap-xl flex-wrap" : "rmc-gap-md"]), 170 ref: "certificateContainer" 171 }, [ 172 (openBlock(true), createElementBlock(Fragment, null, renderList($props.certificates, (certificateName) => { 173 return openBlock(), createBlock($setup["ContractorProfileCertificateItem"], { 174 key: certificateName, 175 certificateName, 176 KwikComfortCustomURL: $props.residentialFinancingUrl || "", 177 size: $props.size 178 }, null, 8, ["certificateName", "KwikComfortCustomURL", "size"]); 179 }), 128)) 180 ], 2), 181 $setup.shouldShowFinancing && $props.size === "sm" && $props.isResidentialFinancingApproved && $props.isCommercialFinancingApproved ? (openBlock(), createElementBlock("div", _hoisted_1, toDisplayString($setup.t("findAPro.profile.applyForFinancing")), 1
181)) : createCommentVNode("", true), 182 $setup.shouldShowFinancing ? (openBlock(), createElementBlock("div", _hoisted_2, [ 183 $props.isResidentialFinancingApproved ? (openBlock(), createElementBlock("div", _hoisted_3, [ 184 createBaseVNode("a", { 185 class: "applyForFinancing rmc-btn rmc-btn-secondary", 186 href: $props.residentialFinancingUrl, 187 target: "_blank", 188 onclick: "ga('send', 'event', 'Residential KwikComfort Financing', 'Click', 'Contractors')", 189 innerHTML: $setup.residentialFinancingLabel 190 }, null, 8, _hoisted_4) 191 ])) : createCommentVNode("", true), 192 $props.isCommercialFinancingApproved ? (openBlock(), createElementBlock("div", _hoisted_5, [ 193 createBaseVNode("a", { 194 class: "applyForFinancing rmc-btn rmc-btn-secondary", 195 href: $setup.commercialFinancingUrl, 196 target: "_blank", 197 onclick: "ga('send', 'event', 'Commercial KwikComfort Financing', 'Click', 'Contractors')", 198 innerHTML: $setup.commercialFinancingLabel 199 }, null, 8, _hoisted_6) 200 ])) : createCommentVNode("", true) 201 ])) : createCommentVNode("", true) 202 ], 64); 203} 204const ContractorProfileCertifications = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "ContractorProfileCertifications.vue"]]); 205export { 206 ContractorProfileCertifications as C, 207 parseNumbers as p 208};
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.