# Table of contents

* [Introduction](https://learn.squirrel365.io/squirrel-addon-documentation/readme)
  * [Joining the Developer Program](https://learn.squirrel365.io/squirrel-addon-documentation/introduction/joining-the-developer-program)
* [Building an addon](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon)
  * [Communication](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/communication)
  * [Property Panel](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel)
    * [Property Panel Elements](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements)
      * [Accordion](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/accordion)
      * [Sub Accordion](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/sub-accordion)
      * [Input Box](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/input-box)
      * [Color Input](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/color-input)
      * [Text Label](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/text-label)
      * [Horizontal Line](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/horizontal-line)
      * [Checkbox](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/checkbox)
      * [Dropdown](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/dropdown)
      * [Radio Button](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/radio-button)
      * [Font](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/font)
      * [Series](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/series)
      * [Conditional Logic](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/property-panel/property-panel-elements/conditional-logic)
  * [Publishing an addon](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/publishing-an-addon)
    * [Add-on submission](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/publishing-an-addon/add-on-submission)
      * [Icon guidelines](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/publishing-an-addon/add-on-submission/icon-guidelines)
      * [Image guidelines](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/publishing-an-addon/add-on-submission/image-guidelines)
    * [Restricting private addons](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/publishing-an-addon/restricting-private-addons)
    * [The review process](https://learn.squirrel365.io/squirrel-addon-documentation/building-an-addon/publishing-an-addon/the-review-process)

## Squirrel Helper Library

* [Dot notation](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/dot-notation)
* [Angular](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular)
  * [Getting Started](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/getting-started)
    * [Building your first addon](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/getting-started/building-your-first-addon)
    * [The JSON files](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/getting-started/the-json-files)
    * [Sending and Receiving Data](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/getting-started/sending-and-receiving-data)
    * [Debugging](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/getting-started/debugging)
  * [Events](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events)
    * [onInitState](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/oninitstate)
    * [onSetSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/onsetsize)
    * [onSetPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/onsetposition)
    * [onSetRuntimeMode](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/onsetruntimemode)
    * [onSetCanvas](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/onsetcanvas)
    * [onPropertyChange](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/onpropertychange)
    * [onPropertyChangesComplete](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/events/onpropertychangescomplete)
  * [Methods](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods)
    * [initWithSquirrel](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/initwithsquirrel)
    * [sendToSquirrel](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/sendtosquirrel)
    * [getBindingDimension](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getbindingdimension)
    * [getSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getsize)
    * [setSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/setsize)
    * [getPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getposition)
    * [setPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/setposition)
    * [getRuntimeMode](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getruntimemode)
    * [getCanvas](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getcanvas)
    * [getCopyOfState](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getcopyofstate)
    * [getGenericProperty](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/getgenericproperty)
    * [shadeColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/shadecolor)
    * [tintColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/tintcolor)
    * [parseColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/methods/parsecolor)
  * [Classes](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/classes)
    * [SquirrelMessage](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/classes/squirrelmessage)
    * [SquirrelSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/classes/squirrelsize)
    * [SquirrelPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/classes/squirrelposition)
    * [SquirrelColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/classes/squirrelcolor)
    * [SquirrelCanvas](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/angular/classes/squirrelcanvas)
* [React](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/react)
  * [Coming Soon](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/react/coming-soon)
* [JavaScript](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript)
  * [Getting Started](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/getting-started)
    * [Building your first add-on](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/getting-started/building-your-first-add-on)
    * [The JSON files](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/getting-started/the-json-files)
    * [Sending and Receiving Data](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/getting-started/sending-and-receiving-data)
    * [Debugging](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/getting-started/debugging)
  * [Events](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events)
    * [onInitState](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/oninitstate)
    * [onSetSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/onsetsize)
    * [onSetPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/onsetposition)
    * [onSetRuntimeMode](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/onsetruntimemode)
    * [onSetCanvas](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/onsetcanvas)
    * [onPropertyChange](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/onpropertychange)
    * [onPropertyChangesComplete](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/events/onpropertychangescomplete)
  * [Methods](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods)
    * [initWithSquirrel](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/initwithsquirrel)
    * [sendToSquirrel](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/sendtosquirrel)
    * [getBindingDimension](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getbindingdimension)
    * [getSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getsize)
    * [setSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/setsize)
    * [getPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getposition)
    * [setPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/setposition)
    * [getRuntimeMode](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getruntimemode)
    * [getCanvas](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getcanvas)
    * [getCopyOfState](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getcopyofstate)
    * [getGenericProperty](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/getgenericproperty)
    * [shadeColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/shadecolor)
    * [tintColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/tintcolor)
    * [parseColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/methods/parsecolor)
  * [Classes](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/classes)
    * [SquirrelMessage](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/classes/squirrelmessage)
    * [SquirrelSize](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/classes/squirrelsize)
    * [SquirrelPosition](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/classes/squirrelposition)
    * [SquirrelColor](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/classes/squirrelcolor)
    * [SquirrelCanvas](https://learn.squirrel365.io/squirrel-addon-documentation/squirrel-helper-library/javascript/classes/squirrelcanvas)

## Past Events

* [Building your first add-on](https://learn.squirrel365.io/squirrel-addon-documentation/past-events/building-your-first-add-on)
