{
 "note": "Type names only. Fetch a type's full prop table before setting any prop on it.",
 "types": [
  {
   "type": "accordion",
   "label": "Accordion",
   "category": "structure"
  },
  {
   "type": "accordionContainer",
   "label": "Section",
   "category": "structure"
  },
  {
   "type": "approvals",
   "label": "Approvals",
   "category": "fields",
   "purpose": "the record's approval flow — needs the entity option ON"
  },
  {
   "type": "avatar",
   "label": "Avatar",
   "category": "fields",
   "purpose": "a person's picture, with upload"
  },
  {
   "type": "breadcrumb",
   "label": "Breadcrumb",
   "category": "workspace",
   "purpose": "the navigation trail"
  },
  {
   "type": "button",
   "label": "Button",
   "category": "static"
  },
  {
   "type": "buttonList",
   "label": "Button list",
   "category": "fields",
   "purpose": "segmented choice — a VALUE, not a toolbar"
  },
  {
   "type": "calendar",
   "label": "Calendar",
   "category": "widgets",
   "purpose": "records on a calendar"
  },
  {
   "type": "cards",
   "label": "Cards",
   "category": "widgets",
   "purpose": "records as cards"
  },
  {
   "type": "chart",
   "label": "Chart",
   "category": "charts",
   "purpose": "a chart; the ONE tall element with no automatic height"
  },
  {
   "type": "checkbox",
   "label": "Checkbox",
   "category": "fields"
  },
  {
   "type": "checklist",
   "label": "Checklist",
   "category": "fields",
   "purpose": "the record's checklist — needs the entity option ON"
  },
  {
   "type": "chips",
   "label": "Chips (tags)",
   "category": "fields",
   "purpose": "freeform tags on a list-valued field"
  },
  {
   "type": "code",
   "label": "Code",
   "category": "fields",
   "purpose": "a JSON/code EDITOR the user types into — not form scripting"
  },
  {
   "type": "comments",
   "label": "Comments",
   "category": "fields",
   "purpose": "the record's comment feed — needs the entity option ON"
  },
  {
   "type": "container",
   "label": "Container",
   "category": "structure"
  },
  {
   "type": "date",
   "label": "Date",
   "category": "fields",
   "purpose": "a bound date field with a real min/max window"
  },
  {
   "type": "datePicker",
   "label": "Date picker",
   "category": "widgets",
   "purpose": "a standalone date/range picker widget, not a bound field row"
  },
  {
   "type": "dynamicComponent",
   "label": "Dynamic Component",
   "category": "advanced",
   "purpose": "renders a component chosen at runtime"
  },
  {
   "type": "embeddedForm",
   "label": "Embedded form",
   "category": "widgets",
   "purpose": "another form, inline"
  },
  {
   "type": "entityLayouts",
   "label": "Entity Layouts",
   "category": "workspace",
   "purpose": "an entityList's view area, decomposed — needs wiring to be useful"
  },
  {
   "type": "entityLinks",
   "label": "Entity links (connections)",
   "category": "widgets",
   "purpose": "record-to-record connections"
  },
  {
   "type": "entityList",
   "label": "Entity List",
   "category": "workspace",
   "purpose": "a whole entity's records as one element, with its own view switcher"
  },
  {
   "type": "entityToolbar",
   "label": "Entity Toolbar",
   "category": "workspace",
   "purpose": "an entityList's toolbar, decomposed — needs wiring to be useful"
  },
  {
   "type": "entityTree",
   "label": "Entity Tree",
   "category": "workspace",
   "purpose": "hierarchical records (parent/child) as a tree"
  },
  {
   "type": "files",
   "label": "Files",
   "category": "fields"
  },
  {
   "type": "flexContainer",
   "label": "Flex Container",
   "category": "structure"
  },
  {
   "type": "groupedSelect",
   "label": "Grouped Select",
   "category": "fields",
   "purpose": "a select whose options come in labelled groups"
  },
  {
   "type": "history",
   "label": "History",
   "category": "fields",
   "purpose": "the record's change history — needs the entity option ON"
  },
  {
   "type": "html",
   "label": "HTML",
   "category": "fields",
   "purpose": "author-written static markup — never a home for record data"
  },
  {
   "type": "icon",
   "label": "Icon",
   "category": "fields"
  },
  {
   "type": "iFrameWidget",
   "label": "IFrame",
   "category": "fields",
   "purpose": "an embedded external page"
  },
  {
   "type": "image",
   "label": "Image",
   "category": "fields"
  },
  {
   "type": "input",
   "label": "Text input",
   "category": "fields"
  },
  {
   "type": "kanban",
   "label": "Kanban",
   "category": "widgets",
   "purpose": "records as a board with columns"
  },
  {
   "type": "menuPanel",
   "label": "Menu",
   "category": "structure",
   "purpose": "a workspace's navigation panel"
  },
  {
   "type": "menuPanelItem",
   "label": "Menu item",
   "category": "structure",
   "purpose": "one entry inside a menuPanel"
  },
  {
   "type": "pdfPreview",
   "label": "PDF preview",
   "category": "fields",
   "purpose": "a PDF viewer"
  },
  {
   "type": "progressBar",
   "label": "Progress bar",
   "category": "fields",
   "purpose": "a value rendered as progress"
  },
  {
   "type": "radio",
   "label": "Radio group",
   "category": "fields"
  },
  {
   "type": "recordDetail",
   "label": "Record Detail",
   "category": "structure",
   "purpose": "one record's fields rendered read-only"
  },
  {
   "type": "resizableWindow",
   "label": "Resizable Window",
   "category": "structure",
   "purpose": "split panes the user can drag; needs 2+ children"
  },
  {
   "type": "richText",
   "label": "Rich text",
   "category": "fields"
  },
  {
   "type": "select",
   "label": "Select",
   "category": "fields"
  },
  {
   "type": "signature",
   "label": "Signature",
   "category": "fields",
   "purpose": "a drawn signature capture"
  },
  {
   "type": "stepButton",
   "label": "Step button",
   "category": "structure",
   "purpose": "the next/back control inside a steps wizard"
  },
  {
   "type": "steps",
   "label": "Steps",
   "category": "structure",
   "purpose": "the wizard's step indicator"
  },
  {
   "type": "stepsContainer",
   "label": "Step",
   "category": "structure",
   "purpose": "one step's content"
  },
  {
   "type": "table",
   "label": "Table",
   "category": "widgets",
   "purpose": "a configurable record table with per-column settings"
  },
  {
   "type": "tabs",
   "label": "Tabs",
   "category": "structure"
  },
  {
   "type": "tabsContainer",
   "label": "Tab",
   "category": "structure"
  },
  {
   "type": "textarea",
   "label": "Text area",
   "category": "fields"
  },
  {
   "type": "timeLog",
   "label": "Time Log",
   "category": "widgets",
   "purpose": "individual time entries"
  },
  {
   "type": "timeTracked",
   "label": "Time Tracked",
   "category": "widgets",
   "purpose": "accumulated time on a record"
  },
  {
   "type": "timeTracker",
   "label": "Time Tracker",
   "category": "widgets",
   "purpose": "the start/stop control"
  },
  {
   "type": "toggle",
   "label": "Toggle",
   "category": "fields"
  },
  {
   "type": "usersOnline",
   "label": "Users online",
   "category": "fields",
   "purpose": "who is looking at this record right now"
  },
  {
   "type": "workspaceViewport",
   "label": "Workspace Viewport",
   "category": "workspace",
   "purpose": "the pane a workspace menu opens forms into"
  }
 ]
}
