🎁Free Shipping on Orders Over $59🎉
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
1 / 18
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
LED Motion Sensor Cabinet Light
15% OFF
Fnkus

LED Motion Sensor Cabinet Light

$16.96 $19.96
0 sold
Color
Size
Qty 1000 in stock

💡Motion Sensor Under Cabinet Lights Dimmable Closet Lights Wireless Rechargeable Magnetic Light Kitchen Night Lights for Wardrobe Cabinet.

undefined

💡Light effect/Human sensing/Multi-function/Adjustable/Strong endurance/No wiring💡

undefined

❤️【Easy To Install】Built-in Magnet to Stick on Any ironwork: This wireless motion sensor closet light can stick on any ironwork, or you can use the included adhesive tape to tape an iron sheet to stick on any non-iron article surface. When you need to charge or change place, you can the take closet light off anytime.

undefined

❤️【3 Color Temperature And Multi-level Brightness Adjustable】Each under counter lights for kitchen has three color temperatures, 3000k warm white, 4000k natural white, 6000k cool white. 10%/30%/50%/80%/100% 5 fixed brightness, super bright, enough to light up a dark corner.

undefined

❤️【Safer - No Blue Light】Adopting the latest side lighting and anti-glare technology. The lights will be softer and brighter than the old version of the direct light. High-quality LEDs are energy-saving and protect your eyes from dazzling irradiation.

undefined

❤️【3 Working Modes Adjustable】: These stick-on closet lights have a 3-mode switch which is On-Off-G to set it always ON, Off, or Motion Sensor mode. Therefore, you can use these closet lights as a normal night light for closet/cabinet/drawer or motion sensor light. under G mode and dark environment, these under cabinet lights will automatically sense human motion within 10ft/120°range and shut off automatically after 25 seconds of no movement.

undefined

❤️【USB Rechargeable and Energy Saving】: These led battery-operated lights to have built-in high-capacity rechargeable batteries, easily charged via the USB cable(included). After fully charged, the wireless under cabinet lighting is 60 days under motion sensor(G) mode(activate 10 times a day).

undefined

❤️【Wide Application】: This multifunctional cabinet light is ideal for the bedroom, baby room, closet, closets, cabinet, corridor, workshop, basement, garage, stairwell, garage entrances pantry, and other places.

Motion Sensor Under Cabinet Light

❤️【Quality Guarantee】: We have three certifications issued by authoritative organizations to ensure your safety when you used.

undefined

❤️【Color & Size】:

  • Size/Weight:
    • 7.9"/110g/(2 LED lights)
    • 11.8"/160g/(2 LED lights)
    • 15.8”/210g/(3 LED lights)
    • 23.7"/270g/(4 LED lights)

Material: Lamp shade (lens)+Aluminum alloy+Acrylic

Motion Sensor Under Cabinet Light

❤️Package Includes:
1 x Motion Sensor Closet Lights
1 x USB Cable
2 x 3M Adhesive Tape
2 x Iron Sheet
1 x User Manual

🎁It's a perfect gift for your family!

 

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