← back to Dw Search Toolbar Mockup
toolbar-mockup.html
173 lines
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>DW Search Toolbar — Compact Proposal</title>
<style>
:root{
--ink:#1a1a1a; --muted:#8a8a8a; --line:#dcdcdc; --line2:#e8e8e8;
--gold:#C9A14B; --lightgold:#faf5e8; --bg:#f4f4f2; --card:#fff;
--sans:'Helvetica Neue',Arial,sans-serif;
--serif:'Georgia','Times New Roman',serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
-webkit-font-smoothing:antialiased;padding:32px 20px 80px}
.wrap{max-width:1180px;margin:0 auto}
h1{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:.5px;margin:0 0 4px}
.sub{color:var(--muted);font-size:13px;margin-bottom:28px}
.panel{background:var(--card);border:1px solid var(--line2);border-radius:14px;
padding:22px 22px 26px;margin-bottom:22px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.tag{display:inline-block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
color:var(--muted);margin-bottom:14px}
.tag b{color:var(--ink)}
.note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.5}
.note code{background:#f0f0ee;padding:1px 5px;border-radius:4px;font-size:11px}
/* ---------- shared pill primitives ---------- */
.pill{border:1.5px solid var(--ink);border-radius:999px;background:#fff;
font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:8px;
cursor:pointer;white-space:nowrap}
/* ================= CURRENT (baseline) ================= */
.cur{display:flex;flex-wrap:wrap;align-items:center;gap:18px;
padding:20px;background:#fbfbfa;border:1px dashed var(--line);border-radius:10px}
.cur .facets{display:flex;flex-direction:column;gap:10px}
.cur .chk{display:flex;align-items:center;gap:9px;font-weight:600;font-size:13px}
.cur .box{width:15px;height:15px;border:1.5px solid var(--ink);border-radius:3px}
.cur .pill{padding:13px 20px}
.cur .grid{gap:14px}
.cur .track{width:120px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--ink) 55%,#ccc 55%);position:relative}
.cur .knob{position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--ink)}
.cur .count{font-weight:700;font-size:15px}
.cur .rainbow{width:16px;height:16px;border-radius:50%;
background:conic-gradient(#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6,#e74c3c)}
.cur .sel{border:1.5px solid var(--ink);border-radius:999px;padding:13px 18px;font-weight:600;font-size:13px;display:inline-flex;gap:26px;align-items:center}
/* ================= COMPACT desktop ================= */
.cmp{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;
background:#fff;border:1px solid var(--line);border-radius:10px}
.cmp .grp{display:flex;align-items:center;gap:10px}
.cmp .filters{border:1.5px solid var(--ink);border-radius:8px;height:32px;padding:0 12px;
display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;cursor:pointer}
.cmp .chip{height:26px;padding:0 10px;border-radius:999px;background:var(--lightgold);
border:1px solid #eadfbc;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600}
.cmp .chip .x{color:var(--muted);font-weight:700;cursor:pointer}
.cmp .more{font-size:12px;color:var(--muted);font-weight:600;cursor:pointer}
.cmp .spacer{flex:1}
.cmp .count{color:var(--muted);font-size:13px;font-weight:500;white-space:nowrap}
.cmp .icnbtn{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;
display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}
.cmp .rainbow{width:17px;height:17px;border-radius:50%;
background:conic-gradient(#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6,#e74c3c)}
.cmp .dens{display:flex;align-items:center;gap:8px}
.cmp .grid-ic{display:grid;grid-template-columns:repeat(3,3px);gap:2px}
.cmp .grid-ic i{width:3px;height:3px;background:var(--muted);display:block}
.cmp .track{width:74px;height:3px;border-radius:2px;background:var(--line);position:relative}
.cmp .knob{position:absolute;left:60%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--ink)}
.cmp .dnum{font-size:12px;color:var(--muted);font-weight:600;width:10px}
.cmp .sel{height:32px;border:1px solid var(--line);border-radius:8px;padding:0 12px;
display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:13px;cursor:pointer;background:#fff}
.cmp .sel .car{color:var(--muted);font-size:10px}
.div{width:1px;height:20px;background:var(--line)}
/* ================= COMPACT mobile ================= */
.phone{width:390px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.phone .topbar{background:#111;color:#fff;font-size:12px;text-align:center;padding:9px}
.m-row{display:flex;align-items:center;gap:10px;padding:10px 12px}
.m-row2{border-top:1px solid var(--line2)}
.m-row .filters{border:1.5px solid var(--ink);border-radius:8px;height:34px;padding:0 12px;
display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px}
.m-row .chip{height:28px;padding:0 11px;border-radius:999px;background:var(--lightgold);
border:1px solid #eadfbc;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.m-row .count{color:var(--muted);font-size:12px;font-weight:500;margin-left:auto}
.m-row .icnbtn{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center}
.m-row .rainbow{width:17px;height:17px;border-radius:50%;background:conic-gradient(#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6,#e74c3c)}
.m-row .track{width:56px;height:3px;border-radius:2px;background:var(--line);position:relative}
.m-row .knob{position:absolute;left:60%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--ink)}
.m-row .sel{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:13px;margin-left:auto}
.legend{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;font-size:11px;color:var(--muted)}
.legend b{color:var(--ink);font-weight:600}
.savings{display:inline-block;background:#eafaef;color:#1c8a4a;font-size:12px;font-weight:700;
padding:4px 12px;border-radius:999px;margin-left:10px}
</style>
</head>
<body>
<div class="wrap">
<h1>Designer Wallcoverings — Search Toolbar</h1>
<div class="sub">Compact proposal for <code style="font-size:12px">designerwallcoverings.com/search</code> · live theme 5.9.1</div>
<!-- CURRENT -->
<div class="panel">
<div class="tag"><b>A · Current</b> — today's spread-out strip (~140px tall)</div>
<div class="cur">
<div class="facets">
<span class="chk"><span class="box"></span> WALLCOVERINGS</span>
<span class="chk"><span class="box"></span> FABRICS</span>
<span class="chk"><span class="box"></span> MORE</span>
</div>
<span class="pill">☰ HIDE FILTERS</span>
<span class="pill grid">GRID <span class="track"><span class="knob"></span></span> 6 SHOW 2</span>
<span class="pill"><span class="rainbow"></span> COLOR SORT</span>
<span class="count">37844 products</span>
<span class="sel">SORT BY: Relevance <span>▾</span></span>
</div>
<div class="note">Six oversized pills + stacked checkboxes across two visual rows. The product count is the loudest element yet the least interactive.</div>
</div>
<!-- COMPACT DESKTOP -->
<div class="panel">
<div class="tag"><b>B · Compact — Desktop</b> — single 44px auto-layout row
<span class="savings">▼ ~65% less height</span></div>
<div class="cmp">
<div class="grp">
<span class="filters">⚟ Filters</span>
<span class="chip">Walls <span class="x">×</span></span>
<span class="chip">Red <span class="x">×</span></span>
<span class="more">+3 more</span>
</div>
<span class="spacer"></span>
<span class="count">37,844 results</span>
<span class="div"></span>
<span class="icnbtn" title="Color sort"><span class="rainbow"></span></span>
<span class="dens" title="Grid density">
<span class="grid-ic"><i></i><i></i><i></i><i></i><i></i><i></i></span>
<span class="track"><span class="knob"></span></span>
<span class="dnum">6</span>
</span>
<span class="div"></span>
<span class="sel">Relevance <span class="car">▾</span></span>
</div>
<div class="note">Filters toggle + active facets as removable chips (left) · muted count · color-sort icon · slim density slider · bare sort select (right). Auto-layout: left group <code>hug</code>, count <code>fill</code>, right group <code>hug</code>.</div>
</div>
<!-- COMPACT MOBILE -->
<div class="panel">
<div class="tag"><b>C · Compact — Mobile</b> — wraps to two rows below 640px</div>
<div class="phone">
<div class="topbar">designerwallcoverings.com/search?q=red</div>
<div class="m-row">
<span class="filters">⚟ Filters</span>
<span class="chip">Walls <span>×</span></span>
<span class="chip">Red <span>×</span></span>
<span class="count">37,844</span>
</div>
<div class="m-row m-row2">
<span class="icnbtn"><span class="rainbow"></span></span>
<span class="track"><span class="knob"></span></span>
<span class="sel">Relevance ▾</span>
</div>
</div>
<div class="note">Row 1 = filters + chips + count. Row 2 = color · density · sort. Thumb-reachable, nothing truncated.</div>
</div>
<div class="legend">
<span><b>Tokens:</b> ink #1a1a1a · muted #8a8a8a · line #dcdcdc · gold #C9A14B · chip-bg #faf5e8</span>
<span><b>Heights:</b> bar 44 · control 32 · gap 12</span>
<span><b>Kept per DW rule:</b> sort ✓ density slider ✓</span>
</div>
</div>
</body>
</html>