${(function(){ const get_random_six_digits = () => { return Math.random().toString().slice(-6) }; const wholesale_enabled = false; const setting_product_image_display = "100%"; const product_image = data.image; const secondary_image = data.secondImage; const image_width = product_image.width; let image_height = product_image.height; if(setting_product_image_display == '100%'){ image_height = image_width }else if(setting_product_image_display == '133.33%'){ image_height = image_width * 1.3333; }; const product_image_hover_on = true && !!secondary_image.src; const has_save_label = false && ((+data.compare_at_price) > (+data.price)); const is_single_variant = data.variants.length == 1; const min_price_variant_href = (data.min_price_variant && data.min_price_variant.available) ? data.min_price_variant.url : data.url; const retail_price_max = data.retail_price_max || data.compare_at_price_max; const THUMBNAILS_MAX_SIZE = 3; const thumbnails = data.thumbVariants.slice(0, THUMBNAILS_MAX_SIZE); const image_wrap_id = 'image_wrap_' + get_random_six_digits(); const image_carousel_id = 'image_carousel_' + get_random_six_digits(); const thumbnails_selector_id = 'thumbnails_selector_' + get_random_six_digits(); const form_id = 'form_' + get_random_six_digits(); const mixed_wholesale = data.mixed_wholesale; return `
${ data.available ? `` : "Sold out" }
Mixed Lot
${data.title}
${ data.price_min != data.price_max ? `From
` : `
` }
+${data.remainInvisibleThumbCount}
` })()}
Search
Log in
Create an account
${data.data && data.data.count}
Home
Best Seller
Women
Rose Toys
Magic Wand Vibrators
G-Spot Vibrators
Clitoral Suction Vibrators
Dildos
Masturbation Eggs
Remote Control Vibrators
Lingerie for Women
Female Sex Toys
Men
Prostate Massagers
Masturbation Cup
Cock Rings
Anal Toys
Butt Plugs
Male Sex Toys
Couple
Couples Vibrators
Lubes
BDSM
Makeup Room
Scented Candles
New Arrivals
About Us
About Us
Contact Us
Infiuencer
More links
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 71713717, title: "Home", url: "\/", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 71713719, title: "Best Seller", url: "\/collections\/all-best-seller", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 71713721, title: "Women", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Rose Toys", url: "\/collections\/rose-toys-for-women", target: "", levels: 0, children: [ ] }, { title: "Magic Wand Vibrators", url: "\/collections\/magic-wand-vibrators-rq6u", target: "", levels: 0, children: [ ] }, { title: "G-Spot Vibrators", url: "\/collections\/g-spot-vibrators", target: "", levels: 0, children: [ ] }, { title: "Clitoral Suction Vibrators", url: "\/collections\/clitoral-suction-vibrators", target: "", levels: 0, children: [ ] }, { title: "Dildos", url: "\/collections\/dildos", target: "", levels: 0, children: [ ] }, { title: "Masturbation Eggs", url: "\/collections\/masturbation-eggs", target: "", levels: 0, children: [ ] }, { title: "Remote Control Vibrators", url: "\/collections\/remote-control-vibrators-ox74", target: "", levels: 0, children: [ ] }, { title: "Lingerie for Women", url: "\/collections\/lingerie-for-women", target: "", levels: 0, children: [ ] }, { title: "Female Sex Toys", url: "\/collections\/female", target: "", levels: 0, children: [ ] }, ] }, { id: 71713741, title: "Men", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Prostate Massagers", url: "\/collections\/p-m", target: "", levels: 0, children: [ ] }, { title: "Masturbation Cup", url: "\/collections\/masturbation-cup-vdte", target: "", levels: 0, children: [ ] }, { title: "Cock Rings", url: "\/collections\/cock-rings", target: "", levels: 0, children: [ ] }, { title: "Anal Toys", url: "\/collections\/anal-toys-butt-plug-for-couples", target: "", levels: 0, children: [ ] }, { title: "Butt Plugs", url: "\/collections\/butt-plugs", target: "", levels: 0, children: [ ] }, { title: "Male Sex Toys", url: "\/collections\/male", target: "", levels: 0, children: [ ] }, ] }, { id: 71713755, title: "Couple", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Couples Vibrators", url: "\/collections\/couples-vibrators", target: "", levels: 0, children: [ ] }, { title: "Lubes", url: "\/collections\/lubes", target: "", levels: 0, children: [ ] }, { title: "BDSM", url: "\/collections\/bdsm", target: "", levels: 0, children: [ ] }, { title: "Makeup Room", url: "\/collections\/makeup-room", target: "", levels: 0, children: [ ] }, { title: "Scented Candles", url: "\/collections\/scented-candles", target: "", levels: 0, children: [ ] }, ] }, { id: 71713767, title: "New Arrivals", url: "\/collections\/new-arrivals", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 71713769, title: "About Us", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "About Us", url: "\/pages\/about-pearlsvibe", target: "", levels: 0, children: [ ] }, { title: "Contact Us", url: "\/pages\/contact-us", target: "", levels: 0, children: [ ] }, { title: "Infiuencer", url: "\/pages\/lnfluencer", target: "", levels: 0, children: [ ] }, ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return `
${link.title}
${link.tag.label}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
Home
Best Seller
Women
Rose Toys
Magic Wand Vibrators
G-Spot Vibrators
Clitoral Suction Vibrators
Dildos
Masturbation Eggs
Remote Control Vibrators
Lingerie for Women
Female Sex Toys
Men
Prostate Massagers
Masturbation Cup
Cock Rings
Anal Toys
Butt Plugs
Male Sex Toys
Couple
Couples Vibrators
Lubes
BDSM
Makeup Room
Scented Candles
New Arrivals
About Us
About Us
Contact Us
Infiuencer
More links
${(function(){ const formatLinks = (links) => { return links.map(link => { link.tag = tags[link.title.toUpperCase()] || {}; link.target_attr = link.target == '_blank' ? 'target="_blank"' : ''; link.href_attr = link.url ? `href="${link.url}"` : ''; if(link.children && link.children.length){ link.children = formatLinks(link.children); } return link; }) }; const tags = "{}"; let linkList = [ { id: 71713717, title: "Home", url: "\/", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 71713719, title: "Best Seller", url: "\/collections\/all-best-seller", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 71713721, title: "Women", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Rose Toys", url: "\/collections\/rose-toys-for-women", target: "", levels: 0, children: [ ] }, { title: "Magic Wand Vibrators", url: "\/collections\/magic-wand-vibrators-rq6u", target: "", levels: 0, children: [ ] }, { title: "G-Spot Vibrators", url: "\/collections\/g-spot-vibrators", target: "", levels: 0, children: [ ] }, { title: "Clitoral Suction Vibrators", url: "\/collections\/clitoral-suction-vibrators", target: "", levels: 0, children: [ ] }, { title: "Dildos", url: "\/collections\/dildos", target: "", levels: 0, children: [ ] }, { title: "Masturbation Eggs", url: "\/collections\/masturbation-eggs", target: "", levels: 0, children: [ ] }, { title: "Remote Control Vibrators", url: "\/collections\/remote-control-vibrators-ox74", target: "", levels: 0, children: [ ] }, { title: "Lingerie for Women", url: "\/collections\/lingerie-for-women", target: "", levels: 0, children: [ ] }, { title: "Female Sex Toys", url: "\/collections\/female", target: "", levels: 0, children: [ ] }, ] }, { id: 71713741, title: "Men", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Prostate Massagers", url: "\/collections\/p-m", target: "", levels: 0, children: [ ] }, { title: "Masturbation Cup", url: "\/collections\/masturbation-cup-vdte", target: "", levels: 0, children: [ ] }, { title: "Cock Rings", url: "\/collections\/cock-rings", target: "", levels: 0, children: [ ] }, { title: "Anal Toys", url: "\/collections\/anal-toys-butt-plug-for-couples", target: "", levels: 0, children: [ ] }, { title: "Butt Plugs", url: "\/collections\/butt-plugs", target: "", levels: 0, children: [ ] }, { title: "Male Sex Toys", url: "\/collections\/male", target: "", levels: 0, children: [ ] }, ] }, { id: 71713755, title: "Couple", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "Couples Vibrators", url: "\/collections\/couples-vibrators", target: "", levels: 0, children: [ ] }, { title: "Lubes", url: "\/collections\/lubes", target: "", levels: 0, children: [ ] }, { title: "BDSM", url: "\/collections\/bdsm", target: "", levels: 0, children: [ ] }, { title: "Makeup Room", url: "\/collections\/makeup-room", target: "", levels: 0, children: [ ] }, { title: "Scented Candles", url: "\/collections\/scented-candles", target: "", levels: 0, children: [ ] }, ] }, { id: 71713767, title: "New Arrivals", url: "\/collections\/new-arrivals", target: "", levels: 0, product0: null || {}, children: [ ] }, { id: 71713769, title: "About Us", url: "", target: "", levels: 1, product0: null || {}, children: [ { title: "About Us", url: "\/pages\/about-pearlsvibe", target: "", levels: 0, children: [ ] }, { title: "Contact Us", url: "\/pages\/contact-us", target: "", levels: 0, children: [ ] }, { title: "Infiuencer", url: "\/pages\/lnfluencer", target: "", levels: 0, children: [ ] }, ] }, ].slice(offset); linkList = formatLinks(linkList); const hasChild = linkList.some(link => !!(link.children && link.children.length || link.product0.id)); return `
${link.title}
${link.tag.label}
${second_link.title}
${second_link.tag.label}
${third_links.title}
${third_links.tag.label}
${link.title}
${link.tag.label}
` })()}
Log in
Create an account
${data.data && data.data.count}
Search
${(function(){ if (data === undefined || typeof data !== 'string' || data == '') return '
'; const keyword = encodeURIComponent(data); return `
View more
Your search for '${data}' did not yield any results.
` })()}
Home
Best Seller
Women
Women
Rose Toys
Magic Wand Vibrators
G-Spot Vibrators
Clitoral Suction Vibrators
Dildos
Masturbation Eggs
Remote Control Vibrators
Lingerie for Women
Female Sex Toys
Men
Men
Prostate Massagers
Masturbation Cup
Cock Rings
Anal Toys
Butt Plugs
Male Sex Toys
Couple
Couple
Couples Vibrators
Lubes
BDSM
Makeup Room
Scented Candles
New Arrivals
About Us
About Us
About Us
Contact Us
Infiuencer
Log in
(function(){ let w = window.innerWidth; function setHeaderCssVar() { const headerEle = document.getElementById('shoplaza-section-header'); if(!headerEle){ return }; document.body.style.setProperty('--window-height', `${window.innerHeight}px`); document.body.style.setProperty('--header-height', `${headerEle.clientHeight}px`); const mdScorllHideEle = headerEle.querySelector('.header__mobile .header__scroll_hide'); if (mdScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-md', `${mdScorllHideEle.clientHeight}px`); } const pcScorllHideEle = headerEle.querySelector('.header__desktop .header__scroll_hide'); if (pcScorllHideEle) { document.body.style.setProperty('--header-scroll-hide-height-pc', `${pcScorllHideEle.clientHeight}px`); } } function handlResize() { if(w == window.innerWidth){return}; w = window.innerWidth; setHeaderCssVar(); }; function init(){ setHeaderCssVar(); window.removeEventListener('resize', window._theme_header_listener) window._theme_header_listener = handlResize; window.addEventListener('resize', window._theme_header_listener); } init(); })();
Login
Please enter your e-mail and password:
${data.errors && data.errors[0]}
Email
Email is required
Please enter a valid email.
Password
Password is required.
Password must be between 6-16 characters long.
Forgot password?
Sign in
${ Object.keys((data && data.login_setting) || {}) .map(type => `
`) .join("") }
Login for more discounts
View Cart
${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { product_change_event = product_change_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`; mouse_over_event = mouse_over_event + `@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.rerender(data=event);"`; } const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Sold out" : "Add to cart"; return `
${statusLan}
` }()}
${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return `
Retail
` }()}
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = null; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `
` }else { const price = variantData && variantData.price; return price != undefined ? `
` : '
'; } }()}
${function() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image_with_text"; return `
${optionName}:
${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
` }).join('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `
${value}
` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}
View Cart
${function(){ const productData = data.product; let product_change_event = '', mouse_over_event = ' '; mouse_out_event = ''; const product_options = productData.options.filter(Boolean) || []; for (let opt of product_options) { product_change_event = product_change_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectedValues.${opt.name});`; mouse_out_event = mouse_out_event + `quick-shop-selected-variant-${opt.name}.rerender(data=event.selectData.${opt.name});`; mouse_over_event = mouse_over_event + `@${opt.name}Mouseover="quick-shop-selected-variant-${opt.name}.rerender(data=event);"`; } const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0]; const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ? "Sold out" : "Add to cart"; return `
${statusLan}
` }()}
${function(){ const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const variantData = currentSelectVariant || defaultVariant || data; const retail_price = variantData.retail_price || 0; return `
Retail
` }()}
${function(){ const wholesale_enabled = false; const qty = data.quantity || 1; const currentSelectVariant = data.variant; const defaultVariant = (data.product && data.product.variants && data.product.variants[0]); const productVariant = null; const variantData = currentSelectVariant || defaultVariant || productVariant; const wholesale_price = variantData.wholesale_price || []; if(wholesale_enabled && wholesale_price.length > 0) { let wholesaleIndex = wholesale_price.findIndex(item => { return item.min_quantity > qty; }); if(wholesaleIndex < 0){ wholesaleIndex = wholesale_price.length - 1; }else if(wholesaleIndex > 0){ wholesaleIndex = wholesaleIndex - 1; } const wholesalePrice = wholesale_price[wholesaleIndex] || ''; return `
` }else { const price = variantData && variantData.price; return price != undefined ? `
` : '
'; } }()}
${function() { let variantImageShowed = false; const currentProduct = data.product; return (currentProduct.options || []).map((option, index) => { const optionName = option.name || ''; const position = `option${index + 1}`; let isThumbImage = false; if (currentProduct.need_variant_image && !variantImageShowed) { const variantNames = ["color"] || []; for (let i = 0, len = variantNames.length; i < len; i++) { const name = variantNames[i].toLowerCase(); if (name === optionName.toLowerCase()) { isThumbImage = true; variantImageShowed = true; } } } const variantType = "button"; const thumbStyle = "image_with_text"; return `
${optionName}:
${option.values.map((value, idx) => { const selected = data.selectedValues[optionName] == value ? 'checked' : ''; let thumbImage = null; if (isThumbImage) { const variants = currentProduct.variants; for (let i = 0, len = variants.length; i < len; i++) { const variant = variants[i]; if (variant[position] == value && thumbImage == null) { thumbImage = variant.image; break; } } } return `
${value}
` }).join('')}
${optionName}
${option.values.map(value => { const selected = data.selectedValues[optionName] == value ? 'selected' : ''; return `
${value}
` }).join('')}
` }).join(''); }()}
${data.originData && data.originData.value || data.value}