{
  "props": {
    "model-tasks": {
      "type": "Array",
      "tsType": "TaskObjectArray",
      "category": "model",
      "desc": "An array of Tasks that will be displayed",
      "default": "[]",
      "examples": [
        "[{ id: 1, name: 'Task 1' }, { id: 2, name: 'Task 2' }]"
      ]
    },
    "model-title": {
      "type": "Array",
      "tsType": "TitleObjectArray",
      "category": "model",
      "desc": "An array of title items, each will be displayed via a slot in the title area",
      "default": "[]",
      "examples": [
        "[{ id: 1, title: 'Title 1' }, { id: 2, title: 'Title 2' }]"
      ]
    },
    "model-footer": {
      "type": "Array",
      "tsType": "FooterObjectArray",
      "category": "model",
      "desc": "An array of footer items, each will be displayed via a slot in the footer (summary) area",
      "default": "[]",
      "examples": [
        "[{ id: 1, footer: 'Footer 1' }, { id: 2, footer: 'Footer 2' }]"
      ]
    },
    "task-key": {
      "type": [
        "Number",
        "String"
      ],
      "category": "content",
      "default": "'id'",
      "desc": "The key in an object to use as the ID (must be unique)",
      "examples": [
        "'id'"
      ]
    },
    "task-width": {
      "type": "Number",
      "category": "content",
      "desc": "The number of pixels needed for the tasks column",
      "default": "200",
      "examples": [
        "220"
      ]
    },
    "footer-day-class": {
      "type": "Function",
      "category": "style",
      "desc": "A function that returns a string of classes to apply to the footer day slot",
      "examples": [
        "(data) => { return 'my-class' }"
      ],
      "params": {
        "scope": {
          "desc": "The scope object",
          "type": "Object",
          "definition": {
            "timestamp": {
              "type": "Object",
              "tsType": "Timestamp",
              "desc": "A timestamp object of the day",
              "__exemption": [
                "examples"
              ]
            },
            "footer": {
              "desc": "the task item from model `footer-tasks`",
              "type": "Object",
              "tsType": "TaskObject",
              "__exemption": [
                "examples"
              ]
            },
            "index": {
              "type": "Number",
              "desc": "The index of the iteration",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      },
      "default": "# null",
      "__runtimeDefault": true,
      "returns": {
        "type": "String",
        "desc": "A string of classes to apply to the footer day slot"
      }
    },
    "view-count": {
      "type": "Number",
      "category": "content",
      "desc": "The number of views to show. For instance, if the property `view` was `week`, then setting this property to 2 would show 2 weeks.",
      "default": "1",
      "examples": [
        "2"
      ]
    }
  },
  "slots": {
    "day": {
      "desc": "For rendering associated Task information on that day",
      "scope": {
        "data": {
          "desc": "The bundled data",
          "type": "Object",
          "definition": {
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "Timestamp object",
                  "__exemption": [
                    "examples"
                  ]
                },
                "task": {
                  "desc": "the Task associated with this row",
                  "type": "Object",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "desc": "The task index",
                  "type": "Number",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "days": {
      "desc": "Provide a slot for absolute positioning on top of the days",
      "scope": {
        "data": {
          "desc": "The bundled data",
          "type": "Object",
          "definition": {
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "days": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "The array of Timestamp objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "task": {
                  "desc": "the Task associated with this row",
                  "type": "Object",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "desc": "The task index",
                  "type": "Number",
                  "__exemption": [
                    "examples"
                  ]
                },
                "width": {
                  "desc": "The width of a day cell",
                  "type": "Number",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "task": {
      "desc": "The slot associated with the task",
      "scope": {
        "data": {
          "desc": "The bundled data",
          "type": "Object",
          "definition": {
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "start": {
                  "type": "Object",
                  "desc": "A timestamp object of the starting date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "end": {
                  "type": "Object",
                  "desc": "A timestamp object of the ending date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "task": {
                  "desc": "the Task associated with this row",
                  "type": "Object",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "desc": "The task index",
                  "type": "Number",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "head-tasks": {
      "desc": "The slot associated with task header",
      "scope": {
        "data": {
          "desc": "The bundled data",
          "type": "Object",
          "definition": {
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "start": {
                  "type": "Object",
                  "desc": "A timestamp object of the starting date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "end": {
                  "type": "Object",
                  "desc": "A timestamp object of the ending date",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "footer-task": {
      "desc": "The slot associated with task footer",
      "scope": {
        "data": {
          "desc": "The bundled data",
          "type": "Object",
          "definition": {
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "start": {
                  "type": "Object",
                  "desc": "A timestamp object of the starting date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "end": {
                  "type": "Object",
                  "desc": "A timestamp object of the ending date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "footer": {
                  "desc": "the array item from model `footer-tasks`",
                  "type": "Array",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "desc": "the index into the array item from model `footer-tasks`",
                  "type": "Array",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "footer-day": {
      "desc": "The slot associated with task footer for a particular day",
      "scope": {
        "data": {
          "desc": "The bundled data",
          "type": "Object",
          "definition": {
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "desc": "A timestamp object of the day",
                  "__exemption": [
                    "examples"
                  ]
                },
                "footer": {
                  "desc": "the array item from model `footer-tasks`",
                  "type": "Array",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "desc": "the index into the array item from model `footer-tasks`",
                  "type": "Array",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "events": {
    "update:model-tasks": {
      "desc": "Emitted when the `model-tasks` prop changes"
    },
    "update:model-title": {
      "desc": "Emitted when the `model-title` prop changes"
    },
    "update:model-footer": {
      "desc": "Emitted when the `model-footer` prop changes"
    },
    "task-expanded": {
      "desc": "Emitted when a task is expanded or collapsed",
      "type": "Object",
      "params": {
        "data": {
          "desc": "The data object",
          "type": "Object",
          "definition": {
            "expanded": {
              "desc": "True if the task is expanded, false otherwise",
              "type": "Boolean",
              "__exemption": [
                "examples"
              ]
            },
            "scope": {
              "desc": "The scope object",
              "type": "Object",
              "definition": {
                "start": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "A timestamp object of the starting date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "end": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "A timestamp object of the ending date",
                  "__exemption": [
                    "examples"
                  ]
                },
                "task": {
                  "desc": "The expanded/collapsed task",
                  "type": "Object",
                  "__exemption": [
                    "examples"
                  ]
                },
                "taskIndex": {
                  "desc": "The index into the `model-tasks` array",
                  "type": "Number",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}