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.js blocks Math.random and crypto.randomUUID — use random or the uuid module instead.