PageSourceSearch

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

js rheem.com collected 2026-09-24 10:20:32 UTC 11,328 bytes, 208 lines download raw bytes

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>&trade;</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.