{
  "name": "drawer-2fa-sms",
  "kind": "block",
  "primary": "drawer-ui",
  "page": "/apps/saas/app/profile-security/profile-security.contents.html",
  "slots": [],
  "nested": [],
  "attrs": {
    "side": "right",
    "size": "md"
  },
  "html": "<drawer-ui id=\"drawer-2fa-sms\" side=\"right\" size=\"md\">\n  <header>\n    <span slot=\"icon\">\n      <avatar-ui icon=\"chat-circle-text\"></avatar-ui>\n    </span>\n    <span slot=\"heading\">\n      <text-ui strong>SMS authentication</text-ui>\n      <badge-ui text=\"Not recommended\" variant=\"warning\"></badge-ui>\n    </span>\n    <span slot=\"action\"></span>\n  </header>\n  <section>\n    <text-ui color=\"subtle\" size=\"sm\">Only use SMS if you have no access to an authenticator app or hardware key.</text-ui>\n  </section>\n  <section>\n    <col-ui gap=\"4\">\n      <alert-ui\n        variant=\"warning\"\n        icon=\"warning\"\n        text=\"SMS codes can be intercepted via SIM-swap attacks. Prefer an authenticator app or hardware key. If you proceed, we'll also require an authenticator as your primary factor.\"\n      ></alert-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Phone number</text-ui>\n        <row-ui gap=\"2\">\n          <field-ui label=\"Country\">\n            <select-ui value=\"us\" style=\"flex: 0 0 8rem\">\n              <option value=\"us\">🇺🇸 +1</option>\n              <option value=\"uk\">🇬🇧 +44</option>\n              <option value=\"de\">🇩🇪 +49</option>\n              <option value=\"fi\">🇫🇮 +358</option>\n            </select-ui>\n          </field-ui>\n          <field-ui label=\"Number\">\n            <input-ui placeholder=\"555 123 4567\" grow></input-ui>\n          </field-ui>\n        </row-ui>\n        <button-ui text=\"Send verification code\" variant=\"outline\" icon=\"paper-plane-tilt\" stretch></button-ui>\n      </col-ui>\n      <divider-ui></divider-ui>\n      <field-ui label=\"6-digit code\" hint=\"Enter the code we just texted you.\">\n        <otp-input-ui length=\"6\"></otp-input-ui>\n      </field-ui>\n    </col-ui>\n  </section>\n  <footer slot=\"footer\">\n    <grid-ui>\n      <button-ui text=\"Cancel\" variant=\"ghost\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n      <button-ui text=\"Enable SMS 2FA\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n    </grid-ui>\n  </footer>\n</drawer-ui>",
  "source": "apps/saas/app/profile-security/profile-security.contents.html",
  "metadata": {
    "domain": "settings",
    "description": "SMS two-factor auth setup drawer — add phone number for SMS OTP codes.",
    "keywords": [
      "drawer",
      "2fa",
      "sms",
      "phone",
      "two-factor",
      "setup",
      "verification",
      "settings"
    ]
  },
  "captured_at": "2026-06-07T19:28:13.657Z",
  "template": [
    {
      "id": "avatar",
      "component": "Avatar",
      "icon": "chat-circle-text"
    },
    {
      "id": "text",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "strong": true,
      "textContent": "SMS authentication"
    },
    {
      "id": "badge",
      "component": "Badge",
      "text": "Not recommended",
      "variant": "warning"
    },
    {
      "id": "text-2",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-3",
        "badge"
      ]
    },
    {
      "id": "text-4",
      "component": "Text",
      "variant": "body",
      "slot": "action"
    },
    {
      "id": "header",
      "component": "Header",
      "children": [
        "text",
        "text-2",
        "text-4"
      ]
    },
    {
      "id": "text-5",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Only use SMS if you have no access to an authenticator app or hardware key."
    },
    {
      "id": "section",
      "component": "Section",
      "children": [
        "text-5"
      ]
    },
    {
      "id": "alert",
      "component": "Alert",
      "icon": "warning",
      "text": "SMS codes can be intercepted via SIM-swap attacks. Prefer an authenticator app or hardware key. If you proceed, we'll also require an authenticator as your primary factor.",
      "variant": "warning"
    },
    {
      "id": "divider",
      "component": "Divider"
    },
    {
      "id": "text-6",
      "component": "Text",
      "strong": true,
      "textContent": "Phone number"
    },
    {
      "id": "choice-picker",
      "component": "ChoicePicker",
      "value": "us",
      "options": [
        {
          "value": "us",
          "label": "🇺🇸 +1"
        },
        {
          "value": "uk",
          "label": "🇬🇧 +44"
        },
        {
          "value": "de",
          "label": "🇩🇪 +49"
        },
        {
          "value": "fi",
          "label": "🇫🇮 +358"
        }
      ]
    },
    {
      "id": "field",
      "component": "Field",
      "label": "Country",
      "children": [
        "choice-picker"
      ]
    },
    {
      "id": "input",
      "component": "Input",
      "placeholder": "555 123 4567"
    },
    {
      "id": "field-2",
      "component": "Field",
      "label": "Number",
      "children": [
        "input"
      ]
    },
    {
      "id": "row",
      "component": "Row",
      "gap": "2",
      "children": [
        "field",
        "field-2"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "icon": "paper-plane-tilt",
      "stretch": true,
      "text": "Send verification code",
      "variant": "outline"
    },
    {
      "id": "column-2",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-6",
        "row",
        "button"
      ]
    },
    {
      "id": "divider-2",
      "component": "Divider"
    },
    {
      "id": "otp-input",
      "component": "OtpInput",
      "length": 6
    },
    {
      "id": "field-3",
      "component": "Field",
      "hint": "Enter the code we just texted you.",
      "label": "6-digit code",
      "children": [
        "otp-input"
      ]
    },
    {
      "id": "column",
      "component": "Column",
      "gap": "4",
      "children": [
        "alert",
        "divider",
        "column-2",
        "divider-2",
        "field-3"
      ]
    },
    {
      "id": "section-2",
      "component": "Section",
      "children": [
        "column"
      ]
    },
    {
      "id": "button-2",
      "component": "Button",
      "text": "Cancel",
      "variant": "ghost"
    },
    {
      "id": "button-3",
      "component": "Button",
      "text": "Enable SMS 2FA",
      "variant": "primary"
    },
    {
      "id": "grid",
      "component": "Grid",
      "children": [
        "button-2",
        "button-3"
      ]
    },
    {
      "id": "footer",
      "component": "Footer",
      "slot": "footer",
      "children": [
        "grid"
      ]
    },
    {
      "id": "root",
      "component": "Drawer",
      "side": "right",
      "size": "md",
      "children": [
        "header",
        "section",
        "section-2",
        "footer"
      ]
    }
  ]
}
