{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://shapes.penny.coop/team-member/1.0.0/schema.json",
  "title": "Team Member",
  "description": "A team member profile with name, role, biography, photo and contact links.",
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string",
      "x-penny": {
        "field": "text",
        "input": "text"
      }
    },
    "role": {
      "title": "Role",
      "type": "string",
      "x-penny": {
        "field": "text",
        "input": "text"
      }
    },
    "bio": {
      "title": "Bio",
      "type": "string",
      "x-penny": {
        "field": "textarea",
        "input": "textarea"
      }
    },
    "photo": {
      "title": "Photo",
      "type": "object",
      "properties": {
        "ref": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "ref"
      ],
      "description": "A project-local media reference; the file bytes and access permissions are stored separately.",
      "x-penny": {
        "field": "image"
      }
    },
    "email": {
      "title": "Email",
      "type": "string",
      "format": "email",
      "x-penny": {
        "field": "text",
        "input": "email"
      }
    },
    "linkedin": {
      "title": "LinkedIn",
      "type": "string",
      "format": "uri",
      "x-penny": {
        "field": "text",
        "input": "url"
      }
    },
    "twitter": {
      "title": "Twitter",
      "type": "string",
      "format": "uri",
      "x-penny": {
        "field": "text",
        "input": "url"
      }
    }
  },
  "required": [
    "name"
  ],
  "x-penny": {
    "shape": "team-member",
    "version": "1.0.0",
    "source": "app/types/teamMember.js",
    "sourceName": "teamMember",
    "kind": "record",
    "plural": "Team",
    "icon": "User",
    "defaultVisibility": "private",
    "publishable": false,
    "fieldOrder": [
      "name",
      "role",
      "bio",
      "photo",
      "email",
      "linkedin",
      "twitter"
    ]
  }
}
