{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.cuddler.dev/standards/artifact-definitions/component-hierarchy/1.0.0/data.schema.json",
  "title": "Component Hierarchy Data Schema",
  "type": "object",
  "cuddler": {
    "specVersion": "1.0.0",
    "documentTypeId": "component-hierarchy",
    "schemaVersion": "1.0.0",
    "output": {
      "primaryContentType": "application/json",
      "supportedContentTypes": [
        "application/json"
      ]
    },
    "profile": {
      "id": "component-hierarchy",
      "version": "1.0.0",
      "for-ai": [
        {
          "instruction": "Explain what this Cuddler schema profile governs so AI consumers understand when to use this schema family.",
          "input": "",
          "output": "Component Hierarchy schema family for publishing Stage-rooted component trees used by page and application UI artifacts."
        }
      ]
    },
    "schemaLinks": [
      {
        "rel": "self",
        "targetSchema": "https://www.cuddler.dev/standards/artifact-definitions/component-hierarchy/1.0.0/data.schema.json",
        "targetDocumentTypeId": "component-hierarchy",
        "for-ai": [
          {
            "instruction": "Explain why this related schema is linked here and when an AI consumer should follow it.",
            "input": "",
            "output": "Use the canonical Component Hierarchy data schema at this immutable URL when validating or generating a component hierarchy document."
          }
        ]
      }
    ],
    "artifactType": "Component Hierarchy",
    "status": "Public normative publication",
    "publisher": "TrackThat Inc.",
    "sourceUrl": "https://www.cuddler.dev/standards/artifact-definitions/component-hierarchy/",
    "attributionNotice": "© 2026 TrackThat. This work is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0). See https://www.cuddler.dev/license/ for the site license summary. You are free to share, use, adapt, and modify this material, including for commercial purposes, provided you give appropriate attribution and include a link to the original source URL and the CC BY 4.0 license at https://creativecommons.org/licenses/by/4.0/.",
    "governingDomainSpecification": {
      "title": "Data Document Role",
      "url": "https://www.cuddler.dev/standards/document-role/data/v1.0.0/"
    },
    "governingArtifactSpecification": {
      "title": "Cuddler Artifact Specification",
      "version": "1.0.0",
      "url": "https://www.cuddler.dev/standards/artifact-specification/v1.0.0/"
    }
  },
  "for-ai": [
    {
      "instruction": "Create a Cuddler Data Document whose content.documentModel.stage is the single root Stage node for the component hierarchy. Do not place component nodes outside Stage.",
      "input": "",
      "output": "Use this schema to generate Stage-rooted component hierarchy documents for page and application UI artifacts."
    }
  ],
  "required": [
    "$schema",
    "meta",
    "content",
    "Status",
    "Next Step"
  ],
  "properties": {
    "$schema": {
      "const": "https://www.cuddler.dev/standards/artifact-definitions/component-hierarchy/1.0.0/data.schema.json",
      "for-ai": [
        {
          "instruction": "Set instance $schema exactly equal to the canonical schema $id.",
          "input": "",
          "output": "Canonical immutable Component Hierarchy schema URL."
        }
      ]
    },
    "meta": {
      "$ref": "#/$defs/DocumentMeta",
      "for-ai": [
        {
          "instruction": "Use this guidance when preparing a valid value for this schema node.",
          "input": "",
          "output": "Document identity, authorship, schema version, publication status, and descriptive metadata."
        }
      ]
    },
    "content": {
      "$ref": "#/$defs/DocumentContent",
      "for-ai": [
        {
          "instruction": "Use this guidance when preparing a valid value for this schema node.",
          "input": "",
          "output": "Primary component hierarchy content, including Stage roots and optional data binding definitions."
        }
      ]
    },
    "assets": {
      "oneOf": [
        {
          "$ref": "#/$defs/Assets"
        },
        {
          "type": "null"
        }
      ],
      "for-ai": [
        {
          "instruction": "Use this guidance when preparing a valid value for this schema node.",
          "input": "",
          "output": "Optional reusable assets referenced by component nodes."
        }
      ]
    },
    "references": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Reference"
      },
      "for-ai": [
        {
          "instruction": "Use this guidance when preparing a valid value for this schema node.",
          "input": "",
          "output": "Optional external or internal references that support the component hierarchy document."
        }
      ]
    },
    "annotations": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Annotation"
      }
    },
    "Status": {
      "type": "string",
      "enum": [
        "Started",
        "Blocked",
        "Completed"
      ],
      "for-ai": [
        {
          "instruction": "Set the restoration lifecycle status for this component hierarchy document.",
          "input": "",
          "output": "Use Started for in-progress restoration, Blocked when documented blockers prevent completion, or Completed when the page artifact is restored and validating."
        }
      ]
    },
    "Next Step": {
      "type": "string",
      "maxLength": 500,
      "pattern": "^[^<>]*$",
      "for-ai": [
        {
          "instruction": "Summarize the next concrete restoration or maintenance step for Started or Blocked component hierarchy documents in fewer than 500 characters. Leave this value empty when Status is Completed.",
          "input": "",
          "output": "Short operational next step for restoring, unblocking, or maintaining this page artifact."
        }
      ]
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "Status": {
            "const": "Completed"
          }
        },
        "required": [
          "Status"
        ]
      },
      "then": {
        "properties": {
          "Next Step": {
            "const": ""
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "Status": {
            "enum": [
              "Started",
              "Blocked"
            ]
          }
        },
        "required": [
          "Status"
        ]
      },
      "then": {
        "properties": {
          "Next Step": {
            "minLength": 1
          }
        }
      }
    }
  ],
  "additionalProperties": false,
  "$defs": {
    "LanguageTag": {
      "type": "string",
      "pattern": "^[a-z]{2,3}(-[A-Z]{2})?$"
    },
    "RuntimeInteractionKey": {
      "type": "string",
      "minLength": 1,
      "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*){2,}$"
    },
    "Author": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri"
        },
        "email": {
          "type": [
            "string",
            "null"
          ],
          "format": "email"
        }
      },
      "additionalProperties": false,
      "required": [
        "name"
      ],
      "title": "Author"
    },
    "DocumentMeta": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "const": "1.0.0"
        },
        "documentTypeId": {
          "const": "component-hierarchy"
        },
        "documentId": {
          "type": "string",
          "format": "uuid"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "authors": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Author"
          }
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "status": {
          "type": "string",
          "enum": [
            "Draft",
            "Review",
            "Approved",
            "Published",
            "Deprecated"
          ]
        },
        "language": {
          "$ref": "#/$defs/LanguageTag"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "intendedAudience": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[^<>]*$"
          },
          "uniqueItems": true
        },
        "confidentiality": {
          "type": "string",
          "enum": [
            "Public Example",
            "Internal",
            "Confidential",
            "Restricted"
          ]
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
          },
          "uniqueItems": true
        },
        "license": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "provenance": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "documentTypeId",
        "documentId",
        "title",
        "createdAt",
        "authors"
      ],
      "title": "Cuddler Document Meta",
      "for-ai": [
        {
          "instruction": "Provide schema identity, document identity, authorship, status, and confidentiality metadata for the component hierarchy document.",
          "input": "",
          "output": ""
        }
      ]
    },
    "Section": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "blocks": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "text": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": true,
            "required": [
              "type"
            ]
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "key",
        "title",
        "blocks"
      ],
      "title": "Narrative Section"
    },
    "DocumentContent": {
      "type": "object",
      "properties": {
        "sections": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Section"
          }
        },
        "documentModel": {
          "$ref": "#/$defs/ComponentHierarchyModel"
        }
      },
      "additionalProperties": false,
      "required": [
        "sections",
        "documentModel"
      ],
      "title": "Cuddler Document Content",
      "for-ai": [
        {
          "instruction": "Put human-readable narrative in sections and the machine-validatable component hierarchy in documentModel.stage.",
          "input": "",
          "output": ""
        }
      ]
    },
    "Assets": {
      "type": "object",
      "properties": {
        "library": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
              },
              "url": {
                "type": "string",
                "format": "uri-reference"
              },
              "mediaType": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "url"
            ]
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "library"
      ]
    },
    "Reference": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": false,
      "required": [
        "id",
        "title",
        "url"
      ]
    },
    "Annotation": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "key",
        "value"
      ]
    },
    "CommonVisualProps": {
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "for-ai": [
        {
          "instruction": "Use visual properties only for safe styling hooks and layout constraints that the consuming page genuinely needs to set.",
          "input": "",
          "output": ""
        }
      ]
    },
    "CommonAccessibilityProps": {
      "type": "object",
      "properties": {
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        }
      },
      "for-ai": [
        {
          "instruction": "Provide ariaLabel when visible text or label is missing. Do not override native semantics unless required.",
          "input": "",
          "output": ""
        }
      ]
    },
    "FieldProps": {
      "type": "object",
      "properties": {
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean"
          ]
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "enabledWhenBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "anyOf": [
        {
          "required": [
            "label"
          ]
        },
        {
          "required": [
            "ariaLabel"
          ]
        }
      ],
      "for-ai": [
        {
          "instruction": "Use FieldProps for form input nodes. Binding must point to a model field. Every input needs label or ariaLabel.",
          "input": "",
          "output": ""
        }
      ]
    },
    "OptionalFieldProps": {
      "type": "object",
      "properties": {
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean"
          ]
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        }
      },
      "anyOf": [
        {
          "required": [
            "label"
          ]
        },
        {
          "required": [
            "ariaLabel"
          ]
        }
      ],
      "for-ai": [
        {
          "instruction": "Use for field-like helper controls that may bind to a field but can also operate contextually.",
          "input": "",
          "output": ""
        }
      ]
    },
    "Option": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean"
          ]
        },
        "disabled": {
          "type": "boolean"
        },
        "group": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false,
      "required": [
        "value"
      ],
      "title": "Option"
    },
    "ChoiceProps": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "currentValueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "for-ai": [
        {
          "instruction": "Supply either explicit items or a dataSourceKey with text/value field mappings.",
          "input": "",
          "output": ""
        }
      ],
      "anyOf": [
        {
          "required": [
            "items"
          ]
        },
        {
          "required": [
            "options"
          ]
        },
        {
          "required": [
            "dataSourceKey",
            "textField",
            "valueField"
          ]
        }
      ]
    },
    "NumericRangeProps": {
      "type": "object",
      "properties": {
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "step": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "decimals": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        }
      },
      "for-ai": [
        {
          "instruction": "Use numeric constraints for numeric entry, sliders, ranges, reports, and gauges. Enforce min <= max semantically when both are present.",
          "input": "",
          "output": ""
        }
      ]
    },
    "DateTimeRangeProps": {
      "type": "object",
      "properties": {
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        }
      },
      "for-ai": [
        {
          "instruction": "Use ISO/RFC3339 date-time values for bounds and ISO date values for disabled dates.",
          "input": "",
          "output": ""
        }
      ]
    },
    "FileInputProps": {
      "type": "object",
      "properties": {
        "allowedExtensions": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\.[a-z0-9]+$"
          },
          "uniqueItems": true
        },
        "maxFileSizeBytes": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "maxFiles": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "accept": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_.,/*+ -]+$"
        },
        "saveEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "removeEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowMultiple": {
          "type": "boolean"
        },
        "buttonText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "for-ai": [
        {
          "instruction": "Use file input properties for browser hints and client validation; server-side validation remains required.",
          "input": "",
          "output": ""
        }
      ]
    },
    "ButtonActionProps": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "anyOf": [
        {
          "required": [
            "text"
          ]
        },
        {
          "required": [
            "icon",
            "ariaLabel"
          ]
        },
        {
          "required": [
            "commandId"
          ]
        },
        {
          "required": [
            "commandKey"
          ]
        }
      ],
      "for-ai": [
        {
          "instruction": "Use commandKey for runtime event-backed command behavior. Legacy commandId remains valid during migration. Do not embed executable code in JSON.",
          "input": "",
          "output": ""
        }
      ]
    },
    "Column": {
      "type": "object",
      "properties": {
        "field": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "visible": {
          "type": "boolean"
        },
        "sortable": {
          "type": "boolean"
        },
        "filterable": {
          "type": "boolean"
        },
        "width": {
          "type": "string",
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "linkHrefField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "linkHrefKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        }
      },
      "additionalProperties": false,
      "required": [
        "field",
        "title"
      ],
      "title": "Data Column"
    },
    "RowAction": {
      "type": "object",
      "properties": {
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "testIdKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValues": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[^<>]*$"
          },
          "uniqueItems": true
        },
        "requiredField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        }
      },
      "additionalProperties": false,
      "anyOf": [
        {
          "required": [
            "commandId"
          ]
        },
        {
          "required": [
            "commandKey"
          ]
        }
      ],
      "title": "Data Grid Row Action"
    },
    "DataProps": {
      "type": "object",
      "properties": {
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "rowActions": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/RowAction"
          }
        },
        "rowActionsColumnTitle": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowGrouping": {
          "type": "boolean",
          "default": false
        },
        "groupByField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "description": "Controls whether the data component exposes a details affordance. DataGrid supports only None and Slideout. ListView may use ChildPage for child-page navigation.",
          "enum": [
            "None",
            "Slideout",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        },
        "detailDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "for-ai": [
        {
          "instruction": "Use DataProps to bind data components to named data sources and explicit columns/field mappings.",
          "input": "",
          "output": ""
        }
      ]
    },
    "ReportSeries": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "type": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "name",
        "valueField"
      ],
      "title": "Report Series"
    },
    "ReportProps": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "for-ai": [
        {
          "instruction": "Use Reports to visualize data. Supply dataSourceKey and series for data-backed report components.",
          "input": "",
          "output": ""
        }
      ]
    },
    "GaugeRange": {
      "type": "object",
      "properties": {
        "from": {
          "type": "number"
        },
        "to": {
          "type": "number"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ]
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false,
      "required": [
        "from",
        "to",
        "tone"
      ]
    },
    "GaugeProps": {
      "type": "object",
      "required": [
        "value",
        "min",
        "max"
      ],
      "properties": {
        "value": {
          "type": "number"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GaugeRange"
          }
        }
      },
      "for-ai": [
        {
          "instruction": "Use gauges for compact single-metric displays. Validate min <= value <= max semantically.",
          "input": "",
          "output": ""
        }
      ]
    },
    "TextBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "type": "object",
          "properties": {
            "minLength": {
              "type": "integer",
              "minimum": 0
            },
            "maxLength": {
              "type": "integer",
              "minimum": 1
            }
          }
        }
      ],
      "type": "object",
      "for-ai": [
        {
          "instruction": "Text input values are bound through binding and can optionally constrain minLength/maxLength.",
          "input": "",
          "output": ""
        }
      ],
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "valueDataSourceField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "currentValueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "autoComplete": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_ .:-]+$"
        },
        "minLength": {
          "type": "integer",
          "minimum": 0
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "PasswordBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/TextBoxProps"
        }
      ],
      "type": "object",
      "for-ai": [
        {
          "instruction": "Password input values are bound through binding and render masked user input. Use PasswordBox instead of TextBox for current password, new password, confirmation, secret, or credential fields.",
          "input": "",
          "output": ""
        }
      ]
    },
    "TextAreaProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "type": "object",
          "properties": {
            "rows": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50
            },
            "minLength": {
              "type": "integer",
              "minimum": 0
            },
            "maxLength": {
              "type": "integer",
              "minimum": 1
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "rows": {
          "type": "integer",
          "minimum": 1,
          "maximum": 50
        },
        "minLength": {
          "type": "integer",
          "minimum": 0
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "MaskedTextBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "type": "object",
          "properties": {
            "mask": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            }
          },
          "required": [
            "mask"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "mask": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "NumericTextBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/NumericRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "step": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "decimals": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        }
      },
      "additionalProperties": false
    },
    "DateInputProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/DateTimeRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "DatePickerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/DateTimeRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "DateRangePickerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/DateTimeRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "DateTimePickerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/DateTimeRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "TimePickerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/DateTimeRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "CheckBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "RadioGroupProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "currentValueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "SwitchProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "AutoCompleteProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "ComboBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "DropDownListProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean"
          ]
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "enabledWhenBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "currentValueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueDataSourceField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "DropDownTreeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "MultiColumnComboBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "MultiSelectProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "ListBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/ChoiceProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "options": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Option"
          }
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "textField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowCustom": {
          "type": "boolean",
          "default": false
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "ColorPickerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "FlatColorPickerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "ColorGradientProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "ColorPaletteProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "RatingProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/NumericRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "step": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "decimals": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        }
      },
      "additionalProperties": false
    },
    "SignatureProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "RichTextEditorProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "type": "object",
          "properties": {
            "toolbarPreset": {
              "type": "string",
              "enum": [
                "Basic",
                "Standard",
                "Full"
              ]
            },
            "maxLength": {
              "type": "integer",
              "minimum": 1
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "toolbarPreset": {
          "type": "string",
          "enum": [
            "Basic",
            "Standard",
            "Full"
          ]
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "UploadProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/FileInputProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowedExtensions": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\.[a-z0-9]+$"
          },
          "uniqueItems": true
        },
        "maxFileSizeBytes": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "maxFiles": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "accept": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_.,/*+ -]+$"
        },
        "saveEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "removeEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowMultiple": {
          "type": "boolean"
        },
        "buttonText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "FileSelectProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/FileInputProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowedExtensions": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\.[a-z0-9]+$"
          },
          "uniqueItems": true
        },
        "maxFileSizeBytes": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "maxFiles": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "accept": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_.,/*+ -]+$"
        },
        "saveEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "removeEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowMultiple": {
          "type": "boolean"
        },
        "buttonText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "DropZoneProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/FileInputProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowedExtensions": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\.[a-z0-9]+$"
          },
          "uniqueItems": true
        },
        "maxFileSizeBytes": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "maxFiles": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "accept": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_.,/*+ -]+$"
        },
        "saveEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "removeEndpointKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowMultiple": {
          "type": "boolean"
        },
        "buttonText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "ProfileImagePreviewProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": "integer",
          "minimum": 1
        },
        "height": {
          "type": "integer",
          "minimum": 1
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "imageUrl": {
          "type": "string",
          "minLength": 1
        },
        "source": {
          "type": "string",
          "minLength": 1
        },
        "src": {
          "type": "string",
          "minLength": 1
        },
        "altText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "placeholderText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "imageUrlField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "sourceField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        }
      },
      "additionalProperties": false
    },
    "ImageUploadDropZoneProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/FileInputProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowedExtensions": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\.[a-z0-9]+$"
          },
          "uniqueItems": true
        },
        "maxFileSizeBytes": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "maxFiles": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "accept": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_.,/*+ -]+$"
        },
        "allowMultiple": {
          "type": "boolean"
        },
        "buttonText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dropText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "autoUpload": {
          "type": "boolean"
        },
        "enabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "SliderProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/NumericRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "step": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "decimals": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        }
      },
      "additionalProperties": false
    },
    "RangeSliderProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/FieldProps"
        },
        {
          "$ref": "#/$defs/NumericRangeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "autosaveCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "step": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "decimals": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10
        }
      },
      "additionalProperties": false
    },
    "AIPromptProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/OptionalFieldProps"
        },
        {
          "type": "object",
          "properties": {
            "promptTemplateKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "targetBinding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "maxPromptLength": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            "allowAcceptReject": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "promptTemplateKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "targetBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "maxPromptLength": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20000
        },
        "allowAcceptReject": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "InlineAIPromptProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/OptionalFieldProps"
        },
        {
          "type": "object",
          "properties": {
            "promptTemplateKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "targetBinding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "maxPromptLength": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            "allowAcceptReject": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "promptTemplateKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "targetBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "maxPromptLength": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20000
        },
        "allowAcceptReject": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "PromptBoxProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/OptionalFieldProps"
        },
        {
          "type": "object",
          "properties": {
            "promptTemplateKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "targetBinding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "maxPromptLength": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            "allowAcceptReject": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "promptTemplateKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "targetBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "maxPromptLength": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20000
        },
        "allowAcceptReject": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "SmartPasteButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/OptionalFieldProps"
        },
        {
          "type": "object",
          "properties": {
            "promptTemplateKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "targetBinding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "maxPromptLength": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            "allowAcceptReject": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "promptTemplateKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "targetBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "maxPromptLength": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20000
        },
        "allowAcceptReject": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "SpeechToTextButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/OptionalFieldProps"
        },
        {
          "type": "object",
          "properties": {
            "promptTemplateKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "targetBinding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "maxPromptLength": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20000
            },
            "allowAcceptReject": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "helpText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        },
        "validationDisplay": {
          "type": "string",
          "enum": [
            "Inline",
            "Tooltip",
            "Both",
            "None"
          ],
          "default": "Inline"
        },
        "placeholder": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "isEnabled": {
          "type": "boolean",
          "default": true
        },
        "isReadOnly": {
          "type": "boolean",
          "default": false
        },
        "promptTemplateKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "targetBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "maxPromptLength": {
          "type": "integer",
          "minimum": 1,
          "maximum": 20000
        },
        "allowAcceptReject": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "ButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ButtonActionProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "ButtonGroupProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ButtonActionProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "DropDownButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ButtonActionProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "SplitButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ButtonActionProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "ToggleButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ButtonActionProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "FloatingActionButtonProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ButtonActionProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "buttonType": {
          "type": "string",
          "enum": [
            "Button",
            "Submit",
            "Reset"
          ],
          "default": "Button"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Primary",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ],
          "default": "Default"
        },
        "commandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "confirmationKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "actionKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "BadgeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "value": {
              "type": [
                "string",
                "number",
                "integer",
                "boolean"
              ]
            },
            "icon": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "tone": {
              "type": "string",
              "enum": [
                "Default",
                "Info",
                "Success",
                "Warning",
                "Danger",
                "Neutral"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean"
          ]
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ]
        }
      },
      "additionalProperties": false
    },
    "ChipProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "value": {
              "type": [
                "string",
                "number",
                "integer",
                "boolean"
              ]
            },
            "icon": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "tone": {
              "type": "string",
              "enum": [
                "Default",
                "Info",
                "Success",
                "Warning",
                "Danger",
                "Neutral"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean"
          ]
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ]
        }
      },
      "additionalProperties": false
    },
    "DataGridProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        },
        {
          "type": "object",
          "required": [
            "dataSourceKey"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowGrouping": {
          "type": "boolean",
          "default": false
        },
        "groupByField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "description": "Controls the DataGrid details column. None hides the column; Slideout renders a 50px centered pen-to-square icon column that opens the right detail slideout. DataGrid must not navigate directly to child pages; use ListView for child links.",
          "enum": [
            "None",
            "Slideout"
          ],
          "default": "None"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "rowActions": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/RowAction"
          }
        },
        "rowActionsColumnTitle": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "ListViewProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "description": "Controls ListView child navigation. None leaves rows as plain list items; ChildPage opens the configured child page route. ListView must not open slideouts; use DataGrid for row detail slideouts.",
          "enum": [
            "None",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        },
        "detailDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "itemComponentType": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "StatCard"
          ],
          "description": "Canonical item presentation mode used by overview-style ListView stat-card surfaces."
        }
      },
      "additionalProperties": false
    },
    "TreeListProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "enum": [
            "None",
            "Slideout",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        }
      },
      "additionalProperties": false
    },
    "TreeViewProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "enum": [
            "None",
            "Slideout",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        }
      },
      "additionalProperties": false
    },
    "PivotGridProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "enum": [
            "None",
            "Slideout",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        }
      },
      "additionalProperties": false
    },
    "SpreadsheetProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "workbookAssetId": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "allowImport": {
              "type": "boolean"
            },
            "allowExport": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "workbookAssetId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "allowImport": {
          "type": "boolean"
        },
        "allowExport": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "CalendarProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DateTimeRangeProps"
        },
        {
          "type": "object",
          "properties": {
            "binding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "selectedDate": {
              "type": "string",
              "format": "date"
            },
            "eventDataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "min": {
          "type": "string",
          "format": "date-time"
        },
        "max": {
          "type": "string",
          "format": "date-time"
        },
        "format": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabledDates": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date"
          },
          "uniqueItems": true
        },
        "binding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "selectedDate": {
          "type": "string",
          "format": "date"
        },
        "eventDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "GanttProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "enum": [
            "None",
            "Slideout",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        }
      },
      "additionalProperties": false
    },
    "SchedulerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/DataProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "scope": {
          "type": "string",
          "enum": [
            "User",
            "Organization"
          ]
        },
        "contextId": {
          "type": "string",
          "minLength": 1
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "emptyText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "columns": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/Column"
          }
        },
        "keyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "parentField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "descriptionField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "metaField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "idField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "startField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "endField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "pageSize": {
          "type": "integer",
          "const": 20,
          "default": 20
        },
        "allowPaging": {
          "type": "boolean",
          "default": true
        },
        "allowSorting": {
          "type": "boolean",
          "default": true
        },
        "allowFiltering": {
          "type": "boolean",
          "default": false
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        },
        "selectionMode": {
          "type": "string",
          "enum": [
            "None",
            "Single",
            "Multiple"
          ],
          "default": "None"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailMode": {
          "type": "string",
          "enum": [
            "None",
            "Slideout",
            "ChildPage"
          ],
          "default": "None"
        },
        "detailRouteTemplate": {
          "type": "string",
          "minLength": 1,
          "pattern": "^/[^<>]*$"
        },
        "detailKeyField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "detailPageId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_.:-]+$"
        }
      },
      "additionalProperties": false,
      "required": [
        "scope",
        "contextId"
      ]
    },
    "ChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "AreaChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "BarChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "BubbleChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "CandlestickChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "ColumnChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "DonutChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "LineChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "OHLCChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "PieChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "RadarAreaChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "RadarColumnChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "RadarLineChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "RangeAreaChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "RangeBarChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "RangeColumnChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "ScatterChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "ScatterLineChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "StockChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "TrendlineChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "WaterfallChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "HeatmapProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "SankeyChartProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/ReportProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "series": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/ReportSeries"
          }
        },
        "categoryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "legendVisible": {
          "type": "boolean",
          "default": true
        },
        "tooltipVisible": {
          "type": "boolean",
          "default": true
        },
        "allowExport": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false
    },
    "DiagramProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "nodesDataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "connectorsDataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "nodes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
                  },
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[^<>]*$"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "text"
                ]
              }
            },
            "connectors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "fromNodeId": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
                  },
                  "toNodeId": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[^<>]*$"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "fromNodeId",
                  "toNodeId"
                ]
              }
            }
          },
          "required": [
            "nodes",
            "connectors"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "nodesDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "connectorsDataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "nodes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
              },
              "text": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[^<>]*$"
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "text"
            ]
          }
        },
        "connectors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "fromNodeId": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
              },
              "toNodeId": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[^<>]*$"
              }
            },
            "additionalProperties": false,
            "required": [
              "fromNodeId",
              "toNodeId"
            ]
          }
        }
      },
      "additionalProperties": false
    },
    "MapProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "points": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "latitude": {
                    "type": "number",
                    "minimum": -90,
                    "maximum": 90
                  },
                  "longitude": {
                    "type": "number",
                    "minimum": -180,
                    "maximum": 180
                  },
                  "title": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[^<>]*$"
                  }
                },
                "additionalProperties": false,
                "required": [
                  "latitude",
                  "longitude"
                ]
              }
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "points": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "latitude": {
                "type": "number",
                "minimum": -90,
                "maximum": 90
              },
              "longitude": {
                "type": "number",
                "minimum": -180,
                "maximum": 180
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[^<>]*$"
              }
            },
            "additionalProperties": false,
            "required": [
              "latitude",
              "longitude"
            ]
          }
        }
      },
      "additionalProperties": false
    },
    "HeadingProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "minLength": 1
            },
            "level": {
              "type": "integer",
              "minimum": 1,
              "maximum": 6
            },
            "align": {
              "type": "string",
              "enum": [
                "Start",
                "Center",
                "End"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1
        },
        "level": {
          "type": "integer",
          "minimum": 1,
          "maximum": 6
        },
        "align": {
          "type": "string",
          "enum": [
            "Start",
            "Center",
            "End"
          ]
        }
      },
      "additionalProperties": false
    },
    "ParagraphProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "text": {
              "type": "string",
              "minLength": 1
            },
            "level": {
              "type": "integer",
              "minimum": 1,
              "maximum": 6
            },
            "align": {
              "type": "string",
              "enum": [
                "Start",
                "Center",
                "End"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "text": {
          "type": "string",
          "minLength": 1
        },
        "level": {
          "type": "integer",
          "minimum": 1,
          "maximum": 6
        },
        "align": {
          "type": "string",
          "enum": [
            "Start",
            "Center",
            "End"
          ]
        }
      },
      "additionalProperties": false
    },
    "AlertProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "message": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "tone": {
              "type": "string",
              "enum": [
                "info",
                "success",
                "warning",
                "error"
              ]
            },
            "hideTitle": {
              "type": "boolean"
            },
            "severity": {
              "type": "string",
              "enum": [
                "info",
                "success",
                "warning",
                "error"
              ]
            },
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "titleField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "messageField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "hideWhenEmpty": {
              "type": "boolean"
            }
          },
          "required": [
            "title"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "message": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "tone": {
          "type": "string",
          "enum": [
            "info",
            "success",
            "warning",
            "error"
          ]
        },
        "hideTitle": {
          "type": "boolean"
        },
        "severity": {
          "type": "string",
          "enum": [
            "info",
            "success",
            "warning",
            "error"
          ]
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "messageField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "hideWhenEmpty": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "EmptyStateProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "description": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "message": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "actionText": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "actionHref": {
              "type": "string",
              "minLength": 1,
              "format": "uri-reference"
            }
          },
          "required": [
            "title"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "message": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "actionText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "actionHref": {
          "type": "string",
          "minLength": 1,
          "format": "uri-reference"
        }
      },
      "additionalProperties": false
    },
    "ImageProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "src": {
              "type": "string",
              "format": "uri-reference"
            },
            "alt": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "caption": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            }
          },
          "required": [
            "src",
            "alt"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "src": {
          "type": "string",
          "format": "uri-reference"
        },
        "alt": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "caption": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "VideoProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "src": {
              "type": "string",
              "format": "uri-reference"
            },
            "poster": {
              "type": "string",
              "format": "uri-reference"
            },
            "caption": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "controls": {
              "type": "boolean"
            }
          },
          "required": [
            "src"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "src": {
          "type": "string",
          "format": "uri-reference"
        },
        "poster": {
          "type": "string",
          "format": "uri-reference"
        },
        "caption": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "controls": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "LinkProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "href": {
              "type": "string",
              "format": "uri-reference"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "target": {
              "type": "string",
              "enum": [
                "Self",
                "Blank",
                "Parent",
                "Top"
              ]
            },
            "icon": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            }
          },
          "required": [
            "href",
            "text"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "href": {
          "type": "string",
          "format": "uri-reference"
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "target": {
          "type": "string",
          "enum": [
            "Self",
            "Blank",
            "Parent",
            "Top"
          ]
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "DividerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      },
      "additionalProperties": false
    },
    "CodeBlockProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string",
              "minLength": 1
            },
            "language": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "showCopyButton": {
              "type": "boolean"
            },
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "codeField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            }
          },
          "anyOf": [
            {
              "required": [
                "code"
              ]
            },
            {
              "required": [
                "dataSourceKey",
                "codeField"
              ]
            }
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "code": {
          "type": "string",
          "minLength": 1
        },
        "language": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "showCopyButton": {
          "type": "boolean"
        },
        "codeField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        }
      },
      "additionalProperties": false
    },
    "QRCodeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1
            },
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "valueField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "size": {
              "type": "integer",
              "minimum": 64,
              "maximum": 512,
              "default": 200
            }
          },
          "anyOf": [
            {
              "required": [
                "value"
              ]
            },
            {
              "required": [
                "dataSourceKey",
                "valueField"
              ]
            }
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "value": {
          "type": "string",
          "minLength": 1
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "size": {
          "type": "integer",
          "minimum": 64,
          "maximum": 512,
          "default": 200
        }
      },
      "additionalProperties": false
    },
    "HtmlContentProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "html": {
              "type": "string",
              "minLength": 1
            },
            "sanitizationPolicyKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            }
          },
          "required": [
            "html"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "html": {
          "type": "string",
          "minLength": 1
        },
        "sanitizationPolicyKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "AvatarProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "imageUrl": {
              "type": "string",
              "format": "uri-reference"
            },
            "initials": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4
            },
            "icon": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "imageUrl": {
          "type": "string",
          "format": "uri-reference"
        },
        "initials": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false
    },
    "BarcodeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1
            },
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "valueField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "size": {
              "type": "integer",
              "minimum": 64,
              "maximum": 512,
              "default": 200
            }
          },
          "anyOf": [
            {
              "required": [
                "value"
              ]
            },
            {
              "required": [
                "dataSourceKey",
                "valueField"
              ]
            }
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "visibleWhenField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "visibleWhenValue": {
          "type": [
            "string",
            "number",
            "integer",
            "boolean",
            "null"
          ]
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "value": {
          "type": "string",
          "minLength": 1
        },
        "valueField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "size": {
          "type": "integer",
          "minimum": 64,
          "maximum": 512,
          "default": 200
        }
      },
      "additionalProperties": false
    },
    "FontIconProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "icon": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "tone": {
              "type": "string",
              "enum": [
                "Default",
                "Info",
                "Success",
                "Warning",
                "Danger",
                "Neutral"
              ]
            }
          },
          "required": [
            "icon"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ]
        }
      },
      "additionalProperties": false
    },
    "SVGIconProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "icon": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "tone": {
              "type": "string",
              "enum": [
                "Default",
                "Info",
                "Success",
                "Warning",
                "Danger",
                "Neutral"
              ]
            }
          },
          "required": [
            "icon"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "icon": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tone": {
          "type": "string",
          "enum": [
            "Default",
            "Info",
            "Success",
            "Warning",
            "Danger",
            "Neutral"
          ]
        }
      },
      "additionalProperties": false
    },
    "FormProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "modelKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "submitCommandId": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "cancelCommandId": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "validationSummaryVisible": {
              "type": "boolean"
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "modelKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "submitCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "cancelCommandId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "validationSummaryVisible": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "CardProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "GridLayoutProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "RowProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "columns": {
              "type": "integer",
              "default": 2,
              "minimum": 1,
              "maximum": 6,
              "multipleOf": 1,
              "title": "Columns",
              "description": "Number of equal-width columns to show in this row.",
              "oneOf": [
                {
                  "const": 1,
                  "title": "1 column"
                },
                {
                  "const": 2,
                  "title": "2 columns"
                },
                {
                  "const": 3,
                  "title": "3 columns"
                },
                {
                  "const": 4,
                  "title": "4 columns"
                },
                {
                  "const": 5,
                  "title": "5 columns"
                },
                {
                  "const": 6,
                  "title": "6 columns"
                }
              ]
            }
          }
        }
      ],
      "type": "object"
    },
    "StackLayoutProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "TileLayoutProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "CallToActionCardProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "label": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "buttonText": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "buttonHref": {
              "type": "string",
              "minLength": 1,
              "format": "uri-reference"
            }
          },
          "required": [
            "label",
            "buttonText"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "buttonText": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "buttonHref": {
          "type": "string",
          "minLength": 1,
          "format": "uri-reference"
        }
      },
      "additionalProperties": false
    },
    "CarouselProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "DockManagerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "StepperProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            },
            "currentStepId": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "steps": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "text"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
                  },
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^[^<>]*$"
                  }
                }
              }
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        },
        "currentStepId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "steps": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "text"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
              },
              "text": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[^<>]*$"
              }
            }
          }
        }
      },
      "additionalProperties": false
    },
    "TabStripProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": "string",
              "enum": [
                "Default",
                "Grid",
                "Stack",
                "Tile",
                "Tabs",
                "Steps",
                "Carousel",
                "Dock"
              ]
            },
            "orientation": {
              "type": "string",
              "enum": [
                "Horizontal",
                "Vertical"
              ]
            }
          }
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": "string",
          "enum": [
            "Default",
            "Grid",
            "Stack",
            "Tile",
            "Tabs",
            "Steps",
            "Carousel",
            "Dock"
          ]
        },
        "orientation": {
          "type": "string",
          "enum": [
            "Horizontal",
            "Vertical"
          ]
        }
      },
      "additionalProperties": false
    },
    "TabPanelProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "tabId": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "disabled": {
              "type": "boolean"
            },
            "isDefault": {
              "type": "boolean",
              "default": false
            }
          },
          "required": [
            "tabId"
          ],
          "anyOf": [
            {
              "required": [
                "title"
              ]
            },
            {
              "required": [
                "text"
              ]
            }
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "text": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "disabled": {
          "type": "boolean"
        },
        "isDefault": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false,
      "required": [
        "tabId"
      ],
      "anyOf": [
        {
          "required": [
            "title"
          ]
        },
        {
          "required": [
            "text"
          ]
        }
      ]
    },
    "PDFViewerProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "documentUrl": {
              "type": "string",
              "format": "uri-reference"
            },
            "documentAssetId": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "initialPage": {
              "type": "integer",
              "minimum": 1
            },
            "initialZoom": {
              "type": "number",
              "minimum": 0.1,
              "maximum": 10
            }
          }
        }
      ],
      "type": "object",
      "for-ai": [
        {
          "instruction": "Supply either documentUrl or documentAssetId for PDFViewer.",
          "input": "",
          "output": ""
        }
      ],
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "documentUrl": {
          "type": "string",
          "format": "uri-reference"
        },
        "documentAssetId": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "initialPage": {
          "type": "integer",
          "minimum": 1
        },
        "initialZoom": {
          "type": "number",
          "minimum": 0.1,
          "maximum": 10
        }
      },
      "additionalProperties": false
    },
    "ArcGaugeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/GaugeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "value": {
          "type": "number"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GaugeRange"
          }
        }
      },
      "additionalProperties": false
    },
    "CircularGaugeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/GaugeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "value": {
          "type": "number"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GaugeRange"
          }
        }
      },
      "additionalProperties": false
    },
    "LinearGaugeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/GaugeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "value": {
          "type": "number"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GaugeRange"
          }
        }
      },
      "additionalProperties": false
    },
    "RadialGaugeProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "$ref": "#/$defs/GaugeProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "value": {
          "type": "number"
        },
        "min": {
          "type": "number"
        },
        "max": {
          "type": "number"
        },
        "label": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/GaugeRange"
          }
        }
      },
      "additionalProperties": false
    },
    "ComponentSubtreeContainsTabStrip": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "TabStrip"
            }
          },
          "required": [
            "type"
          ]
        },
        {
          "type": "object",
          "properties": {
            "children": {
              "type": "array",
              "contains": {
                "$ref": "#/$defs/ComponentSubtreeContainsTabStrip"
              },
              "minContains": 1
            }
          },
          "required": [
            "children"
          ]
        }
      ],
      "for-ai": [
        {
          "instruction": "Use this recursive helper only to detect whether a component subtree contains a TabStrip.",
          "input": "",
          "output": ""
        }
      ]
    },
    "StageSubtreeContainsTabStrip": {
      "type": "object",
      "properties": {
        "children": {
          "type": "array",
          "contains": {
            "$ref": "#/$defs/ComponentSubtreeContainsTabStrip"
          },
          "minContains": 1
        }
      },
      "required": [
        "children"
      ],
      "for-ai": [
        {
          "instruction": "Use this helper only to detect whether a Stage subtree contains a TabStrip.",
          "input": "",
          "output": ""
        }
      ]
    },
    "ButtonLikeComponentType": {
      "type": "string",
      "enum": [
        "Button",
        "ButtonGroup",
        "DropDownButton",
        "SplitButton",
        "ToggleButton",
        "FloatingActionButton"
      ],
      "for-ai": [
        {
          "instruction": "Treat every component in this enum as a button-like action control for placement validation.",
          "input": "",
          "output": ""
        }
      ]
    },
    "ButtonLikeComponentNode": {
      "allOf": [
        {
          "$ref": "#/$defs/ComponentNode"
        },
        {
          "properties": {
            "type": {
              "$ref": "#/$defs/ButtonLikeComponentType"
            }
          },
          "required": [
            "type"
          ]
        }
      ]
    },
    "NonButtonComponentNode": {
      "allOf": [
        {
          "$ref": "#/$defs/ComponentNode"
        },
        {
          "not": {
            "properties": {
              "type": {
                "$ref": "#/$defs/ButtonLikeComponentType"
              }
            },
            "required": [
              "type"
            ]
          }
        }
      ],
      "for-ai": [
        {
          "instruction": "Use this node schema for ordinary container children. Button-like action controls must be moved into an allowed action region such as a toolbar or form actions slot.",
          "input": "",
          "output": ""
        }
      ]
    },
    "FormActionButtonNode": {
      "allOf": [
        {
          "$ref": "#/$defs/ButtonLikeComponentNode"
        },
        {
          "properties": {
            "slot": {
              "const": "actions"
            }
          },
          "required": [
            "slot"
          ]
        }
      ]
    },
    "ComponentNode": {
      "type": "object",
      "required": [
        "id",
        "type",
        "props"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "type": {
          "type": "string",
          "enum": [
            "Avatar",
            "CodeBlock",
            "QRCode",
            "Divider",
            "Heading",
            "HtmlContent",
            "Image",
            "Link",
            "PageHeading",
            "Paragraph",
            "Alert",
            "EmptyState",
            "Video",
            "Card",
            "CallToActionCard",
            "Carousel",
            "Form",
            "GridLayout",
            "Row",
            "StackLayout",
            "Slideout",
            "Stepper",
            "TabPanel",
            "TabStrip",
            "TileLayout",
            "CheckBox",
            "DatePicker",
            "DropDownList",
            "FileSelect",
            "NumericTextBox",
            "PasswordBox",
            "RadioGroup",
            "TextArea",
            "TextBox",
            "Upload",
            "ProfileImagePreview",
            "ImageUploadDropZone",
            "Calendar",
            "DataGrid",
            "Diagram",
            "Gantt",
            "ListView",
            "PivotGrid",
            "Scheduler",
            "Spreadsheet",
            "StatCard",
            "TopFiveLinks",
            "TreeList",
            "TreeView",
            "Button",
            "ButtonGroup",
            "DropDownButton",
            "FloatingActionButton",
            "SplitButton",
            "ToggleButton",
            "Breadcrumb",
            "AIPrompt",
            "InlineAIPrompt",
            "PDFViewer",
            "PromptBox",
            "SmartPasteButton"
          ]
        },
        "slot": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "default",
            "data",
            "header",
            "body",
            "footer",
            "actions",
            "field",
            "template",
            "toolbar",
            "summary",
            "detail"
          ]
        },
        "props": {
          "type": "object"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ComponentNode"
          },
          "contains": {
            "$ref": "#/$defs/ComponentSubtreeContainsTabStrip"
          },
          "minContains": 0,
          "maxContains": 1
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "type": {
                "const": "TextBox"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TextBoxProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TextArea"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TextAreaProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "PasswordBox"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/PasswordBoxProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ProfileImagePreview"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ProfileImagePreviewProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ImageUploadDropZone"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ImageUploadDropZoneProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "NumericTextBox"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/NumericTextBoxProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DatePicker"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/DatePickerProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "CheckBox"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/CheckBoxProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "RadioGroup"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/RadioGroupProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DropDownList"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/DropDownListProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Upload"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/UploadProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "FileSelect"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/FileSelectProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Button"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ButtonProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ButtonGroup"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ButtonGroupProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DropDownButton"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/DropDownButtonProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "SplitButton"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/SplitButtonProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ToggleButton"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ToggleButtonProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "FloatingActionButton"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/FloatingActionButtonProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DataGrid"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/DataGridProps"
              },
              "children": {
                "type": "array",
                "maxItems": 1,
                "items": {
                  "$ref": "#/$defs/DetailSlideoutNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ListView"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ListViewProps"
              },
              "children": {
                "type": "array",
                "maxItems": 1,
                "items": {
                  "$ref": "#/$defs/DetailSlideoutNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TreeList"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TreeListProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/DataTemplateChildNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TreeView"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TreeViewProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/DataTemplateChildNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "PivotGrid"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/PivotGridProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/DataTemplateChildNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Spreadsheet"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/SpreadsheetProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/DataTemplateChildNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Calendar"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/CalendarProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/DataTemplateChildNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Gantt"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/GanttProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/DataTemplateChildNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Scheduler"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/SchedulerProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Diagram"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/DiagramProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Heading"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/HeadingProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Paragraph"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ParagraphProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Alert"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/AlertProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "EmptyState"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/EmptyStateProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Image"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/ImageProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Video"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/VideoProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Link"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/LinkProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Divider"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/DividerProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "CodeBlock"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/CodeBlockProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "QRCode"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/QRCodeProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "HtmlContent"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/HtmlContentProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Avatar"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/AvatarProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "PageHeading"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/PageHeadingProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "PDFViewer"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/PDFViewerProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Slideout"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/SlideoutProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "Slideout"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "props"
            ]
          },
          "then": {
            "properties": {
              "type": {
                "const": "DataGrid"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "ChildPage"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "props"
            ]
          },
          "then": {
            "properties": {
              "type": {
                "const": "ListView"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DataGrid"
              },
              "children": {
                "type": "array",
                "minItems": 1
              }
            },
            "required": [
              "type",
              "children"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "type": "object",
                "required": [
                  "detailMode",
                  "rowSelectionBinding"
                ],
                "properties": {
                  "detailMode": {
                    "const": "Slideout"
                  }
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DataGrid"
              },
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "Slideout"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "type",
              "props"
            ]
          },
          "then": {
            "properties": {
              "children": {
                "type": "array",
                "minItems": 1,
                "maxItems": 1
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ListView"
              },
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "ChildPage"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "type",
              "props"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "type": "object",
                "required": [
                  "detailRouteTemplate"
                ]
              },
              "children": {
                "type": "array",
                "maxItems": 0
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Breadcrumb"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/BreadcrumbProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "AIPrompt"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/AIPromptProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "InlineAIPrompt"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/InlineAIPromptProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "PromptBox"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/PromptBoxProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "SmartPasteButton"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/SmartPasteButtonProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "StatCard"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "children": {
                "maxItems": 0,
                "not": {}
              },
              "props": {
                "$ref": "#/$defs/StatCardProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TopFiveLinks"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TopFiveLinksProps"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Form"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/FormProps"
              },
              "children": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TabPanel"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TabPanelProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                },
                "contains": {
                  "$ref": "#/$defs/ComponentSubtreeContainsTabStrip"
                },
                "minContains": 0,
                "maxContains": 0
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Card"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/CardProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "CallToActionCard"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/CallToActionCardProps"
              },
              "children": {
                "maxItems": 0,
                "not": {}
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "GridLayout"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/GridLayoutProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "StackLayout"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/StackLayoutProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Row"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/RowProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TileLayout"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TileLayoutProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Carousel"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/CarouselProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "Stepper"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/StepperProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "TabStrip"
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "$ref": "#/$defs/TabStripProps"
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/ComponentNode"
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "enum": [
                  "Avatar",
                  "CodeBlock",
                  "QRCode",
                  "Divider",
                  "Heading",
                  "HtmlContent",
                  "Image",
                  "Link",
                  "PageHeading",
                  "Paragraph",
                  "Video",
                  "CheckBox",
                  "DatePicker",
                  "DropDownList",
                  "FileSelect",
                  "NumericTextBox",
                  "PasswordBox",
                  "RadioGroup",
                  "TextArea",
                  "TextBox",
                  "Upload",
                  "Calendar",
                  "Diagram",
                  "Gantt",
                  "PivotGrid",
                  "Scheduler",
                  "Spreadsheet",
                  "StatCard",
                  "TopFiveLinks",
                  "TreeList",
                  "TreeView",
                  "Button",
                  "ButtonGroup",
                  "DropDownButton",
                  "FloatingActionButton",
                  "SplitButton",
                  "ToggleButton",
                  "Breadcrumb",
                  "AIPrompt",
                  "InlineAIPrompt",
                  "PDFViewer",
                  "PromptBox",
                  "SmartPasteButton"
                ]
              }
            },
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "children": {
                "type": "array",
                "maxItems": 0
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "Slideout"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "props"
            ]
          },
          "then": {
            "properties": {
              "type": {
                "const": "DataGrid"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "ChildPage"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "props"
            ]
          },
          "then": {
            "properties": {
              "type": {
                "const": "ListView"
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DataGrid"
              },
              "children": {
                "type": "array",
                "minItems": 1
              }
            },
            "required": [
              "type",
              "children"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "type": "object",
                "required": [
                  "detailMode",
                  "rowSelectionBinding"
                ],
                "properties": {
                  "detailMode": {
                    "const": "Slideout"
                  }
                }
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "DataGrid"
              },
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "Slideout"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "type",
              "props"
            ]
          },
          "then": {
            "properties": {
              "children": {
                "type": "array",
                "minItems": 1,
                "maxItems": 1
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "ListView"
              },
              "props": {
                "type": "object",
                "properties": {
                  "detailMode": {
                    "const": "ChildPage"
                  }
                },
                "required": [
                  "detailMode"
                ]
              }
            },
            "required": [
              "type",
              "props"
            ]
          },
          "then": {
            "properties": {
              "props": {
                "type": "object",
                "required": [
                  "detailRouteTemplate"
                ]
              },
              "children": {
                "type": "array",
                "maxItems": 0
              }
            }
          }
        }
      ],
      "additionalProperties": false,
      "for-ai": [
        {
          "instruction": "A component node must use one allowed public component type. Props are validated according to type. Children are allowed only where the component type permits hierarchy nesting.",
          "input": "",
          "output": ""
        },
        {
          "instruction": "Button-like controls must be placed in an action region: a StackLayout toolbar, a direct Form actions slot, or a data template/action context. Do not place buttons as loose children of Stage or ordinary layout containers.",
          "input": "",
          "output": ""
        }
      ]
    },
    "DataTemplateChildNode": {
      "allOf": [
        {
          "$ref": "#/$defs/ComponentNode"
        },
        {
          "properties": {
            "type": {
              "enum": [
                "Avatar",
                "CodeBlock",
                "Divider",
                "Heading",
                "HtmlContent",
                "Image",
                "Link",
                "PageHeading",
                "Paragraph",
                "Video",
                "Card",
                "Carousel",
                "Form",
                "GridLayout",
                "Row",
                "StackLayout",
                "Stepper",
                "TabPanel",
                "TabStrip",
                "TileLayout",
                "CheckBox",
                "DatePicker",
                "DropDownList",
                "FileSelect",
                "NumericTextBox",
                "PasswordBox",
                "RadioGroup",
                "TextArea",
                "TextBox",
                "Upload",
                "Calendar",
                "DataGrid",
                "Gantt",
                "ListView",
                "PivotGrid",
                "Scheduler",
                "Spreadsheet",
                "StatCard",
                "TopFiveLinks",
                "TreeList",
                "TreeView",
                "Button",
                "ButtonGroup",
                "DropDownButton",
                "FloatingActionButton",
                "SplitButton",
                "ToggleButton",
                "Breadcrumb",
                "AIPrompt",
                "InlineAIPrompt",
                "PDFViewer",
                "PromptBox",
                "SmartPasteButton"
              ]
            }
          },
          "required": [
            "type"
          ]
        }
      ],
      "for-ai": [
        {
          "instruction": "Inside Data component children, use only nodes that render templates, row actions, filters, compact inputs, tags, elements, or nested containers.",
          "input": "",
          "output": ""
        }
      ]
    },
    "PageHeadingProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "summary": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "titleField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*(\\.[A-Za-z][A-Za-z0-9_.:-]*)*$"
            },
            "summaryField": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*(\\.[A-Za-z][A-Za-z0-9_.:-]*)*$"
            }
          },
          "required": [
            "title"
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "dataSourceKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "titleField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*(\\.[A-Za-z][A-Za-z0-9_.:-]*)*$"
        },
        "summaryField": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*(\\.[A-Za-z][A-Za-z0-9_.:-]*)*$"
        }
      },
      "additionalProperties": false
    },
    "StageProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "layout": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                null,
                "Collection",
                "Dashboard",
                "Form",
                "Page",
                "Redirect",
                "Workspace"
              ]
            },
            "version": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 1
            },
            "ariaLabel": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "role": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                null,
                "Main",
                "Slideout"
              ],
              "default": "Main"
            }
          },
          "required": [
            "title"
          ]
        }
      ],
      "type": "object",
      "for-ai": [
        {
          "instruction": "Stage defines the root rendered surface for the component hierarchy.",
          "input": "",
          "output": ""
        }
      ],
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "layout": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "Collection",
            "Dashboard",
            "Form",
            "Page",
            "Redirect",
            "Workspace"
          ]
        },
        "version": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "Main",
            "Slideout"
          ],
          "default": "Main"
        }
      },
      "additionalProperties": false
    },
    "StageNode": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "type": {
          "enum": [
            "Stage"
          ]
        },
        "props": {
          "$ref": "#/$defs/StageProps"
        },
        "children": {
          "type": "array",
          "minItems": 0,
          "items": {
            "$ref": "#/$defs/ComponentNode"
          },
          "contains": {
            "$ref": "#/$defs/ComponentSubtreeContainsTabStrip"
          },
          "minContains": 0,
          "maxContains": 1
        }
      },
      "additionalProperties": false,
      "required": [
        "id",
        "type",
        "props",
        "children"
      ],
      "title": "Stage Root Node",
      "for-ai": [
        {
          "instruction": "Stage is the single root node for all public components. All components must appear under Stage directly or indirectly.",
          "input": "",
          "output": ""
        },
        {
          "instruction": "Enforce DataGrid placement semantically across the full page. A page with more than one DataGrid must place every DataGrid inside a TabPanel, and each TabPanel subtree may contain at most one DataGrid.",
          "input": "",
          "output": ""
        },
        {
          "instruction": "Allow at most one TabStrip across the full page component hierarchy. Do not nest a TabStrip inside another TabStrip.",
          "input": "",
          "output": ""
        }
      ]
    },
    "BindingFieldDefinition": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "type": {
          "type": "string",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "minLength": 1
        },
        "isRequired": {
          "type": "boolean",
          "default": false
        }
      },
      "additionalProperties": false,
      "required": [
        "path"
      ],
      "title": "Binding Field Definition"
    },
    "BindingModelDefinition": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BindingFieldDefinition"
          },
          "default": []
        }
      },
      "additionalProperties": false,
      "required": [
        "key",
        "fields"
      ],
      "title": "Binding Model Definition"
    },
    "BindingDataSourceDefinition": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "modelKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "dataSourceKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "eventKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "eventPayload": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "minLength": 1
          },
          "default": {}
        },
        "responsePath": {
          "type": "string",
          "pattern": "^$|^([A-Za-z_][A-Za-z0-9_]*|[0-9]+|\\*)(\\[\\])?(\\.([A-Za-z_][A-Za-z0-9_]*|[0-9]+|\\*)(\\[\\])?)*$"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BindingFieldDefinition"
          },
          "default": []
        },
        "filter": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 1
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "field"
              ],
              "properties": {
                "field": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
                },
                "equals": {
                  "type": [
                    "string",
                    "number",
                    "integer",
                    "boolean",
                    "null"
                  ]
                },
                "notEquals": {
                  "type": [
                    "string",
                    "number",
                    "integer",
                    "boolean",
                    "null"
                  ]
                },
                "contains": {
                  "type": "string",
                  "minLength": 1
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "key"
      ],
      "title": "Binding Data Source Definition"
    },
    "BindingCommandDefinition": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "label": {
          "type": "string",
          "minLength": 1
        },
        "commandKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "eventKey": {
          "$ref": "#/$defs/RuntimeInteractionKey"
        },
        "modelKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "blocked": {
          "type": "boolean",
          "default": false
        },
        "payloadKind": {
          "type": "string",
          "enum": [
            "none",
            "json"
          ]
        },
        "bodyBindings": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "minLength": 1
          },
          "default": {}
        },
        "parameterBindings": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "minLength": 1
          },
          "default": {}
        },
        "refreshDataSourceKeys": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
          },
          "uniqueItems": true,
          "default": []
        },
        "navigateTo": {
          "type": "string",
          "minLength": 1,
          "pattern": "^(?!/?api/)(?!api/v[0-9]+/)[^<>]+$"
        },
        "openSlideoutKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "closeSlideoutKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ],
      "title": "Binding Command Definition"
    },
    "ComponentHierarchyModel": {
      "type": "object",
      "properties": {
        "stage": {
          "$ref": "#/$defs/StageNode"
        },
        "stages": {
          "type": "array",
          "minItems": 0,
          "items": {
            "$ref": "#/$defs/StageNode"
          },
          "contains": {
            "$ref": "#/$defs/StageSubtreeContainsTabStrip"
          },
          "minContains": 0,
          "maxContains": 1,
          "default": []
        },
        "dataSources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BindingDataSourceDefinition"
          },
          "default": []
        },
        "models": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BindingModelDefinition"
          },
          "default": []
        },
        "commands": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/BindingCommandDefinition"
          },
          "default": []
        }
      },
      "additionalProperties": false,
      "anyOf": [
        {
          "required": [
            "stage"
          ]
        },
        {
          "required": [
            "stages"
          ]
        }
      ],
      "allOf": [
        {
          "if": {
            "properties": {
              "stage": {
                "$ref": "#/$defs/StageSubtreeContainsTabStrip"
              }
            },
            "required": [
              "stage"
            ]
          },
          "then": {
            "properties": {
              "stages": {
                "contains": {
                  "$ref": "#/$defs/StageSubtreeContainsTabStrip"
                },
                "minContains": 0,
                "maxContains": 0
              }
            }
          }
        }
      ],
      "title": "Component Hierarchy Model",
      "for-ai": [
        {
          "instruction": "Use stage for a single Main root. Use stages when declaring both Main and Slideout stage roots.",
          "input": "",
          "output": ""
        }
      ]
    },
    "DetailSlideoutNode": {
      "allOf": [
        {
          "$ref": "#/$defs/ComponentNode"
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "Slideout"
            },
            "slot": {
              "const": "detail"
            }
          },
          "required": [
            "type",
            "slot"
          ]
        }
      ]
    },
    "SlideoutDetailField": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "field",
        "title"
      ],
      "properties": {
        "field": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        }
      }
    },
    "SlideoutProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        },
        {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "description": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            "rowSelectionBinding": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
            },
            "slideoutKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "workflowDetail": {
              "type": "boolean",
              "default": false
            },
            "detailFields": {
              "type": "array",
              "minItems": 1,
              "items": {
                "$ref": "#/$defs/SlideoutDetailField"
              }
            }
          },
          "required": [
            "title"
          ],
          "anyOf": [
            {
              "required": [
                "rowSelectionBinding"
              ]
            },
            {
              "required": [
                "slideoutKey"
              ]
            }
          ]
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "description": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "role": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "button",
            "link",
            "img",
            "group",
            "region",
            "navigation",
            "list",
            "listitem",
            "article",
            "presentation",
            "status",
            "alert",
            "toolbar",
            "progressbar"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "rowSelectionBinding": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*$"
        },
        "slideoutKey": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "workflowDetail": {
          "type": "boolean",
          "default": false
        },
        "detailFields": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/SlideoutDetailField"
          }
        }
      },
      "additionalProperties": false
    },
    "StatCardProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        }
      ],
      "description": "Strict StatCard contract. Direct StatCard nodes render exactly a title, stat value, and Open link. Provide explicit title/value/href or resolve them through dataSourceKey plus statKey.",
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "dataSourceKey": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "value": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 1,
              "pattern": "^[^<>]*$"
            },
            {
              "type": "number"
            }
          ]
        },
        "href": {
          "type": "string",
          "minLength": 1,
          "pattern": "^(/[^<>]*|https?://[^<>]+)$"
        },
        "statKey": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)*$",
          "x-trackthat-editor": "module-stat-selector"
        }
      },
      "anyOf": [
        {
          "required": [
            "title",
            "value",
            "href"
          ]
        },
        {
          "properties": {
            "dataSourceKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
            },
            "statKey": {
              "type": "string",
              "minLength": 1,
              "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*(?:\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*)*$"
            }
          },
          "required": [
            "dataSourceKey",
            "statKey"
          ]
        }
      ],
      "additionalProperties": false
    },
    "TopFiveLinksProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "key": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1
        },
        "label": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1
        },
        "moreHref": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^(#|/[^<>]*|https?://[^\\s<>]+)$"
        },
        "href": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^(#|/[^<>]*|https?://[^\\s<>]+)$"
        },
        "emptyText": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1
        },
        "items": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 5,
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "minLength": 1
              },
              "href": {
                "type": "string",
                "minLength": 1,
                "pattern": "^(#|/[^<>]*|https?://[^\\s<>]+)$"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "meta": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "title"
            ],
            "additionalProperties": false
          }
        },
        "dataSourceKey": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        }
      },
      "anyOf": [
        {
          "required": [
            "dataSourceKey"
          ]
        },
        {
          "required": [
            "moduleId"
          ]
        },
        {
          "required": [
            "title",
            "moreHref"
          ]
        },
        {
          "required": [
            "title",
            "href"
          ]
        }
      ],
      "additionalProperties": false
    },
    "BreadcrumbProps": {
      "allOf": [
        {
          "$ref": "#/$defs/CommonVisualProps"
        },
        {
          "$ref": "#/$defs/CommonAccessibilityProps"
        }
      ],
      "type": "object",
      "properties": {
        "class": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Za-z0-9_ .:-]*$"
        },
        "width": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "height": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^(auto|0|[0-9]+(\\.[0-9]+)?(px|rem|em|%|vh|vw|ch))$"
        },
        "testId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "tabId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "isVisible": {
          "type": [
            "boolean",
            "null"
          ],
          "default": true
        },
        "moduleId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[A-Za-z][A-Za-z0-9_.:-]*$"
        },
        "ariaLabel": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "pattern": "^[^<>]*$"
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "text"
            ],
            "properties": {
              "text": {
                "type": "string",
                "minLength": 1,
                "pattern": "^[^<>]*$"
              },
              "href": {
                "type": [
                  "string",
                  "null"
                ],
                "minLength": 1,
                "pattern": "^(/|https?://)[^<>]*$"
              },
              "isCurrent": {
                "type": "boolean",
                "default": false
              }
            }
          }
        }
      },
      "additionalProperties": false
    }
  }
}
