type: object
required:
  - name
  - primaryPalette
  - secondaryPalette
  - warnPalette
  - dark
additionalProperties: false
properties:
  id:
    type: string
    description: |
      The generated id for the app.
    readonly: true
  icon:
    type: string
    format: binary
    description: |
      The icon of the app.
  name:
    type: string
    maxLength: 30
    description: |
      The display name of the app.

      This is used as the app title in Google Play and the App Store.

      The maximum length is based on the that of the App Store, which is
      30 characters.

      https://developer.apple.com/app-store/product-page/

      > The length of your app name is limited to 30 characters and will appear
      > on the App Store for each device, including each version of iPhone,
      > iPad, and Apple TV.
  primaryPalette:
    description: |
      The material design primary palette.
    enum: &MATERIAL_DESIGN_PALETTES
      - red
      - pink
      - purple
      - deepPurple
      - indigo
      - blue
      - lightBlue
      - cyan
      - teal
      - green
      - lightGreen
      - lime
      - yellow
      - amber
      - orange
      - deepOrange
      - brown
      - grey
      - blueGrey
  secondaryPalette:
    description: |
      The material design secondary palette.
    enum: *MATERIAL_DESIGN_PALETTES
  warnPalette:
    description: |
      The material design warning palette.
    enum: *MATERIAL_DESIGN_PALETTES
  dark:
    description: |
      Whether or not the app has a dark background.
    type: boolean
