Vintage-style Gemstone Jewelry
-
${chips.map(chip => ``).join('')}
`
: `
`}
`).join('')}${set.label}
${set.type === 'range' ? (() => {
const rangeMin = Math.ceil(Number(set.min));
const rangeMax = Math.ceil(Number(set.max));
const clampToRange = n => Math.min(Math.max(n, rangeMin), rangeMax);
const applied = (window.collection?.filters?.applied?.[set.key] || [])[0];
const bounds = String(applied ?? '').match(/^(-?[\d.]+)-(-?[\d.]+)$/);
const readBound = (raw, fallback) => Number.isFinite(Number(raw)) ? clampToRange(Math.round(Number(raw))) : fallback;
const lo = bounds ? readBound(bounds[1], rangeMin) : rangeMin;
const hi = bounds ? readBound(bounds[2], rangeMax) : rangeMax;
const span = (rangeMax - rangeMin) || 1;
const rate = Shopify.currency.rate || 1;
const cf = new Intl.NumberFormat(Shopify.locale, { style: 'currency', currency: Shopify.currency.active, maximumFractionDigits: 0 });
const sym = cf.formatToParts(0).find(part => part.type === 'currency')?.value || '';
const gf = new Intl.NumberFormat(Shopify.locale, { maximumFractionDigits: 0 });
const disp = n => gf.format(Math.round(Number(n) * rate));
const bound = n => Math.round(Number(n) * rate);
return `
`;
})() : set.type === 'swatch' ? `
`).join('')}
`}
${(set.options || []).filter(option => {
if (!option.depth) return true;
const applied = window.collection?.filters?.applied || {};
const selfApplied = (applied[option.filterKey || set.key] || []).includes(option.value);
const parentValue = option.value.includes(';') ? option.value.split(';').slice(0, -1).join(';') : '';
const parentChecked = Object.values(applied).some(vals => (vals || []).includes(parentValue));
return parentChecked || selfApplied;
}).map(option => `
`).join('')}
` : `
${(set.options || []).filter(option => {
if (!option.depth) return true;
const applied = window.collection?.filters?.applied || {};
const selfApplied = (applied[option.filterKey || set.key] || []).includes(option.value);
const parentValue = option.value.includes(';') ? option.value.split(';').slice(0, -1).join(';') : '';
const parentChecked = Object.values(applied).some(vals => (vals || []).includes(parentValue));
return parentChecked || selfApplied;
}).map(option => `
Standard collection products are shown. Personalized filters and sorting are unavailable.
CLEARANCE
15.40 ct. t.w. London and Sky Blue and White Topaz Bracelet with Blue Enamel in 18kt Gold Over Sterling
$579
CLEARANCE
Larimar Ring with Diamonds in Sterling Silver
$199
CLEARANCE
Green Chalcedony and .50 ct. t.w. White Topaz Bracelet with Black Enamel in 18kt Gold Over Sterling
2 Choices
$499
CLEARANCE
CLEARANCE
28.65 ct. t.w. Multi-Gemstone Art Deco-Style Necklace with Black Enamel in 18kt Gold Over Sterling
$739
CLEARANCE
No matching products
`
: Array(36).fill(0).map((_, index) => `
`))
)}
{% if collection.pagination.pages.size > 1 %}
{% assign current_page = collection.page %}
{% assign total_pages = collection.pagination.pages.size %}
{% assign start_page = current_page | minus: 2 %}
{% if start_page < 1 %}{% assign start_page = 1 %}{% endif %}
{% assign end_page = current_page | plus: 2 %}
{% if end_page > total_pages %}{% assign end_page = total_pages %}{% endif %}
{% endif %}
-
${chips.map(chip => ``).join('')}
`
: `
`}
`).join('')}${set.label}
${set.type === 'range' ? (() => {
const rangeMin = Math.ceil(Number(set.min));
const rangeMax = Math.ceil(Number(set.max));
const clampToRange = n => Math.min(Math.max(n, rangeMin), rangeMax);
const applied = (window.collection?.filters?.applied?.[set.key] || [])[0];
const bounds = String(applied ?? '').match(/^(-?[\d.]+)-(-?[\d.]+)$/);
const readBound = (raw, fallback) => Number.isFinite(Number(raw)) ? clampToRange(Math.round(Number(raw))) : fallback;
const lo = bounds ? readBound(bounds[1], rangeMin) : rangeMin;
const hi = bounds ? readBound(bounds[2], rangeMax) : rangeMax;
const span = (rangeMax - rangeMin) || 1;
const rate = Shopify.currency.rate || 1;
const cf = new Intl.NumberFormat(Shopify.locale, { style: 'currency', currency: Shopify.currency.active, maximumFractionDigits: 0 });
const sym = cf.formatToParts(0).find(part => part.type === 'currency')?.value || '';
const gf = new Intl.NumberFormat(Shopify.locale, { maximumFractionDigits: 0 });
const disp = n => gf.format(Math.round(Number(n) * rate));
const bound = n => Math.round(Number(n) * rate);
return `
`;
})() : set.type === 'swatch' ? `
`).join('')}
`}
${(set.options || []).filter(option => {
if (!option.depth) return true;
const applied = window.collection?.filters?.applied || {};
const selfApplied = (applied[option.filterKey || set.key] || []).includes(option.value);
const parentValue = option.value.includes(';') ? option.value.split(';').slice(0, -1).join(';') : '';
const parentChecked = Object.values(applied).some(vals => (vals || []).includes(parentValue));
return parentChecked || selfApplied;
}).map(option => `
`).join('')}
` : `
${(set.options || []).filter(option => {
if (!option.depth) return true;
const applied = window.collection?.filters?.applied || {};
const selfApplied = (applied[option.filterKey || set.key] || []).includes(option.value);
const parentValue = option.value.includes(';') ? option.value.split(';').slice(0, -1).join(';') : '';
const parentChecked = Object.values(applied).some(vals => (vals || []).includes(parentValue));
return parentChecked || selfApplied;
}).map(option => `
Standard collection products are shown. Personalized filters and sorting are unavailable.
CLEARANCE
15.40 ct. t.w. London and Sky Blue and White Topaz Bracelet with Blue Enamel in 18kt Gold Over Sterling
$579
CLEARANCE
Larimar Ring with Diamonds in Sterling Silver
$199
CLEARANCE
Green Chalcedony and .50 ct. t.w. White Topaz Bracelet with Black Enamel in 18kt Gold Over Sterling
2 Choices
$499
CLEARANCE
CLEARANCE
28.65 ct. t.w. Multi-Gemstone Art Deco-Style Necklace with Black Enamel in 18kt Gold Over Sterling
$739
CLEARANCE
No matching products
`
: Array(36).fill(0).map((_, index) => `
`))
)}
{% if collection.pagination.pages.size > 1 %}
{% assign current_page = collection.page %}
{% assign total_pages = collection.pagination.pages.size %}
{% assign start_page = current_page | minus: 2 %}
{% if start_page < 1 %}{% assign start_page = 1 %}{% endif %}
{% assign end_page = current_page | plus: 2 %}
{% if end_page > total_pages %}{% assign end_page = total_pages %}{% endif %}
{% endif %}