Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs
Aligrace Hair 13x4 Lace Glueless Body Wave Wigs

Aligrace Hair 13x4 Lace Glueless Body Wave Wigs

Price

$289.22 $173.53
Save $115.69
In stock

length

Please select a length

Quantity

/** @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-1539149753700').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);

● Upgrade Adjustable Strap, Safer & Secure

● Super Easy to Install & Beginner-Friendly

● Pre-plucked Hairline & Bleached Knots

● Large Variety of Textures

● Easy to Maintain

● Youtubers Recommend

Hair TextureBody Wave
Hair Material100% Human Virgin Hair
Cap SizeAverage
Lace Type13 x 4 Glueless Lace 
Quality ManagementIt Can Last More Than 12 Months with Proper Care