1var t=Object.defineProperty,e=(e,i,n)=>((e,i,n)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n)(e,"symbol"!=typeof i?i+"":i,n);import{A as i}from"./abstract-analytics-component.bg8qcnhkzk0bauy1.js";import{p as n}from"./index.cz83wh4sws6slzdm.js";const a="ctas",s=`[data-hme-analytics="${a}"]`,l={primary_cta:"hme-ctas__cta-link--primary",secondary_cta:"hme-ctas__cta-link--secondary",link:"hme-ctas__cta-link--link",image:"hme-ctas__cta-link--image"};class r extends i{init(){this.addEventHandlers()}addEventHandlers(){var t;null==(t=this.elements.ctaLink)||t.forEach(t=>{t.addEventListener("click",t=>this.handleCtaLinkClick(t))})}getLinkType(t){for(const[e,i]of Object.entries(l))if(t.classList.contains(i))return e;return null}getHvbType(t){return t.dataset.hmeAnalyticsHvbType||"non-hvb"}getHvbFlag(t){return"non-hvb"!==this.getHvbType(t)?"true":"false"}getClickText(t){return t.innerText.trim()}getClickUrl(t){return t.getAttribute("href")||void 0}resolveAnalyticsBehaviorFunction(t,e){var i;const n={getElementPath:t=>this.getElementPath(t,this.elements.self),getLinkType:t=>this.getLinkType(t),getHvbFlag:t=>this.getHvbFlag(t),getHvbType:t=>this.getHvbType(t),getClickText:t=>this.getClickText(t),getClickUrl:t=>this.getClickUrl(t)};return null==(i=n[t])?void 0:i.call(n,e)}parseAnalyticsBehaviorEntry(t){const e=t.indexOf(":");if(-1===e)return null;const i=t.indexOf(":",e+1);if(-1===i)return null;const n=t.slice(0,e),a=t.slice(e+1,i),s=t.slice(i+1);return"value"!==a&&"function"!==a?null:{field:n,type:a,rest:s}}buildCustomAnalyticsData(t,e){const i=n(e),a=Array.isArray(i)?i:[],s={};let l="button_click";for(const n of a){if("string"!=typeof n)continue;const e=this.parseAnalyticsBehaviorEntry(n);if(!e)continue;const{field:i,type:a,rest:r}=e,c="function"===a?this.resolveAnalyticsBehaviorFunction(r,t):r;"event"!==i||"string"!=typeof c?s[i]=c:l=c}return{eventType:l,data:s}}handleCtaLinkClick(t){const e=t.currentTarget,i=e.dataset.analyticsBehavior;if(i){const{eventType:t,data:n}=this.buildCustomAnalyticsData(e,i);return void this.fireAnalytics(t,{data:n},void 0,!0)}this.fireAnalytics("button_click",{data:{element_path:this.getElementPath(e,this.elements.self),component_name:"ctas",type:this.getLinkType(e),hvb_flag:this.getHvbFlag(e),hvb_type:this.getHvbType(e),click_text:this.getClickText(e),click_url:this.getClickUrl(e)}})}}e(r,"NS","hme"),e(r,"IS",a),e(r,"SELF",s),e(r,"HOOKS",{ctaLink:".hme-ctas__cta-link"});export{s as SELF,r as default};
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.