1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies
1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies

1Pc Chicken Helmet Small Pet Hard Hat Bird Quail Pigeon Hat Headgear Pet Bird Helmet DIY Cartoon Character Helmet Pet Supplies

Price

$21.99 $14.99
Save $7.00
Free shipping on orders over 69.9

style

Please select a style

quantity

Please select a quantity

Quantity

Free returns
Sustainably made
Secure payments

Farm Animals Type: Chicken

Model Number: Chicken Helmet

Name: Pet Chicken Helmet

Pattern color: 13-types(optional)

Weight: About 8g

Size: About 4 x 4.5cm

Function: Prevent pets or chickens from being killed

Suitable for: Chicken, duck and other poultry

Feature 1: Pet Protective Headgear

Feature 2: Sun Rain Protection Hats

Great Function: Prevent the chicken from smash and protect the chicken's head.
Size Adjustable: The size of the helmet can be adjusted to suit different sizes of poultry and there is enough room for expansion so that it does not hurt your poultry when worn.
Attractive Helmet: Bright colors and interesting patterns, making the dresses attractive.
Safe Material: Made of plastic + elastic band, the helmet is safe and comfortable.
 
Name: Pet chicken helmet
Material: Plastic PP
Suitable for: Chicken, duck and other poultry
Size: About 4 x 4.5cm
 
Package Includes:
1 Pc x Helmet
 
Note:
Please allow 1-2mm errors due to manual measurement.
Item color displayed in photos may be showing slightly different on your computer monitor since monitors are not calibrated same.
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1718252090972').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);