## Implementing HAXSchema

In order for your element to talk to the HAX editor, you need to implement static get haxProperties() on your element. This callback either returns a String based location of where the HAXSchema lives OR the JSON blob directly. The appstore documentation page also describes how you can integrate without defining this directly on your element.

- Example definition via file reference
- Example definition directly on the element
- Example definition via appstore specification

## Understanding HAXschema

HAXSchema is the name of our standard for expressing the way HAX can communicate with and implement your web component. This is broken into two major groupings of settings and some basic Boolean .

After these Booleans we get into the "Gizmo" section. A Gizmo is what internal to the code base we're calling a custom element as it is represented in HAX interfaces like the Make area. The reason for this is so that the word element isn't everywhere or else it would get too confusing. A Gizmo describes the way HAX should reference this item in interfaces.

### A detailed example below in the comments

## Settings for wiring up to HAX

Settings forms for HAX capable elements are grouped into three different areas. The quick settings segment of the schema provides quick edit, singular properties on the UI as icons. This is present when you select an item in HAX (see screenshot).

## Configure block

The configure section shows up when moving on to the settings manager

After hitting settings, you'll see the manager open up defaulted to the configure settings display.

## Advanced block

The advanced section shows up when in the configuration manager is open and the user selects Advanced