appHistory polyfill

⚠️ Not for production. Use at your own risk; there will be breaking changes because the spec is not yet finalized ⚠️
A work-in-progress polyfill for the appHistory proposal.
Usage
This polyfill must run in a browser-like environment (e.g. an env that has window.location
and window.history
). If there's time, and demand for it, I think it would be interesting to have a discussion about how this polyfill could work in other environments.
To setup the polyfill so that it will automatically listen for anchor tag clicks, do the following:
import { useBrowerPolyfill } from "TODO";
userBrowserPolyfill();
window.appHistory.push();
Alternatively, you can create your own instance of AppHistory:
import { AppHistory } from "TODO";
const appHistory = new AppHistory();
appHistory.push();
Differences
- The events for an
AppHistoryEntry
use event.detail.target
instead of event.target
to get access to the AppHistoryEntry that fired the event.