Annabella Blouson Blouse
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 += 'Prepare for adventure with our Annabella Blouson Blouse. This effortless top is designed for versatility and comfort. Perfect for layering over a tank with jeans or shorts. Crafted from lightweight, soft, slightly sheer fabric, it features delicate gathers in the front and back, adding subtle sophistication to your look. The oyster buttons and mock collar enhance its refined appeal, while the blouson sleeves give it a relaxed look. Made from 100% cotton and crafted in Italy.
- Transitions perfectly into the evening
- Lightweight soft fabric
- Slightly sheer
- Oyster buttons
- Delicate gathers in the front and back
- Made with 100% cotton
- Machine wash cold and lay flat to dry, low iron or dry clean
- Made in Italy
- Front Length 25''
- Mock collar, full button-up
- Elbow-length oversized blouson sleeve
- Available in one size
- Models are 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.