DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
1 / 13
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting
28% OFF
Save $14.00

DIY LED U-Home E27 LED Corn Light Bulb, CRI Ra 95,Photography Video Studio Lighting Light,40W 4000lm-4500lm Daylight White for Garage Workshop Street Lamp Post Lighting

CRI Ra 95 LED Corn Bulb

$35.99 $49.99
845 sold
Ship From(*China Stock to the World | US Stock to USA *)
Qty 98533 in stock

Our customer buy our this 40W high CRI Ra 95+ LED Bulbs, and wrote this very professional thread at this website, https://meaningness.com/sad-light-lumens

Seriously bright light vs. winter blahs

Higher quality LEDs produce ratios of individual hues closer to daylight than typical LEDs do, and that may make them better for bright light supplementation. There’s no science on this yet.

Color quality is usually specified as “CRI,” the Color Rendering Index, which goes up to 100. Most white LEDs are rated 80 CRI. “High CRI” is a meaningless marketing term that can mean anything upwards from 80. 90 CRI corn bulbs are not much more expensive than 80 CRI, but are much less different than the numbers would suggest.4 Genuinely high CRI is 95 or more.5

Bulbs in the 95+ CRI range are much more expensive; several times the price of ordinary LEDs of the same brightness. On the other hand, maybe the better quality means you don’t need as many lumens.

I haven’t experimented with these, due to the cost. Some friends say the light feels better, and is worth paying for. Whether it would make enough of a difference for me, or for you, I don't know.

A friend recommends this 40W CRI 95 corn bulb ($35 in December 2023). 40W seems to be as high as CRI 95+ corn bulbs go currently.

  • 【SAVE 90% MONEY & SUPER BRIGHT】 40w LED light = 300w incandescent light Photography Video Studio White LED Corn Lamp, Base Type E27,4000lm-4500lm
  • 【HIGH EFFICENCY & SUNLIGHT】Lifetime Warranty, CE ROHS ,CRI/RA >95(Close to sunlight) ,high lumen efficency 100-130LM/W
  • 【Long Lifespan】Power consumption is 1/10 of incandescent bulb, 2/3 of energy-saving bulb under the same brightness
  • 【SAFE DESIGN】IP64 Waterproof Rating and NO flickering, NO humming in video. Ideal for both indoor and outdoor applications Green and eco-friendly, No mercury, No UV, infrared or other deleterious radiation, safe to eyes Energy saving, long service life
  • 【Wide Application】Photography Video Studio Continuous Lighting Light, Ideal for use in yards, barns, warehouses, gardens, restrooms, bedrooms, kitchens, washrooms, gate post lighting, etc.

Features:

1: Lifetime Warranty, CE ROHS ,CRI/RA >95,high lumen efficency 100-130LM/W,4000lm-4500lm, 40-43Watts
2: Energy Saving - Energy Savings of up to 85% over our daylife ordinary product's lifespan.
3: Durable - Aviation Aluminum allows for excellent heat dissipation and ABS plastic housing resists shattering and corrosion.
4: Wide Application - Ideal for use in yards, barns, warehouses, gardens, restrooms, bedrooms, kitchens, washrooms, gate post lighting,supermarket, garage, home, office, hotel, hospital, school, street, factory, office etc.Or Also can be use for photography Studio Umbrella Light, Studio Lighting
5: Waterproof Degree: IP64 Waterproof and dustproof
6: Beam Angle: 360° full angle
7: Efficient housing design results in 90% light utilisation
8: Direct replacement light bulbs for HPS/HID/HALIDE/INCANDESCENT/CFL lights and fixtures they are replacing.
9: Patented design, attractive appearance, superior quality, reasonable price, high cost performance.

Packaging include: 1 x CRI RA 95+ E27 40W Daylight White LED Corn Light

Advantage:

1: High CRI/RA >95
2: high lumen efficency 100-130LM/W,4000lm-4500lm
3: IP64 Waterproof Rating and Dustproof
4: Instant-on, NO flickering, NO humming. Ideal for both indoor and outdoor applications
5: Green and eco-friendly, No mercury, No UV, infrared or other deleterious radiation, safe to eyes
6: Energy saving, long service life
7: Widely used in supermarket, warehouse, garage, home, office, hotel, hospital, school, street, garden etc.

Technical Parameter:

Color: Daylight White Matched
Color temperature: 5500K-6000K(about 5600K)
Color rendering index: >95 Ra (Average Ra96-98)
Input voltage: AC85-265V Wide Voltage
Housing material: Aluminum
Lamp socket: E27
Working Temperature(℃): -20 - 60

Application:

Brightness Led garage light , great for outdoor lighting projects, warehouse lighting projects, street lighting projects and so on.
Also perfect for garage light, driveway, post light, warehouse, barn, patio, courtyard , garden, street, office, school ,supermarket, station, restaurant, hotel, workshop etc, anywhere need bright light.
Notice:
1.Please turn off power before install or change assembly parts
2.The input voltage and lamps should be matched, after connecting the power line, please make sure the wiring section is insulated
3. Make sure to remove or bypass the ballast in the fixtures before install the lamps
4. IP Rating IP64, Suitable for damp locations.

Below is our customer's testing report and professional feedback:

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);
const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);