Logout

End authenticated session.

Sign out?

html

<div class="logout" data-style="Dialog" style="--accent:#241430;">
  <h3 class="logout__heading">Sign out?</h3>
  <p class="logout__account">Signed in as <strong>jamie@example.com</strong></p>
  <label class="logout__all"><input type="checkbox" />Sign out of all devices</label>
  <div class="logout__actions">
    <button type="button" class="logout__cancel">Cancel</button>
    <button type="button" class="logout__confirm">Sign out</button>
  </div>
</div>
<style>
.logout { font: 14px/1.4 system-ui, sans-serif; color: #241430; background: #FAF7F2; width: 300px; padding: 20px; border-radius: 14px; box-sizing: border-box; }
.logout[data-style="Dialog"] { border: 1px solid #24143018; box-shadow: 0 10px 30px rgba(36,20,48,.18); }
.logout[data-style="Inline banner"] { border-left: 4px solid var(--accent); border-radius: 8px; background: #24143008; box-shadow: none; }
.logout__heading { margin: 0 0 6px; font-size: 16px; }
.logout__account { margin: 0 0 14px; font-size: 13px; color: #24143099; }
.logout__all { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 14px; }
.logout__actions { display: flex; gap: 10px; }
.logout__cancel, .logout__confirm { flex: 1; padding: 9px; border-radius: 8px; font-weight: 700; cursor: pointer; font: inherit; }
.logout__cancel { background: transparent; border: 1.5px solid #24143030; color: #241430; }
.logout__confirm { background: var(--accent); border: none; color: #FAF7F2; }
.logout__confirm:focus-visible, .logout__cancel:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
</style>

tailwind

<div class="w-[300px] p-5 rounded-2xl box-border font-sans text-sm text-[#241430] bg-[#FAF7F2] logout-tw" data-style="Dialog">
  <h3 class="m-0 mb-1.5 text-base">Sign out?</h3>
  <p class="m-0 mb-3.5 text-[13px] text-[#241430]/60">Signed in as <strong>jamie@example.com</strong></p>
  <label class="flex items-center gap-2 text-[13px] mb-3.5"><input type="checkbox" />Sign out of all devices</label>
  <div class="flex gap-2.5">
    <button type="button" class="flex-1 py-2.5 rounded-lg font-bold cursor-pointer bg-transparent border-[1.5px] border-[#24143030] text-[#241430]">Cancel</button>
    <button type="button" class="flex-1 py-2.5 rounded-lg font-bold cursor-pointer border-none text-[#FAF7F2]" style="background:#241430">Sign out</button>
  </div>
</div>
<style>
.logout-tw[data-style="Dialog"] { border: 1px solid #24143018; box-shadow: 0 10px 30px rgba(36,20,48,.18); }
.logout-tw[data-style="Inline banner"] { border-left: 4px solid #241430; border-radius: 8px; background: #24143008; box-shadow: none; }
</style>

react

export function Logout({
  heading = "Sign out?",
  accountName = "jamie@example.com",
  style = "Dialog",
  allDevices = true,
  accent = "#241430",
}) {
  const dialog = style === "Dialog";
  return (
    <div style={{ font: "14px/1.4 system-ui, sans-serif", color: "#241430", background: dialog ? "#FAF7F2" : "#24143008", width: 300, padding: 20, borderRadius: dialog ? 14 : 8, boxSizing: "border-box",
      border: dialog ? "1px solid #24143018" : "none", borderLeft: dialog ? undefined : `4px solid ${accent}`, boxShadow: dialog ? "0 10px 30px rgba(36,20,48,.18)" : "none" }}>
      <h3 style={{ margin: "0 0 6px", fontSize: 16 }}>{heading}</h3>
      <p style={{ margin: "0 0 14px", fontSize: 13, color: "#24143099" }}>Signed in as <strong>{accountName}</strong></p>
      {allDevices && <label style={{ display: "flex", alignItems: "center", gap: 8, fontSize: 13, marginBottom: 14 }}><input type="checkbox" />Sign out of all devices</label>}
      <div style={{ display: "flex", gap: 10 }}>
        <button type="button" style={{ flex: 1, padding: 9, borderRadius: 8, fontWeight: 700, cursor: "pointer", font: "inherit", background: "transparent", border: "1.5px solid #24143030", color: "#241430" }}>Cancel</button>
        <button type="button" style={{ flex: 1, padding: 9, borderRadius: 8, fontWeight: 700, cursor: "pointer", font: "inherit", background: accent, border: "none", color: "#FAF7F2" }}>Sign out</button>
      </div>
    </div>
  );
}