Seagrove Straw Hat
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 += 'The new Seagrove Hat is a cross between our inner cowgirl—smart, savvy and strong—and our coastal dreamer. It’s made for packing – crush it right into your bag and then adjust the wire bring right back into shape. With an adjustable interior brim, 3 outer sash colors to choose from - this timeless hat is the perfect sunny day accessory.
- Wire around brim for adjustable styling
- Made with 100% Raffia straw
- Spot clean
- Imported
- Chambray sash
- Brim width 4”
- Available in 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.