Provence Kaftan
Color:
- {
const colors = [...$root.children].map(child => child.dataset.color);
let list = []
let labeledGroups = []
const labels = []
// parse the sequence of labels/colors into an array of objects
for (let i = 0; i < labels.length; i++) {
if (i%2) {
list.push({
title: labels[i],
value: labels[i-1]
})
}
}
// merge objects with same title
list.forEach(el => {
if (labeledGroups.some(g => g.title.toLowerCase() == el.title.toLowerCase())) {
labeledGroups.find(g => g.title.toLowerCase() == el.title.toLowerCase()).values.push(el.value)
} else {
labeledGroups.push({
title: el.title,
values: [el.value]
})
}
})
// if any of the title is 'sale colors', move it to the bottom
if (labeledGroups.some(g => g.title.toLowerCase() == 'sale colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'sale colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'sale colors')
labeledGroups.unshift(classicColors)
}
// if any of the title is 'classic colors', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase() == 'classic colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'classic colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'classic colors')
labeledGroups.unshift(classicColors)
}
// if any of the title is 'new seasonal colors', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase() == 'new seasonal colors')) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase() == 'new seasonal colors')
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase() != 'new seasonal colors')
labeledGroups.unshift(classicColors)
}
// if any of the title contains 'new!', move it to the top
if (labeledGroups.some(g => g.title.toLowerCase().includes('new!'))) {
const classicColors = labeledGroups.find(g => g.title.toLowerCase().includes('new!'))
labeledGroups = labeledGroups.filter(g => g.title.toLowerCase().includes('new!') - 1)
labeledGroups.unshift(classicColors)
}
// add all html elements matching the color value
labeledGroups.forEach(group => {
group.items = []
group.values.forEach(value => {
group.items.push([...$root.children].filter(child => child.dataset.color == value)[0])
})
});
labeledGroups.unshift(groups[0])
labeledGroups.forEach(group => {
const el = document.createElement('li');
if (group.title) {
el.innerHTML = '
' + group.title + '
'; el.querySelector('p').className = 'sm-feat-cap mb-[5px] mt-[10px]'; } if (group.title == 'SALE COLORS') { el.innerHTML = '' + group.title + '
'; el.querySelector('p').className = 'sm-feat-cap text-red mb-[5px] mt-[10px]'; } el.innerHTML += 'Embrace effortless elegance with the Provence Kaftan. Perfect for layering over a swimsuit by day or dressing up with heels for an evening out. Made in Italy from 100% linen, it offers breathable comfort with a luxurious feel, making it an essential for warm-weather dressing. Designed with an oversized fit, featuring a deep V-neckline and relaxed short sleeves. The maxi length and side slits add a touch of drama, while the subtle seam along the back and convenient pockets enhance its functionality.
- Comes with pockets
- Seam along the back
- Made with 100% linen
- Machine wash cold and lay flat to dry, low iron or dry clean
- Made in Italy
- Chest 24'', Length 52''
- Deep v-neckline
- Relaxed short sleeve
- Side slits
- Maxi length
- Available in one size
- Models is 5’10 and wearing one size
Shipping:
For all US customers, we offer Expedited Shipping (2-business days) and Standard Shipping (2 - 5 business days). For international customers, we offer Standard Shipping (3 - 5 business days).Â
All orders are processed on the same day or the next business day (excluding weekends or holidays) from our Kansas warehouse. Please visit our shipping page for more details on tracking, import charges and more.
See all shipping details here.
Â
Returns & exchanges:
Exchanges and returns for store credit are free and are honored for 30 days from the date of receipt. Returns for refunds are honored for 30 days from the date of receipt and have a $7.99 shipping label fee.