Persist 1.2.0
Umschließe ein Formular (oder eine Feldgruppe) mit <velin-persist> um benannte Eingaben verzögert in localStorage (Standard) oder sessionStorage. Passwort- und Datei-Eingaben werden nie gespeichert. Unterstützt WCAG 2.2 3.3.7 Redundante Eingabe; aufgeführt in core/a11y/component-contracts.json (Framework-Audit: pass). English: Persist
Reifegrad: Dokumentiert als stabil in VelinStyle 1.2.0. Design Intelligence (Plan / Review / Agent-Meta) ist separat und Beta / Foundation wo vermerkt.
Wann verwenden
- Merke nicht sensible UI-Zustände (Entwurfswerte, Umschalter) über Reloads hinweg mit
<velin-persist>. - Reduziere erneute Eingaben für Formulare oder Einstellungen, wenn das dokumentierte Speichermuster passt.
Wann nicht
- Secrets, tokens, or payment data — never persist sensitive values in client storage.
- Server-of-record application state — use your backend; this is a client convenience only.
Basis
<velin-persist key="contact-draft">
<form>…</form>
</velin-persist>
Attribute
| Attribut | Standard | Hinweise |
|---|---|---|
key | default | Storage-Suffix (velin-persist-{key}); alphanumerisch + _- |
storage | local | session for sessionStorage |
JavaScript-API
document.querySelector('velin-persist').clear();
Löscht auch bei Formular- submit and reset.
Events
velin-persist-restore— after values are appliedvelin-persist-clear— storage entry removedvelin-persist-error— e.g.detail.error === 'quota'
Sicherheit
Secrets nie persistieren: type="password" and type="file" werden übersprungen. Maximale Payload 64 KB pro Key. Für PII im Quelltext führe npx velinstyle scan --only pii.
Barrierefreiheit
- Persistierte Felder sollten weiterhin sichtbare Labels und dieselben Validierungshinweise wie normale Eingaben haben.
- Informiere Nutzer, wenn ein Entwurf wiederhergestellt wurde und diese überraschung ihre Entscheidung beeinflussen könnte.