{
  "name": "Google Sheet Table",
  "version": "0.1.0",
  "status": "beta",
  "description": "Shows a public Google Sheet as an eInk-friendly table, with optional filtered summary mode.",
  "icon": "./assets/icon.png",
  "renderPage": "./render.html",
  "nativeSettings": {
    "color": "light",
    "title": "",
    "sheetId": "",
    "gid": "",
    "namesText": "",
    "displayNamesText": "",
    "columnsText": "",
    "dateColumn": "A",
    "maxEntries": 20,
    "showPastDates": false,
    "includeSectionHeaders": true,
    "maxSectionHeaders": 2,
    "tableHeaderStyle": "contrast",
    "contrastHeader": true,
    "preserveTextStyles": true,
    "preserveTextColors": true,
    "preserveBackgroundColors": true,
    "preserveAlignment": true,
    "showUpdatedAt": true
  },
  "configVariants": [
    {
      "color": "light",
      "title": "",
      "sheetId": "",
      "gid": "",
      "namesText": "",
      "displayNamesText": "",
      "columnsText": "",
      "dateColumn": "A",
      "maxEntries": 20,
      "showPastDates": false,
      "includeSectionHeaders": true,
      "maxSectionHeaders": 2,
      "tableHeaderStyle": "contrast",
      "contrastHeader": true,
      "preserveTextStyles": true,
      "preserveTextColors": true,
      "preserveBackgroundColors": true,
      "preserveAlignment": true,
      "showUpdatedAt": true
    }
  ],
  "formSchema": {
    "type": "object",
    "properties": {
      "title": {
        "type": "string",
        "title": "Title",
        "description": "Optional. Leave empty to use the Google Sheet title.",
        "default": ""
      },
      "sheetId": {
        "type": "string",
        "title": "Google Sheet ID or URL",
        "description": "Use a public Google Sheet ID, or paste the full Google Sheets URL.",
        "default": ""
      },
      "gid": {
        "type": "string",
        "title": "Sheet gid",
        "description": "Optional worksheet gid. Leave empty for the first sheet.",
        "default": ""
      },
      "namesText": {
        "type": "string",
        "title": "Names to find",
        "description": "Optional filter mode. One exact value per line. Leave empty with no column mapping to show the sheet as-is.",
        "format": "textarea",
        "rows": 5,
        "default": ""
      },
      "displayNamesText": {
        "type": "string",
        "title": "Display names",
        "description": "Optional aliases, one per line: Full Name=Display Name.",
        "format": "textarea",
        "rows": 4,
        "default": ""
      },
      "columnsText": {
        "type": "string",
        "title": "Column mapping",
        "description": "Optional filter mode. One mapping per line, such as B=Group 1. Leave empty with no names to show the sheet as-is.",
        "format": "textarea",
        "rows": 5,
        "default": ""
      },
      "dateColumn": {
        "type": "string",
        "title": "Date / label column",
        "description": "Spreadsheet column containing dates, row labels, or section labels.",
        "default": "A"
      },
      "maxEntries": {
        "type": "number",
        "title": "Maximum rows",
        "description": "Limits table rows in default mode, or matching entries in filter mode.",
        "default": 20
      },
      "showPastDates": {
        "type": "boolean",
        "title": "Show past dates",
        "default": false
      },
      "includeSectionHeaders": {
        "type": "boolean",
        "title": "Use labels from date column",
        "description": "Allow non-date values in the date/label column to appear in the Date column.",
        "default": true
      },
      "maxSectionHeaders": {
        "type": "number",
        "title": "Maximum floating section labels",
        "default": 2,
        "inSettingsPage": true,
        "inStettingsPage": true
      },
      "contrastHeader": {
        "type": "boolean",
        "title": "Contrast table header",
        "description": "Use background-colored text on a foreground-colored table header. Turn off to reverse it.",
        "default": true,
        "inSettingsPage": true,
        "inStettingsPage": true
      },
      "tableHeaderStyle": {
        "type": "string",
        "title": "Table header style",
        "description": "Choose theme contrast, theme plain, or the formatting from the Google Sheet header row.",
        "enum": [
          "contrast",
          "plain",
          "sheet"
        ],
        "default": "contrast"
      },
      "preserveTextStyles": {
        "type": "boolean",
        "title": "Preserve text styles",
        "description": "Apply exported bold, italic, underline, and strikethrough formatting.",
        "default": true
      },
      "preserveTextColors": {
        "type": "boolean",
        "title": "Preserve text colors",
        "default": true
      },
      "preserveBackgroundColors": {
        "type": "boolean",
        "title": "Preserve background colors",
        "default": true
      },
      "preserveAlignment": {
        "type": "boolean",
        "title": "Preserve alignment",
        "default": true
      },
      "showUpdatedAt": {
        "type": "boolean",
        "title": "Show update time",
        "default": true
      }
    }
  },
  "language": [
    "en",
    "de"
  ]
}
