JSON items structure

PHOTO EMBED

Tue Jan 14 2025 05:12:17 GMT+0000 (Coordinated Universal Time)

Saved by @davidmchale #json #schema

{
  "$schema": "http://localhost:3000/schemas/v1.json",
  "name": "hero-banner",
  "namespace": "gonzaga-university",
  "description": "This component displays a Hero Banner consisting of text and a background image",
  "displayName": "Hero Banner",
  "version": "0.0.2",
  "type": "edge",
  "mainFunction": "main",
  "icon": {
    "id": "grid_view",
    "color": {
      "type": "enum",
      "value": "gray"
    }
  },
  "functions": [
    {
      "name": "main",
      "entry": "main.js",
      "input": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "An array of exactly 3 objects, each with an image and text.",
            "items": {
              "type": "object",
              "properties": {
                "image": {
                  "type": "SquizImage",
                  "title": "Background Image",
                  "description": "Add background image to a panel"
                },
                "text": {
                  "type": "string",
                  "description": "A description or related information for the image."
                }
              },
              "required": [
                "image",
                "text"
              ],
              "additionalProperties": false
            },
            "minItems": 3,
            "maxItems": 3
          }
        },
        "required": []
      },
      "output": {
        "responseType": "html"
      }
    }
  ],
  "staticFiles": {
    "locationRoot": "./"
  },
  "previews": {
    "default": {
      "functionData": {
        "main": {
          "inputData": {
            "type": "file",
            "path": "example.data.json"
          },
          "wrapper": {
            "path": "preview.html"
          }
        }
      }
    }
  }
}
content_copyCOPY