Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
1/16
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
Shrapnel Printing Lipstick Bag
1/16

Shrapnel Printing Lipstick Bag

$16.98
$29.99
Save 43%
ColorApricot
Please select a color
Quantity
Please select a quantity
Quantity
SKU:
Weight: 0kg
Barcode:
/** @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);

Convenient to store your belongings, no more clutter in your bag!

Features

The high quality cosmetic bag set offers you bags in different colors to neatly organize your little beauty essentials or other everyday items into place.

undefined

Magnet closure for small items, such as cash, coins, lipstick, earrings, necklaces, bank cards, headphone cables, etc.

undefined

This bag is easy to carry and the right size to fit in a pocket or handbag or even purse.

undefined

Durable Oxford cloth material withstands daily wear and tear. It is perfect for school and outing using.

undefined

SPECIFICATIONS

  • Material: Oxford cloth
  • Size: 13 x 12 x 5 cm
  • Weight: 18g

PACKAGE INCLUDES:

  • 2/9 PCS x Shrapnel Printing Lipstick Bag

NOTES

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.