Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
2/14
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
Large Capacity Travel Cosmetic Bag
2/14

Large Capacity Travel Cosmetic Bag

$26.99
$26.99
Save $0.00
Style
Please select a style
Quantity
Over $49.99 Free Shipping
30-day Zero-risk Return
100% Customer Satisfaction
Secure Payments
Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.

Large capacity storage for all the cosmetics you want to bring on a trip, and a delicate trip.

Large opening designeasy to find cosmetics and access.

Double layer cosmetic bag in creamy leather that's soft and premium like a cloud.

We pay attention to every stitch, every detail, from designing, to thinking and selecting materials, just to provide customers with better cosmetic bags.

Features

Large Capacity -- Multi-compartment/ double-layer design with a super large capacity can hold all the cosmetics and makeup tools you need. Separate storage keeps everything in order and mess-free.

Large Opening for Easy Access -- At the opening of the makeup bag a steel wire is inserted inside, which can make the bag more three-dimensional and more comfortable to fetch, it's a good travel makeup bag.

High-quality Materials -- Made of premium PU leather fabric, the special water-resistant surface to prevent internal products from getting wet.

Multifunctional Storage Makeup Bag -- This makeup bag not only stores your cosmetics, but also jewelry, electronic accessories, camera, essential oil, toiletries, shaving kit, glasses, valuable objects, and so on.

Convenient and Durable Handle -- The zipper of the makeup travel bag opening design is reasonable, it's an easy to carry and very practical zipper pouch.

Wonderful Gift -- Perfect for daily use or travel. It would be a great gift for women and girls on Mother's day /Women's day /Christmas /Birthday /Festival / Anniversary / Valentine's Day.

SPECIFICATION 

  • Weight: About 290G
  • Color: Pink, Cinnamon Milk, Brown / Double White, Double Pink, Double Yellow
  • Material:PU
  • Size:11*23.5*10.5cm/18*24*14cm
  • Includes: Large capacity travel cosmetic bag x 1.

Note

  • 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.