Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
1 / 17
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves
Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves

Girls Gift Idea Hand Woven Half Fingers Cat Paws Wool Gloves

Check Product Description For Details

109 sold
$16.90
Cat Paw Gloves
Qty

Material: Wool

Age: 10-40 years old

Suitable season: Autumn and Winter

Shipping time: 15-25 days

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);