Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
Moisturizing Facial Wart Remover
17 / 19

Moisturizing Facial Wart Remover

Net Content
Please select a net content
Price
$11.96
$0.00

Quantity

Product information:
Applicable people: general
Specification: Standard specifications
Applicable skin type: Universal
Net content: 20ml (for export sales only, domestic sales are prohibited, purchase is equivalent to default disclaimer)
Category: Body Care Kit


Packing list:
Wart remover *1
Product Image:
/** @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-1726694338796').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);