[
  {
    "name": "cards",
    "type": "list",
    "widgets": [
      {
        "name": "VerticalTabs",
        "label": "Default"
      }
    ],
    "label": "Cards",
    "importance": "high",
    "entity": "card",
    "min": 2,
    "max": 100,
    "field": {
      "type": "group",
      "name": "card",
      "label": "Card",
      "importance": "high",
      "fields": [
        {
          "name": "image",
          "type": "image",
          "label": "Image",
          "importance": "high",
          "ratio": 1
        },
        {
          "name": "imageAlt",
          "type": "text",
          "label": "Alternative text for Image",
          "importance": "high",
          "description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users."
        },
        {
          "name": "audio",
          "type": "audio",
          "importance": "high",
          "label": "Audio Track",
          "description": "An optional sound that plays when the card is turned.",
          "optional": true
        },
        {
          "name": "match",
          "type": "image",
          "label": "Matching Image",
          "importance": "low",
          "optional": true,
          "description": "An optional image to match against instead of using two cards with the same image.",
          "ratio": 1
        },
        {
          "name": "matchAlt",
          "type": "text",
          "label": "Alternative text for Matching Image",
          "importance": "low",
          "optional": true,
          "description": "Describe what can be seen in the photo. The text is read by text-to-speech tools needed by visually impaired users."
        },
        {
          "name": "matchAudio",
          "type": "audio",
          "importance": "low",
          "label": "Matching Audio Track",
          "description": "An optional sound that plays when the second card is turned.",
          "optional": true
        },
        {
          "name": "description",
          "type": "text",
          "label": "Description",
          "importance": "low",
          "maxLength": 150,
          "optional": true,
          "description": "An optional short text that will pop up once the two matching cards are found."
        }
      ]
    }
  },
  {
    "name": "behaviour",
    "type": "group",
    "label": "Behavioural settings",
    "importance": "low",
    "description": "These options will let you control how the game behaves.",
    "optional": true,
    "fields": [
      {
        "name": "useGrid",
        "type": "boolean",
        "label": "Position the cards in a square",
        "description": "Will try to match the number of columns and rows when laying out the cards. Afterward, the cards will be scaled to fit the container.",
        "importance": "low",
        "default": true
      },
      {
        "name": "numCardsToUse",
        "type": "number",
        "label": "Number of cards to use",
        "description": "Setting this to a number greater than 2 will make the game pick random cards from the list of cards.",
        "importance": "low",
        "optional": true,
        "min": 2
      },
      {
        "name": "allowRetry",
        "type": "boolean",
        "label": "Add button for retrying when the game is over",
        "importance": "low",
        "default": true
      }
    ]
  },
  {
    "name": "lookNFeel",
    "type": "group",
    "label": "Look and feel",
    "importance": "low",
    "description": "Control the visuals of the game.",
    "optional": true,
    "fields": [
      {
        "name": "themeColor",
        "type": "text",
        "label": "Theme Color",
        "importance": "low",
        "description": "Choose a color to create a theme for your card game.",
        "optional": true,
        "default": "#909090",
        "widget": "colorSelector",
        "spectrum": {
          "showInput": true
        }
      },
      {
        "name": "cardBack",
        "type": "image",
        "label": "Card Back",
        "importance": "low",
        "optional": true,
        "description": "Use a custom back for your cards.",
        "ratio": 1
      }
    ]
  },
  {
    "label": "Localization",
    "importance": "low",
    "name": "l10n",
    "type": "group",
    "common": true,
    "fields": [
      {
        "label": "Card turns text",
        "importance": "low",
        "name": "cardTurns",
        "type": "text",
        "default": "Card turns"
      },
      {
        "label": "Time spent text",
        "importance": "low",
        "name": "timeSpent",
        "type": "text",
        "default": "Time spent"
      },
      {
        "label": "Feedback text",
        "importance": "low",
        "name": "feedback",
        "type": "text",
        "default": "Good work!"
      },
      {
        "label": "Try again button text",
        "importance": "low",
        "name": "tryAgain",
        "type": "text",
        "default": "Reset"
      },
      {
        "label": "Close button label",
        "importance": "low",
        "name": "closeLabel",
        "type": "text",
        "default": "Close"
      },
      {
        "label": "Game label",
        "importance": "low",
        "name": "label",
        "type": "text",
        "default": "Memory Game. Find the matching cards."
      },
      {
        "label": "Game finished label",
        "importance": "low",
        "name": "done",
        "type": "text",
        "default": "All of the cards have been found."
      },
      {
        "label": "Card indexing label",
        "importance": "low",
        "name": "cardPrefix",
        "type": "text",
        "default": "Card %num:"
      },
      {
        "label": "Card unturned label",
        "importance": "low",
        "name": "cardUnturned",
        "type": "text",
        "default": "Unturned."
      },
      {
        "label": "Card matched label",
        "importance": "low",
        "name": "cardMatched",
        "type": "text",
        "default": "Match found."
      }
    ]
  }
]