docs/Website: Niveus at upstream f340d56; fonts are binary
The vendored copy of Niveus, the site's design system, brought up to the current upstream (github.com/Nexoniarz/Niveus, 2026-10-18). The tree under docs/Website/niveus is upstream's byte for byte. .gitattributes says `* text eol=lf` and listed the binary types it knew, and woff2 was not one of them: Niveus's InstrumentSans-Italic had a CR LF pair in its compressed data, and committing it turned that into LF and the font into garbage. woff, woff2, otf, ico, gif, webp, pdf and wasm are binary now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
parent
a1c965da1e
commit
a8215149a3
56 changed files with 8139 additions and 279 deletions
|
|
@ -240,12 +240,14 @@
|
|||
|
||||
<header class="hero">
|
||||
<p class="nv-overline">Design system</p>
|
||||
<h1 class="nv-display">Surfaces that feel understandable.</h1>
|
||||
<h1 class="nv-display">Surfaces you could press.</h1>
|
||||
<p class="nv-prose">
|
||||
Niveus is a calm, adaptive interface language built on clarity, depth,
|
||||
material and consistency. The same components carry their hierarchy from
|
||||
light to dark, because nothing below is defined in terms of an
|
||||
appearance — only in terms of a role.
|
||||
Niveus is a tactile, adaptive interface language. Controls are bevelled
|
||||
keys with light falling across them, fields are wells cut into the
|
||||
surface, and glass is kept for the chrome that floats over everything
|
||||
else. The same components carry their hierarchy from light to dark,
|
||||
because nothing below is defined in terms of an appearance — only in
|
||||
terms of a role.
|
||||
</p>
|
||||
<div class="demo-row">
|
||||
<button class="nv-button nv-button--primary nv-button--lg" data-nv-dialog="welcome">
|
||||
|
|
@ -513,7 +515,7 @@
|
|||
</div>
|
||||
<div class="type-row">
|
||||
<span class="nv-overline">Overline</span>
|
||||
<span class="type-row__meta">--nv-font-caption · uppercase</span>
|
||||
<span class="type-row__meta">--nv-font-engraved · mono, uppercase</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -762,6 +764,58 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<h3 class="nv-title" style="margin-block-end: var(--nv-space-4)">Window</h3>
|
||||
<div class="nv-bed nv-bed--quiet" style="display: grid; gap: var(--nv-space-6); grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); align-items: start">
|
||||
<div class="nv-window">
|
||||
<div class="nv-window__titlebar">
|
||||
<div class="nv-window__controls">
|
||||
<button class="nv-window__control nv-window__control--close" aria-label="Close"></button>
|
||||
<button class="nv-window__control nv-window__control--minimize" aria-label="Minimize"></button>
|
||||
<button class="nv-window__control nv-window__control--zoom" aria-label="Zoom"></button>
|
||||
</div>
|
||||
<span class="nv-window__title">Appearance</span>
|
||||
<div class="nv-window__actions">
|
||||
<button class="nv-button nv-button--ghost nv-button--sm nv-button--icon" aria-label="Search">
|
||||
<svg class="nv-button__icon" viewBox="0 0 24 24" fill="none" aria-hidden="true"><circle cx="11" cy="11" r="6.5" stroke="currentColor" stroke-width="2"/><path d="m20 20-4.2-4.2" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nv-window__body nv-stack" style="padding: var(--nv-space-5)">
|
||||
<p class="nv-overline">Style</p>
|
||||
<div class="nv-nav-tabs" role="tablist" aria-label="Appearance">
|
||||
<button class="nv-nav__item" role="tab" aria-selected="false">Light</button>
|
||||
<button class="nv-nav__item" role="tab" aria-selected="true">Dark</button>
|
||||
<button class="nv-nav__item" role="tab" aria-selected="false">System</button>
|
||||
</div>
|
||||
<label class="nv-choice"><input class="nv-switch" type="checkbox" checked> Translucent chrome</label>
|
||||
<label class="nv-choice"><input class="nv-switch" type="checkbox"> Reduce motion</label>
|
||||
<div class="nv-field">
|
||||
<label class="nv-field__label" for="win-wallpaper">Wallpaper</label>
|
||||
<input class="nv-input" id="win-wallpaper" value="~/Pictures/dusk-ridge.jpg">
|
||||
</div>
|
||||
<div class="nv-cluster" style="justify-content: flex-end">
|
||||
<button class="nv-button">Reset</button>
|
||||
<button class="nv-button nv-button--primary">Apply</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nv-window nv-window--inactive">
|
||||
<div class="nv-window__titlebar">
|
||||
<div class="nv-window__controls">
|
||||
<button class="nv-window__control nv-window__control--close" aria-label="Close"></button>
|
||||
<button class="nv-window__control nv-window__control--minimize" aria-label="Minimize"></button>
|
||||
<button class="nv-window__control nv-window__control--zoom" aria-label="Zoom"></button>
|
||||
</div>
|
||||
<span class="nv-window__title">Inactive — hover the lights</span>
|
||||
</div>
|
||||
<div class="nv-window__body" style="padding: var(--nv-space-5)">
|
||||
<p class="nv-caption">A window without focus greys its lights and steps back one elevation. The lights take their color back the moment the pointer reaches them.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<h3 class="nv-title" style="margin-block-end: var(--nv-space-4)">Dialog</h3>
|
||||
<div class="demo-row">
|
||||
|
|
@ -1315,7 +1369,7 @@
|
|||
previous.removeAttribute("aria-current");
|
||||
});
|
||||
item.setAttribute("aria-current", "page");
|
||||
});
|
||||
}, { scope: group });
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue