{
  "props": {
    "model-resources": {
      "type": "Array",
      "tsType": "ResourceObjectArray",
      "category": "model",
      "required": true,
      "desc": "An array of objects with a single key of label. You can add other keys if you like, which will be passed back on the appropriate scoped slots",
      "applicable": [
        "scheduler"
      ],
      "examples": [
        "[{ label: 'John' },{ label: 'Susan' }]"
      ]
    },
    "resource-key": {
      "type": "String",
      "category": "model",
      "desc": "The key from the `resources` object that will be displayed",
      "default": "'id'",
      "applicable": [
        "scheduler",
        "resource"
      ],
      "examples": [
        "'id'"
      ]
    },
    "resource-label": {
      "type": "String",
      "category": "model",
      "desc": "The label from the `resources` object that will be displayed",
      "default": "'label'",
      "applicable": [
        "scheduler",
        "resource"
      ],
      "examples": [
        "'label'",
        "'name'"
      ]
    },
    "resource-height": {
      "type": [
        "Number",
        "String"
      ],
      "category": "behavior",
      "desc": "The maximum height in pixels for the resource height",
      "default": "70",
      "applicable": [
        "scheduler",
        "resource",
        "day-resource"
      ],
      "examples": [
        "80",
        "'100'"
      ]
    },
    "resource-min-height": {
      "type": [
        "Number",
        "String"
      ],
      "default": "0",
      "desc": "The minimum height of a resource",
      "category": "behavior"
    },
    "resource-class": {
      "type": "Function",
      "desc": "A function that returns a class name for a resource",
      "category": "style",
      "default": "# null",
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope object",
              "definition": {
                "resource": {
                  "type": "Object",
                  "desc": "The resource object"
                },
                "resourceIndex": {
                  "type": "Number",
                  "desc": "The index of the resource in the model-resources array"
                },
                "timestamps": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "The array of timestamps for the intervals"
                },
                "indentLevel": {
                  "type": "Number",
                  "desc": "The indent level of the resource"
                },
                "label": {
                  "type": "String",
                  "desc": "The label of the resource"
                }
              }
            }
          }
        }
      },
      "returns": {
        "type": "String",
        "desc": "The class name to apply to the resource"
      }
    },
    "resource-style": {
      "type": "Function",
      "category": "style",
      "desc": "Gets called to provide custom styling of a resource",
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "timestamp": {
              "type": "Timestamp",
              "tsType": "Timestamp",
              "desc": "A timestamp object associated with the interval",
              "__exemption": [
                "examples"
              ]
            },
            "index": {
              "type": "Number",
              "desc": "The resource index",
              "__exemption": [
                "examples"
              ]
            },
            "resource": {
              "type": "Object",
              "tsType": "ResourceObject",
              "desc": "The resource object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      },
      "returns": {
        "type": [
          "Array",
          "Object",
          "String"
        ],
        "desc": "A Vue style object",
        "examples": [
          "{ color: '#ccc' }"
        ]
      },
      "default": "(data) => { return {} }",
      "applicable": [
        "scheduler",
        "resource",
        "day-resource"
      ],
      "examples": [
        "(data) => { return { 'background-color': '#c0c0c0' } }",
        "(data) => resourceStyle(data)"
      ]
    }
  },
  "events": {
    "update:model-resources": {
      "type": "Array",
      "desc": "Emitted when the model-resources prop is updated"
    },
    "resource-expanded": {
      "type": "Object",
      "desc": "Emitted when a resource is expanded or collapsed",
      "params": {
        "scope": {
          "type": "Object",
          "desc": "The scope object",
          "definition": {
            "resource": {
              "type": "Object",
              "desc": "The resource object"
            },
            "timestamps": {
              "type": "Array",
              "tsType": "TimestampArray",
              "desc": "The array of timestamps for the intervals"
            },
            "resourceIndex": {
              "type": "Number",
              "desc": "The index of the resource in the model-resources array"
            },
            "indentLevel": {
              "type": "Number",
              "desc": "The indent level of the resource"
            },
            "label": {
              "type": "String",
              "desc": "The label of the resource"
            }
          }
        },
        "expanded": {
          "type": "Boolean",
          "desc": "True if the resource is expanded, false otherwise"
        }
      }
    },
    "click-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "contextmenu-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mousedown-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mouseup-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mouseenter-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mouseleave-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mousemove-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "touchstart-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "touchend-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "touchmove-resource": {
      "desc": "Occurs on resource area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "resource": {
                  "type": "Object",
                  "tsType": "ResourceObject",
                  "desc": "The resource object associated with the event. Only applicable for resource views",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamps of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                },
                "index": {
                  "type": "Number",
                  "desc": "The index of the resource",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "click-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "contextmenu-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mousedown-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "tsType": "Timestamp",
                  "type": "Object",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mouseup-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mouseenter-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mouseleave-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "mousemove-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "touchstart-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "touchend-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    },
    "touchmove-resource-header": {
      "desc": "Occurs on resource header area",
      "applicable": [
        "scheduler",
        "week-scheduler",
        "resource",
        "day-resource",
        "month-scheduler",
        "custom-scheduler"
      ],
      "params": {
        "data": {
          "type": "Object",
          "desc": "The data passed to the function",
          "__exemption": [
            "examples"
          ],
          "definition": {
            "scope": {
              "type": "Object",
              "desc": "The scope of the event",
              "__exemption": [
                "examples"
              ],
              "definition": {
                "timestamp": {
                  "type": "Object",
                  "tsType": "Timestamp",
                  "desc": "The timestamp object. Not in all views.",
                  "__exemption": [
                    "examples"
                  ]
                },
                "resources": {
                  "type": "Array",
                  "tsType": "ResourceObjectArray",
                  "desc": "An array of resource objects",
                  "__exemption": [
                    "examples"
                  ]
                },
                "intervals": {
                  "type": "Array",
                  "tsType": "TimestampArray",
                  "desc": "An array of timestamp objects of the intervals",
                  "__exemption": [
                    "examples"
                  ]
                }
              }
            },
            "event": {
              "type": "Object",
              "desc": "JS event object",
              "__exemption": [
                "examples"
              ]
            }
          }
        }
      }
    }
  },
  "slots": {
    "resource-header": {
      "desc": "Use this slot to add to the empty area above resources",
      "scope": {
        "date": {
          "type": "String",
          "desc": "The current date (YYYY-MM-DD)",
          "examples": [
            "'2020-05-30'"
          ]
        },
        "intervals": {
          "type": "Array",
          "tsType": "TimestampArray",
          "desc": "An array of timestamps for the intervals that will be displayed",
          "__exemption": [
            "examples"
          ]
        }
      },
      "applicable": [
        "resource",
        "day-resource"
      ]
    },
    "resource-row": {
      "desc": "This slot is the complete row, including resource and intervals",
      "scope": {
        "resource": {
          "type": "Object",
          "tsType": "ResourceObject",
          "desc": "A resource object that was passed in within the array of resources",
          "__exemption": [
            "examples"
          ]
        },
        "index": {
          "type": "Number",
          "desc": "The resource index from the array",
          "__exemption": [
            "examples"
          ]
        }
      },
      "applicable": [
        "resource",
        "day-resource"
      ]
    },
    "resource-label": {
      "desc": "Use this slot to replace the resource label",
      "scope": {
        "resource": {
          "type": "Object",
          "tsType": "ResourceObject",
          "desc": "A resource object that was passed in within the array of resources",
          "__exemption": [
            "examples"
          ]
        },
        "index": {
          "type": "Number",
          "desc": "The resource index from the array",
          "__exemption": [
            "examples"
          ]
        }
      },
      "applicable": [
        "resource",
        "day-resource"
      ]
    },
    "resource-intervals": {
      "desc": "Use this slot to place abosolute positioned events",
      "scope": {
        "resource": {
          "type": "Object",
          "tsType": "ResourceObject",
          "desc": "A resource object that was passed in within the array of resources",
          "__exemption": [
            "examples"
          ]
        },
        "intervals": {
          "type": "Array",
          "tsType": "TimestampArray",
          "desc": "An array of timestamps for the intervals that will be displayed",
          "__exemption": [
            "examples"
          ]
        },
        "timeStartPosX": {
          "type": "Function",
          "desc": "Calculates the starting x position of the passed in time",
          "params": {
            "time": {
              "type": "String",
              "desc": "The time for which a position is needed in 24-hour format (HH:mm)",
              "examples": [
                "'09:00'"
              ]
            }
          },
          "returns": {
            "type": "Number",
            "desc": "The absolute x starting position",
            "examples": [
              "120",
              "482"
            ]
          }
        },
        "timeDurationWidth": {
          "type": "Function",
          "desc": "Given a duration (in minutes), will return the css width value",
          "params": {
            "duration": {
              "type": [
                "Number",
                "String"
              ],
              "desc": "The number of minutes for the event to calculate it's width",
              "examples": [
                "'300'",
                "900"
              ]
            }
          },
          "returns": {
            "type": "Number",
            "desc": "The width (in pixels) to be used for the event",
            "examples": [
              "80",
              "120"
            ]
          }
        }
      },
      "applicable": [
        "resource",
        "day-resource"
      ]
    },
    "resource-interval": {
      "desc": "Use this slot add to an interval for the specified resource",
      "scope": {
        "resource": {
          "type": "Object",
          "tsType": "ResourceObject",
          "desc": "A resource object that was passed in within the array of resources",
          "__exemption": [
            "examples"
          ]
        },
        "interval": {
          "type": "Timestamp",
          "tsType": "Timestamp",
          "desc": "The interval object",
          "__exemption": [
            "examples"
          ]
        }
      },
      "applicable": [
        "resource",
        "day-resource"
      ]
    }
  }
}
