{
  "name": "team-invite-form",
  "kind": "block",
  "primary": "form",
  "page": "/apps/user-flow/app/registration/invite/invite.contents.html",
  "slots": [],
  "nested": [
    "reg-step-header",
    "reg-invite-form",
    "reg-step-footer",
    "reg-step-progress"
  ],
  "attrs": {
    "data-reg-input": "",
    "action": "/site/examples/registration/integrations",
    "method": "get"
  },
  "html": "<form data-reg-input action=\"/site/examples/registration/integrations\" method=\"get\">\n        <header data-reg-heading><!-- nested: reg-step-header --></header>\n\n        <section data-reg-form><!-- nested: reg-invite-form --></section>\n\n        <footer><!-- nested: reg-step-footer --></footer>\n      </form>",
  "source": "apps/user-flow/app/registration/invite/invite.contents.html",
  "metadata": {
    "domain": "forms",
    "description": "Complete team-invite form — heading, repeating rows of email + role select per teammate, an add-another row button, an info alert, and a footer with two submit actions (Skip for now + Send invites). The whole form composition with header and dual-action footer. Use for 'invite form', 'add team members form', 'form with submit and skip / reset actions'.",
    "keywords": [
      "invite",
      "form",
      "team",
      "members",
      "email",
      "role",
      "multi-row",
      "add-another",
      "submit",
      "skip",
      "reset",
      "send",
      "invites",
      "complete",
      "card",
      "heading",
      "footer",
      "dual-action",
      "onboarding",
      "full-form"
    ],
    "related": [
      "reg-invite-form",
      "invite-members",
      "reg-step-footer"
    ],
    "tags": {
      "complexity": "moderate",
      "form": "invite"
    }
  },
  "captured_at": "2026-06-10T14:28:57.979Z",
  "template": [
    {
      "id": "text",
      "component": "Text",
      "variant": "display",
      "textContent": "Invite your teammates"
    },
    {
      "id": "text-2",
      "component": "Text",
      "color": "subtle",
      "textContent": "We'll email each person a join link. Skip if you'd rather invite later."
    },
    {
      "id": "header-2",
      "component": "Header",
      "data-reg-heading": "",
      "children": [
        "text",
        "text-2"
      ]
    },
    {
      "id": "header",
      "component": "Header",
      "data-reg-heading": "",
      "children": [
        "header-2"
      ]
    },
    {
      "id": "invite-0-email",
      "component": "Input",
      "type": "email",
      "autocomplete": "email",
      "name": "invite[0][email]",
      "placeholder": "alex@acme.com"
    },
    {
      "id": "field",
      "component": "Field",
      "label": "Email",
      "children": [
        "invite-0-email"
      ]
    },
    {
      "id": "invite-0-role",
      "component": "ChoicePicker",
      "name": "invite[0][role]",
      "value": "member",
      "options": [
        {
          "value": "admin",
          "label": "Admin"
        },
        {
          "value": "member",
          "label": "Member"
        },
        {
          "value": "viewer",
          "label": "Viewer"
        }
      ]
    },
    {
      "id": "field-2",
      "component": "Field",
      "label": "Role",
      "children": [
        "invite-0-role"
      ]
    },
    {
      "id": "column",
      "component": "Column",
      "data-reg-invite-row": "",
      "children": [
        "field",
        "field-2"
      ]
    },
    {
      "id": "invite-1-email",
      "component": "Input",
      "type": "email",
      "autocomplete": "email",
      "name": "invite[1][email]",
      "placeholder": "sam@acme.com"
    },
    {
      "id": "field-3",
      "component": "Field",
      "label": "Email",
      "children": [
        "invite-1-email"
      ]
    },
    {
      "id": "invite-1-role",
      "component": "ChoicePicker",
      "name": "invite[1][role]",
      "value": "member",
      "options": [
        {
          "value": "admin",
          "label": "Admin"
        },
        {
          "value": "member",
          "label": "Member"
        },
        {
          "value": "viewer",
          "label": "Viewer"
        }
      ]
    },
    {
      "id": "field-4",
      "component": "Field",
      "label": "Role",
      "children": [
        "invite-1-role"
      ]
    },
    {
      "id": "column-2",
      "component": "Column",
      "data-reg-invite-row": "",
      "children": [
        "field-3",
        "field-4"
      ]
    },
    {
      "id": "invite-2-email",
      "component": "Input",
      "type": "email",
      "autocomplete": "email",
      "name": "invite[2][email]",
      "placeholder": "riley@acme.com"
    },
    {
      "id": "field-5",
      "component": "Field",
      "label": "Email",
      "children": [
        "invite-2-email"
      ]
    },
    {
      "id": "invite-2-role",
      "component": "ChoicePicker",
      "name": "invite[2][role]",
      "value": "member",
      "options": [
        {
          "value": "admin",
          "label": "Admin"
        },
        {
          "value": "member",
          "label": "Member"
        },
        {
          "value": "viewer",
          "label": "Viewer"
        }
      ]
    },
    {
      "id": "field-6",
      "component": "Field",
      "label": "Role",
      "children": [
        "invite-2-role"
      ]
    },
    {
      "id": "column-3",
      "component": "Column",
      "data-reg-invite-row": "",
      "children": [
        "field-5",
        "field-6"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "type": "button",
      "icon": "plus",
      "text": "Add another",
      "variant": "ghost"
    },
    {
      "id": "text-4",
      "component": "Text",
      "textContent": "Copy a join link",
      "variant": "body"
    },
    {
      "id": "link",
      "component": "Link",
      "href": "#",
      "text": "Copy a join link",
      "children": [
        "text-4"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "variant": "body",
      "slot": "content",
      "textContent": "Don't have everyone's email? instead.",
      "children": [
        "link"
      ]
    },
    {
      "id": "alert",
      "component": "Alert",
      "icon": "info",
      "variant": "info",
      "children": [
        "text-3"
      ]
    },
    {
      "id": "section-2",
      "component": "Section",
      "data-reg-form": "",
      "children": [
        "column",
        "column-2",
        "column-3",
        "button",
        "alert"
      ]
    },
    {
      "id": "section",
      "component": "Section",
      "data-reg-form": "",
      "children": [
        "section-2"
      ]
    },
    {
      "id": "column-4",
      "component": "Column"
    },
    {
      "id": "text-5",
      "component": "Text",
      "textContent": "Back",
      "variant": "body"
    },
    {
      "id": "link-2",
      "component": "Link",
      "href": "/site/examples/registration/team-size",
      "text": "Back",
      "data-reg-back": "",
      "children": [
        "text-5"
      ]
    },
    {
      "id": "button-2",
      "component": "Button",
      "type": "submit",
      "text": "Skip for now",
      "variant": "outline"
    },
    {
      "id": "button-3",
      "component": "Button",
      "type": "submit",
      "text": "Send invites",
      "variant": "primary"
    },
    {
      "id": "column-5",
      "component": "Column",
      "data-reg-actions": "",
      "children": [
        "link-2",
        "button-2",
        "button-3"
      ]
    },
    {
      "id": "footer-2",
      "component": "Footer",
      "children": [
        "column-4",
        "column-5"
      ]
    },
    {
      "id": "footer",
      "component": "Footer",
      "children": [
        "footer-2"
      ]
    },
    {
      "id": "root",
      "component": "FormContainer",
      "data-reg-input": "",
      "children": [
        "header",
        "section",
        "footer"
      ]
    }
  ]
}
