{
  "name": "drawer-smtp",
  "kind": "block",
  "primary": "drawer-ui",
  "page": "/apps/saas/app/integrations/integrations.contents.html",
  "slots": [],
  "nested": [
    "linked-record-row"
  ],
  "attrs": {
    "side": "right",
    "size": "md"
  },
  "html": "<drawer-ui id=\"drawer-smtp\" side=\"right\" size=\"md\">\n  <header>\n    <span slot=\"icon\">\n      <avatar-ui icon=\"envelope\"></avatar-ui>\n    </span>\n    <span slot=\"heading\">\n      <text-ui strong>Email (SMTP)</text-ui>\n      <badge-ui text=\"Action needed\" variant=\"warning\"></badge-ui>\n    </span>\n    <span slot=\"action\"></span>\n  </header>\n  <section>\n    <text-ui color=\"subtle\" size=\"sm\">Credentials expired April 12, 2026</text-ui>\n  </section>\n  <section>\n    <col-ui gap=\"4\">\n      <alert-ui\n        variant=\"warning\"\n        icon=\"warning\"\n        text=\"SendGrid API key rejected on April 12 at 02:14 UTC. Outbound email has been queued — 143 messages pending. Provide updated credentials to resume delivery.\"\n      ></alert-ui>\n      <divider-ui></divider-ui>\n      <field-ui label=\"Provider\">\n        <select-ui value=\"sendgrid\">\n          <option value=\"sendgrid\">SendGrid</option>\n          <option value=\"postmark\">Postmark</option>\n          <option value=\"ses\">Amazon SES</option>\n          <option value=\"custom\">Custom SMTP</option>\n        </select-ui>\n      </field-ui>\n      <field-ui label=\"SMTP host\">\n        <input-ui value=\"smtp.sendgrid.net\"></input-ui>\n      </field-ui>\n      <row-ui gap=\"2\">\n        <field-ui label=\"Port\">\n          <input-ui value=\"587\" grow></input-ui>\n        </field-ui>\n        <field-ui label=\"Encryption\">\n          <select-ui value=\"tls\" grow>\n            <option value=\"none\">None</option>\n            <option value=\"tls\">STARTTLS</option>\n            <option value=\"ssl\">SSL</option>\n          </select-ui>\n        </field-ui>\n      </row-ui>\n      <field-ui label=\"Username\">\n        <input-ui value=\"apikey\"></input-ui>\n      </field-ui>\n      <field-ui label=\"Password / API key\" hint=\"Paste the new SendGrid API key with at least 'Mail Send' scope.\">\n        <input-ui type=\"password\" placeholder=\"SG.••••••••\"></input-ui>\n      </field-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"3\">\n        <text-ui strong>Sender identity</text-ui>\n        <field-ui label=\"From address\">\n          <input-ui value=\"hello@acme.com\" type=\"email\"></input-ui>\n        </field-ui>\n        <field-ui label=\"From name\">\n          <input-ui value=\"Acme\"></input-ui>\n        </field-ui>\n        <field-ui label=\"Reply-to\">\n          <input-ui value=\"support@acme.com\" type=\"email\"></input-ui>\n        </field-ui>\n      </col-ui>\n      <divider-ui></divider-ui>\n      <col-ui gap=\"2\">\n        <text-ui strong>Domain authentication</text-ui>\n        <row-ui gap=\"2\" align=\"center\"\n        ><!-- nested: linked-record-row --></row-ui>\n        <row-ui gap=\"2\" align=\"center\">\n          <icon-ui name=\"check-circle\" color=\"success\"></icon-ui>\n          <text-ui grow>DKIM</text-ui>\n          <badge-ui text=\"Verified\" variant=\"success\"></badge-ui>\n        </row-ui>\n        <row-ui gap=\"2\" align=\"center\">\n          <icon-ui name=\"warning-circle\" color=\"warning\"></icon-ui>\n          <text-ui grow>DMARC</text-ui>\n          <badge-ui text=\"p=none\" variant=\"warning\"></badge-ui>\n        </row-ui>\n      </col-ui>\n    </col-ui>\n  </section>\n  <footer slot=\"footer\">\n    <grid-ui>\n      <button-ui text=\"Send test email\" icon=\"paper-plane-tilt\" variant=\"ghost\"></button-ui>\n      <button-ui text=\"Remove\" icon=\"trash\" color=\"danger\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n      <button-ui text=\"Reconnect\" variant=\"primary\" onclick=\"this.closest('drawer-ui').open = false\"></button-ui>\n    </grid-ui>\n  </footer>\n</drawer-ui>",
  "source": "apps/saas/app/integrations/integrations.contents.html",
  "metadata": {
    "domain": "settings",
    "description": "SMTP email configuration drawer — custom email server settings for transactional email.",
    "keywords": [
      "drawer",
      "smtp",
      "email",
      "server",
      "configuration",
      "transactional",
      "custom"
    ]
  },
  "captured_at": "2026-06-07T19:28:13.657Z",
  "template": [
    {
      "id": "avatar",
      "component": "Avatar",
      "icon": "envelope"
    },
    {
      "id": "text",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "strong": true,
      "textContent": "Email (SMTP)"
    },
    {
      "id": "badge",
      "component": "Badge",
      "text": "Action needed",
      "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": "Credentials expired April 12, 2026"
    },
    {
      "id": "section",
      "component": "Section",
      "children": [
        "text-5"
      ]
    },
    {
      "id": "alert",
      "component": "Alert",
      "icon": "warning",
      "text": "SendGrid API key rejected on April 12 at 02:14 UTC. Outbound email has been queued — 143 messages pending. Provide updated credentials to resume delivery.",
      "variant": "warning"
    },
    {
      "id": "divider",
      "component": "Divider"
    },
    {
      "id": "choice-picker",
      "component": "ChoicePicker",
      "value": "sendgrid",
      "options": [
        {
          "value": "sendgrid",
          "label": "SendGrid"
        },
        {
          "value": "postmark",
          "label": "Postmark"
        },
        {
          "value": "ses",
          "label": "Amazon SES"
        },
        {
          "value": "custom",
          "label": "Custom SMTP"
        }
      ]
    },
    {
      "id": "field",
      "component": "Field",
      "label": "Provider",
      "children": [
        "choice-picker"
      ]
    },
    {
      "id": "input",
      "component": "Input",
      "value": "smtp.sendgrid.net"
    },
    {
      "id": "field-2",
      "component": "Field",
      "label": "SMTP host",
      "children": [
        "input"
      ]
    },
    {
      "id": "input-2",
      "component": "Input",
      "value": "587"
    },
    {
      "id": "field-3",
      "component": "Field",
      "label": "Port",
      "children": [
        "input-2"
      ]
    },
    {
      "id": "choice-picker-2",
      "component": "ChoicePicker",
      "value": "tls",
      "options": [
        {
          "value": "none",
          "label": "None"
        },
        {
          "value": "tls",
          "label": "STARTTLS"
        },
        {
          "value": "ssl",
          "label": "SSL"
        }
      ]
    },
    {
      "id": "field-4",
      "component": "Field",
      "label": "Encryption",
      "children": [
        "choice-picker-2"
      ]
    },
    {
      "id": "row",
      "component": "Row",
      "gap": "2",
      "children": [
        "field-3",
        "field-4"
      ]
    },
    {
      "id": "input-3",
      "component": "Input",
      "value": "apikey"
    },
    {
      "id": "field-5",
      "component": "Field",
      "label": "Username",
      "children": [
        "input-3"
      ]
    },
    {
      "id": "input-4",
      "component": "Input",
      "type": "password",
      "placeholder": "SG.••••••••"
    },
    {
      "id": "field-6",
      "component": "Field",
      "hint": "Paste the new SendGrid API key with at least 'Mail Send' scope.",
      "label": "Password / API key",
      "children": [
        "input-4"
      ]
    },
    {
      "id": "divider-2",
      "component": "Divider"
    },
    {
      "id": "text-6",
      "component": "Text",
      "strong": true,
      "textContent": "Sender identity"
    },
    {
      "id": "input-5",
      "component": "Input",
      "type": "email",
      "value": "hello@acme.com"
    },
    {
      "id": "field-7",
      "component": "Field",
      "label": "From address",
      "children": [
        "input-5"
      ]
    },
    {
      "id": "input-6",
      "component": "Input",
      "value": "Acme"
    },
    {
      "id": "field-8",
      "component": "Field",
      "label": "From name",
      "children": [
        "input-6"
      ]
    },
    {
      "id": "input-7",
      "component": "Input",
      "type": "email",
      "value": "support@acme.com"
    },
    {
      "id": "field-9",
      "component": "Field",
      "label": "Reply-to",
      "children": [
        "input-7"
      ]
    },
    {
      "id": "column-2",
      "component": "Column",
      "gap": "3",
      "children": [
        "text-6",
        "field-7",
        "field-8",
        "field-9"
      ]
    },
    {
      "id": "divider-3",
      "component": "Divider"
    },
    {
      "id": "text-7",
      "component": "Text",
      "strong": true,
      "textContent": "Domain authentication"
    },
    {
      "id": "check-circle",
      "component": "Icon",
      "name": "check-circle"
    },
    {
      "id": "text-8",
      "component": "Text",
      "textContent": "SPF record"
    },
    {
      "id": "badge-2",
      "component": "Badge",
      "text": "Verified",
      "variant": "success"
    },
    {
      "id": "row-3",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "check-circle",
        "text-8",
        "badge-2"
      ]
    },
    {
      "id": "row-2",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "row-3"
      ]
    },
    {
      "id": "icon",
      "component": "Icon",
      "name": "check-circle"
    },
    {
      "id": "text-9",
      "component": "Text",
      "textContent": "DKIM"
    },
    {
      "id": "badge-3",
      "component": "Badge",
      "text": "Verified",
      "variant": "success"
    },
    {
      "id": "row-4",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "icon",
        "text-9",
        "badge-3"
      ]
    },
    {
      "id": "warning-circle",
      "component": "Icon",
      "name": "warning-circle"
    },
    {
      "id": "text-10",
      "component": "Text",
      "textContent": "DMARC"
    },
    {
      "id": "badge-4",
      "component": "Badge",
      "text": "p=none",
      "variant": "warning"
    },
    {
      "id": "row-5",
      "component": "Row",
      "align": "center",
      "gap": "2",
      "children": [
        "warning-circle",
        "text-10",
        "badge-4"
      ]
    },
    {
      "id": "column-3",
      "component": "Column",
      "gap": "2",
      "children": [
        "text-7",
        "row-2",
        "row-4",
        "row-5"
      ]
    },
    {
      "id": "column",
      "component": "Column",
      "gap": "4",
      "children": [
        "alert",
        "divider",
        "field",
        "field-2",
        "row",
        "field-5",
        "field-6",
        "divider-2",
        "column-2",
        "divider-3",
        "column-3"
      ]
    },
    {
      "id": "section-2",
      "component": "Section",
      "children": [
        "column"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "icon": "paper-plane-tilt",
      "text": "Send test email",
      "variant": "ghost"
    },
    {
      "id": "button-2",
      "component": "Button",
      "color": "danger",
      "icon": "trash",
      "text": "Remove"
    },
    {
      "id": "button-3",
      "component": "Button",
      "text": "Reconnect",
      "variant": "primary"
    },
    {
      "id": "grid",
      "component": "Grid",
      "children": [
        "button",
        "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"
      ]
    }
  ]
}
