Tribal Pattern 3 Piece Womens Tankini with Shorts Athletic with Bra
${function() {
const variantData = data.variant || {"id":"c6b8431e-3099-494c-b572-e02e13f89cbf","product_id":"521cd753-e1ba-4e12-a77e-56f18e57945b","title":"Tribal Pattern-XS","weight_unit":"kg","inventory_quantity":987,"sku":"TKTANKINI0711022-Tribal Pattern-XS","barcode":"","position":1,"option1":"Tribal Pattern","option2":"XS","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/967b8462f2ecb9b00c15a7d02dd1e37a.jpeg","path":"967b8462f2ecb9b00c15a7d02dd1e37a.jpeg","width":1680,"height":2100,"alt":"","aspect_ratio":0.8},"wholesale_price":[{"price":41.99,"min_quantity":1}],"weight":"0.2","compare_at_price":"58.99","price":"41.99","retail_price":"58.99","available":true,"url":"\/products\/tribal-pattern-3-piece-womens-tankini-with-shorts-athletic-with-bra?variant=c6b8431e-3099-494c-b572-e02e13f89cbf","available_quantity":987,"options":[{"name":"Color","value":"Tribal Pattern"},{"name":"Size","value":"XS"}],"off_ratio":"29","flashsale_info":{"variant_id":"c6b8431e-3099-494c-b572-e02e13f89cbf","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"41.99","compare_at_price":"","discount_price":"41.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"29","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const saveType = "amount";
const productLabelDiscountOn = true;
return `
-
${saveType == 'percentage'
? `-${variantData.off_ratio}%`
: `-`
}
`;
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function(){
const tipText = "Please select a {{ name }}".replace(/\{\{\s+name\s+\}\}/g, data);
return `${tipText}
`
}()}
${function() {
const minDays = parseInt('6');
const maxDays = parseInt('12');
const customText = "Estimated Delivery\uff1a{min_date} - {max_date}";
const minDate = new Date(Date.now() + (minDays * 86400000));
const maxDate = new Date(Date.now() + (maxDays * 86400000));
const formatDate = (minDate.getFullYear() == maxDate.getFullYear() && minDate.getFullYear() == new Date().getFullYear())
? new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit' })
: new Intl.DateTimeFormat('en', { month: 'short', day: '2-digit', year: 'numeric' });
const tipText = customText.replace(/\{min_date\}/g, '' + formatDate.format(minDate) + '')
.replace(/\{max_date\}/g, '' + formatDate.format(maxDate) + '');
return `
${tipText}
`;
}()}
${function() {
const postageFreeAmount = 69;
const custom_text = "Buy {amount} more to enjoy FREE Shipping";
const totalPrice = +data.total_price;
const diffPrice = postageFreeAmount - totalPrice;
const percentDiff = (diffPrice > 0 ? (totalPrice / postageFreeAmount * 100) : 100) + '%';
let tipText = "Your order is free delivery";
if (diffPrice > 0) {
tipText = custom_text.replace('{amount}', `
`);
}
return `
`;
}()}
Product was out of stock.
Product is unavailable.
/** @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);
${data.module_title}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
${item.content.replaceAll("{store_name}","tankiniskirt")}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
Sku : TKTANKINI0711022-Tribal Pattern-XS
Weight : 0.2kg
${function(){
const variantData = data.variant || {"id":"c6b8431e-3099-494c-b572-e02e13f89cbf","product_id":"521cd753-e1ba-4e12-a77e-56f18e57945b","title":"Tribal Pattern-XS","weight_unit":"kg","inventory_quantity":987,"sku":"TKTANKINI0711022-Tribal Pattern-XS","barcode":"","position":1,"option1":"Tribal Pattern","option2":"XS","option3":"","note":"","image":{"src":"\/\/img.staticdj.com\/967b8462f2ecb9b00c15a7d02dd1e37a.jpeg","path":"967b8462f2ecb9b00c15a7d02dd1e37a.jpeg","width":1680,"height":2100,"alt":"","aspect_ratio":0.8},"wholesale_price":[{"price":41.99,"min_quantity":1}],"weight":"0.2","compare_at_price":"58.99","price":"41.99","retail_price":"58.99","available":true,"url":"\/products\/tribal-pattern-3-piece-womens-tankini-with-shorts-athletic-with-bra?variant=c6b8431e-3099-494c-b572-e02e13f89cbf","available_quantity":987,"options":[{"name":"Color","value":"Tribal Pattern"},{"name":"Size","value":"XS"}],"off_ratio":"29","flashsale_info":{"variant_id":"c6b8431e-3099-494c-b572-e02e13f89cbf","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"41.99","compare_at_price":"","discount_price":"41.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"29","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
return `
Sku : ${variantData && variantData.sku}
Weight : ${variantData && variantData.weight}${variantData && variantData.weight_unit}
Barcode : ${variantData && variantData.barcode}
`
}()}
- 85% Polyester, 15% Spandex
- Elastic closure
- Hand Wash Only
- 【Womens Swimsuits】: Swim tank top + sports bra + boy shorts. Trendy 3 piece bathing suit offers you a playful range of combination, such as modest tankini swimsuits built-in padded bra or only one piece swim bra top matches with swim shorts.
- 【Athletic Swimsuits for Women】: Black scoop neck tankini top will perfectly cover your stomach, show the curve and fashional sporty style. With athletic three pieces you can choose if you want to show your belly or not.
- 【Tankini Swimsuits for Women】: Casual tankini set is made of great quality fabric. 85% Polyester, 15% Spandex, very soft and quick-drying to wear and easy to clean.
- 【Bikini with Shorts】: Perfect for women, teens, girls, juniors, ladies, moms. Sexy bikini top with criss cross back design matches with tummy control boyshort is suitable for sports, beach, swimming, pool, party and other occasions.
- 【SIZE】: We specially designed nine US sizes: XS (US 0-2), S (US 4-6), M (US 8-10), L (US 12-14), XL (US 16), XXL (US 18), 18 Plus (US 18W), 20 Plus (US 20W), 22 Plus (US 22W). Please refer to the size measurement chart to find the best size before you purchase.