export default {
  "metadata": { "section": "App Embed" },
  "definitions": {
    "AppEmbedNode": {
      "metadata": {
        "tsRicosNode": true,
        "examples": ["app-embed-event", "app-embed-booking"],
        "features": ["APP_EMBED"],
        "description": "Embeds an external content preview from Wix business solutions. For example, you can embed previews from the Wix Bookings, Wix Stores and Wix Events apps."
      },
      "properties": {
        "type": {
          "enum": ["APP_EMBED"],
          "metadata": {
            "description": "Node type. \n Must be `APP_EMBED`."
          }
        },
        "appEmbedData": {
          "ref": "AppEmbedData",
          "metadata": {
            "description": "Embedded Wix app."
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "nodes": {
          "metadata": { "internal": true, "tsRicosNodesChildren": true },
          "elements": { "ref": "Never" }
        }
      }
    },
    "AppEmbedData": {
      "discriminator": "type",
      "metadata": {
        "refUnion": ["AppEmbedDataProduct", "AppEmbedDataEvent", "AppEmbedDataBooking"],
        "emitEnum": "AppEmbedData_AppType"
      }
    },
    "AppEmbedDataProduct": {
      "metadata": {
        "description": "Embedded a product from Wix Stores."
      },
      "properties": {
        "type": {
          "enum": ["PRODUCT"],
          "metadata": {
            "description": "Must be `PRODUCT`."
          }
        },
        "name": {
          "type": "string",
          "metadata": {
            "description": "Embedded content name."
          }
        },
        "url": {
          "type": "string",
          "metadata": {
            "description": "Embedded content URL."
          }
        }
      },
      "optionalProperties": {
        "containerData": {
          "ref": "PluginContainerData",
          "metadata": {
            "description": "App embed container styling."
          }
        },
        "image": {
          "ref": "Media",
          "metadata": {
            "description": "Embedded content thumbnail."
          }
        },
        "itemId": {
          "type": "string",
          "metadata": {
            "description": "Embedded content ID."
          }
        },
        "imageSrc": {
          "type": "string",
          "metadata": {
            "description": "Deprecated: Use `image` instead.",
            "deprecated": true
          }
        },
        "hideImage": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the image."
          }
        },
        "hideTitle": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the title."
          }
        },
        "hidePrice": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the price."
          }
        },
        "hideButton": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the button."
          }
        },
        "hideRibbon": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the ribbon."
          }
        },
        "buttonStyles": {
          "ref": "AppEmbedData_ButtonStyles",
          "metadata": {
            "description": "Button styling options."
          }
        },
        "imageStyles": {
          "ref": "AppEmbedData_ImageStyles",
          "metadata": {
            "description": "Image styling options."
          }
        },
        "ribbonStyles": {
          "ref": "AppEmbedData_RibbonStyles",
          "metadata": {
            "description": "Ribbon styling options."
          }
        },
        "cardStyles": {
          "ref": "AppEmbedData_CardStyles",
          "metadata": {
            "description": "Card styling options."
          }
        },
        "pricingData": {
          "ref": "AppEmbedData_PricingData",
          "metadata": {
            "description": "Pricing information for the embedded content."
          }
        }
      }
    },
    "AppEmbedDataEvent": {
      "metadata": {
        "description": "Embeds an event from Wix Events."
      },
      "properties": {
        "type": {
          "enum": ["EVENT"],
          "metadata": {
            "description": "Must be `EVENT`."
          }
        },
        "name": {
          "type": "string",
          "metadata": {
            "description": "Embedded content name."
          }
        },
        "url": {
          "type": "string",
          "metadata": {
            "description": "Embedded content URL."
          }
        }
      },
      "optionalProperties": {
        "containerData": {
          "ref": "PluginContainerData",
          "metadata": {
            "description": "App embed container styling."
          }
        },
        "eventData": {
          "ref": "AppEmbedData_EventData",
          "metadata": {
            "description": "Embedded event content."
          }
        },
        "image": {
          "ref": "Media",
          "metadata": {
            "description": "Embedded content thumbnail."
          }
        },
        "itemId": {
          "type": "string",
          "metadata": {
            "description": "Embedded content ID."
          }
        },
        "imageSrc": {
          "type": "string",
          "metadata": {
            "description": "Deprecated: Use `image` instead.",
            "deprecated": true
          }
        },
        "hideImage": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the image."
          }
        },
        "hideTitle": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the title."
          }
        },
        "hidePrice": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the price."
          }
        },
        "hideDescription": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the description."
          }
        },
        "hideDateTime": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the date and time."
          }
        },
        "hideLocation": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the location."
          }
        },
        "hideButton": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the button."
          }
        },
        "hideRibbon": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the ribbon."
          }
        },
        "buttonStyles": {
          "ref": "AppEmbedData_ButtonStyles",
          "metadata": {
            "description": "Button styling options."
          }
        },
        "imageStyles": {
          "ref": "AppEmbedData_ImageStyles",
          "metadata": {
            "description": "Image styling options."
          }
        },
        "ribbonStyles": {
          "ref": "AppEmbedData_RibbonStyles",
          "metadata": {
            "description": "Ribbon styling options."
          }
        },
        "cardStyles": {
          "ref": "AppEmbedData_CardStyles",
          "metadata": {
            "description": "Card styling options."
          }
        },
        "pricingData": {
          "ref": "AppEmbedData_PricingData",
          "metadata": {
            "description": "Pricing information for the embedded content."
          }
        }
      }
    },
    "AppEmbedDataBooking": {
      "metadata": {
        "description": "Embeds a booking from Wix Bookings."
      },
      "properties": {
        "type": {
          "enum": ["BOOKING"]
        },
        "name": {
          "type": "string",
          "metadata": {
            "description": "Embedded content name."
          }
        },
        "url": {
          "type": "string",
          "metadata": {
            "description": "Embedded content URL."
          }
        }
      },
      "optionalProperties": {
        "containerData": {
          "ref": "PluginContainerData",
          "metadata": {
            "description": "App embed container styling."
          }
        },
        "image": {
          "ref": "Media",
          "metadata": {
            "description": "Embedded content thumbnail."
          }
        },
        "itemId": {
          "type": "string",
          "metadata": {
            "description": "Embedded content ID."
          }
        },
        "bookingData": {
          "ref": "AppEmbedData_BookingData",
          "metadata": {
            "description": "Embedded booking content."
          }
        },
        "imageSrc": {
          "type": "string",
          "metadata": {
            "description": "Deprecated: Use `image` instead.",
            "deprecated": true
          }
        },
        "hideImage": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the image."
          }
        },
        "hideTitle": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the title."
          }
        },
        "hidePrice": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the price."
          }
        },
        "hideDescription": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the description."
          }
        },
        "hideDuration": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the duration."
          }
        },
        "hideLocation": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the location."
          }
        },
        "hideButton": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the button."
          }
        },
        "hideRibbon": {
          "type": "boolean",
          "metadata": {
            "description": "Whether to hide the ribbon."
          }
        },
        "buttonStyles": {
          "ref": "AppEmbedData_ButtonStyles",
          "metadata": {
            "description": "Button styling options."
          }
        },
        "imageStyles": {
          "ref": "AppEmbedData_ImageStyles",
          "metadata": {
            "description": "Image styling options."
          }
        },
        "ribbonStyles": {
          "ref": "AppEmbedData_RibbonStyles",
          "metadata": {
            "description": "Ribbon styling options."
          }
        },
        "cardStyles": {
          "ref": "AppEmbedData_CardStyles",
          "metadata": {
            "description": "Card styling options."
          }
        },
        "pricingData": {
          "ref": "AppEmbedData_PricingData",
          "metadata": {
            "description": "Pricing information for the embedded content."
          }
        }
      }
    },
    "AppEmbedData_BookingData": {
      "optionalProperties": {
        "durations": {
          "type": "string",
          "metadata": {
            "description": "Booking duration in minutes."
          }
        }
      }
    },
    "AppEmbedData_EventData": {
      "optionalProperties": {
        "scheduling": {
          "type": "string",
          "metadata": {
            "description": "Event schedule."
          }
        },
        "location": {
          "type": "string",
          "metadata": {
            "description": "Event location."
          }
        }
      }
    },
    "AppEmbedData_ButtonStyles": {
      "optionalProperties": {
        "buttonText": {
          "type": "string",
          "metadata": {
            "description": "Text to display on the button."
          }
        },
        "borderWidth": {
          "type": "int32",
          "metadata": {
            "description": "Border width in pixels."
          }
        },
        "borderRadius": {
          "type": "int32",
          "metadata": {
            "description": "Border radius in pixels."
          }
        },
        "borderColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Border color as a hexadecimal value."
          }
        },
        "textColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Text color as a hexadecimal value."
          }
        },
        "backgroundColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Background color as a hexadecimal value."
          }
        },
        "borderColorHover": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Border color as a hexadecimal value (hover state)."
          }
        },
        "textColorHover": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Text color as a hexadecimal value (hover state)."
          }
        },
        "backgroundColorHover": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Background color as a hexadecimal value (hover state)."
          }
        },
        "buttonSize": {
          "type": "string",
          "metadata": {
            "description": "Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`."
          }
        }
      }
    },
    "AppEmbedData_ImageStyles": {
      "optionalProperties": {
        "imagePosition": {
          "enum": ["START", "END", "TOP"],
          "metadata": {
            "description": "Position of image. Defaults to `START`.",
            "emitEnum": "AppEmbedData_ImageStyles_Position"
          }
        },
        "aspectRatio": {
          "enum": ["SQUARE", "RECTANGLE"],
          "metadata": {
            "description": "Aspect ratio for the image. Defaults to `SQUARE`.",
            "emitEnum": "AppEmbedData_ImageStyles_AspectRatio"
          }
        },
        "resizing": {
          "enum": ["FILL", "FIT"],
          "metadata": {
            "description": "How the image should be resized. Defaults to `FILL`.",
            "emitEnum": "AppEmbedData_ImageStyles_Resizing"
          }
        },
        "borderColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Image border color as a hexadecimal value."
          }
        },
        "borderWidth": {
          "type": "int32",
          "metadata": {
            "description": "Image border width in pixels."
          }
        },
        "borderRadius": {
          "type": "int32",
          "metadata": {
            "description": "Image border radius in pixels."
          }
        }
      }
    },
    "AppEmbedData_RibbonStyles": {
      "optionalProperties": {
        "ribbonText": {
          "type": "string",
          "metadata": {
            "description": "Text to display on the ribbon."
          }
        },
        "ribbonPlacement": {
          "enum": ["IMAGE", "PRODUCT_INFO"],
          "metadata": {
            "description": "Placement of the ribbon. Defaults to `IMAGE`.",
            "emitEnum": "AppEmbedData_RibbonStyles_Placement"
          }
        },
        "backgroundColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Ribbon background color as a hexadecimal value."
          }
        },
        "textColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Ribbon text color as a hexadecimal value."
          }
        },
        "borderColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Ribbon border color as a hexadecimal value."
          }
        },
        "borderWidth": {
          "type": "int32",
          "metadata": {
            "description": "Ribbon border width in pixels."
          }
        },
        "borderRadius": {
          "type": "int32",
          "metadata": {
            "description": "Ribbon border radius in pixels."
          }
        }
      }
    },
    "AppEmbedData_CardStyles": {
      "optionalProperties": {
        "backgroundColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Card background color as a hexadecimal value."
          }
        },
        "borderColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Card border color as a hexadecimal value."
          }
        },
        "borderWidth": {
          "type": "int32",
          "metadata": {
            "description": "Card border width in pixels."
          }
        },
        "borderRadius": {
          "type": "int32",
          "metadata": {
            "description": "Card border radius in pixels."
          }
        },
        "type": {
          "enum": ["CONTAINED", "FRAMELESS"],
          "metadata": {
            "description": "Card type. Defaults to `CONTAINED`.",
            "emitEnum": "AppEmbedData_CardStyles_Type"
          }
        },
        "alignment": {
          "enum": ["START", "CENTER", "END"],
          "metadata": {
            "description": "Content alignment. Defaults to `START`.",
            "emitEnum": "AppEmbedData_CardStyles_Alignment"
          }
        },
        "titlePriceLayout": {
          "ref": "AppEmbedData_CardStyles_Layout",
          "metadata": {
            "description": "Layout for title and price. Defaults to `STACKED`."
          }
        },
        "titleColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Title text color as a hexadecimal value."
          }
        },
        "textColor": {
          "type": "string",
          "metadata": {
            "format": "COLOR_VALUE",
            "description": "Text color as a hexadecimal value."
          }
        }
      }
    },
    "AppEmbedData_CardStyles_Layout": {
      "enum": ["STACKED", "SIDE_BY_SIDE"],
      "metadata": {
        "description": "Layout options for arranging elements."
      }
    },
    "AppEmbedData_PricingData": {
      "optionalProperties": {
        "valueFrom": {
          "type": "string",
          "metadata": {
            "format": "DECIMAL",
            "description": "Minimum numeric price value as string (e.g., \"10.99\")."
          }
        },
        "valueTo": {
          "type": "string",
          "metadata": {
            "format": "DECIMAL",
            "description": "Maximum numeric price value as string (e.g., \"19.99\")."
          }
        },
        "discountedValue": {
          "type": "string",
          "metadata": {
            "format": "DECIMAL",
            "description": "Numeric price value as string after discount application (e.g., \"15.99\")."
          }
        },
        "currency": {
          "type": "string",
          "metadata": {
            "format": "CURRENCY",
            "description": "Currency of the value in ISO 4217 format (e.g., \"USD\", \"EUR\")."
          }
        },
        "pricingPlanId": {
          "type": "string",
          "metadata": {
            "format": "GUID",
            "description": "Pricing plan ID."
          }
        }
      }
    }
  }
}