{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "My Shot page component replacement request",
  "description": "Generated from SiteEditorComponentNode. Runtime also checks references, ownership, nesting, and supported fields per node type.",
  "type": "object",
  "properties": {
    "nodes": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/T0"
      }
    }
  },
  "required": [
    "nodes"
  ],
  "additionalProperties": false,
  "$defs": {
    "T3": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "T2": {
      "anyOf": [
        {
          "$ref": "#/$defs/T3"
        }
      ]
    },
    "T4": {
      "anyOf": [
        {
          "type": "string"
        }
      ]
    },
    "T6": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/T0"
      }
    },
    "T5": {
      "anyOf": [
        {
          "$ref": "#/$defs/T6"
        }
      ]
    },
    "T11": {
      "type": "object",
      "properties": {
        "itemId": {
          "type": "string"
        },
        "quantity": {
          "type": "number"
        },
        "type": {
          "const": "add-to-cart"
        }
      },
      "required": [
        "itemId",
        "quantity",
        "type"
      ],
      "additionalProperties": false
    },
    "T12": {
      "type": "object",
      "properties": {
        "type": {
          "const": "open-cart"
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": false
    },
    "T10": {
      "anyOf": [
        {
          "$ref": "#/$defs/T11"
        },
        {
          "$ref": "#/$defs/T12"
        }
      ]
    },
    "T9": {
      "type": "object",
      "properties": {
        "event": {
          "const": "click"
        },
        "command": {
          "$ref": "#/$defs/T10"
        }
      },
      "required": [
        "event",
        "command"
      ],
      "additionalProperties": false
    },
    "T8": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/T9"
      }
    },
    "T7": {
      "anyOf": [
        {
          "$ref": "#/$defs/T8"
        }
      ]
    },
    "T13": {
      "anyOf": [
        {
          "const": false
        },
        {
          "const": true
        }
      ]
    },
    "T14": {
      "anyOf": [
        {
          "type": "number"
        }
      ]
    },
    "T15": {
      "anyOf": [
        {
          "const": "italic"
        },
        {
          "const": "normal"
        }
      ]
    },
    "T17": {
      "type": "object",
      "properties": {
        "type": {
          "const": "page"
        },
        "pageId": {
          "type": "string"
        },
        "openInNewTab": {
          "$ref": "#/$defs/T13"
        }
      },
      "required": [
        "type",
        "pageId"
      ],
      "additionalProperties": false
    },
    "T18": {
      "type": "object",
      "properties": {
        "type": {
          "const": "url"
        },
        "href": {
          "type": "string"
        },
        "openInNewTab": {
          "$ref": "#/$defs/T13"
        }
      },
      "required": [
        "type",
        "href"
      ],
      "additionalProperties": false
    },
    "T16": {
      "anyOf": [
        {
          "$ref": "#/$defs/T17"
        },
        {
          "$ref": "#/$defs/T18"
        }
      ]
    },
    "T19": {
      "anyOf": [
        {
          "const": "center"
        },
        {
          "const": "left"
        },
        {
          "const": "right"
        }
      ]
    },
    "T20": {
      "anyOf": [
        {
          "const": "h1"
        },
        {
          "const": "h2"
        },
        {
          "const": "h3"
        },
        {
          "const": "paragraph"
        },
        {
          "const": "small"
        }
      ]
    },
    "T22": {
      "type": "object",
      "properties": {
        "fontFamily": {
          "$ref": "#/$defs/T4"
        },
        "fontSize": {
          "$ref": "#/$defs/T14"
        },
        "fontWeight": {
          "$ref": "#/$defs/T14"
        },
        "fontStyle": {
          "$ref": "#/$defs/T15"
        },
        "letterSpacing": {
          "$ref": "#/$defs/T14"
        },
        "lineHeight": {
          "$ref": "#/$defs/T14"
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "T21": {
      "anyOf": [
        {
          "$ref": "#/$defs/T22"
        }
      ]
    },
    "T23": {
      "anyOf": [
        {
          "const": "center"
        },
        {
          "const": "end"
        },
        {
          "const": "start"
        }
      ]
    },
    "T24": {
      "anyOf": [
        {
          "const": "dashed"
        },
        {
          "const": "dotted"
        },
        {
          "const": "none"
        },
        {
          "const": "solid"
        }
      ]
    },
    "T25": {
      "anyOf": [
        {
          "const": "horizontal"
        },
        {
          "const": "vertical"
        }
      ]
    },
    "T26": {
      "anyOf": [
        {
          "const": "fill"
        },
        {
          "const": "fixed"
        },
        {
          "const": "hug"
        }
      ]
    },
    "T28": {
      "type": "array",
      "items": [
        {
          "type": "number"
        }
      ],
      "minItems": 1,
      "maxItems": 1
    },
    "T29": {
      "type": "array",
      "items": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "minItems": 2,
      "maxItems": 2
    },
    "T30": {
      "type": "array",
      "items": [
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "minItems": 4,
      "maxItems": 4
    },
    "T27": {
      "anyOf": [
        {
          "$ref": "#/$defs/T28"
        },
        {
          "$ref": "#/$defs/T29"
        },
        {
          "$ref": "#/$defs/T30"
        }
      ]
    },
    "T31": {
      "anyOf": [
        {
          "const": "normal"
        },
        {
          "const": "sticky"
        }
      ]
    },
    "T1": {
      "type": "object",
      "properties": {
        "type": {
          "const": "button"
        },
        "allowList": {
          "$ref": "#/$defs/T2"
        },
        "assetId": {
          "$ref": "#/$defs/T4"
        },
        "children": {
          "$ref": "#/$defs/T5"
        },
        "color": {
          "$ref": "#/$defs/T4"
        },
        "colorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "commands": {
          "$ref": "#/$defs/T7"
        },
        "disallowList": {
          "$ref": "#/$defs/T2"
        },
        "featured": {
          "$ref": "#/$defs/T13"
        },
        "fileName": {
          "$ref": "#/$defs/T4"
        },
        "fontFamily": {
          "$ref": "#/$defs/T4"
        },
        "fontSize": {
          "$ref": "#/$defs/T14"
        },
        "fontStyle": {
          "$ref": "#/$defs/T15"
        },
        "fontWeight": {
          "$ref": "#/$defs/T14"
        },
        "hidden": {
          "$ref": "#/$defs/T13"
        },
        "id": {
          "type": "string"
        },
        "includeFees": {
          "$ref": "#/$defs/T13"
        },
        "includeFilter": {
          "$ref": "#/$defs/T13"
        },
        "link": {
          "$ref": "#/$defs/T16"
        },
        "label": {
          "type": "string"
        },
        "letterSpacing": {
          "$ref": "#/$defs/T14"
        },
        "lineHeight": {
          "$ref": "#/$defs/T14"
        },
        "markup": {
          "$ref": "#/$defs/T4"
        },
        "noWrap": {
          "$ref": "#/$defs/T13"
        },
        "productId": {
          "$ref": "#/$defs/T4"
        },
        "textAlign": {
          "$ref": "#/$defs/T19"
        },
        "textStyle": {
          "$ref": "#/$defs/T20"
        },
        "textStyleId": {
          "$ref": "#/$defs/T4"
        },
        "textStyleOverrides": {
          "$ref": "#/$defs/T21"
        },
        "visibleWhen": {
          "$ref": "#/$defs/T4"
        },
        "alignment": {
          "$ref": "#/$defs/T23"
        },
        "borderColor": {
          "$ref": "#/$defs/T4"
        },
        "borderColorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "borderStyle": {
          "$ref": "#/$defs/T24"
        },
        "borderWidth": {
          "$ref": "#/$defs/T14"
        },
        "cornerRadius": {
          "$ref": "#/$defs/T14"
        },
        "direction": {
          "$ref": "#/$defs/T25"
        },
        "fill": {
          "$ref": "#/$defs/T4"
        },
        "fillStyleId": {
          "$ref": "#/$defs/T4"
        },
        "fixedHeightInches": {
          "$ref": "#/$defs/T14"
        },
        "fixedWidthInches": {
          "$ref": "#/$defs/T14"
        },
        "gap": {
          "$ref": "#/$defs/T14"
        },
        "height": {
          "$ref": "#/$defs/T14"
        },
        "heightSizing": {
          "$ref": "#/$defs/T26"
        },
        "justifyContent": {
          "$ref": "#/$defs/T23"
        },
        "padding": {
          "$ref": "#/$defs/T27"
        },
        "position": {
          "$ref": "#/$defs/T31"
        },
        "width": {
          "$ref": "#/$defs/T14"
        },
        "widthSizing": {
          "$ref": "#/$defs/T26"
        },
        "wrap": {
          "$ref": "#/$defs/T13"
        }
      },
      "required": [
        "type",
        "id",
        "label"
      ],
      "additionalProperties": false
    },
    "T32": {
      "type": "object",
      "properties": {
        "type": {
          "const": "frame"
        },
        "allowList": {
          "$ref": "#/$defs/T2"
        },
        "assetId": {
          "$ref": "#/$defs/T4"
        },
        "children": {
          "$ref": "#/$defs/T5"
        },
        "color": {
          "$ref": "#/$defs/T4"
        },
        "colorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "commands": {
          "$ref": "#/$defs/T7"
        },
        "disallowList": {
          "$ref": "#/$defs/T2"
        },
        "featured": {
          "$ref": "#/$defs/T13"
        },
        "fileName": {
          "$ref": "#/$defs/T4"
        },
        "fontFamily": {
          "$ref": "#/$defs/T4"
        },
        "fontSize": {
          "$ref": "#/$defs/T14"
        },
        "fontStyle": {
          "$ref": "#/$defs/T15"
        },
        "fontWeight": {
          "$ref": "#/$defs/T14"
        },
        "hidden": {
          "$ref": "#/$defs/T13"
        },
        "id": {
          "type": "string"
        },
        "includeFees": {
          "$ref": "#/$defs/T13"
        },
        "includeFilter": {
          "$ref": "#/$defs/T13"
        },
        "link": {
          "$ref": "#/$defs/T16"
        },
        "label": {
          "type": "string"
        },
        "letterSpacing": {
          "$ref": "#/$defs/T14"
        },
        "lineHeight": {
          "$ref": "#/$defs/T14"
        },
        "markup": {
          "$ref": "#/$defs/T4"
        },
        "noWrap": {
          "$ref": "#/$defs/T13"
        },
        "productId": {
          "$ref": "#/$defs/T4"
        },
        "textAlign": {
          "$ref": "#/$defs/T19"
        },
        "textStyle": {
          "$ref": "#/$defs/T20"
        },
        "textStyleId": {
          "$ref": "#/$defs/T4"
        },
        "textStyleOverrides": {
          "$ref": "#/$defs/T21"
        },
        "visibleWhen": {
          "$ref": "#/$defs/T4"
        },
        "alignment": {
          "$ref": "#/$defs/T23"
        },
        "borderColor": {
          "$ref": "#/$defs/T4"
        },
        "borderColorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "borderStyle": {
          "$ref": "#/$defs/T24"
        },
        "borderWidth": {
          "$ref": "#/$defs/T14"
        },
        "cornerRadius": {
          "$ref": "#/$defs/T14"
        },
        "direction": {
          "$ref": "#/$defs/T25"
        },
        "fill": {
          "$ref": "#/$defs/T4"
        },
        "fillStyleId": {
          "$ref": "#/$defs/T4"
        },
        "fixedHeightInches": {
          "$ref": "#/$defs/T14"
        },
        "fixedWidthInches": {
          "$ref": "#/$defs/T14"
        },
        "gap": {
          "$ref": "#/$defs/T14"
        },
        "height": {
          "$ref": "#/$defs/T14"
        },
        "heightSizing": {
          "$ref": "#/$defs/T26"
        },
        "justifyContent": {
          "$ref": "#/$defs/T23"
        },
        "padding": {
          "$ref": "#/$defs/T27"
        },
        "position": {
          "$ref": "#/$defs/T31"
        },
        "width": {
          "$ref": "#/$defs/T14"
        },
        "widthSizing": {
          "$ref": "#/$defs/T26"
        },
        "wrap": {
          "$ref": "#/$defs/T13"
        }
      },
      "required": [
        "type",
        "id",
        "label"
      ],
      "additionalProperties": false
    },
    "T33": {
      "type": "object",
      "properties": {
        "type": {
          "const": "link"
        },
        "allowList": {
          "$ref": "#/$defs/T2"
        },
        "assetId": {
          "$ref": "#/$defs/T4"
        },
        "children": {
          "$ref": "#/$defs/T5"
        },
        "color": {
          "$ref": "#/$defs/T4"
        },
        "colorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "commands": {
          "$ref": "#/$defs/T7"
        },
        "disallowList": {
          "$ref": "#/$defs/T2"
        },
        "featured": {
          "$ref": "#/$defs/T13"
        },
        "fileName": {
          "$ref": "#/$defs/T4"
        },
        "fontFamily": {
          "$ref": "#/$defs/T4"
        },
        "fontSize": {
          "$ref": "#/$defs/T14"
        },
        "fontStyle": {
          "$ref": "#/$defs/T15"
        },
        "fontWeight": {
          "$ref": "#/$defs/T14"
        },
        "hidden": {
          "$ref": "#/$defs/T13"
        },
        "id": {
          "type": "string"
        },
        "includeFees": {
          "$ref": "#/$defs/T13"
        },
        "includeFilter": {
          "$ref": "#/$defs/T13"
        },
        "link": {
          "$ref": "#/$defs/T16"
        },
        "label": {
          "type": "string"
        },
        "letterSpacing": {
          "$ref": "#/$defs/T14"
        },
        "lineHeight": {
          "$ref": "#/$defs/T14"
        },
        "markup": {
          "$ref": "#/$defs/T4"
        },
        "noWrap": {
          "$ref": "#/$defs/T13"
        },
        "productId": {
          "$ref": "#/$defs/T4"
        },
        "textAlign": {
          "$ref": "#/$defs/T19"
        },
        "textStyle": {
          "$ref": "#/$defs/T20"
        },
        "textStyleId": {
          "$ref": "#/$defs/T4"
        },
        "textStyleOverrides": {
          "$ref": "#/$defs/T21"
        },
        "visibleWhen": {
          "$ref": "#/$defs/T4"
        },
        "alignment": {
          "$ref": "#/$defs/T23"
        },
        "borderColor": {
          "$ref": "#/$defs/T4"
        },
        "borderColorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "borderStyle": {
          "$ref": "#/$defs/T24"
        },
        "borderWidth": {
          "$ref": "#/$defs/T14"
        },
        "cornerRadius": {
          "$ref": "#/$defs/T14"
        },
        "direction": {
          "$ref": "#/$defs/T25"
        },
        "fill": {
          "$ref": "#/$defs/T4"
        },
        "fillStyleId": {
          "$ref": "#/$defs/T4"
        },
        "fixedHeightInches": {
          "$ref": "#/$defs/T14"
        },
        "fixedWidthInches": {
          "$ref": "#/$defs/T14"
        },
        "gap": {
          "$ref": "#/$defs/T14"
        },
        "height": {
          "$ref": "#/$defs/T14"
        },
        "heightSizing": {
          "$ref": "#/$defs/T26"
        },
        "justifyContent": {
          "$ref": "#/$defs/T23"
        },
        "padding": {
          "$ref": "#/$defs/T27"
        },
        "position": {
          "$ref": "#/$defs/T31"
        },
        "width": {
          "$ref": "#/$defs/T14"
        },
        "widthSizing": {
          "$ref": "#/$defs/T26"
        },
        "wrap": {
          "$ref": "#/$defs/T13"
        }
      },
      "required": [
        "type",
        "id",
        "label"
      ],
      "additionalProperties": false
    },
    "T35": {
      "anyOf": [
        {
          "const": "fee_list"
        },
        {
          "const": "horizontal_rule"
        },
        {
          "const": "icon"
        },
        {
          "const": "image"
        },
        {
          "const": "invoice_subtotal"
        },
        {
          "const": "navigation"
        },
        {
          "const": "order_item_list"
        },
        {
          "const": "product_card"
        },
        {
          "const": "product_list"
        },
        {
          "const": "text"
        },
        {
          "const": "video"
        }
      ]
    },
    "T34": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/$defs/T35"
        },
        "allowList": {
          "$ref": "#/$defs/T2"
        },
        "assetId": {
          "$ref": "#/$defs/T4"
        },
        "children": {
          "$ref": "#/$defs/T5"
        },
        "color": {
          "$ref": "#/$defs/T4"
        },
        "colorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "commands": {
          "$ref": "#/$defs/T7"
        },
        "disallowList": {
          "$ref": "#/$defs/T2"
        },
        "featured": {
          "$ref": "#/$defs/T13"
        },
        "fileName": {
          "$ref": "#/$defs/T4"
        },
        "fontFamily": {
          "$ref": "#/$defs/T4"
        },
        "fontSize": {
          "$ref": "#/$defs/T14"
        },
        "fontStyle": {
          "$ref": "#/$defs/T15"
        },
        "fontWeight": {
          "$ref": "#/$defs/T14"
        },
        "hidden": {
          "$ref": "#/$defs/T13"
        },
        "id": {
          "type": "string"
        },
        "includeFees": {
          "$ref": "#/$defs/T13"
        },
        "includeFilter": {
          "$ref": "#/$defs/T13"
        },
        "link": {
          "$ref": "#/$defs/T16"
        },
        "label": {
          "type": "string"
        },
        "letterSpacing": {
          "$ref": "#/$defs/T14"
        },
        "lineHeight": {
          "$ref": "#/$defs/T14"
        },
        "markup": {
          "$ref": "#/$defs/T4"
        },
        "noWrap": {
          "$ref": "#/$defs/T13"
        },
        "productId": {
          "$ref": "#/$defs/T4"
        },
        "textAlign": {
          "$ref": "#/$defs/T19"
        },
        "textStyle": {
          "$ref": "#/$defs/T20"
        },
        "textStyleId": {
          "$ref": "#/$defs/T4"
        },
        "textStyleOverrides": {
          "$ref": "#/$defs/T21"
        },
        "visibleWhen": {
          "$ref": "#/$defs/T4"
        },
        "alignment": {
          "$ref": "#/$defs/T23"
        },
        "borderColor": {
          "$ref": "#/$defs/T4"
        },
        "borderColorStyleId": {
          "$ref": "#/$defs/T4"
        },
        "borderStyle": {
          "$ref": "#/$defs/T24"
        },
        "borderWidth": {
          "$ref": "#/$defs/T14"
        },
        "cornerRadius": {
          "$ref": "#/$defs/T14"
        },
        "direction": {
          "$ref": "#/$defs/T25"
        },
        "fill": {
          "$ref": "#/$defs/T4"
        },
        "fillStyleId": {
          "$ref": "#/$defs/T4"
        },
        "fixedHeightInches": {
          "$ref": "#/$defs/T14"
        },
        "fixedWidthInches": {
          "$ref": "#/$defs/T14"
        },
        "gap": {
          "$ref": "#/$defs/T14"
        },
        "height": {
          "$ref": "#/$defs/T14"
        },
        "heightSizing": {
          "$ref": "#/$defs/T26"
        },
        "justifyContent": {
          "$ref": "#/$defs/T23"
        },
        "padding": {
          "$ref": "#/$defs/T27"
        },
        "position": {
          "$ref": "#/$defs/T31"
        },
        "width": {
          "$ref": "#/$defs/T14"
        },
        "widthSizing": {
          "$ref": "#/$defs/T26"
        },
        "wrap": {
          "$ref": "#/$defs/T13"
        }
      },
      "required": [
        "type",
        "id",
        "label"
      ],
      "additionalProperties": false
    },
    "T0": {
      "anyOf": [
        {
          "$ref": "#/$defs/T1"
        },
        {
          "$ref": "#/$defs/T32"
        },
        {
          "$ref": "#/$defs/T33"
        },
        {
          "$ref": "#/$defs/T34"
        }
      ]
    }
  }
}
