Utility modules for accessibility, entropy collection, clipboard, user agent detection, and various browser helpers.
Modules
| Module | Returns | Deps | Description |
|---|---|---|---|
| a11y | object |
none | ARIA live regions, aria-* attributes, role, prefers-reduced-motion |
| entropyCollector | function (factory) |
sensors |
Entropy collection from user events (motion via sensors) |
| clipboard | object |
none | Clipboard read/write |
| form | {bind, create} |
dom, events |
Input ↔ state binding + full form state machine |
| formKit | {create} |
form, valid, reactiveBind, signal |
RHF-like ergonomic layer over form (register/watch/array/submit), resolver = valid.compile |
| route | object |
events |
Hash-based router with :param / *wildcard patterns |
| ua | object |
none | User agent and platform detection |
| permissions | {isSupported, query, watch} |
none | Unified Permissions API query |
| notifications | {isSupported, show, requestPermission, ...} |
none | Web Notifications API wrapper |
| focus | {trap, tabOrder, next, previous, stash, current, onChange} |
dom, events |
Focus trap, tab order and stash/restore |
| keybindings | {create, parse} |
events, eventBus |
Keyboard shortcuts: simple bindings, chords, contexts, priority |
| leaderElection | {create, support} |
broadcastChannel |
Single-leader cross-tab election (Web Locks + BC fallback) |
| webauthn | {register, authenticate, support} |
random, b64 |
WebAuthn Level 3 — Passkeys / FIDO2 registration and authentication |
Notes
sanity/base.jsblocksMath.randomandcrypto.randomUUID— userandomor theuuidmodule instead.