← back to Dw Substitute Viewer
left rail: all.dw-style facet filters (vendor/material/style/color/status) + search + 1-2-3 priority ranker replacing sliders + density 3-12
813b5400468f1b45b88810cc3123cc6b32442864 · 2026-07-07 15:23:36 -0700 · Steve
Files touched
Diff
commit 813b5400468f1b45b88810cc3123cc6b32442864
Author: Steve <steve@designerwallcoverings.com>
Date: Tue Jul 7 15:23:36 2026 -0700
left rail: all.dw-style facet filters (vendor/material/style/color/status) + search + 1-2-3 priority ranker replacing sliders + density 3-12
---
index.html | 199 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 157 insertions(+), 42 deletions(-)
diff --git a/index.html b/index.html
index a64d306..27e4c62 100644
--- a/index.html
+++ b/index.html
@@ -4,9 +4,36 @@
:root{--cols:5;--ink:#1c1a17;--muted:#8a8178;--line:#e7e1d8;--bg:#faf7f2;--accent:#b4531f}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
header{padding:24px 32px 16px;border-bottom:1px solid var(--line);background:#fff}
-h1{margin:0 0 3px;font-size:21px;font-weight:600}.sub{color:var(--muted);font-size:13px}
-.wrap{max-width:1440px;margin:0 auto;padding:22px 32px 96px}
-.orig{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:14px 16px;margin:18px 0 6px}
+h1{margin:0;font-size:21px;font-weight:600}.sub{color:var(--muted);font-size:13px}
+.htop{max-width:1520px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px}
+input[type=search]{flex:1;max-width:460px;font:inherit;font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
+.topwrap{max-width:1520px;margin:0 auto;padding:16px 24px 0}
+.wrap{max-width:1520px;margin:0 auto;padding:14px 24px 96px;display:flex;gap:18px;align-items:flex-start}
+aside#rail{width:248px;flex:0 0 248px;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow-y:auto;padding-bottom:40px}
+main{flex:1;min-width:0}
+/* collapsible facet sections */
+details.sec{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;background:#fff}
+details.sec>summary{list-style:none;cursor:pointer;user-select:none;padding:9px 11px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:7px}
+details.sec>summary::-webkit-details-marker{display:none}
+details.sec>summary::before{content:'▸';color:var(--accent);font-size:10px}
+details.sec[open]>summary::before{content:'▾'}
+details.sec>summary .n{margin-left:auto;background:var(--accent);color:#fff;border-radius:20px;padding:0 7px;font-size:10px;font-weight:700}
+.fbody{padding:3px 10px 10px}
+.fitem{display:flex;align-items:center;gap:8px;padding:3px 3px;cursor:pointer;font-size:12.5px;color:var(--ink);border-radius:5px}
+.fitem:hover{background:var(--bg)}
+.fitem .box{width:14px;height:14px;flex:0 0 14px;border:1px solid var(--muted);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}
+.fitem.on .box{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
+.fitem.on{color:var(--accent);font-weight:600}
+.fitem .lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
+.fitem .sw{position:static;width:11px;height:11px;border-radius:3px;flex:0 0 11px;border:1px solid rgba(0,0,0,.15);padding:0;background:transparent}
+.fitem .ct{color:var(--muted);font-size:10.5px}
+.more{color:var(--accent);font-size:11.5px;cursor:pointer;padding:4px 3px;display:inline-block;font-weight:600}
+.ffind{width:100%;padding:5px 8px;font:inherit;font-size:11.5px;border:1px solid var(--line);border-radius:6px;margin:2px 0 6px}
+.active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
+.afilter{background:#f3e7dd;border:1px solid var(--accent);color:var(--ink);border-radius:20px;padding:3px 9px;font-size:11px;cursor:pointer}
+.afilter b{color:var(--accent);font-weight:700}
+.clearall{background:none;border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:3px 11px;font-size:11px;cursor:pointer}
+.orig{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:14px 16px}
.orig img{width:110px;height:110px;object-fit:cover;border-radius:8px;background:#eee}
.origleft{display:flex;flex-direction:column;gap:7px;width:110px;flex-shrink:0}
.gobtn.wide{width:100%;justify-content:center;text-align:center;padding:7px 6px;background:var(--accent);color:#fff;border-color:var(--accent)}
@@ -17,15 +44,22 @@ h1{margin:0 0 3px;font-size:21px;font-weight:600}.sub{color:var(--muted);font-si
.imgurl span{font-size:11px;color:var(--muted);width:74px}
.gobtn{font:inherit;font-size:11px;font-weight:600;border:1px solid var(--line);background:#efe9e0;color:#1c1a17;border-radius:6px;padding:4px 9px;cursor:pointer;white-space:nowrap}
.gobtn:disabled{opacity:.4;cursor:default}
-.panel{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:18px 0 14px}
-.ctl{display:flex;flex-direction:column;gap:4px;min-width:150px}
-.ctl label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between}
-.ctl b{color:var(--accent);font-variant-numeric:tabular-nums}
-input[type=range]{width:170px;accent-color:var(--accent)}
+input[type=range]{width:100%;accent-color:var(--accent)}
select{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}
-.reset{margin-left:auto;align-self:center;font-size:12px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}
+.prionote{font-size:10.5px;color:var(--muted);line-height:1.45;margin:1px 0 8px}
+.prow{display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;background:var(--bg)}
+.prow .rk{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
+.prow .pn{flex:1;font-size:13px;font-weight:600}
+.prow .pnb{font-size:10.5px;color:var(--muted);font-weight:400}
+.prow .ar{display:flex;flex-direction:column;gap:2px}
+.prow .ar button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:5px;width:22px;height:15px;line-height:1;cursor:pointer;font-size:10px;padding:0}
+.prow .ar button:disabled{opacity:.3;cursor:default}
+.dispctl{display:flex;flex-direction:column;gap:3px;margin-top:10px}
+.dispctl label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between}
+.dispctl b{color:var(--accent);font-variant-numeric:tabular-nums}
+.reset{margin-top:10px;width:100%;font-size:12px;color:var(--muted);background:none;border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}
.count{color:var(--muted);font-size:13px;margin:0 0 10px}
-.grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:16px}
+.grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s;position:relative}
.card:hover{box-shadow:0 8px 22px rgba(0,0,0,.09);transform:translateY(-2px)}
.card.sel{outline:2px solid var(--accent);outline-offset:-2px}
@@ -73,21 +107,32 @@ footer{color:var(--muted);font-size:12px;margin-top:28px;text-align:center}
.sheet .foot .go{background:var(--accent);color:#fff}.sheet .foot .sec{background:#efe9e0;color:#1c1a17}
.sheet .foot .x{margin-left:auto;background:transparent;color:var(--muted);border:1px solid var(--line)}
</style></head><body>
-<header><h1>Substitute Finder</h1><div class="sub">Nearest ACTIVE / DRAFT alternatives from the full dw_unified catalog · archived items never shown · drag the sliders to re-weight, tick items to draft a client letter</div></header>
-<div class="wrap"><div class="orig" id="orig"></div>
-<div class="panel" id="panel">
- <div class="ctl"><label>Material <b id="vMat"></b></label><input type="range" id="wMat" min="0" max="100"></div>
- <div class="ctl"><label>Color name <b id="vCol"></b></label><input type="range" id="wCol" min="0" max="100"></div>
- <div class="ctl"><label>Style <b id="vSty"></b></label><input type="range" id="wSty" min="0" max="100"></div>
- <div class="ctl"><label>Hue match <b id="vHue"></b></label><input type="range" id="wHue" min="0" max="100"></div>
- <div class="ctl"><label>Target hue <b id="vTgt"></b></label><input type="range" id="tHue" min="0" max="359"></div>
- <div class="ctl"><label>Show <b id="vShow"></b></label><input type="range" id="show" min="10" max="50" step="5"></div>
- <div class="ctl"><label>Density <b id="vDen"></b></label><input type="range" id="den" min="3" max="7" step="1"></div>
- <button class="reset" id="reset">Reset</button>
+<header><div class="htop"><h1>Substitute Finder</h1>
+ <input type="search" id="q" placeholder="Search title, SKU, vendor, color…">
+ <span class="sub">ACTIVE / DRAFT only · archived never shown</span></div></header>
+<div class="topwrap"><div class="orig" id="orig"></div></div>
+<div class="wrap">
+ <aside id="rail">
+ <div class="active" id="activeRow"></div>
+ <details class="sec" open data-k="prio"><summary>Match priority</summary><div class="fbody">
+ <div class="prionote">Number each 1–3 by importance (1 = most). Reorder with ↑ ↓.</div>
+ <div id="prioList"></div>
+ <div class="dispctl"><label>Show <b id="vShow"></b></label><input type="range" id="show" min="10" max="50" step="5"></div>
+ <div class="dispctl"><label>Density <b id="vDen"></b></label><input type="range" id="den" min="3" max="12" step="1"></div>
+ <button class="reset" id="reset">Reset</button>
+ </div></details>
+ <details class="sec" open data-k="vendor"><summary>Vendor<span class="n" id="nVendor"></span></summary><div class="fbody" id="vendorRow"></div></details>
+ <details class="sec" data-k="material"><summary>Material<span class="n" id="nMaterial"></span></summary><div class="fbody" id="matRow"></div></details>
+ <details class="sec" data-k="style"><summary>Style<span class="n" id="nStyle"></span></summary><div class="fbody" id="styleRow"></div></details>
+ <details class="sec" data-k="color"><summary>Color<span class="n" id="nColor"></span></summary><div class="fbody" id="colorRow"></div></details>
+ <details class="sec" data-k="status"><summary>Status<span class="n" id="nStatus"></span></summary><div class="fbody" id="statusRow"></div></details>
+ </aside>
+ <main>
+ <div class="count" id="count"></div>
+ <div class="grid" id="grid"></div>
+ <footer>Ranked by your Match priority (Color · Style · Material). Tick 1+ cards → Draft letter. Cards link to the live product page.</footer>
+ </main>
</div>
-<div class="count" id="count"></div>
-<div class="grid" id="grid"></div>
-<footer>Ranked by material + color + style + hue parity. Tick 1+ cards → Draft letter. Cards link to the live product page.</footer></div>
<div class="bar" id="bar"><b id="barN">0 selected</b><span>substitutes chosen for the client letter</span>
<span class="sp"></span><button class="clr" id="barClr">Clear</button><button class="go" id="barGo">Draft letter →</button></div>
@@ -110,8 +155,9 @@ footer{color:var(--muted);font-size:12px;margin-top:28px;text-align:center}
</div></div>
<script>
-let T={"sku": "FVH-40402", "title": "Hairly Hide - Faux Vinyl Hide - Burnt Orange Spice | Hollywood Wallcoverings", "vendor": "Hollywood Wallcoverings", "status": "ACTIVE", "color": "Clay", "hue": 18, "hex": "#b4531f", "material": "Faux Leather / Hide", "style": "Textured / Solid", "handle": "hairly-hide-faux-vinyl-hide-wallpaper-burnt-orange-spice-fvh-40402", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fvh-40402-sample-hairly-hide-faux-vinyl-hide-burnt-orange-spice-hollywood.jpg?v=1775715526", "tags": "Architectural, Bold, Brown, Class A Fire Rated, color:Clay, Commercial, Contemporary, Faux Finish, Hollywood Wallcoverings, Orange, Textured, Vinyl, Wallcovering"}, SUBS=[{"sku": "CFL - 5076", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Orange", "status": "ACTIVE", "handle": "milano-classic-faux-leather-orange-cfl-5076", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4906d2608161d40126f2b588c4c79069.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Paprika", "hue": 16, "hex": "#a63a1e", "neutral": false}, {"sku": "GLA - 5332", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - FireRed", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-firered-gla-5332", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3b38dbec1b0d007d2359bfa6b7006ac0.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Red", "hue": 30, "hex": "#c0392b", "neutral": true}, {"sku": "CFL - 5074", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Pumpkin", "status": "ACTIVE", "handle": "milano-classic-faux-leather-pumpkin-cfl-5074", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0699b41e9407eb99979537738385e380.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Tobacco", "hue": 24, "hex": "#d2691e", "neutral": false}, {"sku": "PEV - 5101", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Acorn", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-acorn-pev-5101", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.14.54AM.png?v=1698851702", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Copper", "hue": 22, "hex": "#b87333", "neutral": false}, {"sku": "Crocodile - Caramel", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Caramel", "status": "ACTIVE", "handle": "crocodile-faux-leather-caramel-crocodile-caramel", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4ed459ca842ad94f51b80ebaa49bf9cc.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Cognac", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "WOV - 5055", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Birch", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-birch-wov-5055", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fd62649d0170269cd50ba077f2f1a23b.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "PEV - 5106", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Caramel", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-caramel-pev-5106", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/25cbd9a306029f77407378dae1e6f2c9.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "GFL - 5200", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Birch", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-birch-gfl-5200", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8c267dd36699a7f3c791bbb6ae383373.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "GLA - 5338", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Canary", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-canary-gla-5338", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9eeaa79f725be3ff154c50fc3b75442f.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "GFL - 5198", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Brick", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-brick-gfl-5198", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/884ce1a345b3a66dd27a4f3a5325aedc.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 12, "hex": "#8b3a2f", "neutral": false}, {"sku": "WOV - 5044", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Orange", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-orange-wov-5044", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3d292ba8c9dd855be260e5fb89729a13.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Rust", "hue": 25, "hex": "#e2711d", "neutral": false}, {"sku": "NTT - 5282", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Orange", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-orange-ntt-5282", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/bac0947ff4812d10804b4324f167e139.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Amber", "hue": 25, "hex": "#e2711d", "neutral": false}, {"sku": "CFL - 5080", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Bronze", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-bronze-cfl-5080", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a03b302409147fe02f0e405d6bd9e166.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Ebony", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "PEV - 5105", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - BronzeKettle", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-bronzekettle-pev-5105", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.15.57AM.png?v=1698851765", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Taupe", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "AFL - 5115", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Toast", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-toast-afl-5115", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7310c98d742ef8ff139bff9f97afbd91.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Bronze", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "NTT - 5284", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Dune", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-dune-ntt-5284", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/1949b5751e0f6845ac05962789851893.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Bronze", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "SFL - 5317", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Camel", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-camel-sfl-5317", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d647594b41f56cd09100c5def0be6fdf.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Bronze", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "NTT - 5272", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Olive", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-olive-ntt-5272", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/79441d9599674c7de948203ac28bc875.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Moss", "hue": 80, "hex": "#7a7a2e", "neutral": false}, {"sku": "CFL - 5077", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Nutmeg", "status": "ACTIVE", "handle": "milano-classic-faux-leather-nutmeg-cfl-5077", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/706b9e15eedc4b304ca0062646d6b1a0.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Mocha", "hue": 28, "hex": "#6f4e37", "neutral": false}, {"sku": "AFL - 5116", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Rust", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-rust-afl-5116", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e2c42eae915ae53bb4f92a1a6161865e.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "hex": "#6f4e37", "neutral": false}, {"sku": "NTT - 5279", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Mocha", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-mocha-ntt-5279", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7472bae1d6bfd5ff6000524a45faa33.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "hex": "#6f4e37", "neutral": false}, {"sku": "Faux Leather - Brown", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Brown", "status": "ACTIVE", "handle": "classic-faux-leather-brown-faux-leather-brown", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/24682f38058b3ddf20ff34f0112bb768.png?v=1572308938", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 25, "hex": "#6b4423", "neutral": false}, {"sku": "Crocodile - Auburn", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Auburn", "status": "ACTIVE", "handle": "crocodile-faux-leather-auburn-crocodile-auburn", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7ac23015915db7f675ff629871a5a497.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Brown", "hue": 25, "hex": "#6b4423", "neutral": false}, {"sku": "SFL - 5315", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Peach", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-peach-sfl-5315", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/be3e0b4fc3b2bf789497bcf44ff5ffdf.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Camel", "hue": 36, "hex": "#b98a54", "neutral": false}, {"sku": "SFL - 5314", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Acorn", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-acorn-sfl-5314", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/210f763c5ba80d8de694a58b940f9b70.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Camel", "hue": 36, "hex": "#b98a54", "neutral": false}, {"sku": "WOV - 5042", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Saddle", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-saddle-wov-5042", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/886b1a9a2d1b8328b3bbc0c25ccc23ad.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "PEV - 5108", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Cinnamon", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-cinnamon-pev-5108", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/79dcebf613fef2d4fe4c833faf7ddd06.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "AFL - 5119", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Cedar", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-cedar-afl-5119", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3e75804e0176fe9e8e3d95bc0158a10d.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "GFL - 5197", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Caramel", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-caramel-gfl-5197", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f3aeae5aca9acbc014809c9c9e1ddbef.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "WOV - 5041", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Sunflower", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-sunflower-wov-5041", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/43080fdbb575ec4c1220f4f9da24accd.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Floral / Botanical", "color": "Honey", "hue": 42, "hex": "#c99a3b", "neutral": false}, {"sku": "WOV - 5053", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Bordeaux", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-bordeaux-wov-5053", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/b8def38f6f3abada3d5e774c51f2fafa.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Crimson", "hue": 350, "hex": "#b00020", "neutral": false}, {"sku": "PEV - 5107", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Celery", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-celery-pev-5107", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/58997517c43791a73836f7af167c0ea1.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Moss", "hue": 90, "hex": "#8a8b5a", "neutral": false}, {"sku": "CFL - 5321", "vendor": "PR Faux Leather", "title": "Crochet Faux Leather - Walnut", "status": "DRAFT", "handle": "crochet-faux-leather-walnut-cfl-5321", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f6bd8f89b3471e65e7b1f8f282926cfb.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "WOV - 5052", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Canyon", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-canyon-wov-5052", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2c180a1e08fb7cfeb368b862dab2c922.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "CFL - 5086", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Brandy", "status": "ACTIVE", "handle": "milano-classic-faux-leather-brandy-cfl-5086", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9941f8661a6407391268547a4c13e5df.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "AFL - 5120", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Sepia", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-sepia-afl-5120", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7276e4b90ca1de0409e38b2610a8ce1.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "GFL - 5193", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Fern", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-fern-gfl-5193", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0e0f4e6fc15a106b921ccbd758c4b0af.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "SFL - 5307", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Rust", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-rust-sfl-5307", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f0c6ee2e6fe32645e7e98f5de3b36d46.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "NTT - 5281", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Acorn", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-acorn-ntt-5281", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dc153dd7bef87a35e7bd6ee903f1a2fa.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "GLA - 5336", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Walnut", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-walnut-gla-5336", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3953d719bb51792fda1ddd6b0f90e2a6.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ebony", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "CFL - 5085", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Cashew", "status": "ACTIVE", "handle": "milano-classic-faux-leather-cashew-cfl-5085", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4aebee0e4bc76d7f081f66bf4a8dec76.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Taupe", "hue": 35, "hex": "#8a7a6a", "neutral": true}, {"sku": "AFL - 5114", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Safari", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-safari-afl-5114", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fc62588e4375727dbef4dd271d295673.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Taupe", "hue": 35, "hex": "#8a7a6a", "neutral": true}, {"sku": "CFL - 5325", "vendor": "PR Faux Leather", "title": "Crochet Faux Leather - Almond", "status": "ACTIVE", "handle": "crochet-faux-leather-almond-cfl-5325", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/add10b40f86e1f0dbf35894da871da2d.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Dusty Rose", "hue": 345, "hex": "#c46a7a", "neutral": false}, {"sku": "PEV - 5111", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Khaki", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-khaki-pev-5111", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.16.50AM.png?v=1698851817", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Gunmetal", "hue": 50, "hex": "#a39a6a", "neutral": false}, {"sku": "AFL - 5127", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Fudge", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-fudge-afl-5127", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/03325be42499506db60da7e3f2e13628.png?v=1572308963", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Khaki", "hue": 50, "hex": "#a39a6a", "neutral": false}, {"sku": "Faux Leather - Tan", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Tan", "status": "ACTIVE", "handle": "classic-faux-leather-tan-faux-leather-tan", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/5f992853a148fc4141dd6de78eae4046.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Coffee", "hue": 28, "hex": "#4b3621", "neutral": false}, {"sku": "Crocodile - Coffee Cream", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Coffee Cream", "status": "ACTIVE", "handle": "crocodile-faux-leather-coffee-cream-crocodile-coffee-cream", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9c865bd04d2d58cedeff6ebcedda0f64.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Buff", "hue": 28, "hex": "#4b3621", "neutral": false}, {"sku": "WOV - 5048", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Khaki", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-khaki-wov-5048", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f633bf87820e114347c5de181fb2e09e.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Coffee", "hue": 28, "hex": "#4b3621", "neutral": false}, {"sku": "AFL - 5125", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Flint", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-flint-afl-5125", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/af13c4ef63ef22c3aaed82ff8fa7b1a6.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "hex": "#9a8a7a", "neutral": true}, {"sku": "NTT - 5274", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Champagne", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-champagne-ntt-5274", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d1bacfb1ac4b0b9d2e27c0878d80d9fa.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "hex": "#9a8a7a", "neutral": true}, {"sku": "SFL - 5319", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Vanilla", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-vanilla-sfl-5319", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3f0203fdcf3137d419140bddfd873766.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Mushroom", "hue": 30, "hex": "#9a8a7a", "neutral": true}, {"sku": "Dig-2011", "vendor": "DW Bespoke Studio", "title": "Anaconda Snake DigiWalls On Demand Printc - Pattern Design Lab", "status": "ACTIVE", "handle": "anaconda-snake-digiwalls-on-demand-printc-pattern-design-lab-dig-2011", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/540704fc07253ad651583498f7ab1b90.jpg?v=1572308930", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "CFL - 5078", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Gold", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-gold-cfl-5078", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ae1842d5a7eaadc6cf02313ef7671a63.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "GFL - 5194", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Curry", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-curry-gfl-5194", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/02532d246f8509ea0d2b9d0ad675e887.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "NTT - 5280", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Rust", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-rust-ntt-5280", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e3c2a15da6482f707f28c350e59cffa3.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "NTT - 5263", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Pewter", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-pewter-ntt-5263", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/93e30fd3dfa4fb62671d6f029b39f657.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Black", "hue": 0, "hex": "#7a7a7a", "neutral": true}, {"sku": "SFL - 5318", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Putty", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-putty-sfl-5318", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0aff9fe50299764590b06366b1ea98e9.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Pewter", "hue": 0, "hex": "#7a7a7a", "neutral": true}, {"sku": "OFL - 5159", "vendor": "PR Faux Leather", "title": "Tiny Ostrich - Faux Leather - Wheat", "status": "ACTIVE", "handle": "tiny-ostrich-faux-leather-wheat-ofl-5159", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0c2bec9cf3c2a0238179d2e948fc5aaf_a9f2901a-0a0b-482d-9cd1-89f4be40faff.png?v=1572308963", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Black", "hue": 45, "hex": "#c7a96b", "neutral": false}, {"sku": "NTT - 5267", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Aubergine", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-aubergine-ntt-5267", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/00793ce6607e275b89b713ba69f2721c.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 290, "hex": "#4a2a3a", "neutral": false}, {"sku": "BigBird-Spruce", "vendor": "PR Faux Leather", "title": "Big Bird - Spruce", "status": "ACTIVE", "handle": "big-bird-spruce-bigbird-spruce", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dc493f7c05346ab7a678bcfd1e277f78.jpg?v=1572308928", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "Faux Leather - Charcoal", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Charcoal", "status": "ACTIVE", "handle": "classic-faux-leather-charcoal-faux-leather-charcoal", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/df22d1e8436b9f5007d9031c9a6d0ab0.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Graphite", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "Faux Leather - Hunter", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Hunter", "status": "ACTIVE", "handle": "classic-faux-leather-hunter-faux-leather-hunter", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/63a45e2aea5c478cb41de70171316504.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "Faux Leather -Royal", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Royal", "status": "ACTIVE", "handle": "classic-faux-leather-royal-faux-leather-royal", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9e963d17724d6b87ff2ada1fb9497133.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "WOV - 5049", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Hunter", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-hunter-wov-5049", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/005b79b233e0c40c9f6b5df4d69e9027.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ink", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "WOV - 5056", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Ash", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-ash-wov-5056", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3988fa8812a7c04d5c2eeeebcb0805e4.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "WOV - 5057", "vendor": "PR Faux Leather", "title": "Roma Basketweave Faux Leather - Almond", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-almond-wov-5057", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/81d03896a99f0fa2f526ab3c3c394ab0.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Brass", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "CFL - 5071", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Toffee", "status": "ACTIVE", "handle": "milano-classic-faux-leather-toffee-cfl-5071", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a0e568738c20dd08273e18c90ba68f00.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "CFL - 5081", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Java", "status": "ACTIVE", "handle": "milano-classic-faux-leather-java-cfl-5081", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f8e31a493142a78b6ac0f644a1f5d032.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "CFL - 5084", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Charcoal", "status": "ACTIVE", "handle": "milano-classic-faux-leather-charcoal-cfl-5084", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9c17665cbf52afa957cb789fb8a1a2b0.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "PRO-43092", "vendor": "Phillipe Romano", "title": "Canterbury Woven Vinyl", "status": "ACTIVE", "handle": "canterbury-woven-vinyl-pro-43092", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7721b5269adb689662cdaaecb53c719b.jpg?v=1572309305", "price": "4.25", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "PEV - 5102", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Rouge", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-rouge-pev-5102", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.19.29AM.png?v=1698851979", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "AFL - 5124", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - SilverFrost", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-silverfrost-afl-5124", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4d5c10d9a8d47cc16f46d350d2a9c8ed.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}]; const BASE="https://www.designerwallcoverings.com/products/";
-const D={wMat:45,wCol:70,wSty:15,wHue:10,tHue:T.hue,den:5,show:10};
+let T={"sku": "FVH-40402", "title": "Hairly Hide - Faux Vinyl Hide - Burnt Orange Spice | Hollywood Wallcoverings", "vendor": "Hollywood Wallcoverings", "status": "ACTIVE", "color": "Clay", "hue": 18, "hex": "#b4531f", "material": "Faux Leather / Hide", "style": "Textured / Solid", "handle": "hairly-hide-faux-vinyl-hide-wallpaper-burnt-orange-spice-fvh-40402", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/fvh-40402-sample-hairly-hide-faux-vinyl-hide-burnt-orange-spice-hollywood.jpg?v=1775715526", "tags": "Architectural, Bold, Brown, Class A Fire Rated, color:Clay, Commercial, Contemporary, Faux Finish, Hollywood Wallcoverings, Orange, Textured, Vinyl, Wallcovering"}, SUBS=[{"sku": "CFL - 5076", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Orange", "status": "ACTIVE", "handle": "milano-classic-faux-leather-orange-cfl-5076", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4906d2608161d40126f2b588c4c79069.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Paprika", "hue": 16, "hex": "#a63a1e", "neutral": false}, {"sku": "GLA - 5332", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - FireRed", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-firered-gla-5332", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3b38dbec1b0d007d2359bfa6b7006ac0.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Red", "hue": 30, "hex": "#c0392b", "neutral": true}, {"sku": "CFL - 5074", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Pumpkin", "status": "ACTIVE", "handle": "milano-classic-faux-leather-pumpkin-cfl-5074", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0699b41e9407eb99979537738385e380.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Tobacco", "hue": 24, "hex": "#d2691e", "neutral": false}, {"sku": "PEV - 5101", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Acorn", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-acorn-pev-5101", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.14.54AM.png?v=1698851702", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Copper", "hue": 22, "hex": "#b87333", "neutral": false}, {"sku": "Crocodile - Caramel", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Caramel", "status": "ACTIVE", "handle": "crocodile-faux-leather-caramel-crocodile-caramel", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4ed459ca842ad94f51b80ebaa49bf9cc.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Cognac", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "WOV - 5055", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Birch", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-birch-wov-5055", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fd62649d0170269cd50ba077f2f1a23b.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "PEV - 5106", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Caramel", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-caramel-pev-5106", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/25cbd9a306029f77407378dae1e6f2c9.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "GFL - 5200", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Birch", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-birch-gfl-5200", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/8c267dd36699a7f3c791bbb6ae383373.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "GLA - 5338", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Canary", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-canary-gla-5338", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9eeaa79f725be3ff154c50fc3b75442f.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Caramel", "hue": 30, "hex": "#a9743f", "neutral": false}, {"sku": "GFL - 5198", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Brick", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-brick-gfl-5198", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/884ce1a345b3a66dd27a4f3a5325aedc.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 12, "hex": "#8b3a2f", "neutral": false}, {"sku": "WOV - 5044", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Orange", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-orange-wov-5044", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3d292ba8c9dd855be260e5fb89729a13.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Rust", "hue": 25, "hex": "#e2711d", "neutral": false}, {"sku": "NTT - 5282", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Orange", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-orange-ntt-5282", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/bac0947ff4812d10804b4324f167e139.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Amber", "hue": 25, "hex": "#e2711d", "neutral": false}, {"sku": "CFL - 5080", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Bronze", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-bronze-cfl-5080", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a03b302409147fe02f0e405d6bd9e166.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Ebony", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "PEV - 5105", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - BronzeKettle", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-bronzekettle-pev-5105", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.15.57AM.png?v=1698851765", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Taupe", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "AFL - 5115", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Toast", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-toast-afl-5115", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7310c98d742ef8ff139bff9f97afbd91.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Bronze", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "NTT - 5284", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Dune", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-dune-ntt-5284", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/1949b5751e0f6845ac05962789851893.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Bronze", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "SFL - 5317", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Camel", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-camel-sfl-5317", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d647594b41f56cd09100c5def0be6fdf.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Bronze", "hue": 33, "hex": "#8c6a3f", "neutral": false}, {"sku": "NTT - 5272", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Olive", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-olive-ntt-5272", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/79441d9599674c7de948203ac28bc875.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Moss", "hue": 80, "hex": "#7a7a2e", "neutral": false}, {"sku": "CFL - 5077", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Nutmeg", "status": "ACTIVE", "handle": "milano-classic-faux-leather-nutmeg-cfl-5077", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/706b9e15eedc4b304ca0062646d6b1a0.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Mocha", "hue": 28, "hex": "#6f4e37", "neutral": false}, {"sku": "AFL - 5116", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Rust", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-rust-afl-5116", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e2c42eae915ae53bb4f92a1a6161865e.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "hex": "#6f4e37", "neutral": false}, {"sku": "NTT - 5279", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Mocha", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-mocha-ntt-5279", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7472bae1d6bfd5ff6000524a45faa33.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mocha", "hue": 28, "hex": "#6f4e37", "neutral": false}, {"sku": "Faux Leather - Brown", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Brown", "status": "ACTIVE", "handle": "classic-faux-leather-brown-faux-leather-brown", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/24682f38058b3ddf20ff34f0112bb768.png?v=1572308938", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 25, "hex": "#6b4423", "neutral": false}, {"sku": "Crocodile - Auburn", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Auburn", "status": "ACTIVE", "handle": "crocodile-faux-leather-auburn-crocodile-auburn", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7ac23015915db7f675ff629871a5a497.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Brown", "hue": 25, "hex": "#6b4423", "neutral": false}, {"sku": "SFL - 5315", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Peach", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-peach-sfl-5315", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/be3e0b4fc3b2bf789497bcf44ff5ffdf.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Camel", "hue": 36, "hex": "#b98a54", "neutral": false}, {"sku": "SFL - 5314", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Acorn", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-acorn-sfl-5314", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/210f763c5ba80d8de694a58b940f9b70.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Camel", "hue": 36, "hex": "#b98a54", "neutral": false}, {"sku": "WOV - 5042", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Saddle", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-saddle-wov-5042", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/886b1a9a2d1b8328b3bbc0c25ccc23ad.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "PEV - 5108", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Cinnamon", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-cinnamon-pev-5108", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/79dcebf613fef2d4fe4c833faf7ddd06.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "AFL - 5119", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Cedar", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-cedar-afl-5119", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3e75804e0176fe9e8e3d95bc0158a10d.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "GFL - 5197", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Caramel", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-caramel-gfl-5197", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f3aeae5aca9acbc014809c9c9e1ddbef.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chestnut", "hue": 20, "hex": "#6b3a24", "neutral": false}, {"sku": "WOV - 5041", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Sunflower", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-sunflower-wov-5041", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/43080fdbb575ec4c1220f4f9da24accd.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Floral / Botanical", "color": "Honey", "hue": 42, "hex": "#c99a3b", "neutral": false}, {"sku": "WOV - 5053", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Bordeaux", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-bordeaux-wov-5053", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/b8def38f6f3abada3d5e774c51f2fafa.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Crimson", "hue": 350, "hex": "#b00020", "neutral": false}, {"sku": "PEV - 5107", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Celery", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-celery-pev-5107", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/58997517c43791a73836f7af167c0ea1.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Moss", "hue": 90, "hex": "#8a8b5a", "neutral": false}, {"sku": "CFL - 5321", "vendor": "PR Faux Leather", "title": "Crochet Faux Leather - Walnut", "status": "DRAFT", "handle": "crochet-faux-leather-walnut-cfl-5321", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f6bd8f89b3471e65e7b1f8f282926cfb.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "WOV - 5052", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Canyon", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-canyon-wov-5052", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/2c180a1e08fb7cfeb368b862dab2c922.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "CFL - 5086", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Brandy", "status": "ACTIVE", "handle": "milano-classic-faux-leather-brandy-cfl-5086", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9941f8661a6407391268547a4c13e5df.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "AFL - 5120", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Sepia", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-sepia-afl-5120", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d7276e4b90ca1de0409e38b2610a8ce1.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "GFL - 5193", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Fern", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-fern-gfl-5193", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0e0f4e6fc15a106b921ccbd758c4b0af.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "SFL - 5307", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Rust", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-rust-sfl-5307", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f0c6ee2e6fe32645e7e98f5de3b36d46.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "NTT - 5281", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Acorn", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-acorn-ntt-5281", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dc153dd7bef87a35e7bd6ee903f1a2fa.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Walnut", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "GLA - 5336", "vendor": "PR Faux Leather", "title": "Glaze - Faux Vintage Leather - Walnut", "status": "ACTIVE", "handle": "glaze-faux-vintage-leather-walnut-gla-5336", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3953d719bb51792fda1ddd6b0f90e2a6.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ebony", "hue": 28, "hex": "#5a3a22", "neutral": false}, {"sku": "CFL - 5085", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Cashew", "status": "ACTIVE", "handle": "milano-classic-faux-leather-cashew-cfl-5085", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4aebee0e4bc76d7f081f66bf4a8dec76.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Taupe", "hue": 35, "hex": "#8a7a6a", "neutral": true}, {"sku": "AFL - 5114", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Safari", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-safari-afl-5114", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/fc62588e4375727dbef4dd271d295673.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Taupe", "hue": 35, "hex": "#8a7a6a", "neutral": true}, {"sku": "CFL - 5325", "vendor": "PR Faux Leather", "title": "Crochet Faux Leather - Almond", "status": "ACTIVE", "handle": "crochet-faux-leather-almond-cfl-5325", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/add10b40f86e1f0dbf35894da871da2d.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Dusty Rose", "hue": 345, "hex": "#c46a7a", "neutral": false}, {"sku": "PEV - 5111", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Khaki", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-khaki-pev-5111", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.16.50AM.png?v=1698851817", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Gunmetal", "hue": 50, "hex": "#a39a6a", "neutral": false}, {"sku": "AFL - 5127", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Fudge", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-fudge-afl-5127", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/03325be42499506db60da7e3f2e13628.png?v=1572308963", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Khaki", "hue": 50, "hex": "#a39a6a", "neutral": false}, {"sku": "Faux Leather - Tan", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Tan", "status": "ACTIVE", "handle": "classic-faux-leather-tan-faux-leather-tan", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/5f992853a148fc4141dd6de78eae4046.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Coffee", "hue": 28, "hex": "#4b3621", "neutral": false}, {"sku": "Crocodile - Coffee Cream", "vendor": "PR Faux Leather", "title": "Crocodile Faux Leather - Coffee Cream", "status": "ACTIVE", "handle": "crocodile-faux-leather-coffee-cream-crocodile-coffee-cream", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9c865bd04d2d58cedeff6ebcedda0f64.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Buff", "hue": 28, "hex": "#4b3621", "neutral": false}, {"sku": "WOV - 5048", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Khaki", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-khaki-wov-5048", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f633bf87820e114347c5de181fb2e09e.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Coffee", "hue": 28, "hex": "#4b3621", "neutral": false}, {"sku": "AFL - 5125", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - Flint", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-flint-afl-5125", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/af13c4ef63ef22c3aaed82ff8fa7b1a6.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "hex": "#9a8a7a", "neutral": true}, {"sku": "NTT - 5274", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Champagne", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-champagne-ntt-5274", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/d1bacfb1ac4b0b9d2e27c0878d80d9fa.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Mushroom", "hue": 30, "hex": "#9a8a7a", "neutral": true}, {"sku": "SFL - 5319", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Vanilla", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-vanilla-sfl-5319", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3f0203fdcf3137d419140bddfd873766.png?v=1572308967", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Mushroom", "hue": 30, "hex": "#9a8a7a", "neutral": true}, {"sku": "Dig-2011", "vendor": "DW Bespoke Studio", "title": "Anaconda Snake DigiWalls On Demand Printc - Pattern Design Lab", "status": "ACTIVE", "handle": "anaconda-snake-digiwalls-on-demand-printc-pattern-design-lab-dig-2011", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/540704fc07253ad651583498f7ab1b90.jpg?v=1572308930", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "CFL - 5078", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Metallic Gold", "status": "ACTIVE", "handle": "milano-classic-faux-leather-metallic-gold-cfl-5078", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/ae1842d5a7eaadc6cf02313ef7671a63.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "GFL - 5194", "vendor": "PR Faux Leather", "title": "Gator Faux - Faux Alligator - Curry", "status": "ACTIVE", "handle": "gator-faux-faux-alligator-curry-gfl-5194", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/02532d246f8509ea0d2b9d0ad675e887.png?v=1572308964", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "NTT - 5280", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Rust", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-rust-ntt-5280", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/e3c2a15da6482f707f28c350e59cffa3.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Chocolate", "hue": 25, "hex": "#4b2e1e", "neutral": false}, {"sku": "NTT - 5263", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Pewter", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-pewter-ntt-5263", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/93e30fd3dfa4fb62671d6f029b39f657.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Black", "hue": 0, "hex": "#7a7a7a", "neutral": true}, {"sku": "SFL - 5318", "vendor": "PR Faux Leather", "title": "Cobra - Faux Snake Leather - Putty", "status": "ACTIVE", "handle": "cobra-faux-snake-leather-putty-sfl-5318", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0aff9fe50299764590b06366b1ea98e9.png?v=1572308966", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Pewter", "hue": 0, "hex": "#7a7a7a", "neutral": true}, {"sku": "OFL - 5159", "vendor": "PR Faux Leather", "title": "Tiny Ostrich - Faux Leather - Wheat", "status": "ACTIVE", "handle": "tiny-ostrich-faux-leather-wheat-ofl-5159", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/0c2bec9cf3c2a0238179d2e948fc5aaf_a9f2901a-0a0b-482d-9cd1-89f4be40faff.png?v=1572308963", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Black", "hue": 45, "hex": "#c7a96b", "neutral": false}, {"sku": "NTT - 5267", "vendor": "PR Faux Leather", "title": "Urthfriendly TwoTone - Non-Pvc - Aubergine", "status": "ACTIVE", "handle": "urthfriendly-twotone-non-pvc-aubergine-ntt-5267", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/00793ce6607e275b89b713ba69f2721c.png?v=1572308965", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Jet", "hue": 290, "hex": "#4a2a3a", "neutral": false}, {"sku": "BigBird-Spruce", "vendor": "PR Faux Leather", "title": "Big Bird - Spruce", "status": "ACTIVE", "handle": "big-bird-spruce-bigbird-spruce", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/dc493f7c05346ab7a678bcfd1e277f78.jpg?v=1572308928", "price": "", "material": "Faux Leather / Hide", "style": "Animal / Skin", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "Faux Leather - Charcoal", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Charcoal", "status": "ACTIVE", "handle": "classic-faux-leather-charcoal-faux-leather-charcoal", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/df22d1e8436b9f5007d9031c9a6d0ab0.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Graphite", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "Faux Leather - Hunter", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Hunter", "status": "ACTIVE", "handle": "classic-faux-leather-hunter-faux-leather-hunter", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/63a45e2aea5c478cb41de70171316504.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "Faux Leather -Royal", "vendor": "PR Faux Leather", "title": "Classic Faux Leather - Royal", "status": "ACTIVE", "handle": "classic-faux-leather-royal-faux-leather-royal", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9e963d17724d6b87ff2ada1fb9497133.png?v=1572308939", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Midnight", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "WOV - 5049", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Hunter", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-hunter-wov-5049", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/005b79b233e0c40c9f6b5df4d69e9027.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Ink", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "WOV - 5056", "vendor": "PR Faux Leather", "title": "Roma-Basketweave Faux Leather - Ash", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-ash-wov-5056", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/3988fa8812a7c04d5c2eeeebcb0805e4.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "WOV - 5057", "vendor": "PR Faux Leather", "title": "Roma Basketweave Faux Leather - Almond", "status": "ACTIVE", "handle": "roma-basketweave-faux-leather-almond-wov-5057", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/81d03896a99f0fa2f526ab3c3c394ab0.png?v=1572308960", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Brass", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "CFL - 5071", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Toffee", "status": "ACTIVE", "handle": "milano-classic-faux-leather-toffee-cfl-5071", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/a0e568738c20dd08273e18c90ba68f00.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "CFL - 5081", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Java", "status": "ACTIVE", "handle": "milano-classic-faux-leather-java-cfl-5081", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/f8e31a493142a78b6ac0f644a1f5d032.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Jet", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "CFL - 5084", "vendor": "PR Faux Leather", "title": "Milano Classic Faux Leather - Charcoal", "status": "ACTIVE", "handle": "milano-classic-faux-leather-charcoal-cfl-5084", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/9c17665cbf52afa957cb789fb8a1a2b0.png?v=1572308961", "price": "", "material": "Faux Leather / Hide", "style": "Traditional", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "PEV - 5102", "vendor": "PR Faux Leather", "title": "Prive - Paisley Faux Leather - Rouge", "status": "ACTIVE", "handle": "prive-paisley-faux-leather-rouge-pev-5102", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/ScreenShot2023-11-01at8.19.29AM.png?v=1698851979", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Oxblood", "hue": 30, "hex": "#8a8a8a", "neutral": true}, {"sku": "PRO-43092", "vendor": "Phillipe Romano", "title": "Canterbury Woven Vinyl", "status": "ACTIVE", "handle": "canterbury-woven-vinyl-pro-43092", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/7721b5269adb689662cdaaecb53c719b.jpg?v=1572309305", "price": "4.25", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}, {"sku": "AFL - 5124", "vendor": "PR Faux Leather", "title": "Ropari Antique Faux Leather - SilverFrost", "status": "ACTIVE", "handle": "ropari-antique-faux-leather-silverfrost-afl-5124", "img": "https://cdn.shopify.com/s/files/1/0015/4117/7456/products/4d5c10d9a8d47cc16f46d350d2a9c8ed.png?v=1572308962", "price": "", "material": "Faux Leather / Hide", "style": "Contemporary", "color": "Charcoal", "hue": 0, "hex": "#3a3a3a", "neutral": true}]; const BASE="https://www.designerwallcoverings.com/products/";
+const D={prio:['color','style','material'],den:5,show:10}; // prio[0]=most important
+const PRIONAMES={color:['Color / Hue','perceptual color + tone'],style:['Style','pattern family'],material:['Material','faux-leather, grasscloth…']};
const S=Object.assign({},D, JSON.parse(localStorage.getItem('subfinder')||'{}'));
const IMG=JSON.parse(localStorage.getItem('subfinder_img')||'{}'); // sku -> image override url
const PURL=JSON.parse(localStorage.getItem('subfinder_purl')||'{}'); // sku -> product page override url
@@ -211,22 +257,84 @@ function reSearch(manual){
function hdist(a,b){let d=Math.abs(a-b)%360;return Math.min(d,360-d);}
function rgb(h){h=h||'#8a8a8a';return [parseInt(h.slice(1,3),16),parseInt(h.slice(3,5),16),parseInt(h.slice(5,7),16)];}
function cdist(a,b){const x=rgb(a),y=rgb(b);return Math.sqrt((x[0]-y[0])**2+(x[1]-y[1])**2+(x[2]-y[2])**2);}
+function dimMatch(c,dim){
+ if(dim==='color') return 1-cdist(c.hex,T.hex)/441; // perceptual color+tone
+ if(dim==='style') return c.style===T.style?1:0;
+ return c.material===T.material?1:0; // material
+}
function score(c){
- const wm=S.wMat/100,wc=S.wCol/100,ws=S.wSty/100,wh=S.wHue/100;
- const mat=c.material===T.material?1:0;
- const col=1-cdist(c.hex,T.hex)/441; // perceptual color (lightness+sat aware, not hue-only)
- const sty=c.style===T.style?1:0;
- const hue=1-hdist(c.hue,S.tHue)/180;
- const denom=(wm+wc+ws+wh)||1;
- return (wm*mat+wc*col+ws*sty+wh*hue)/denom;
+ // weight by priority rank: 1st=3, 2nd=2, 3rd=1
+ let num=0,den=0;
+ S.prio.forEach((dim,i)=>{const w=3-i; num+=w*dimMatch(c,dim); den+=w;});
+ return den?num/den:0;
}
let RANKED=[];
+// ---------- left-rail facet filters ----------
+const FSETS={vendor:new Set(),material:new Set(),style:new Set(),color:new Set(),status:new Set()};
+let QTEXT='';
+const rowUI={vendorRow:{find:'',expand:false},matRow:{},styleRow:{},colorRow:{},statusRow:{}};
+function loadFacets(){try{const s=JSON.parse(localStorage.getItem('subfinder_facets')||'{}');for(const k in FSETS)if(s[k])s[k].forEach(v=>FSETS[k].add(v));}catch(e){}}
+function saveFacets(){const o={};for(const k in FSETS)o[k]=[...FSETS[k]];localStorage.setItem('subfinder_facets',JSON.stringify(o));}
+const dimVal={vendor:c=>c.vendor,material:c=>c.material,style:c=>c.style,color:c=>c.color,status:c=>c.status};
+function passes(c){
+ if(QTEXT){const h=(c.title+' '+c.sku+' '+c.vendor+' '+c.color+' '+c.material+' '+c.style).toLowerCase();if(!h.includes(QTEXT))return false;}
+ for(const k in FSETS){if(FSETS[k].size && !FSETS[k].has(dimVal[k](c)))return false;}
+ return true;
+}
+function counts(items,fn){const m={};items.forEach(c=>{const v=fn(c);if(v)m[v]=(m[v]||0)+1;});return m;}
+function facetList(rowId,cnts,set,cap){
+ const row=el(rowId); if(!row)return; row.innerHTML=''; const ui=rowUI[rowId]||(rowUI[rowId]={find:'',expand:false});
+ let entries=Object.entries(cnts).sort((a,b)=>b[1]-a[1]);
+ const big=entries.length>12;
+ if(big){const f=document.createElement('input');f.className='ffind';f.placeholder='find…';f.value=ui.find||'';
+ f.oninput=()=>{ui.find=f.value;renderFacets();const g=el(rowId).querySelector('.ffind');if(g){g.focus();g.setSelectionRange(g.value.length,g.value.length);}};row.appendChild(f);}
+ if(ui.find)entries=entries.filter(([v])=>v.toLowerCase().includes(ui.find.toLowerCase()));
+ let shown=entries,hidden=0; const CAP=cap||8;
+ if(!ui.expand&&entries.length>CAP){shown=entries.slice(0,CAP);hidden=entries.length-CAP;}
+ const sv=new Set(shown.map(([v])=>v)); for(const v of set)if(!sv.has(v)){const e=entries.find(([x])=>x===v);shown.push(e||[v,0]);}
+ if(!shown.length){row.insertAdjacentHTML('beforeend','<div style="font-size:10px;color:#b0a89c;padding:2px">none</div>');return;}
+ shown.forEach(([val,ct])=>{const d=document.createElement('div');d.className='fitem'+(set.has(val)?' on':'')+(ct?'':' zero');
+ d.innerHTML=`<span class="box">${set.has(val)?'✓':''}</span><span class="lbl" title="${(''+val).replace(/"/g,'"')}">${val}</span><span class="ct">${ct}</span>`;
+ d.onclick=()=>{set.has(val)?set.delete(val):set.add(val);saveFacets();draw();};row.appendChild(d);});
+ if(hidden>0){const m=document.createElement('span');m.className='more';m.textContent=`See ${hidden} more ▾`;m.onclick=()=>{ui.expand=true;renderFacets();};row.appendChild(m);}
+ else if(ui.expand&&entries.length>CAP){const m=document.createElement('span');m.className='more';m.textContent='See less ▴';m.onclick=()=>{ui.expand=false;renderFacets();};row.appendChild(m);}
+}
+function renderFacets(){
+ const base=SUBS.filter(c=>{const q=QTEXT; if(q){const h=(c.title+' '+c.sku+' '+c.vendor+' '+c.color+' '+c.material+' '+c.style).toLowerCase();if(!h.includes(q))return false;}return true;});
+ facetList('vendorRow',counts(base,dimVal.vendor),FSETS.vendor,10);
+ facetList('matRow',counts(base,dimVal.material),FSETS.material,10);
+ facetList('styleRow',counts(base,dimVal.style),FSETS.style,10);
+ facetList('colorRow',counts(base,dimVal.color),FSETS.color,14);
+ facetList('statusRow',counts(base,dimVal.status),FSETS.status,4);
+ // section count badges
+ const SEC={vendor:'nVendor',material:'nMaterial',style:'nStyle',color:'nColor',status:'nStatus'};
+ for(const k in SEC){const b=el(SEC[k]);if(b){b.textContent=FSETS[k].size||'';b.style.display=FSETS[k].size?'':'none';}}
+ renderActive();
+}
+function renderActive(){
+ const row=el('activeRow');row.innerHTML='';let n=0;
+ const LBL={vendor:'Vendor',material:'Material',style:'Style',color:'Color',status:'Status'};
+ for(const k in FSETS)FSETS[k].forEach(v=>{n++;const s=document.createElement('span');s.className='afilter';s.innerHTML=`<b>${LBL[k]}:</b> ${v} ✕`;s.onclick=()=>{FSETS[k].delete(v);saveFacets();draw();};row.appendChild(s);});
+ if(n){const c=document.createElement('button');c.className='clearall';c.textContent='Clear all';c.onclick=()=>{for(const k in FSETS)FSETS[k].clear();saveFacets();draw();};row.appendChild(c);}
+}
+// ---------- 1/2/3 priority ranker ----------
+function renderPrio(){
+ const box=el('prioList');if(!box)return;box.innerHTML='';
+ S.prio.forEach((dim,i)=>{const nm=PRIONAMES[dim];const d=document.createElement('div');d.className='prow';
+ d.innerHTML=`<span class="rk">${i+1}</span><span class="pn">${nm[0]}<br><span class="pnb">${nm[1]}</span></span>
+ <span class="ar"><button ${i===0?'disabled':''} data-u="${i}">▲</button><button ${i===S.prio.length-1?'disabled':''} data-d="${i}">▼</button></span>`;
+ box.appendChild(d);});
+ box.querySelectorAll('button[data-u]').forEach(b=>b.onclick=()=>{const i=+b.dataset.u;[S.prio[i-1],S.prio[i]]=[S.prio[i],S.prio[i-1]];saveS();renderPrio();draw();});
+ box.querySelectorAll('button[data-d]').forEach(b=>b.onclick=()=>{const i=+b.dataset.d;[S.prio[i+1],S.prio[i]]=[S.prio[i],S.prio[i+1]];saveS();renderPrio();draw();});
+}
+function saveS(){localStorage.setItem('subfinder',JSON.stringify(S));}
function draw(){
document.documentElement.style.setProperty('--cols',S.den);
- for(const k of ['wMat','wCol','wSty','wHue'])el('v'+k.slice(1)).textContent=S[k];
- el('vTgt').textContent=S.tHue+'°';el('vDen').textContent=S.den;el('vShow').textContent=S.show;
- RANKED=SUBS.map(c=>({c,s:score(c)})).sort((a,b)=>b.s-a.s).slice(0,S.show);
- el('count').textContent=SUBS.length+' active/draft candidates — showing top '+RANKED.length+' for the current weighting';
+ el('vDen').textContent=S.den;el('vShow').textContent=S.show;
+ renderFacets();
+ RANKED=SUBS.filter(passes).map(c=>({c,s:score(c)})).sort((a,b)=>b.s-a.s).slice(0,S.show);
+ const nf=SUBS.filter(passes).length;
+ el('count').textContent=nf+' match your filters — showing top '+RANKED.length;
el('grid').innerHTML=RANKED.map((r,i)=>{const c=r.c;const on=picked.has(c.sku);return`
<div class="card ${on?'sel':''}" data-sku="${c.sku}">
<div class="ph">
@@ -289,10 +397,17 @@ el('mCopy').addEventListener('click',()=>{navigator.clipboard.writeText(el('fBod
el('mDl').addEventListener('click',()=>{const b=new Blob([el('fBody').value],{type:'text/plain'});const a=document.createElement('a');a.href=URL.createObjectURL(b);a.download=`substitute-letter-${T.sku}.txt`;a.click();});
el('mMail').addEventListener('click',()=>{const sub=`Substitute recommendations for ${T.sku}`;location.href=`mailto:?subject=${encodeURIComponent(sub)}&body=${encodeURIComponent(el('fBody').value)}`;});
-drawOrig();
-bind('wMat','wMat');bind('wCol','wCol');bind('wSty','wSty');bind('wHue','wHue');bind('tHue','tHue');bind('show','show');bind('den','den');
-el('reset').addEventListener('click',()=>{Object.assign(S,D,{tHue:T.hue});localStorage.setItem('subfinder',JSON.stringify(S));
- for(const k of ['wMat','wCol','wSty','wHue','tHue','show','den'])el(k).value=S[k];draw();});
+// sanitize prio (must be exactly the 3 dims, no dupes/missing after code changes)
+{const want=['color','style','material'];if(!Array.isArray(S.prio))S.prio=want.slice();
+ S.prio=S.prio.filter(x=>want.includes(x));want.forEach(x=>{if(!S.prio.includes(x))S.prio.push(x);});S.prio=S.prio.slice(0,3);}
+loadFacets();
+drawOrig();renderPrio();
+function bind(id,key){const e=el(id);e.value=S[key];e.addEventListener('input',()=>{S[key]=+e.value;saveS();draw();});}
+bind('show','show');bind('den','den');
+{let qt;el('q').addEventListener('input',e=>{clearTimeout(qt);qt=setTimeout(()=>{QTEXT=e.target.value.trim().toLowerCase();draw();},220);});}
+el('reset').addEventListener('click',()=>{S.prio=D.prio.slice();S.den=D.den;S.show=D.show;saveS();
+ for(const k in FSETS)FSETS[k].clear();saveFacets();QTEXT='';el('q').value='';
+ el('show').value=S.show;el('den').value=S.den;renderPrio();draw();});
draw();syncBar();
-probeExtract().then(ok=>{if(ok){drawOrig();draw();}});
+probeExtract().then(ok=>{if(ok){drawOrig();renderPrio();draw();}});
</script></body></html>
\ No newline at end of file
← 81edf49 matching: perceptual RGB color distance (not hue-only) + col
·
back to Dw Substitute Viewer
·
cards: manual Card-fields toggles (12 fields) + density-driv 0a88e52 →