| 1 | <!doctype html><html lang="en"><head><meta charset="utf-8"><title>signin</title><link rel="stylesheet" href="/tokens.css"><link rel="stylesheet" href="/theme.css"></head><body><div id="case-link"><section rst-signin aria-labelledby="rst-signin-heading"> |
| 2 | <div rst-signin-brand><div rst-signin-mark><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9" fill="none" stroke="currentColor"/></svg></div><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div> |
| 3 | <div rst-signin-door> |
| 4 | <h1 id="rst-signin-heading">Sign in to Harbour</h1> |
| 5 | <form rst-signin-form method="post" action="/signin"> |
| 6 | <input type="hidden" name="address" value="grace@example.com"> |
| 7 | <button rst-btn="primary block" type="submit" autofocus><span>Continue as <bdi>grace@example.com</bdi></span></button> |
| 8 | </form> |
| 9 | <form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form> |
| 10 | </div> |
| 11 | </section></div><div id="case-ask-live"><section rst-signin aria-labelledby="rst-signin-heading"> |
| 12 | <div rst-signin-brand><div rst-signin-mark><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9" fill="none" stroke="currentColor"/></svg></div><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div> |
| 13 | <div rst-signin-door> |
| 14 | <h1 id="rst-signin-heading">Sign in to Harbour</h1> |
| 15 | <form rst-signin-form method="post" action="/signin"> |
| 16 | <div rst-field><label rst-field-label for="rst-signin-email">Email</label> |
| 17 | <input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email"> |
| 18 | </div> |
| 19 | <button rst-btn="primary block" type="submit">Continue</button> |
| 20 | </form> |
| 21 | <p rst-signin-or>or</p> |
| 22 | <div rst-signin-passkey><button rst-btn="block" type="button" hidden data-rst-passkey data-rst-passkey-begin="/passkey/discover/begin" data-rst-passkey-finish="/passkey/discover/finish" data-rst-passkey-module="/static/webauthn.mjs" data-rst-passkey-cancelled="No passkey was used. Try again, or use your email." data-rst-passkey-failed="That didn't work. Try again, or use your email." aria-describedby="rst-signin-passkey-msg">Sign in with a passkey</button> |
| 23 | <p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p> |
| 24 | </div> |
| 25 | <script type="module" src="/static/passkey-signin.mjs"></script> |
| 26 | </div> |
| 27 | </section></div><div id="case-ask-preview"><section rst-signin aria-labelledby="rst-signin-heading"> |
| 28 | <div rst-signin-brand><div rst-signin-mark><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9" fill="none" stroke="currentColor"/></svg></div><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div> |
| 29 | <div rst-signin-door> |
| 30 | <h1 id="rst-signin-heading">Sign in to Harbour</h1> |
| 31 | <form rst-signin-form method="post" action="/signin"> |
| 32 | <div rst-field><label rst-field-label for="rst-signin-email">Email</label> |
| 33 | <input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email"> |
| 34 | </div> |
| 35 | <button rst-btn="primary block" type="submit">Continue</button> |
| 36 | </form> |
| 37 | <p rst-signin-or>or</p> |
| 38 | <div rst-signin-passkey><button rst-btn="block" type="button" aria-describedby="rst-signin-passkey-msg">Sign in with a passkey</button> |
| 39 | <p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p> |
| 40 | </div> |
| 41 | </div> |
| 42 | </section></div><div id="case-passkey-live"><section rst-signin aria-labelledby="rst-signin-heading"> |
| 43 | <div rst-signin-brand><div rst-signin-mark><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9" fill="none" stroke="currentColor"/></svg></div><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div> |
| 44 | <div rst-signin-door> |
| 45 | <h1 id="rst-signin-heading">Sign in to Harbour</h1> |
| 46 | <div rst-signin-passkey><button rst-btn="primary block" type="button" hidden data-rst-passkey data-rst-passkey-begin="/passkey/discover/begin" data-rst-passkey-finish="/passkey/discover/finish" data-rst-passkey-module="/static/webauthn.mjs" data-rst-passkey-cancelled="No passkey was used. Try again, or use your email." data-rst-passkey-failed="That didn't work. Try again, or use your email." aria-describedby="rst-signin-passkey-msg">Sign in with your passkey</button> |
| 47 | <p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p> |
| 48 | </div> |
| 49 | <p rst-signin-or>or</p> |
| 50 | <script type="module" src="/static/passkey-signin.mjs"></script> |
| 51 | <form rst-signin-form method="post" action="/signin"> |
| 52 | <div rst-field><label rst-field-label for="rst-signin-email">Email</label> |
| 53 | <input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email"> |
| 54 | </div> |
| 55 | <button rst-btn="primary block" type="submit">Continue</button> |
| 56 | </form> |
| 57 | <form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form> |
| 58 | </div> |
| 59 | </section></div><div id="case-passkey-preview"><section rst-signin aria-labelledby="rst-signin-heading"> |
| 60 | <div rst-signin-brand><div rst-signin-mark><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="9" fill="none" stroke="currentColor"/></svg></div><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div> |
| 61 | <div rst-signin-door> |
| 62 | <h1 id="rst-signin-heading">Sign in to Harbour</h1> |
| 63 | <div rst-signin-passkey><button rst-btn="primary block" type="button" aria-describedby="rst-signin-passkey-msg">Sign in with your passkey</button> |
| 64 | <p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p> |
| 65 | </div> |
| 66 | <p rst-signin-or>or</p> |
| 67 | <form rst-signin-form method="post" action="/signin"> |
| 68 | <div rst-field><label rst-field-label for="rst-signin-email">Email</label> |
| 69 | <input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email"> |
| 70 | </div> |
| 71 | <button rst-btn="primary block" type="submit">Continue</button> |
| 72 | </form> |
| 73 | <form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form> |
| 74 | </div> |
| 75 | </section></div></body></html> |