{"data":{"allFile":{"nodes":[{"relativePath":"charts-overview/gallery.json","internal":{"content":"{\n    \"Bar/Column\": {\n        \"Simple Bar\": {\n            \"description\": \"Bar charts represent data using horizontal bars, with the length of each bar proportional to the value being plotted. They are useful for categorical data, and are simple to interpret. They work best where the number of data points is limited.\"\n        },\n        \"Grouped Bar\": {\n            \"description\": \"Grouped bar charts (also known as clustered bar charts) show multiple series with the <a href='../simple-bar/'>bars</a> grouped by category, to allow for easier comparisons across different series.\"\n        },\n        \"Stacked Bar\": {\n            \"description\": \"Stacked bar charts allow part-to-whole comparisons, with series stacked from left to right in the horizontal <a href='../simple-bar/'>bars</a>. They make it easy to compare combined bar lengths.\"\n        },\n        \"100% Stacked Bar\": {\n            \"description\": \"100% stacked bar charts show the relative percentage of multiple series in <a href='../stacked-bar/'>stacked bars</a>, where each stacked bar always totals to 100%.\"\n        },\n        \"Bar With Labels\": {\n            \"description\": \"Using labels in a <a href='../simple-bar/'>bar chart</a> can be useful to highlight the values of each bar.\"\n        },\n        \"Simple Column\": {\n            \"description\": \"Column charts (also known as vertical <a href='../simple-bar/'>bar charts</a>) represent data using vertical columns, with the height of each column proportional to the value being plotted. They can be used to plot both nominal and ordinal data, and are simple to interpret. They work best where the number of data points is limited.\"\n        },\n        \"Grouped Column\": {\n            \"description\": \"Grouped column charts (also known as clustered column charts) present multiple series with the <a href='../simple-column/'>columns</a> grouped by category, to allow for easier comparisons across different series.\"\n        },\n        \"Stacked Column\": {\n            \"description\": \"Stacked column charts allow part-to-whole comparisons, with series stacked on top of each other in the vertical <a href='../simple-column/'>columns</a>.\"\n        },\n        \"100% Stacked Column\": {\n            \"description\": \"100% stacked column charts show the relative percentage of multiple series in <a href='../stacked-column/'>stacked columns</a>, where each stacked column always totals to 100%.\"\n        },\n        \"Column With Negative Values\": {\n            \"description\": \"Column and bar charts can also be used to represent negative values alongside positive ones.\"\n        }\n    },\n    \"Pie/Doughnut\": {\n        \"Simple Pie\": {\n            \"description\": \"Pie charts are used to express a part-to-whole relationship, where all the slices combine to represent 100%. They work best for a small number of categories.\"\n        },\n        \"Simple Doughnut\": {\n            \"description\": \"Doughnut charts are similar to <a href='../simple-pie/'>pie charts</a>, being used to express a part-to-whole relationship, but allow for multiple series to be shown on the same chart for comparison.\"\n        }\n    },\n    \"Line\": {\n        \"Simple Line\": {\n            \"description\": \"Line charts represent each series as a separate line. They are useful to show change or trends over time, and are able to better present more data points than <a href='../simple-bar/'>bar</a> or <a href='../simple-column/'>column</a> charts.\"\n        },\n        \"Line With Gaps\": {\n            \"description\": \"When data is missing in some line series compared to others, these gaps in the data are reflected in the lines.\"\n        }\n    },\n    \"Scatter/Bubble\": {\n        \"Simple Scatter\": {\n            \"description\": \"Scatter charts (also known as scatter plots or XY charts) show the relationship between two variables, placing one variable on each axis, and can be useful for demonstrating any correlation between the variables.\"\n        },\n        \"Simple Bubble\": {\n            \"description\": \"Bubble charts are a specialised type of <a href='../simple-scatter/'>scatter charts</a> that can represent a third variable through the size of each marker (or bubble).\"\n        },\n        \"Bubble With Negative Values\": {\n            \"description\": \"The axes of scatter and bubble charts can be extended to plot positive and negative values.\"\n        },\n        \"Bubble With Categories\": {\n            \"description\": \"The axes of scatter and bubble charts can show categories in addition to values.\"\n        }\n    },\n    \"Area\": {\n        \"Simple Area\": {\n            \"description\": \"Area charts plot series using a line with the area below the line filled. They are useful to show changes over time, and are easy to interpret.\"\n        },\n        \"Stacked Area\": {\n            \"description\": \"Stacked area charts plot multiple <a href='../simple-area/'>area</a> series stacked on top of each other, showing how part-to-whole relationships change over time.\"\n        },\n        \"100% Stacked Area\": {\n            \"description\": \"100% stacked area charts show the relative percentage of multiple series in <a href='../stacked-area/'>stacked areas</a>, where the cumulative area always totals to 100%.\"\n        },\n        \"Area With Negative Values\": {\n            \"description\": \"<a href='../simple-area/'>Area charts</a> can also be used with negative values, with the area between the line and the axis being filled.\"\n        }\n    },\n    \"Histogram\": {\n        \"Simple Histogram\": {\n            \"description\": \"Histograms show your data grouped into bins, revealing underlying trends. A standard histogram plots the population size of each bin against the y-axis. Here we show the distribution of car engine sizes, using the <code>engine-size</code> field from the available data.\"\n        },\n        \"Histogram With Specified Bins\": {\n            \"description\": \"Rather than using the automatically generated fixed-width bins, it is possible to explicitly specify bins. In this case the bins can be different widths. In the example below the data is split into light, medium, and heavy vehicles, and we also demonstrate custom tooltips to give names to these categories.\"\n        },\n        \"XY Histogram With Mean Aggregation\": {\n            \"description\": \"Here we bin the data by car engine size, but plot the average highway MPG in the y-axis, revealing the relationship between these two fields. We also plot the same data as a scatter series to illustrate the aggregation.\"\n        }\n    },\n    \"Treemap\": {\n        \"Market Index Treemap\": {\n            \"description\": \"A treemap of a snapshot of the S&P 500 stock market index.\"\n        }\n    },\n    \"Feature Highlights\": {\n        \"Time Axis With Irregular Intervals\": {\n            \"description\": \"A time axis represents a continuous length of time, and so can be easily used to visualise data with irregular time intervals.\"\n        },\n        \"Real-Time Data Updates\": {\n            \"description\": \"Charts will re-render immediately when new data is provided. This example demonstrates the performance of a chart with new data introduced every 50 milliseconds.\"\n        },\n        \"Combination of Different Series Types\": {\n            \"description\": \"Different types of data series can be combined together in the same chart. This example shows how a <a href='../simple-line/'>line series</a> might be combined with a <a href='../grouped-column/'>grouped column series</a>.\"\n        },\n        \"Chart Customisation\": {\n            \"description\": \"As well as the series themselves, many other aspects of the charts can be customised and formatted to your liking, including the background, padding, titles, axes, and legend.\"\n        },\n        \"Custom Marker Shapes\": {\n            \"description\": \"The library provides a variety of different marker shapes that can be used. In addition, you can provide your own shapes by extending the <code>Marker</code> class, as shown with the heart-shaped marker below.\"\n        },\n        \"Custom Tooltips\": {\n            \"description\": \"The tooltips used in the charts can be fully customised, using your own HTML and CSS to achieve the look you want.\"\n        },\n        \"Per-Marker Customisation\": {\n            \"description\": \"As well as customising all markers for a particular series, you can also customise each marker in the series individually, based on the datum that the marker represents. For example, the colour of the markers below is set based on the magnitude.\"\n        }\n    }\n}"}},{"relativePath":"column-api/api.json","internal":{"content":"{\n    \"api\": {\n        \"meta\": {\n            \"displayName\": \"Column Keys\",\n            \"description\": \"Some of the API methods take Column Key (named `colKey`) which has type `Column | string`. This means you can pass either a `Column` object (that you receive from calling one of the other methods) or you pass in the Column ID (which is a `string`). The Column ID is a property of the column definition. If you do not provide the Column ID, the grid will create one for you (first by trying to use the field if it is unique, otherwise it will generate an ID).\"\n        },\n        \"sizeColumnsToFit(width)\": {\n            \"description\": \"Gets the grid to size the columns to the specified width in pixels, e.g. `sizeColumnsToFix(900)`. To have the grid fit the columns to the grid's width, use the Grid API `gridApi.sizeColumnsToFit()` instead.\"\n        },\n        \"setColumnGroupOpened(group, newValue)\": {\n            \"description\": \"Call this if you want to open or close a column group.\"\n        },\n        \"getColumnGroup(name)\": {\n            \"description\": \"Returns the column group with the given name.\"\n        },\n        \"getDisplayNameForColumn(column)\": {\n            \"description\": \"Returns the display name for a column. Useful if you are doing your own header rendering and want the grid to work out if `headerValueGetter` is used, or if you are doing your own column management GUI, to know what to show as the column name.\"\n        },\n        \"getDisplayNameForColumnGroup(columnGroup)\": {\n            \"description\": \"Returns the display name for a column group (when grouping columns).\"\n        },\n        \"getColumn(colKey)\": {\n            \"description\": \"Returns the column with the given `colKey`, which can either be the `colId` (a string) or the `colDef` (an object).\"\n        },\n        \"getColumnState()\": {\n            \"description\": \"Gets the state of the columns. Typically used when saving column state.\"\n        },\n        \"applyColumnState(params)\": {\n            \"description\": \"Applies the state of the columns from a previous state. Returns `false` if one or more columns could not be found.\"\n        },\n        \"resetColumnState()\": {\n            \"description\": \"Sets the state back to match the originally provided column definitions.\"\n        },\n        \"getColumnGroupState()\": {\n            \"description\": \"Gets the state of the column groups. Typically used when saving column group state.\"\n        },\n        \"setColumnGroupState(columnState)\": {\n            \"description\": \"Sets the state of the column group state from a previous state.\"\n        },\n        \"resetColumnGroupState()\": {\n            \"description\": \"Sets the state back to match the originally provided column definitions.\"\n        },\n        \"isPinning()\": {\n            \"description\": \"Returns `true` if pinning left or right, otherwise `false`.\"\n        },\n        \"isPinningLeft()\": {\n            \"description\": \"Returns `true` if pinning left, otherwise `false`.\"\n        },\n        \"isPinningRight()\": {\n            \"description\": \"Returns `true` if pinning right, otherwise `false`.\"\n        },\n        \"getDisplayedColAfter(col)\": {\n            \"description\": \"Returns the column to the right of the provided column, taking into consideration open / closed column groups and visible columns. This is useful if you need to know what column is beside yours e.g. if implementing your own cell navigation.\"\n        },\n        \"getDisplayedColBefore(col)\": {\n            \"description\": \"Same as `getVisibleColAfter` except gives column to the left.\"\n        },\n        \"setColumnVisible(colKey, visible)\": {\n            \"description\": \"Sets the visibility of a column. Key can be the column ID or `Column` object.\"\n        },\n        \"setColumnsVisible(colKeys, visible)\": {\n            \"description\": \"Same as `setColumnVisible`, but provide a list of column keys.\"\n        },\n        \"setColumnPinned(colKey, pinned)\": {\n            \"description\": \"Sets the column pinned / unpinned. Key can be the column ID, field, `ColDef` object or `Column` object.\"\n        },\n        \"setColumnsPinned(colKeys, pinned)\": {\n            \"description\": \"Same as `setColumnPinned`, but provide a list of column keys.\"\n        },\n        \"autoSizeColumn(colKey, skipHeader)\": {\n            \"description\": \"Auto-sizes a column based on its contents.\"\n        },\n        \"autoSizeColumns(colKeys, skipHeader)\": {\n            \"description\": \"Same as `autoSizeColumn`, but provide a list of column keys.\"\n        },\n        \"autoSizeAllColumns(skipHeader)\": {\n            \"description\": \"Calls `autoSizeColumns` on all displayed columns.\"\n        },\n        \"getAllColumns()\": {\n            \"description\": \"Returns all the columns, regardless of visible or not.\"\n        },\n        \"getAllGridColumns()\": {\n            \"description\": \"Returns all the grid columns, same as `getAllColumns()`, except a) it has the order of the columns that are presented in the grid and b) it's after the 'pivot' step, so if pivoting, has the value columns for the pivot.\"\n        },\n        \"getPrimaryColumns()\": {\n            \"description\": \"Returns the grid's primary columns.\"\n        },\n        \"getSecondaryColumns()\": {\n            \"description\": \"Returns the grid's secondary columns.\"\n        },\n        \"getAllDisplayedVirtualColumns()\": {\n            \"description\": \"Same as `getAllGridColumns()`, except only returns rendered columns, i.e. columns that are not within the viewport and therefore not rendered, due to column virtualisation, are not displayed.\"\n        },\n        \"getDisplayedCenterColumns()<br />getDisplayedLeftColumns()<br />getDisplayedRightColumns()<br />getAllDisplayedColumns()\": {\n            \"description\": \"Returns all columns currently displayed (e.g. are visible and if in a group, the group is showing the columns) for the pinned left, centre and pinned right portions of the grid.\"\n        },\n        \"getLeftDisplayedColumnGroups()<br />getCenterDisplayedColumnGroups()<br />getRightDisplayedColumnGroups()<br />getAllDisplayedColumnGroups()\": {\n            \"description\": \"Returns all 'root' column headers. If you are not grouping columns, these return the columns. If you are grouping, these return the top level groups - you can navigate down through each one to get the other lower level headers and finally the columns at the bottom.\"\n        },\n        \"moveColumn(colKey, toIndex)\": {\n            \"description\": \"Moves a column to `toIndex`. The column is first removed, then added at the `toIndex` location, thus index locations will change to the right of the column after the removal.\"\n        },\n        \"moveColumns(colKeys[], toIndex)\": {\n            \"description\": \"Same as `moveColumn` but works on list.\"\n        },\n        \"moveColumnByIndex(fromIndex, toIndex)\": {\n            \"description\": \"Same as `moveColumn` but works on index locations.\"\n        },\n        \"setColumnAggFunc(column, aggFunc)\": {\n            \"description\": \"Sets the agg function for a column. `aggFunc` can be one of <code>'min' | 'max' | 'sum'</>.\"\n        },\n        \"setColumnWidth(colKey, newWidth, finished = true)\": {\n            \"description\": \"Sets the column width on a single column. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`.\"\n        },\n        \"setColumnWidths(columnWidths: {colKey, newWidth}[], finished = true)\": {\n            \"description\": \"Sets the column widths on multiple columns. This method offers better performance than calling `setColumnWidth` multiple times. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`.\"\n        },\n        \"getRowGroupColumns()<br />addRowGroupColumn(colKey)<br />addRowGroupColumns(colKeys)<br />removeRowGroupColumn(colKey)<br />removeRowGroupColumns(colKeys)<br />setRowGroupColumns(colKeys)<br />moveRowGroupColumn(fromIndex, toIndex)\": {\n            \"description\": \"Methods for management of column row groups.\"\n        },\n        \"getPivotColumns()<br />setPivotColumns(colKeys)<br />removePivotColumn()<br />removePivotColumns(colKeys)<br />addPivotColumn(colKey)<br />addPivotColumns(colKeys)\": {\n            \"description\": \"Methods for management of column pivots.\"\n        },\n        \"isPivotMode()<br />setPivotMode(mode)\": {\n            \"description\": \"Methods to get / set the pivot mode.\"\n        },\n        \"getSecondaryPivotColumn(pivotKeys, valueColId)\": {\n            \"description\": \"Returns the pivot column for the given `pivotKeys` and `valueColId`. Useful to then call operations on the pivot column.\"\n        },\n        \"getValueColumns()<br />removeValueColumn(colKey)<br />removeValueColumns(colKeys)<br />addValueColumn(colKey)<br />addValueColumns(colKeys)\": {\n            \"description\": \"Methods for management of value column aggregates (for aggregating when grouping or pivoting).\"\n        }\n    }\n}"}},{"relativePath":"column-object/reference.json","internal":{"content":"{\n    \"methods\": {\n        \"meta\": {\n            \"displayName\": \"Column Methods\"\n        },\n        \"getId()<br />getColId()<br />getUniqueId()\": {\n            \"description\": \"Returns the unique ID for the column.\"\n        },\n        \"getParent()\": {\n            \"description\": \"Returns the parent column group, if column grouping is active.\"\n        },\n        \"getColDef()<br />getDefinition()\": {\n            \"description\": \"Returns the column definition for this column. The column definition will be the result of merging the application provided column definition with any provided defaults (e.g. <code>defaultColDef</code> grid option, or column types.\"\n        },\n        \"getUserProvidedColDef()\": {\n            \"description\": \"Returns the column definition provided by the application. This may not be correct, as items can be superseded by default column options. However it's useful for comparison, eg to know which application column definition matches that column.\"\n        },\n        \"isPrimary()\": {\n            \"description\": \"Returns <code>true</code> if column is a primary column, <code>false</code> if secondary. Secondary columns are used for pivoting.\"\n        },\n        \"isFilterAllowed()\": {\n            \"description\": \"Returns <code>true</code> if column filtering is allowed.\"\n        },\n        \"isFilterActive()\": {\n            \"description\": \"Returns <code>true</code> if filter is active on the column.\"\n        },\n        \"getSort()\": {\n            \"description\": \"If sorting is active, returns the sort direction e.g. <code>'asc'</code> or <code>'desc'</code>.\"\n        },\n        \"getAggFunc()\": {\n            \"description\": \"If aggregation is set for the column, returns the aggregation function.\"\n        },\n        \"getActualWidth()\": {\n            \"description\": \"Returns the current width of the column. If the column is resized, the actual width is the new size.\"\n        },\n        \"isRowGroupActive()\": {\n            \"description\": \"Returns <code>true</code> if row group is currently active for this column.\"\n        },\n        \"isPivotActive()\": {\n            \"description\": \"Returns <code>true</code> if pivot is currently active for this column.\"\n        },\n        \"isValueActive()\": {\n            \"description\": \"Returns <code>true</code> if value (aggregation) is currently active for this column.\"\n        },\n        \"addEventListener()\": {\n            \"description\": \"Add event listener to the column.\"\n        },\n        \"removeEventListener()\": {\n            \"description\": \"Remove event listener from the column.\"\n        }\n    },\n    \"events\": {\n        \"meta\": {\n            \"displayName\": \"Events on Column\",\n            \"description\": \"Columns emit the following events:\"\n        },\n        \"filterActiveChanged\": {\n            \"description\": \"The filter active value has changed.\"\n        },\n        \"sortChanged\": {\n            \"description\": \"The sort value has changed.\"\n        },\n        \"leftChanged\": {\n            \"description\": \"The left position has changed (e.g. column has moved).\"\n        },\n        \"widthChanged\": {\n            \"description\": \"The width value has changed.\"\n        },\n        \"visibleChanged\": {\n            \"description\": \"The visibility value has changed.\"\n        },\n        \"menuVisibleChanged\": {\n            \"description\": \"The column menu was shown / hidden.\"\n        },\n        \"columnRowGroupChanged\": {\n            \"description\": \"The row group value has changed.\"\n        },\n        \"columnPivotChanged\": {\n            \"description\": \"The pivot value has changed.\"\n        },\n        \"columnValueChanged\": {\n            \"description\": \"The 'value' value has changed.\"\n        },\n        \"movingChanged\": {\n            \"description\": \"The column has started / finished moving (i.e. user is dragging the column to a new location).\"\n        }\n    }\n}"}},{"relativePath":"column-properties/properties.json","internal":{"content":"{\n    \"columnsAndColumnGroups\": {\n        \"meta\": {\n            \"displayName\": \"Columns and Column Groups\"\n        },\n        \"headerName\": {\n            \"description\": \"The name to render in the column header. If not specified and field is specified, the field name will be used as the header name.\"\n        },\n        \"columnGroupShow\": {\n            \"description\": \"Whether to show the column when the group is open / closed.\"\n        },\n        \"headerClass\": {\n            \"description\": \"Class to use for the header cell. Can be a string, array of strings, or function.\"\n        },\n        \"toolPanelClass\": {\n            \"description\": \"Class to use for the tool panel cell. Can be a string, array of strings, or function.\"\n        },\n        \"suppressColumnsToolPanel\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if you do not want this column or group to appear in the Columns Tool Panel.\"\n        },\n        \"suppressFiltersToolPanel\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel.\"\n        }\n    },\n    \"columnsOnly\": {\n        \"meta\": {\n            \"displayName\": \"Columns Only\"\n        },\n        \"field\": {\n            \"description\": \"The field of the row to get the cells data from.\"\n        },\n        \"colId\": {\n            \"description\": \"The unique ID to give the column. This is optional. If missing, the ID will default to the field. If both field and `colId` are missing, a unique ID will be generated. This ID is used to identify the column in the API for sorting, filtering etc.\"\n        },\n        \"type\": {\n            \"description\": \"A comma separated string or array of strings containing `ColumnType` keys which can be used as a template for a column. This helps to reduce duplication of properties when you have a lot of common column properties.\"\n        },\n        \"width\": {\n            \"description\": \"Initial width in pixels for the cell.\"\n        },\n        \"defaultWidth\": {\n            \"description\": \"Same as 'width', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"minWidth\": {\n            \"description\": \"Minimum width in pixels for the cell.\"\n        },\n        \"maxWidth\": {\n            \"description\": \"Maximum width in pixels for the cell.\"\n        },\n        \"flex\": {\n            \"description\": \"Used instead of `width` when the goal is to fill the remaining empty space of the grid.\",\n            \"more\": {\n                \"name\": \"Column Flex\",\n                \"url\": \"../column-sizing/#column-flex\"\n            }\n        },\n        \"initialFlex\": {\n            \"description\": \"Same as 'flex', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"filter<br />filterFramework\": {\n            \"description\": \"Filter component to use for this column. Set to `true` to use the default filter.\"\n        },\n        \"filterParams\": {\n            \"description\": \"Custom params to be passed to filter component.\"\n        },\n        \"floatingFilter\": {\n            \"default\": false,\n            \"description\": \"Whether to show a floating filter for this column.\"\n        },\n        \"floatingFilterComponent<br/>floatingFilterComponentFramework\": {\n            \"description\": \"Floating filter component to use for this column.\"\n        },\n        \"floatingFilterComponentParams\": {\n            \"description\": \"Custom params to be passed to `floatingFilterComponent` or `floatingFilterComponentFramework`.\"\n        },\n        \"hide\": {\n            \"default\": false,\n            \"description\": \"Set to `true` for this column to be hidden. You might think it would make more sense to call this field `visible` and mark it `false` to hide, but we want all default values to be `false` and we want columns to be visible by default.\"\n        },\n        \"initialHide\": {\n            \"description\": \"Same as 'hide', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"pinned\": {\n            \"options\": [\n                \"left\",\n                \"right\"\n            ],\n            \"description\": \"Pin a column to one side.\"\n        },\n        \"initialPinned\": {\n            \"description\": \"Same as 'pinned', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"lockPosition\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to always have this column displayed first.\"\n        },\n        \"lockVisible\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to block making column visible / hidden via the UI (API will still work).\"\n        },\n        \"lockPinned\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to block pinning column via the UI (API will still work).\"\n        },\n        \"sortable\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to allow sorting on this column.\"\n        },\n        \"sort\": {\n            \"options\": [\n                null,\n                \"asc\",\n                \"desc\"\n            ],\n            \"description\": \"Set to sort this column.\"\n        },\n        \"initialSort\": {\n            \"description\": \"Same as 'sort', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"sortIndex\": {\n            \"description\": \"If doing multi-sort by default, the order which column sorts are applied.\"\n        },\n        \"initialSortIndex\": {\n            \"description\": \"Same as 'sortIndex', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"sortingOrder\": {\n            \"options\": [\n                null,\n                \"asc\",\n                \"desc\"\n            ],\n            \"description\": \"Array defining the order in which sorting occurs (if sorting is enabled).\"\n        },\n        \"resizable\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to allow column to be resized.\"\n        },\n        \"headerTooltip\": {\n            \"description\": \"Tooltip for the column header\"\n        },\n        \"tooltipField\": {\n            \"description\": \"The field of the tooltip to apply to the cell.\"\n        },\n        \"tooltipValueGetter\": {\n            \"type\": {\n                \"parameters\": {\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"colDef\": \"ColDef\",\n                    \"column\": \"Column\",\n                    \"context\": \"Context\",\n                    \"value?\": \"any\",\n                    \"valueFormatted?\": \"any\",\n                    \"rowIndex?\": \"number\",\n                    \"node?\": \"RowNode\",\n                    \"data?\": \"any\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"Callback that should return the string used for a tooltip.\"\n        },\n        \"checkboxSelection\": {\n            \"default\": false,\n            \"description\": \"`boolean` or `Function`. Set to `true` (or return `true` from function) to render a selection checkbox in the column.\"\n        },\n        \"rowDrag\": {\n            \"default\": false,\n            \"description\": \"`boolean` or `Function`. Set to `true` (or return `true` from function) to allow row dragging.\"\n        },\n        \"rowDragText\": {\n            \"type\": {\n                \"parameters\": {\n                    \"rowNode\": \"RowNode\",\n                    \"columns\": \"Column[]\",\n                    \"defaultTextValue\": \"string\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"A callback that should return a string to be displayed by the `rowDragComp` while dragging a row. If this callback is not set, the current cell value will be used.\"\n        },\n        \"dndSource\": {\n            \"default\": false,\n            \"description\": \"`boolean` or `Function`. Set to `true` (or return `true` from function) to allow dragging for native drag and drop.\"\n        },\n        \"dndSourceOnRowDrag\": {\n            \"description\": \"Function to allow custom drag functionality for native drag and drop.\"\n        },\n        \"cellStyle\": {\n            \"description\": \"The style to give a particular cell.\",\n            \"more\": {\n                \"name\": \"Cell Style\",\n                \"url\": \"../cell-styles/#cell-style\"\n            }\n        },\n        \"cellClass\": {\n            \"description\": \"The class to give a particular cell.\",\n            \"more\": {\n                \"name\": \"Cell Class\",\n                \"url\": \"../cell-styles/#cell-class\"\n            }\n        },\n        \"cellClassRules\": {\n            \"description\": \"Rules which can be applied to include certain CSS classes.\",\n            \"more\": {\n                \"name\": \"Cell Class Rules\",\n                \"url\": \"../cell-styles/#cell-class-rules\"\n            }\n        },\n        \"editable\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if this column is editable, otherwise `false`. Can also be a function to have different rows editable.\"\n        },\n        \"onCellValueChanged(params)\": {\n            \"description\": \"Callback for after the value of a cell has changed, either due to editing or the application calling `api.setValue()`.\"\n        },\n        \"cellRenderer<br />cellRendererFramework\": {\n            \"description\": \"`cellRenderer` to use for this column.\"\n        },\n        \"cellRendererParams\": {\n            \"description\": \"Params to be passed to cell renderer component.\"\n        },\n        \"pinnedRowCellRenderer<br />pinnedRowCellRendererFramework\": {\n            \"description\": \"`cellRenderer` to use for pinned rows in this column. Pinned cells will use `pinnedCellRenderer` if available, or `cellRenderer` if not.\"\n        },\n        \"pinnedRowCellRendererParams\": {\n            \"description\": \"Params to be passed to pinned row cell renderer component.\"\n        },\n        \"cellRendererSelector<br/>cellEditorSelector\": {\n            \"description\": \"Callback to select which cell renderer / cell editor to be used for a given row within the same column.\"\n        },\n        \"cellEditor<br />cellEditorFramework\": {\n            \"description\": \"`cellEditor` to use for this column.\"\n        },\n        \"cellEditorParams\": {\n            \"description\": \"Params to be passed to cell editor component.\"\n        },\n        \"headerComponent<br />headerComponentFramework\": {\n            \"description\": \"Header component to use for this column.\"\n        },\n        \"headerComponentParams\": {\n            \"description\": \"Params to be passed to header component.\"\n        },\n        \"valueGetter(params)\": {\n            \"description\": \"Function or expression. Gets the value from your data for display.\"\n        },\n        \"headerValueGetter(params)\": {\n            \"description\": \"Function or expression. Gets the value for display in the header.\"\n        },\n        \"filterValueGetter(params)\": {\n            \"description\": \"Function or expression. Gets the value for filtering purposes.\"\n        },\n        \"valueFormatter(params)\": {\n            \"description\": \"Function or expression. Formats the value for display.\"\n        },\n        \"pinnedRowValueFormatter(params)\": {\n            \"description\": \"Function or expression. Formatter to use for a pinned row. If missing, the normal `valueFormatter` will be used.\"\n        },\n        \"valueSetter(params)\": {\n            \"description\": \"Function or expression. Sets the value into your data for saving. Return `true` if the data changed.\"\n        },\n        \"valueParser(params)\": {\n            \"description\": \"Function or expression. Parses the value for saving.\"\n        },\n        \"keyCreator(params)\": {\n            \"description\": \"Function to return a string key for a value. This string is used for grouping, set filtering, and searching within cell editor dropdowns. When filtering and searching the string is exposed to the user, so make sure to return a human-readable value.\"\n        },\n        \"getQuickFilterText\": {\n            \"description\": \"A function to tell the grid what quick filter text to use for this column if you don't want to use the default (which is calling `toString` on the value).\"\n        },\n        \"aggFunc\": {\n            \"options\": [\n                \"sum\",\n                \"min\",\n                \"max\",\n                \"first\",\n                \"last\"\n            ],\n            \"description\": \"Name of function to use for aggregation. You can also provide your own agg function.\"\n        },\n        \"initialAggFunc\": {\n            \"description\": \"Same as 'aggFunc', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"allowedAggFuncs\": {\n            \"description\": \"Aggregation functions allowed on this column e.g. `['sum', 'avg']`. If missing, all installed functions are allowed. This will only restrict what the GUI allows a user to select, it does not impact when you set a function via the API.\"\n        },\n        \"rowGroup\": {\n            \"description\": \"Set to true to row group by this column\"\n        },\n        \"initialRowGroup\": {\n            \"description\": \"Same as 'rowGroup', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"rowGroupIndex\": {\n            \"description\": \"Set this in columns you want to group by. If only grouping by one column, set this to any number (e.g. `0`). If grouping by multiple columns, set this to where you want this column to be in the group (e.g. `0` for first, `1` for second, and so on).\"\n        },\n        \"initialRowGroupIndex\": {\n            \"description\": \"Same as 'rowGroupIndex', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"pivot\": {\n            \"description\": \"Set to true to pivot by this column\"\n        },\n        \"initialPivot\": {\n            \"description\": \"Same as 'pivot', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"pivotIndex\": {\n            \"description\": \"Set this in columns you want to pivot by. If only pivoting by one column, set this to any number (e.g. `0`). If pivoting by multiple columns, set this to where you want this column to be in the order of pivots (e.g. `0` for first, `1` for second, and so on).\"\n        },\n        \"initialPivotIndex\": {\n            \"description\": \"Same as 'pivotIndex', except only applied when creating a new column. Not applied when updating column definitions.\"\n        },\n        \"comparator(valueA, valueB, nodeA, nodeB, isInverted)\": {\n            \"description\": \"Comparator function for custom sorting.\"\n        },\n        \"pivotComparator(valueA, valueB)\": {\n            \"description\": \"Comparator to use when ordering the pivot columns, when this column is used to pivot on. The values will always be strings, as the pivot service uses strings as keys for the pivot groups.\"\n        },\n        \"unSortIcon\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if you want the unsorted icon to be shown when no sort is applied to this column.\"\n        },\n        \"enableRowGroup\": {\n            \"default\": false,\n            \"description\": \"(Enterprise only) Set to `true` if you want to be able to row group by this column via the GUI. This will not block the API or properties being used to achieve row grouping.\"\n        },\n        \"enablePivot\": {\n            \"default\": false,\n            \"description\": \"(Enterprise only) Set to `true` if you want to be able to pivot by this column via the GUI. This will not block the API or properties being used to achieve pivot.\"\n        },\n        \"enableValue\": {\n            \"default\": false,\n            \"description\": \"(Enterprise only) Set to `true` if you want to be able to aggregate by this column via the GUI. This will not block the API or properties being used to achieve aggregation.\"\n        },\n        \"enableCellChangeFlash\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to flash a cell when it's refreshed.\"\n        },\n        \"menuTabs\": {\n            \"description\": \"Set to an array containing zero, one or many of the following options: `'filterMenuTab' | 'generalMenuTab' | 'columnsMenuTab'`. This is used to figure out which menu tabs are present and in which order the tabs are shown.\"\n        },\n        \"suppressMenu\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if no menu should be shown for this column header.\"\n        },\n        \"suppressSizeToFit\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if you want this column's width to be fixed during 'size to fit' operations.\"\n        },\n        \"suppressMovable\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if you do not want this column to be movable via dragging.\"\n        },\n        \"suppressNavigable\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if this column is not navigable (i.e. cannot be tabbed into), otherwise `false`. Can also be a callback function to have different rows navigable.\"\n        },\n        \"suppressCellFlash\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to prevent this column from flashing on changes. Only applicable if cell flashing is turned on for the grid.\"\n        },\n        \"suppressHeaderKeyboardEvent(params)\": {\n            \"default\": false,\n            \"description\": \"Suppress the grid taking action for the relevant keyboard event when a header is focused.\",\n            \"more\": {\n                \"name\": \"Suppress Keyboard Events\",\n                \"url\": \"../keyboard-navigation/#suppressheaderkeyboardevent\"\n            }\n        },\n        \"suppressKeyboardEvent(params)\": {\n            \"default\": false,\n            \"description\": \"Suppress the grid taking action for the relevant keyboard event when a cell is focused.\",\n            \"more\": {\n                \"name\": \"Suppress Keyboard Events\",\n                \"url\": \"../keyboard-navigation/#suppresskeyboardevent\"\n            }\n        },\n        \"onCellClicked(params)\": {\n            \"description\": \"Callback called when a cell is clicked.\"\n        },\n        \"onCellDoubleClicked(params)\": {\n            \"description\": \"Callback called when a cell is double clicked.\"\n        },\n        \"onCellContextMenu(params)\": {\n            \"description\": \"Callback called when a cell is right clicked.\"\n        },\n        \"autoHeight\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to have the grid calculate the height of a row based on contents of this column.\"\n        },\n        \"wrapText\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to have the text wrap inside the cell.\"\n        },\n        \"singleClickEdit\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to have cells under this column enter edit mode after single click.\"\n        },\n        \"chartDataType\": {\n            \"options\": [\n                \"category\",\n                \"series\",\n                \"excluded\"\n            ],\n            \"description\": \"Defines the chart data type that should be used for a column.\"\n        },\n        \"columnsMenuParams\": {\n            \"description\": \"Params used to change the behaviour and appearance of the Columns Menu tab.\",\n            \"more\": {\n                \"name\": \"Customising the Columns Menu Tab\",\n                \"url\": \"../column-menu/#customising-the-columns-menu-tab\"\n            }\n        }\n    },\n    \"columnGroupsOnly\": {\n        \"meta\": {\n            \"displayName\": \"Column Groups Only\"\n        },\n        \"groupId\": {\n            \"description\": \"The unique ID to give the column. This is optional. If missing, a unique ID will be generated. This ID is used to identify the column group in the column API.\"\n        },\n        \"children\": {\n            \"description\": \"A list containing a mix of columns and column groups.\"\n        },\n        \"marryChildren\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to keep columns in this group beside each other in the grid. Moving the columns outside of the group (and hence breaking the group) is not allowed.\"\n        },\n        \"openByDefault\": {\n            \"default\": false,\n            \"description\": \"Set to `true` if this group should be opened by default.\"\n        },\n        \"headerGroupComponent<br />headerGroupComponentFramework\": {\n            \"description\": \"Component to use header group.\"\n        },\n        \"headerGroupComponentParams\": {\n            \"description\": \"Params for the header group component.\"\n        }\n    }\n}"}},{"relativePath":"grid-api/api.json","internal":{"content":"{\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Columns\"\n        },\n        \"getColumnDefs()\": {\n            \"description\": \"Returns the current column definitions.\"\n        },\n        \"sizeColumnsToFit()\": {\n            \"description\": \"Sets columns to adjust in size to fit the grid horizontally.\"\n        },\n        \"setColumnDefs(colDefs)\": {\n            \"description\": \"Call to set new column definitions. The grid will redraw all the column headers, and then redraw all of the rows.\"\n        },\n        \"setAutoGroupColumnDef(colDef)\": {\n            \"description\": \"Call to set new auto group column definition. The grid will recreate any auto-group columns if present.\"\n        }\n    },\n    \"data\": {\n        \"meta\": {\n            \"displayName\": \"Data\"\n        },\n        \"setRowData(rows)\": {\n            \"description\": \"Set rows.\"\n        },\n        \"applyTransaction(transaction)\": {\n            \"description\": \"Update row data. Pass a transaction object with lists for `add`, `remove` and `update`.\"\n        },\n        \"applyTransactionAsync(transaction, callback)\": {\n            \"description\": \"Same as applyTransaction except executes asynchronous for efficiency.\"\n        },\n        \"flushAsyncTransactions()\": {\n            \"description\": \"Executes any remaining grid async transaction, if any are waiting to be executed.\"\n        },\n        \"setPinnedTopRowData(rowData)<br />setPinnedBottomRowData()<br />getPinnedTopRowCount()<br />getPinnedBottomRowCount()<br />getPinnedTopRow(index)<br />getPinnedBottomRow(index)\": {\n            \"description\": \"Methods for getting and setting the data and getting the Row Nodes of the pinned rows.\"\n        },\n        \"getModel()\": {\n            \"description\": \"Returns the row model inside the table. From here you can see the original rows, rows after filter has been applied, rows after aggregation has been applied, and the final set of 'to be displayed' rows.\"\n        },\n        \"refreshClientSideRowModel(params)\": {\n            \"description\": \"Gets the Client-Side Row Model to refresh, executing the grouping, filtering and sorting again.\"\n        },\n        \"setDatasource(datasource)\": {\n            \"description\": \"Set new datasource for Infinite Row Model.\"\n        },\n        \"setServerSideDatasource(datasource)\": {\n            \"description\": \"Set new datasource for Server-Side Row Model.\"\n        },\n        \"setViewportDatasource(datasource)\": {\n            \"description\": \"Set new datasource for Viewport Row Model.\"\n        }\n    },\n    \"rowNodes\": {\n        \"meta\": {\n            \"displayName\": \"Accessing Row Nodes\"\n        },\n        \"getRowNode(id)\": {\n            \"description\": \"Returns the row node with the given ID. The row node ID is the one you provide with the callback `getRowNodeId(data)`, otherwise the ID is a number auto generated by the grid when the row data is set.\"\n        },\n        \"forEachNode(callback(node, index))\": {\n            \"description\": \"Iterates through each node (row) in the grid and calls the callback for each node. This works similar to the `forEach` method on a Javascript array. This is called for every node, ignoring any filtering or sorting applied within the grid. If using infinite row model, then gets called for each page loaded in the page cache.\"\n        },\n        \"forEachNodeAfterFilter(callback(node, index))\": {\n            \"description\": \"Similar to `forEachNode`, except skips any filtered out data.\"\n        },\n        \"forEachNodeAfterFilterAndSort(callback(node, index))\": {\n            \"description\": \"Similar to `forEachNode`, except skips any filtered out data and the callbacks are called in the order the rows are displayed in the grid.\"\n        },\n        \"forEachLeafNode(callback(node, index))\": {\n            \"description\": \"Similar to `forEachNode`, except lists all the leaf nodes. This effectively goes through all the data that you provided to the grid before the grid performed any grouping. If using tree data, goes through all the nodes for the data you provided, including nodes that have children, but excluding groups the grid created where gaps were missing in the hierarchy.\"\n        }\n    },\n    \"displayedRows\": {\n        \"meta\": {\n            \"displayName\": \"Displayed Rows\"\n        },\n        \"getDisplayedRowAtIndex(index)\": {\n            \"description\": \"Returns the displayed `rowNode` at the given `index`.\"\n        },\n        \"getDisplayedRowCount()\": {\n            \"description\": \"Returns the total number of displayed rows.\"\n        },\n        \"getFirstDisplayedRow()\": {\n            \"description\": \"Get the index of the first displayed row due to scrolling (includes invisible rendered rows in the buffer).\"\n        },\n        \"getLastDisplayedRow()\": {\n            \"description\": \"Get the index of the last displayed row due to scrolling (includes invisible rendered rows in the buffer).\"\n        }\n    },\n    \"masterDetail\": {\n        \"meta\": {\n            \"displayName\": \"Master Detail\"\n        },\n        \"getDetailGridInfo(detailGridId)\": {\n            \"description\": \"Returns the `DetailGridInfo` corresponding to the supplied `detailGridId`.\",\n            \"more\": {\n                \"name\": \"Master Detail\",\n                \"url\": \"../master-detail/\"\n            }\n        },\n        \"forEachDetailGridInfo(callback)\": {\n            \"description\": \"Iterates through each `DetailGridInfo` in the grid and calls the supplied callback on each.\",\n            \"more\": {\n                \"name\": \"Master Detail\",\n                \"url\": \"../master-detail/\"\n            }\n        }\n    },\n    \"selection\": {\n        \"meta\": {\n            \"displayName\": \"Selection\"\n        },\n        \"selectAll()\": {\n            \"description\": \"Select all rows (even rows that are not visible due to grouping being enabled and their groups not expanded).\"\n        },\n        \"deselectAll()\": {\n            \"description\": \"Clear all row selections.\"\n        },\n        \"selectAllFiltered()\": {\n            \"description\": \"Select all filtered rows.\"\n        },\n        \"deselectAllFiltered()\": {\n            \"description\": \"Clear all filtered selections.\"\n        },\n        \"getSelectedNodes()\": {\n            \"description\": \"Returns a list of selected nodes. Getting the underlying node (rather than the data) is useful when working with tree / aggregated data, as the node can be traversed.\"\n        },\n        \"getSelectedRows()\": {\n            \"description\": \"Returns a list of selected rows (i.e. row data that you provided).\"\n        },\n        \"getBestCostNodeSelection()\": {\n            \"description\": \"Returns a list of all selected nodes at 'best cost', a feature to be used with groups / trees. If a group has all its children selected, then the group appears in the result, but not the children. Designed for use with `'children'` as the group selection type, where groups don't actually appear in the selection normally.\"\n        },\n        \"getCellRanges()\": {\n            \"description\": \"Returns the list of selected cell ranges.\"\n        },\n        \"addCellRange(params)\": {\n            \"description\": \"Adds to the selected range.\"\n        },\n        \"clearRangeSelection()\": {\n            \"description\": \"Clears the selected range.\"\n        },\n        \"setSuppressRowClickSelection(value)\": {\n            \"description\": \"Sets the `suppressRowClickSelection` property.\"\n        }\n    },\n    \"refresh\": {\n        \"meta\": {\n            \"displayName\": \"Refresh\"\n        },\n        \"refreshCells(params)\": {\n            \"description\": \"Performs change detection on all cells, refreshing cells where required.\"\n        },\n        \"redrawRows(params)\": {\n            \"description\": \"Remove a row from the DOM and recreate it again from scratch.\"\n        },\n        \"refreshHeader()\": {\n            \"description\": \"Redraws the header. Useful if a column name changes, or something else that changes how the column header is displayed.\"\n        },\n        \"flashCells(params)\": {\n            \"description\": \"Flash rows, columns or individual cells.\",\n            \"more\": {\n                \"name\": \"Flashing Cells\",\n                \"url\": \"../flashing-cells/\"\n            }\n        }\n    },\n    \"sortFilter\": {\n        \"meta\": {\n            \"displayName\": \"Sort and Filter\"\n        },\n        \"setQuickFilter(quickFilter)\": {\n            \"description\": \"Pass a quick filter text into AG Grid for filtering. If using Angular, the grid watches the `quickFilterText` attribute of the `gridOptions`. If you won't want to use `quickFilterText` (i.e. if not using AngularJS) then you can call this method instead to apply a quick filter.\"\n        },\n        \"isQuickFilterPresent()\": {\n            \"description\": \"Returns `true` if the quick filter is set, otherwise `false`.\"\n        },\n        \"isColumnFilterPresent()\": {\n            \"description\": \"Returns `true` if any column filter is set, otherwise `false`.\"\n        },\n        \"isAnyFilterPresent()\": {\n            \"description\": \"Returns `true` if any filter is set. This includes quick filter, advanced filter or external filter.\"\n        },\n        \"getFilterInstance(col, callback)\": {\n            \"description\": \"Returns the filter component instance for a column. `col` can be a string field name or a ColDef object (matches on object reference, useful if field names are not unique). For filters that are created asynchronously including React 16+ components, calling this method will return null if the filter has not already been created. If your app uses asynchronous components, use the optional `callback` function which will be invoked with the filter instance when it is available.\"\n        },\n        \"getFilterModel()\": {\n            \"description\": \"Gets the current state of all the advanced filters. Used for saving filter state.\"\n        },\n        \"setFilterModel(model)\": {\n            \"description\": \"Sets the state of all the advanced filters. Provide it with what you get from `getFilterModel()` to restore filter state.\"\n        },\n        \"onFilterChanged()\": {\n            \"description\": \"Informs the grid that a filter has changed. This is typically called after a filter change through one of the filter APIs.\"\n        },\n        \"destroyFilter()\": {\n            \"description\": \"Destroys a filter. Useful to force a particular filter to be created from scratch again.\"\n        },\n        \"onSortChanged()\": {\n            \"description\": \"Gets the grid to act as if the sort was changed. Useful if you update some values and want to get the grid to reorder them according to the new values.\"\n        }\n    },\n    \"navigation\": {\n        \"meta\": {\n            \"displayName\": \"Navigation\"\n        },\n        \"getFocusedCell()\": {\n            \"description\": \"Returns the focused cell (or the last focused cell if the grid lost focus) as an object containing the `rowIndex`, `column` and `floating` (which can be `'top'`, `'bottom'` or `null`).\"\n        },\n        \"setFocusedCell(rowIndex, colKey, floating)\": {\n            \"description\": \"Sets the focus to the specified cell. Set `floating` to `null`, `'top'`, or `'bottom'`.\"\n        },\n        \"clearFocusedCell()\": {\n            \"description\": \"Clears the focused cell.\"\n        },\n        \"tabToNextCell()\": {\n            \"description\": \"Navigates the grid focus to the next cell, as if tabbing.\"\n        },\n        \"tabToPreviousCell()\": {\n            \"description\": \"Navigates the grid focus to the previous cell, as if shift-tabbing.\"\n        }\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Editing\"\n        },\n        \"stopEditing(cancel?)\": {\n            \"description\": \"If a cell is editing, it stops the editing. Pass `true` if you want to cancel the editing (i.e. don't accept changes).\",\n            \"more\": {\n                \"name\": \"Editing API\",\n                \"url\": \"../cell-editing/#editing-api\"\n            }\n        },\n        \"startEditingCell(params)\": {\n            \"description\": \"Start editing a particular cell.\",\n            \"more\": {\n                \"name\": \"Editing API\",\n                \"url\": \"../cell-editing/#editing-api\"\n            }\n        },\n        \"getEditingCells()\": {\n            \"description\": \"If the grid is editing, returns back details of the editing cell(s).\",\n            \"more\": {\n                \"name\": \"Editing API\",\n                \"url\": \"../cell-editing/#editing-api\"\n            }\n        }\n    },\n    \"export\": {\n        \"meta\": {\n            \"displayName\": \"Export\",\n            \"page\": {\n                \"name\": \"Export\",\n                \"url\": \"../export/\"\n            }\n        },\n        \"exportDataAsCsv(params)\": {\n            \"description\": \"Downloads a CSV export of the grid's data.\"\n        },\n        \"getDataAsCsv(params)\": {\n            \"description\": \"Similar to `exportDataAsCsv`, except returns the result as a string rather than download it.\"\n        },\n        \"exportDataAsExcel(params)\": {\n            \"description\": \"Downloads an Excel export of the grid's data.\"\n        },\n        \"getDataAsExcel(params)\": {\n            \"description\": \"Similar to `exportDataAsExcel`, except instead of downloading a file, it will return a string when `exportMode='xml'` or a <a href='https://developer.mozilla.org/en-US/docs/Web/API/Blob' target='_blank'>Blob</a> when `exportMode='xlsx'`.\"\n        }\n    },\n    \"events\": {\n        \"meta\": {\n            \"displayName\": \"Events\"\n        },\n        \"addEventListener(eventType, listener)\": {\n            \"description\": \"Add an event listener for the specified `eventType`. Works similar to `addEventListener` for a browser DOM element.\"\n        },\n        \"addGlobalListener(listener)\": {\n            \"description\": \"Add an event listener for all event types coming from the grid.\"\n        },\n        \"removeEventListener(eventType, listener)\": {\n            \"description\": \"Remove an event listener.\"\n        },\n        \"removeGlobalListener(listener)\": {\n            \"description\": \"Remove a global event listener.\"\n        },\n        \"dispatchEvent(event)\": {\n            \"description\": \"Dispatch an event through the grid. Useful if you are using a custom `cellRenderer` and want to fire events such as `cellValueChanged`.\"\n        }\n    },\n    \"rowGroups\": {\n        \"meta\": {\n            \"displayName\": \"Row Groups\"\n        },\n        \"expandAll()\": {\n            \"description\": \"Expand all groups.\"\n        },\n        \"collapseAll()\": {\n            \"description\": \"Collapse all groups.\"\n        },\n        \"setRowNodeExpanded(rowNode, expanded)\": {\n            \"description\": \"Expand or collapse a specific row node.\"\n        },\n        \"onGroupExpandedOrCollapsed()\": {\n            \"description\": \"If after getting the model, you expand or collapse a group, call this method to inform the grid. It will work out the final set of 'to be displayed' rows again (i.e. expand or collapse the group visually).\"\n        }\n    },\n    \"rowDrag\": {\n        \"meta\": {\n            \"displayName\": \"Row Drag\"\n        },\n        \"setSuppressRowDrag(value)\": {\n            \"description\": \"Sets the `suppressRowDrag` property.\"\n        },\n        \"setSuppressMoveWhenRowDragging(value)\": {\n            \"description\": \"Sets the `suppressMoveWhenRowDragging` property.\"\n        },\n        \"addRowDropZone(params)\": {\n            \"description\": \"Adds a DropZone outside of the Grid where rows can be dropped.\"\n        },\n        \"removeRowDropZone(params)\": {\n            \"description\": \"Removes an external DropZone added by addRowDropZone.\"\n        },\n        \"getRowDropZoneParams()\": {\n            \"description\": \"Returns the RowDropZoneParams to be used by another grid's addRowDropZone method.\"\n        }\n    },\n    \"rendering\": {\n        \"meta\": {\n            \"displayName\": \"Rendering\"\n        },\n        \"getRenderedNodes()\": {\n            \"description\": \"Retrieve rendered nodes. Due to virtualisation this will contain only the current visible rows and those in the buffer.\"\n        },\n        \"getCellRendererInstances(params)\": {\n            \"description\": \"Returns the list of active <a href='../component-cell-renderer/#accessing-cell-renderer-instances'>Cell Renderer Instances</a>.\"\n        },\n        \"getCellEditorInstances(params)\": {\n            \"description\": \"Returns the list of active <a href='../component-cell-editor/#accessing-cell-editor-instances'>Cell Editor Instances</a>.\"\n        },\n        \"getSizesForCurrentTheme()\": {\n            \"description\": \"Gets the sizes that various UI elements will be rendered at with the current theme. Returns an object containing the keys `rowHeight` and `headerHeight`. If you override the row or header height using `gridOptions`, the override value you provided will be returned.\"\n        }\n    },\n    \"scrolling\": {\n        \"meta\": {\n            \"displayName\": \"Scrolling\"\n        },\n        \"setAlwaysShowHorizontalScroll(show)\": {\n            \"description\": \"If `true`, the horizontal scrollbar will always be present, event if not required. Otherwise, it will only be displayed when necessary.\"\n        },\n        \"setAlwaysShowVerticalScroll(show)\": {\n            \"description\": \"If `true`, the vertical scrollbar will always be present, even if not required. Otherwise it will only be displayed when necessary.\"\n        },\n        \"ensureIndexVisible(index, position)\": {\n            \"description\": \"Ensures the row index is visible by vertically scrolling the grid. The valid values for positions are `'top' | 'middle' | 'bottom' | undefined | null`. If `'top'`, `'middle'` or `'bottom'`, the grid will scroll the row to place the row at the top, middle or bottom respectively. If `undefined` or `null` the grid will do the minimum scrolling to show the row, i.e. if the grid needs to scroll up then it will scroll so that the row is at the top, if the grid needs to scroll down then it will scroll so that the row is at the bottom, if the row is already in view then the grid will do nothing.\"\n        },\n        \"ensureNodeVisible(comparator, position)\": {\n            \"description\": \"Ensures a node is visible, scrolling the table if needed. Provide one of a) the node b) the data object c) a comparator function (that takes the node as a parameter, and returns `true` for match or `false` for no match). The valid values for positions are same as for `api.ensureIndexVisible()`.\"\n        },\n        \"ensureColumnVisible(colId)\": {\n            \"description\": \"Ensures the column is visible, scrolling the table if needed.\"\n        },\n        \"getHorizontalPixelRange()\": {\n            \"description\": \"Returns a JSON object with two properties:<ul class='content'><li>`left`: The left pixel position of the current scroll in the grid</li><li>`right`: The right pixel position of the current scroll in the grid</li></ul>\"\n        },\n        \"getVerticalPixelRange()\": {\n            \"description\": \"Returns a JSON object with two properties:<ul class='content'><li>`top`: The top pixel position of the current scroll in the grid</li><li>`bottom`: The bottom pixel position of the current scroll in the grid</li></ul>\"\n        }\n    },\n    \"infiniteScrolling\": {\n        \"meta\": {\n            \"displayName\": \"Infinite Scrolling\"\n        },\n        \"refreshInfiniteCache()\": {\n            \"description\": \"Marks all the currently loaded blocks in the cache for reload. If you have 10 blocks in the cache, all 10 will be marked for reload. The old data will continue to be displayed until the new data is loaded.\"\n        },\n        \"purgeInfiniteCache()\": {\n            \"description\": \"Purges the cache. The grid is then told to refresh. Only the blocks required to display the current data on screen are fetched (typically no more than 2). The grid will display nothing while the new blocks are loaded. Use this to immediately remove the old data from the user.\"\n        },\n        \"getInfiniteRowCount()\": {\n            \"description\": \"The row count defines how many rows the grid allows scrolling to.\"\n        },\n        \"isLastRowIndexKnown()\": {\n            \"description\": \"Returns `true` if grid allows for scrolling past the last row to load more rows, thus providing infinite scroll.\"\n        },\n        \"setRowCount(rowCount, lastRowIndexKnown)\": {\n            \"description\": \"Sets the `rowCount` and `lastRowIndexKnown` properties. The second parameter, `lastRowIndexKnown`, is optional and if left out, only `rowCount` is set. Set `rowCount` to adjust the height of the vertical scroll. Set `lastRowIndexKnown` to enable / disable searching for more rows. Use this method if you add or remove rows into the dataset and need to reset the number of rows or put the data back into 'look for data' mode.\"\n        },\n        \"getCacheBlockState()\": {\n            \"description\": \"Returns an object representing the state of the cache. This is useful for debugging and understanding how the cache is working.\"\n        }\n    },\n    \"overlays\": {\n        \"meta\": {\n            \"displayName\": \"Overlays\"\n        },\n        \"showLoadingOverlay()\": {\n            \"description\": \"Show the 'loading' overlay.\"\n        },\n        \"showNoRowsOverlay()\": {\n            \"description\": \"Show the 'no rows' overlay.\"\n        },\n        \"hideOverlay()\": {\n            \"description\": \"Hides the overlay if showing.\"\n        }\n    },\n    \"clipboard\": {\n        \"meta\": {\n            \"displayName\": \"Clipboard\"\n        },\n        \"copySelectedRangeToClipboard(includeHeaders)\": {\n            \"description\": \"Copies the selected ranges to the clipboard.\"\n        },\n        \"copySelectedRangeDown()\": {\n            \"description\": \"Copies the selected range down, similar to `Ctrl&nbsp;+&nbsp;D` in Excel.\"\n        }\n    },\n    \"pagination\": {\n        \"meta\": {\n            \"displayName\": \"Pagination\"\n        },\n        \"paginationIsLastPageFound()\": {\n            \"description\": \"Returns `true` when the last page is known; this will always be the case if you are using the Client-Side Row Model for pagination. Returns `false` when the last page is not known; this only happens when using Infinite Scrolling Row Model.</p>\"\n        },\n        \"paginationGetPageSize()\": {\n            \"description\": \"Returns how many rows are being shown per page.\"\n        },\n        \"paginationSetPageSize(newPageSize)\": {\n            \"description\": \"Sets the `paginationPageSize` to `newPageSize`, then re-paginates the grid so the changes are applied immediately.\"\n        },\n        \"paginationGetCurrentPage()\": {\n            \"description\": \"Returns the 0-based index of the page which is showing.\"\n        },\n        \"paginationGetTotalPages()\": {\n            \"description\": \"Returns the total number of pages. Returns `null` if `paginationIsLastPageFound() == false`.\"\n        },\n        \"paginationGetRowCount()\": {\n            \"description\": \"The total number of rows. Returns `null` if `paginationIsLastPageFound() == false`.\"\n        },\n        \"paginationGoToPage(pageNumber)\": {\n            \"description\": \"Goes to the specified page. If the page requested doesn't exist, it will go to the last page.\"\n        },\n        \"paginationGoToNextPage()<br />paginationGoToPreviousPage()<br />paginationGoToFirstPage()<br />paginationGoToLastPage()\": {\n            \"description\": \"Shorthands for `goToPage(relevantPageNumber)`.\"\n        }\n    },\n    \"headers\": {\n        \"meta\": {\n            \"displayName\": \"Headers\"\n        },\n        \"setHeaderHeight(heightInPx)\": {\n            \"description\": \"Sets the height in pixels for the row containing the column label header.\"\n        },\n        \"setGroupHeaderHeight(heightInPx)\": {\n            \"description\": \"Sets the height in pixels for the rows containing header column groups.\"\n        },\n        \"setFloatingFiltersHeight(heightInPx)\": {\n            \"description\": \"Sets the height in pixels for the row containing the floating filters.\"\n        },\n        \"setPivotHeaderHeight(heightInPx)\": {\n            \"description\": \"Sets the height in pixels for the row containing the columns when in pivot mode.\"\n        },\n        \"setPivotGroupHeaderHeight(heightInPx)\": {\n            \"description\": \"Sets the height in pixels for the row containing header column groups when in pivot mode.\"\n        }\n    },\n    \"statusBar\": {\n        \"meta\": {\n            \"displayName\": \"Status Bar\"\n        },\n        \"getStatusBarComponent(key)\": {\n            \"description\": \"Returns the status bar component instance for the `key` provided.\"\n        }\n    },\n    \"UndoRedo\": {\n        \"meta\": {\n            \"displayName\": \"Undo / Redo\"\n        },\n        \"undoCellEditing()\": {\n            \"description\": \"Undo's last cell edit.\"\n        },\n        \"redoCellEditing()\": {\n            \"description\": \"Redo's last cell edit undo.\"\n        },\n        \"getCurrentUndoSize()\": {\n            \"description\": \"Returns current number of available cell edit undo's.\"\n        },\n        \"getCurrentRedoSize()\": {\n            \"description\": \"Returns current number of available cell edit redo's.\"\n        }\n    },\n    \"charts\": {\n        \"meta\": {\n            \"displayName\": \"Charts\"\n        },\n        \"getChartModels()\": {\n            \"description\": \"Returns a list of models with information about the charts that are currently rendered from the grid.\"\n        },\n        \"createRangeChart(params)\": {\n            \"description\": \"Used to programmatically create charts from a range.\",\n            \"more\": {\n                \"name\": \"Range Chart API\",\n                \"url\": \"../integrated-charts-api/#range-charts\"\n            }\n        },\n        \"createPivotChart(params)\": {\n            \"description\": \"Used to programmatically create pivot charts from a grid.\",\n            \"more\": {\n                \"name\": \"Pivot Chart API\",\n                \"url\": \"../integrated-charts-api/#pivot-charts\"\n            }\n        }\n    },\n    \"miscellaneous\": {\n        \"meta\": {\n            \"displayName\": \"Miscellaneous\"\n        },\n        \"setPopupParent(element)\": {\n            \"description\": \"DOM element to use as the <a href='../context-menu/#popup-parent'>popup parent</a> for grid popups (context menu, column menu etc).\"\n        },\n        \"addRenderedRowListener(event, rowIndex, callback)\": {\n            \"description\": \"Registers a callback to a virtual row. A virtual row is a row that is visually rendered on the screen (rows that are not visible because of the scroll position are not rendered). Unlike normal events, you do not need to unregister rendered row listeners. When the rendered row is removed from the grid, all associated rendered row listeners will also be removed. Currently supports only one event, `virtualRowRemoved`; listen for this event if your `cellRenderer` needs to do cleanup when the row no longer exists.\"\n        },\n        \"showToolPanel(show)\": {\n            \"description\": \"Shows (or hides) the tool panel.\"\n        },\n        \"isToolPanelShowing()\": {\n            \"description\": \"Returns `true` if the tool panel is showing, otherwise `false`.\"\n        },\n        \"getToolPanelInstance(id)\": {\n            \"description\": \"Gets the tool panel instance corresponding to the supplied `id`.\",\n            \"more\": {\n                \"name\": \"Expand / Collapse Column Groups\",\n                \"url\": \"../tool-panel-columns/#expand--collapse-column-groups\"\n            }\n        },\n        \"doLayout()\": {\n            \"description\": \"Force the grid to perform a layout of its components. The grid, by default, resizes to fit the `div` the grid lives in. This is done a) on initialisation b) window resize and c) periodically as defined by `layoutInterval` (default 500ms). You should call this if something happens in your application where the grid size has changed and you want to lay the grid out without waiting for the next periodic refresh.\"\n        },\n        \"getValue(colKey, node)\": {\n            \"description\": \"Gets the value for a column for a particular `rowNode` (row). This is useful if you want the raw value of a cell e.g. if implementing your own CSV export.\"\n        },\n        \"destroy()\": {\n            \"description\": \"Will destroy the grid and release resources. If you are using Angular (version 1 or 2) you do not need to call this, as the grid links in with the AngularJS 1.x lifecycle. However if you are using Web Components or native Javascript, you do need to call this, to avoid a memory leak in your application.\"\n        },\n        \"showColumnMenuAfterButtonClick(colKey, buttonElement), showColumnMenuAfterMouseClick(colKey, mouseEvent)\": {\n            \"description\": \"Shows the column menu after and positions it relative to the provided element (button click) or mouse event. Use in conjunction with your own header template.\"\n        },\n        \"checkGridSize()\": {\n            \"description\": \"Tells the grid to check its size again. This is useful if you do not have the grid in the DOM when you create it, to call this method after the grid is in the DOM to get it to check its width and height again (which decides which columns and rows to render).\"\n        },\n        \"resetRowHeights()\": {\n            \"description\": \"Tells the grid to recalculate the row heights.\"\n        },\n        \"onRowHeightChanged()\": {\n            \"description\": \"Tells the grid a row height has changed. To be used after calling `rowNode.setRowHeight(newHeight)`.\"\n        },\n        \"copySelectedRowsToClipboard(includeHeaders, columnKeys)\": {\n            \"description\": \"Copies the selected rows to the clipboard. Set `includeHeaders = true` to include the headers (default is `false`). Set `columnKeys` to the list of columns if you want just specific columns.\"\n        },\n        \"addAggFunc(key, aggFunc), addAggFuncs(aggFuncs), clearAggFuncs()\": {\n            \"description\": \"Adding and clearing of aggregation functions.\"\n        },\n        \"hidePopupMenu()\": {\n            \"description\": \"Hides any showing <a href='../context-menu/'>context menu</a> or <a href='../column-menu/'>column menu</a>.\"\n        },\n        \"setEnableCellTextSelection()\": {\n            \"description\": \"Sets the `enableCellTextSelection` property.\"\n        },\n        \"setGridAutoHeight(value)\": {\n            \"description\": \"Sets the `gridAutoHeight` property.\"\n        },\n        \"isAnimationFrameQueueEmpty()\": {\n            \"description\": \"Returns `true` when there are no more animation frames left to process.\"\n        },\n        \"refreshServerSideStore(params)\": {\n            \"description\": \"Refresh a server-side store.\",\n            \"more\": {\n                \"name\": \"Purging Groups\",\n                \"url\": \"../server-side-model-refresh/\"\n            }\n        },\n        \"getServerSideStoreState(route)\": {\n            \"description\": \"Returns info on all server side stores.\",\n            \"more\": {\n                \"name\": \"Store State\",\n                \"url\": \"../server-side-model-grouping/#store-state--store-info\"\n            }\n        },\n        \"retryServerSideLoads()\": {\n            \"description\": \"Gets all failed server side loads to retry.\",\n            \"more\": {\n                \"name\": \"Retry Loads\",\n                \"url\": \"../server-side-model-retry/\"\n            }\n        },\n        \"setFillHandleDirection(direction)\": {\n            \"description\": \"Sets the preferred direction for the selection fill handle.\",\n            \"more\": {\n                \"name\": \"Fill Handle\",\n                \"url\": \"../range-selection-fill-handle/\"\n            }\n        },\n        \"setGridAriaProperty(property, value)\": {\n            \"description\": \"Sets an aria property in the grid panel (element with role=\\\"grid\\\"), and removes an aria property when the value is null.<br><br> Example:<br>`api.setGridAriaProperty('label', 'my grid')` will set <strong>aria-label=\\\"my grid\\\"</strong>.<br>`api.setGridAriaProperty('label, null)` will remove the <strong>aria-label</strong> attribute form the grid element.\"\n        }\n    }\n}"}},{"relativePath":"grid-events/events.json","internal":{"content":"{\n    \"selection\": {\n        \"meta\": {\n            \"displayName\": \"Selection\"\n        },\n        \"cellClicked\": {\n            \"description\": \"Cell is clicked.\"\n        },\n        \"cellDoubleClicked\": {\n            \"description\": \"Cell is double clicked.\"\n        },\n        \"cellFocused\": {\n            \"description\": \"Cell is focused.\"\n        },\n        \"cellMouseOver\": {\n            \"description\": \"Mouse entered cell.\"\n        },\n        \"cellMouseOut\": {\n            \"description\": \"Mouse left cell.\"\n        },\n        \"cellMouseDown\": {\n            \"description\": \"Mouse down on cell.\"\n        },\n        \"rowClicked\": {\n            \"description\": \"Row is clicked.\"\n        },\n        \"rowDoubleClicked\": {\n            \"description\": \"Row is double clicked.\"\n        },\n        \"rowSelected\": {\n            \"description\": \"Row is selected or deselected.\"\n        },\n        \"selectionChanged\": {\n            \"description\": \"Row selection is changed. Use the grid API to get the new row selected.\"\n        },\n        \"cellContextMenu\": {\n            \"description\": \"Cell is right clicked.\"\n        },\n        \"rangeSelectionChanged\": {\n            \"description\": \"A change to range selection has occurred.\"\n        }\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Editing\"\n        },\n        \"cellValueChanged\": {\n            \"description\": \"Value has changed after editing.\"\n        },\n        \"rowValueChanged\": {\n            \"description\": \"A cell's value within a row has changed. This event corresponds to <a href='../cell-editing/#full-row-editing'>Full Row Editing</a> only.\"\n        },\n        \"cellEditingStarted\": {\n            \"description\": \"Editing a cell has started.\"\n        },\n        \"cellEditingStopped\": {\n            \"description\": \"Editing a cell has stopped.\"\n        },\n        \"rowEditingStarted\": {\n            \"description\": \"Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and <code>cellEditingStarted</code> will be fired for each individual cell. This event corresponds to <a href='../cell-editing/#full-row-editing'>Full Row Editing</a> only.\"\n        },\n        \"rowEditingStopped\": {\n            \"description\": \"Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and <code>cellEditingStopped</code> will be fired for each individual cell. This event corresponds to <a href='../cell-editing/#full-row-editing'>Full Row Editing</a> only.\"\n        },\n        \"pasteStart\": {\n            \"description\": \"Paste operation has started.\",\n            \"more\": {\n                \"name\": \"Clipboard Events\",\n                \"url\": \"../clipboard/#clipboard-events\"\n            }\n        },\n        \"pasteEnd\": {\n            \"description\": \"Paste operation has ended.\",\n            \"more\": {\n                \"name\": \"Clipboard Events\",\n                \"url\": \"../clipboard/#clipboard-events\"\n            }\n        }\n    },\n    \"sortFilter\": {\n        \"meta\": {\n            \"displayName\": \"Sort and Filter\"\n        },\n        \"sortChanged\": {\n            \"description\": \"Sort has changed. The grid also listens for this and updates the model.\"\n        },\n        \"filterChanged\": {\n            \"description\": \"Filter has been modified and applied.\"\n        },\n        \"filterModified\": {\n            \"description\": \"Filter was modified but not applied. Used when filters have 'Apply' buttons.\"\n        }\n    },\n    \"rowDragDrop\": {\n        \"meta\": {\n            \"displayName\": \"Row Drag and Drop\"\n        },\n        \"rowDragEnter\": {\n            \"description\": \"A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid.\"\n        },\n        \"rowDragMove\": {\n            \"description\": \"The mouse has moved while dragging.\"\n        },\n        \"rowDragLeave\": {\n            \"description\": \"The mouse has left the grid while dragging.\"\n        },\n        \"rowDragEnd\": {\n            \"description\": \"The drag has finished over the grid.\"\n        }\n    },\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Columns\"\n        },\n        \"columnVisible\": {\n            \"description\": \"A column, or group of columns, was hidden / shown.\"\n        },\n        \"columnPinned\": {\n            \"description\": \"A column, or group of columns, was pinned / unpinned.\"\n        },\n        \"columnResized\": {\n            \"description\": \"A column was resized.\"\n        },\n        \"columnMoved\": {\n            \"description\": \"A column was moved. To find out when the column move is finished you can use the <code>dragStopped</code> event below.\"\n        },\n        \"columnRowGroupChanged\": {\n            \"description\": \"A row group column was added or removed.\"\n        },\n        \"columnValueChanged\": {\n            \"description\": \"A value column was added or removed.\"\n        },\n        \"columnPivotModeChanged\": {\n            \"description\": \"The pivot mode flag was changed.\"\n        },\n        \"columnPivotChanged\": {\n            \"description\": \"A pivot column was added, removed or order changed.\"\n        },\n        \"columnGroupOpened\": {\n            \"description\": \"A column group was opened / closed.\"\n        },\n        \"newColumnsLoaded\": {\n            \"description\": \"User set new columns.\"\n        },\n        \"gridColumnsChanged\": {\n            \"description\": \"The list of grid columns changed.\"\n        },\n        \"displayedColumnsChanged\": {\n            \"description\": \"The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc.\"\n        },\n        \"virtualColumnsChanged\": {\n            \"description\": \"The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default).\"\n        },\n        \"columnEverythingChanged\": {\n            \"description\": \"Shotgun - gets called when either a) new columns are set or b) <code>columnApi.setState()</code> is used, so everything has changed.\"\n        }\n    },\n    \"miscellaneous\": {\n        \"meta\": {\n            \"displayName\": \"Miscellaneous\"\n        },\n        \"gridReady\": {\n            \"description\": \"The grid has initialised. The name <code>'ready'</code> was influenced by the author's time programming the Commodore 64. Use this event if, for example, you need to use the grid's API to fix the columns to size.\"\n        },\n        \"gridSizeChanged\": {\n            \"description\": \"The size of the grid <code>div</code> has changed. In other words, the grid was resized.\"\n        },\n        \"modelUpdated\": {\n            \"description\": \"Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events.\"\n        },\n        \"firstDataRendered\": {\n            \"description\": \"Fired the first time data is rendered into the grid.\"\n        },\n        \"rowGroupOpened\": {\n            \"description\": \"A row group was opened or closed.\"\n        },\n        \"expandOrCollapseAll\": {\n            \"description\": \"Fired when calling either of the API methods <code>expandAll()</code> or <code>collapseAll()</code>.\"\n        },\n        \"paginationChanged\": {\n            \"description\": \"<p>Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:</p><ul class='content'><li>The page size changes</li><li>The current shown page is changed</li><li>New data is loaded onto the grid</li></ul>\"\n        },\n        \"pinnedRowDataChanged\": {\n            \"description\": \"The client has set new pinned row data into the grid.\"\n        },\n        \"virtualRowRemoved\": {\n            \"description\": \"A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row.\"\n        },\n        \"viewportChanged\": {\n            \"description\": \"Which rows are rendered in the DOM has changed.\"\n        },\n        \"bodyScroll\": {\n            \"description\": \"The body was scrolled horizontally or vertically.\"\n        },\n        \"dragStarted\": {\n            \"description\": \"When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc.\"\n        },\n        \" dragStopped\": {\n            \"description\": \"When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc.\"\n        },\n        \"rowDataChanged\": {\n            \"description\": \"The client has set new data into the grid using <code>api.setRowData()</code> or by changing the <code>rowData</code> bound property.\"\n        },\n        \"rowDataUpdated\": {\n            \"description\": \"The client has updated data for the grid using <code>api.applyTransaction(transaction)</code> or by changing the <code>rowData</code> bound property with <code>immutableData=true</code>.\"\n        },\n        \"toolPanelVisibleChanged\": {\n            \"description\": \"The tool panel was hidden or shown. Use <code>api.isToolPanelShowing()</code> to get status.\"\n        },\n        \"componentStateChanged\": {\n            \"description\": \"Only used by React, Angular and VueJS AG Grid components (not used if doing plain JavaScript or Angular 1.x). If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\"\n        },\n        \"animationQueueEmpty\": {\n            \"description\": \"The grid draws rows and cells using animation frames. This event gets fired when the animation frame queue is empty. Normally used in conjunction with <code>api.isAnimationFrameQueueEmpty()</code> so user can check if animation frame is pending, and if so then can be notified when no animation frames are pending. Useful if your application needs to know when drawing of the grid is no longer pending, e.g. for sending to a printer.\"\n        },\n        \"AsyncTransactionsFlushed\": {\n            \"description\": \"Async transactions have been applied. Contains a list of all transaction results.\"\n        },\n        \"cellKeyDown\": {\n            \"description\": \"DOM event <code>keyDown</code> happened on a cell.\",\n            \"more\": {\n                \"name\": \"Keyboard Events\",\n                \"url\": \"../keyboard-navigation/#keyboard-events\"\n            }\n        },\n        \"cellKeyPress\": {\n            \"description\": \"DOM event keyPress happened on a cell.\",\n            \"more\": {\n                \"name\": \"Keyboard Events\",\n                \"url\": \"../keyboard-navigation/#keyboard-events\"\n            }\n        }\n    }\n}\n"}},{"relativePath":"grid-properties/properties.json","internal":{"content":"{\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Columns\"\n        },\n        \"columnDefs\": {\n            \"description\": \"Array of <a href='../column-definitions/'>Column Definitions</a>.\"\n        },\n        \"defaultColDef\": {\n            \"description\": \"A <a href='../column-definitions/#default-column-definitions'>default column</a> definition.\"\n        },\n        \"defaultColGroupDef\": {\n            \"description\": \"A <a href='../column-definitions/#default-column-definitions'>default column group</a> definition. All column group definitions will use these properties. Items defined in the actual column group  definition get precedence.\"\n        },\n        \"columnTypes\": {\n            \"description\": \"An object map of <a href='../column-definitions/#default-column-definitions'>custom column types</a> which contain groups of properties that column definitions can inherit.\"\n        },\n        \"colResizeDefault\": {\n            \"description\": \"Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing).\"\n        },\n        \"suppressAutoSize\": {\n            \"default\": false,\n            \"description\": \"Suppresses <a href='../column-sizing/#auto-size-columns'>auto-sizing columns</a> for columns. In other words, double clicking a column's header's edge will not auto-size.\"\n        },\n        \"autoSizePadding\": {\n            \"default\": 4,\n            \"description\": \"Number of pixels to add to a column width after the <a href='../column-sizing/#auto-size-columns'>auto-sizing</a> calculation. Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\"\n        },\n        \"skipHeaderOnAutoSize\": {\n            \"default\": false,\n            \"description\": \"Set this to `true` to skip the `headerName` when `autoSize` is called by default.\",\n            \"more\": {\n                \"name\": \"Resizing Example\",\n                \"url\": \"../column-sizing/#resizing-example\"\n            }\n        },\n        \"suppressColumnMoveAnimation\": {\n            \"default\": false,\n            \"description\": \"If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default <a href='../themes/'>themes</a>, this results in no animation when moving columns.\"\n        },\n        \"suppressMovableColumns\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to suppress column moving, i.e. to make the columns fixed position.\"\n        },\n        \"suppressFieldDotNotation\": {\n            \"default\": false,\n            \"description\": \"If `true`, then dots in field names (e.g. `address.firstline`) are not treated as deep references. Allows you to use dots in your field name if you prefer.\"\n        },\n        \"unSortIcon\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to show the 'no sort' icon.\",\n            \"more\": {\n                \"name\": \"Example Custom Sorting\",\n                \"url\": \"../row-sorting/#example-custom-sorting\"\n            }\n        },\n        \"suppressMultiSort\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to suppress multi-sort when the user shift-clicks a column header.\"\n        },\n        \"suppressMenuHide\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header.\"\n        },\n        \"autoGroupColumnDef\": {\n            \"description\": \"Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column def is included as the first column definition in the grid. If not grouping, this column is not included.\"\n        },\n        \"allowDragFromColumnsToolPanel\": {\n            \"default\": false,\n            \"description\": \"Allow reordering and pinning columns by dragging columns from the columns tool panel to the grid.\"\n        },\n        \"applyColumnDefOrder\": {\n            \"default\": false,\n            \"description\": \"Sorts the grid columns in the order of Column Definitions after Column Definitions are updated.\",\n            \"more\": {\n                \"name\": \"Apply Column Order\",\n                \"url\": \"../column-updating-definitions/#applying-column-order\"\n            }\n        }\n    },\n    \"sortFilter\": {\n        \"meta\": {\n            \"displayName\": \"Sort and Filter\"\n        },\n        \"quickFilterText\": {\n            \"description\": \"Rows are filtered using this text as a <a href='../filter-quick/'>quick filter</a>.\"\n        },\n        \"cacheQuickFilter\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to turn on the <a href='../filter-quick/#quick-filter-cache'> quick filter cache</a>, used for a performance gain when using the quick filter.\"\n        },\n        \"sortingOrder\": {\n            \"description\": \"Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`.\",\n            \"more\": {\n                \"name\": \"Example Sorting Order and Animation\",\n                \"url\": \"../row-sorting/#example-sorting-order-and-animation\"\n            }\n        },\n        \"accentedSort\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to specify that the sort should take into account accented characters. If this feature is turned on the sort will perform slower.\",\n            \"more\": {\n                \"name\": \"Accented Sort\",\n                \"url\": \"../row-sorting/#accented-sort\"\n            }\n        },\n        \"multiSortKey\": {\n            \"description\": \"Set to `'ctrl'` to have multi sorting work using the `Ctrl` or `Command` (for Apple) keys.\",\n            \"more\": {\n                \"name\": \"Multi Column Sorting\",\n                \"url\": \"../row-sorting/#multi-column-sorting\"\n            }\n        },\n        \"suppressMaintainUnsortedOrder\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to suppress sorting of un-sorted data to match original row data.\",\n            \"more\": {\n                \"name\": \"Big Data Small Transactions\",\n                \"url\": \"../immutable-data/\"\n            }\n        },\n        \"excludeChildrenWhenTreeDataFiltering\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results.\",\n            \"more\": {\n                \"name\": \"Tree Data Filtering\",\n                \"url\": \"../tree-data/#tree-data-filtering\"\n            }\n        }\n    },\n    \"selection\": {\n        \"meta\": {\n            \"displayName\": \"Selection\"\n        },\n        \"rowSelection\": {\n            \"options\": [\n                \"single\",\n                \"multiple\"\n            ],\n            \"description\": \"Type of <a href='../row-selection/'>Row Selection</a>.\"\n        },\n        \"rowMultiSelectWithClick\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to allow multiple rows to be selected using single click.\",\n            \"more\": {\n                \"name\": \"Multi Select Single Click\",\n                \"url\": \"../row-selection/#example-multi-select-with-click\"\n            }\n        },\n        \"suppressRowDeselection\": {\n            \"default\": false,\n            \"description\": \"If `true` then rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`.\"\n        },\n        \"suppressRowClickSelection\": {\n            \"default\": false,\n            \"description\": \"If `true`, <a href='../row-selection/'>row selection</a> won't happen when rows are clicked. Use when you want checkbox selection exclusively.\"\n        },\n        \"suppressCellSelection\": {\n            \"default\": false,\n            \"description\": \"If `true`, cells won't be selectable. This means cells will not get keyboard focus when you click on them.\"\n        },\n        \"enableRangeSelection\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable <a href='../range-selection/'>Range Selection</a>.\"\n        },\n        \"enableRangeHandle\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable <a href='../range-selection-handle/'>Range Handle</a>\"\n        },\n        \"enableFillHandle\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable <a href='../range-selection-fill-handle/'>Fill Handle</a>\"\n        },\n        \"fillHandleDirection\": {\n            \"default\": \"xy\",\n            \"description\": \"Set to 'x' to force the fill handle direction to horizontal, or set it to 'y' to force the fill handle direction to vertical\"\n        },\n        \"suppressClearOnFillReduction\": {\n            \"default\": false,\n            \"description\": \"Set it to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle.\"\n        }\n    },\n    \"rowDragging\": {\n        \"meta\": {\n            \"displayName\": \"Row Dragging\"\n        },\n        \"rowDragManaged\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable <a href='../row-dragging/#managed-dragging'>Managed Row Dragging</a>.\"\n        },\n        \"suppressRowDrag\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to suppress <a href='../row-dragging/'>Row Dragging</a>.\"\n        },\n        \"suppressMoveWhenRowDragging\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up.\",\n            \"more\": {\n                \"name\": \"Row Dragging\",\n                \"url\": \"../row-dragging/\"\n            }\n        }\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Editing\"\n        },\n        \"singleClickEdit\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable <a href='../cell-editing/#single-click-editing'>Single Click Editing</a> for cells, to start editing with a single click.\"\n        },\n        \"suppressClickEdit\": {\n            \"default\": false,\n            \"description\": \"Set to `true` so that neither single nor double click starts editing.\",\n            \"more\": {\n                \"name\": \"Single Click, Double Click, No Click Editing\",\n                \"url\": \"../cell-editing/#single-click-double-click-no-click-editing\"\n            }\n        },\n        \"editType\": {\n            \"description\": \"Set to `'fullRow'` to enable <a href='../cell-editing/#full-row-editing'>Full Row Editing</a>. Otherwise leave blank to edit one cell at a time.\"\n        },\n        \"enableCellChangeFlash\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to have cells flash after data changes.\",\n            \"more\": {\n                \"name\": \"Flashing Data Changes\",\n                \"url\": \"../flashing-cells/\"\n            }\n        },\n        \"cellFlashDelay\": {\n            \"default\": 500,\n            \"description\": \"To be used in combination with `enableCellChangeFlash`, this configuration will set delay in ms of how long a cell should remain in its \\\"flashed\\n state.\"\n        },\n        \"cellFadeDelay\": {\n            \"default\": 1000,\n            \"description\": \"To be used in combination with `enableCellChangeFlash`, this configuration will set delay in ms of how long the \\\"flashed\\n state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\"\n        },\n        \"allowShowChangeAfterFilter\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to have cells flash after data changes even when the change is due to filtering.\",\n            \"more\": {\n                \"name\": \"Flashing Data Changes\",\n                \"url\": \"../flashing-cells/\"\n            }\n        },\n        \"stopEditingWhenGridLosesFocus\": {\n            \"default\": false,\n            \"description\": \"Set this to `true` to <a href='../cell-editing/#stop-editing-when-grid-loses-focus'> stop cell editing when grid loses focus</a>. The default is the grid stays editing until focus goes onto another cell. For inline (non-popup) editors only.\"\n        },\n        \"enterMovesDown<br />enterMovesDownAfterEdit\": {\n            \"default\": false,\n            \"description\": \"Set both properties to `true` to have Excel-style behaviour for the `Enter` key, i.e. <a href='../cell-editing/#enter-key-navigation'>enter key moves down</a>.\"\n        }\n    },\n    \"headers\": {\n        \"meta\": {\n            \"displayName\": \"Headers\"\n        },\n        \"headerHeight\": {\n            \"default\": 25,\n            \"description\": \"The height in pixels for the row containing the column label header.\",\n            \"more\": {\n                \"name\": \"Header Height\",\n                \"url\": \"../column-headers/#header-height\"\n            }\n        },\n        \"groupHeaderHeight\": {\n            \"description\": \"The height for the rows containing header column groups. If not specified, it uses `headerHeight`.\",\n            \"more\": {\n                \"name\": \"Header Height\",\n                \"url\": \"../column-headers/#header-height\"\n            }\n        },\n        \"floatingFiltersHeight\": {\n            \"default\": 20,\n            \"description\": \"The height for the row containing the floating filters.\",\n            \"more\": {\n                \"name\": \"Header Height\",\n                \"url\": \"../column-headers/#header-height\"\n            }\n        },\n        \"pivotHeaderHeight\": {\n            \"description\": \"The height for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`.\",\n            \"more\": {\n                \"name\": \"Header Height\",\n                \"url\": \"../column-headers/#header-height\"\n            }\n        },\n        \"pivotGroupHeaderHeight\": {\n            \"description\": \"The height for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`.\",\n            \"more\": {\n                \"name\": \"Header Height\",\n                \"url\": \"../column-headers/#header-height\"\n            }\n        }\n    },\n    \"rowGrouping\": {\n        \"meta\": {\n            \"displayName\": \"Row Grouping\"\n        },\n        \"groupUseEntireRow\": {\n            \"default\": false,\n            \"description\": \"Used when grouping. If `true`, a group row will span all columns across the entire width of the table. If `false`, the cells will be rendered as normal and you will have the opportunity to include a grouping column (normally the first on the left) to show the group.\",\n            \"more\": {\n                \"name\": \"Full Width Group Rows\",\n                \"url\": \"../grouping/#full-width-group-rows\"\n            }\n        },\n        \"groupDefaultExpanded\": {\n            \"default\": 0,\n            \"description\": \"If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything.\",\n            \"more\": {\n                \"name\": \"Removing Single Children\",\n                \"url\": \"../grouping/#removing-single-children\"\n            }\n        },\n        \"autoGroupColumnDef\": {\n            \"type\": \"ColumnDef\",\n            \"description\": \"Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column def is included as the first column definition in the grid. If not grouping, this column is not included.\",\n            \"more\": {\n                \"name\": \"Configuring the Auto Group Column\",\n                \"url\": \"../grouping/#auto-column-group\"\n            }\n        },\n        \"groupSuppressAutoColumn\": {\n            \"default\": false,\n            \"description\": \"If `true`, the grid will not swap in the grouping column when grouping is enabled. Use this if you want complete control on the column displayed and don't want the grid's help, in other words if you already have a column in your column definitions that is responsible for displaying the groups.\",\n            \"more\": {\n                \"name\": \"Configuring the Auto Group Column\",\n                \"url\": \"../grouping/#auto-column-group\"\n            }\n        },\n        \"groupMultiAutoColumn\": {\n            \"default\": false,\n            \"description\": \"If using auto column, set to `true` to have each group in its own separate column, e.g. if grouping by Country then Year, two auto columns will be created, one for Country and one for Year.\",\n            \"more\": {\n                \"name\": \"Multi Auto Column Group\",\n                \"url\": \"../grouping/#multi-auto-column-group\"\n            }\n        },\n        \"groupSelectsChildren\": {\n            \"default\": false,\n            \"description\": \"When `true`, if you select a group, the children of the group will also be selected.\",\n            \"more\": {\n                \"name\": \"Group Selection\",\n                \"url\": \"../row-selection/#group-selection\"\n            }\n        },\n        \"groupIncludeFooter\": {\n            \"default\": false,\n            \"description\": \"If grouping, whether to show a group footer when the group is expanded. If `true`, then by default,  the footer will contain aggregate data (if any) when shown and the header will be blank. When closed, the header will contain  the aggregate data regardless of this setting (as the footer is hidden anyway). This is handy for 'total' rows, that are  displayed below the data when the group is open, and alongside the group when it is closed\",\n            \"more\": {\n                \"name\": \"Grouping Footers\",\n                \"url\": \"../grouping/#grouping-footers\"\n            }\n        },\n        \"groupIncludeTotalFooter\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to show a 'grand' total group footer across all groups.\",\n            \"more\": {\n                \"name\": \"Grouping Footers\",\n                \"url\": \"../grouping/#grouping-footers\"\n            }\n        },\n        \"groupSuppressBlankHeader\": {\n            \"default\": false,\n            \"description\": \"If `true`, and showing footer, aggregate data will be displayed at both the header and footer levels always. This  stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand.\"\n        },\n        \"groupSelectsFiltered\": {\n            \"default\": false,\n            \"description\": \"If using `groupSelectsChildren`, then only the children that pass the current filter will get selected.\",\n            \"more\": {\n                \"name\": \"Group Selection\",\n                \"url\": \"../row-selection/#group-selection\"\n            }\n        },\n        \"showOpenedGroup\": {\n            \"default\": false,\n            \"description\": \"Shows the open group in the group column for non-group rows.\",\n            \"more\": {\n                \"name\": \"Showing Open Groups\",\n                \"url\": \"../grouping/#showing-open-groups\"\n            }\n        },\n        \"groupRemoveSingleChildren\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to collapse groups that only have one child.\",\n            \"more\": {\n                \"name\": \"Remove Single Children\",\n                \"url\": \"../grouping/#removing-single-children\"\n            }\n        },\n        \"groupRemoveLowestSingleChildren\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to collapse lowest level groups that only have one child.\",\n            \"more\": {\n                \"name\": \"Remove Single Children\",\n                \"url\": \"../grouping/#removing-single-children\"\n            }\n        },\n        \"groupHideOpenParents\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience.\",\n            \"more\": {\n                \"name\": \"Group Hide Open Parents\",\n                \"url\": \"../grouping/#hide-open-parents\"\n            }\n        },\n        \"rowGroupPanelShow\": {\n            \"default\": \"never\",\n            \"options\": [\n                \"never\",\n                \"always\",\n                \"onlyWhenGrouping\"\n            ],\n            \"description\": \"When to show the 'row group panel' (where you drag rows to group) at the top.\",\n            \"more\": {\n                \"name\": \"Column Tool Panel Example\",\n                \"url\": \"../tool-panel-columns/#column-tool-panel-example\"\n            }\n        }\n    },\n    \"rowPivoting\": {\n        \"meta\": {\n            \"displayName\": \"Row Pivoting\"\n        },\n        \"pivotMode\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable pivot mode.\",\n            \"more\": {\n                \"name\": \"Pivoting\",\n                \"url\": \"../pivoting/\"\n            }\n        },\n        \"pivotPanelShow\": {\n            \"default\": \"never\",\n            \"options\": [\n                \"never\",\n                \"always\",\n                \"onlyWhenPivoting\"\n            ],\n            \"description\": \"When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off.\"\n        },\n        \"suppressAggFuncInHeader\": {\n            \"default\": false,\n            \"description\": \"When `true`, column headers won't include the `aggFunc`, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`.\"\n        },\n        \"suppressAggAtRootLevel\": {\n            \"default\": false,\n            \"description\": \"When `true`, the aggregations won't be computed for root node of the grid.\",\n            \"more\": {\n                \"name\": \"Big Data Small Transactions\",\n                \"url\": \"../data-update-transactions/#example-small-changes-big-data\"\n            }\n        },\n        \"aggregateOnlyChangedColumns\": {\n            \"default\": false,\n            \"description\": \"When using <a href='../change-detection/#tree-path-selection'>change detection</a>, only the updated column with get re-aggregated.\"\n        },\n        \"functionsReadOnly\": {\n            \"default\": false,\n            \"description\": \"If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection.\",\n            \"more\": {\n                \"name\": \"Read Only Functions\",\n                \"url\": \"../tool-panel-columns/#read-only-functions\"\n            }\n        },\n        \"aggFuncs\": {\n            \"description\": \"A map of 'function name' to 'function' for custom aggregation functions.\",\n            \"more\": {\n                \"name\": \"Custom Aggregation Functions\",\n                \"url\": \"../aggregation/#custom-aggregation-functions\"\n            }\n        },\n        \"suppressAggFilteredOnly\": {\n            \"description\": \"Set to true so that aggregations are not impacted by filtering.\",\n            \"more\": {\n                \"name\": \"Custom Aggregation Functions\",\n                \"url\": \"../aggregation/#filtering\"\n            }\n        },\n        \"suppressMakeVisibleAfterUnGroup\": {\n            \"default\": false,\n            \"description\": \"By default, when a column is un-grouped it is made visible. e.g. on main demo: 1) group by country by dragging (action of moving column out of grid means column is made `visible=false`); then 2) un-group by clicking 'x' on the country column in the column drop zone; the column is then made `visible=true`. This property stops the column becoming visible again when un-grouping.\"\n        },\n        \"pivotColumnGroupTotals\": {\n            \"options\": [\n                \"before\",\n                \"after\"\n            ],\n            \"description\": \"When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups,in the position specified.\",\n            \"more\": {\n                \"name\": \"Pivot Column Group Totals\",\n                \"url\": \"../pivoting/#pivot-column-group-totals\"\n            }\n        },\n        \"pivotRowTotals\": {\n            \"options\": [\n                \"before\",\n                \"after\"\n            ],\n            \"description\": \"When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified.\",\n            \"more\": {\n                \"name\": \"Pivot Row Totals\",\n                \"url\": \"../pivoting/#pivot-row-totals\"\n            }\n        },\n        \"suppressExpandablePivotGroups\": {\n            \"default\": false,\n            \"description\": \"When enabled pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups.\",\n            \"more\": {\n                \"name\": \"Fixed Pivot Column Groups\",\n                \"url\": \"../pivoting/#fixed-pivot-column-groups\"\n            }\n        },\n        \"pivotSuppressAutoColumn\": {\n            \"default\": false,\n            \"description\": \"If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column.\"\n        }\n    },\n    \"rowModels\": {\n        \"meta\": {\n            \"displayName\": \"Data and Row Models\"\n        },\n        \"rowModelType\": {\n            \"default\": \"clientSide\",\n            \"options\": [\n                \"clientSide\",\n                \"infinite\",\n                \"viewport\",\n                \"serverSide\"\n            ],\n            \"description\": \"Sets the <a href='../row-models/'>Row Model</a> type.\"\n        },\n        \"rowData\": {\n            \"description\": \"(<a href='../client-side-model/'>Client-Side Row Model</a> only) Set the data to be displayed as rows in the grid.\"\n        },\n        \"immutableData\": {\n            \"description\": \"(<a href='../client-side-model/'>Client-Side Row Model</a> only) Enables <a href='../immutable-data/'>Immutable Data</a> mode, for compatibility with immutable stores.\"\n        },\n        \"suppressModelUpdateAfterUpdateTransaction\": {\n            \"description\": \"(<a href='../client-side-model/'></a> only) Prevents <a href='../data-update-transactions/'>Transactions</a> changing sort, filter, group or pivot state when transaction only contains updates.\"\n        },\n        \"pinnedTopRowData\": {\n            \"description\": \"Data to be displayed as <a href='../row-pinning/'>Pinned Top Rows</a> in the grid.\"\n        },\n        \"pinnedBottomRowData\": {\n            \"description\": \"Data to be displayed as <a href='../row-pinning/''>Pinned Bottom Rows</a> in the grid.\"\n        }\n    },\n    \"serverSideRowModel\": {\n        \"meta\": {\n            \"displayName\": \"Row Model: Server-Side\"\n        },\n        \"serverSideStoreType\": {\n            \"description\": \"Whether to use Full Store or Partial Store for storing rows. See <a href='../server-side-model-row-stores/'>Row Stores</a>\",\n            \"default\": \"full\",\n            \"options\": [\n                \"full\",\n                \"partial\"\n            ]\n        },\n        \"cacheBlockSize\": {\n            \"default\": 100,\n            \"description\": \"Partial Store Only - How many rows for each block in the store, i.e. how many rows returned from the server at a time.\"\n        },\n        \"maxBlocksInCache\": {\n            \"description\": \"Partial Store Only - how many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible - in case this property is set to low.\"\n        },\n        \"maxConcurrentDatasourceRequests\": {\n            \"default\": 1,\n            \"description\": \"How many requests to hit the server with concurrently. If the max is reached, requests are queued.\"\n        },\n        \"blockLoadDebounceMillis\": {\n            \"description\": \"How many milliseconds to wait before loading a block. Useful when scrolling over many rows, spanning many Partial Store blocks, as it prevents blocks loading until scrolling has settled.\"\n        },\n        \"purgeClosedRowNodes\": {\n            \"description\": \"When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read form the datasoruce again. This property only applies when there is <a href='../server-side-model-grouping/'>Row Grouping</a>.\"\n        },\n        \"serverSideSortingAlwaysResets\": {\n            \"description\": \"When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is <a href='../server-side-model-grouping/'>Row Grouping</a>.\"\n        },\n        \"serverSideFilteringAlwaysResets\": {\n            \"description\": \"When enabled, always refreshes stores after filter has changed. Use by Full Store only, to allow Server-Side Filtering.\"\n        }\n    },\n    \"viewportRowModel\": {\n        \"meta\": {\n            \"displayName\": \"Row Model: Viewport\"\n        },\n        \"viewportRowModelPageSize\": {\n            \"description\": \"When using `viewport` row model, sets the pages size for the viewport.\"\n        },\n        \"viewportRowModelBufferSize\": {\n            \"description\": \"When using `viewport` row model, sets the buffer size for the viewport.\"\n        },\n        \"viewportDatasource\": {\n            \"description\": \"To use the `viewport` row model you provide the grid with a `viewportDatasource`.\",\n            \"more\": {\n                \"name\": \"Viewport\",\n                \"url\": \"../viewport/\"\n            }\n        }\n    },\n    \"scrolling\": {\n        \"meta\": {\n            \"displayName\": \"Scrolling\"\n        },\n        \"alwaysShowHorizontalScroll\": { \n            \"default\": false,\n            \"description\": \"Set to `true` to always show the horizontal scrollbar.\"\n        },\n        \"alwaysShowVerticalScroll\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to always show the vertical scrollbar.\"\n        },\n        \"debounceVerticalScrollbar\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on older browsers, eg IE.\"\n        },\n        \"suppressHorizontalScroll\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Show not be used in combination with `alwaysShowHorizontalScroll`)\",\n            \"more\": {\n                \"name\": \"Aligned Grid as Footer\",\n                \"url\": \"../aligned-grids/#example-aligned-floating-footer\"\n            }\n        },\n        \"suppressColumnVirtualisation\": {\n            \"default\": false,\n            \"description\": \"Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered.\"\n        },\n        \"<span style='text-decoration: line-through'>suppressRowVirtualisation</span>\": {\n            \"description\": \"There is no such property as `suppressRowVirtualisation` - if you want to do this, then set the `rowBuffer` property to be very large, e.g. `9999`. <strong>Warning: lots of rendered rows will mean a very large amount of rendering in the DOM which will slow things down.</strong>\"\n        },\n        \"suppressMaxRenderedRowRestriction\": {\n            \"default\": false,\n            \"description\": \"By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).<br /><strong>This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen) or if your grid height is able to display more than 500 rows at once.</strong>\"\n        },\n        \"suppressScrollOnNewData\": {\n            \"default\": false,\n            \"description\": \"When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data.\"\n        },\n        \"suppressAnimationFrame\": {\n            \"default\": false,\n            \"description\": \"When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker.\"\n        }\n    },\n    \"pagination\": {\n        \"meta\": {\n            \"displayName\": \"Pagination\"\n        },\n        \"pagination\": {\n            \"default\": false,\n            \"description\": \"Set whether <a href='../row-pagination/'>Pagination</a> is enabled.\"\n        },\n        \"paginationPageSize\": {\n            \"default\": 100,\n            \"description\": \"How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored.\",\n            \"more\": {\n                \"name\": \"Customising Pagination\",\n                \"url\": \"../row-pagination/#example-customising-pagination\"\n            }\n        },\n        \"paginationAutoPageSize\": {\n            \"default\": false,\n            \"description\": \"Set to `true` so that the number of rows to load per page is automatically adjusted by AG Grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used.\",\n            \"more\": {\n                \"name\": \"Auto Page Size\",\n                \"url\": \"../row-pagination/#example-auto-page-size\"\n            }\n        },\n        \"suppressPaginationPanel\": {\n            \"default\": false,\n            \"description\": \"If `true`, the default AG Grid controls for navigation are hidden. This is useful if `pagination=true` and you want to provide your own pagination controls. Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\",\n            \"more\": {\n                \"name\": \"Custom Pagination Controls\",\n                \"url\": \"../row-pagination/#example-customising-pagination\"\n            }\n        },\n        \"paginateChildRows\": {\n            \"description\": \"Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail.\",\n            \"more\": {\n                \"name\": \"Pagination & Child Rows\",\n                \"url\": \"../row-pagination/#pagination--child-rows\"\n            }\n        }\n    },\n    \"fullWidthRenderers\": {\n        \"meta\": {\n            \"displayName\": \"Full Width Renderers\"\n        },\n        \"groupRowRenderer<br />groupRowRendererFramework<br />groupRowRendererParams\": {\n            \"description\": \"Sets the <a href='../component-cell-renderer/'>Cell Renderer</a> to use when `groupUseEntireRow=true`.\",\n            \"more\": {\n                \"name\": \"Row Grouping\",\n                \"url\": \"../grouping/#reference-callbacks\"\n            }\n        },\n        \"groupRowInnerRenderer<br />groupRowInnerRendererFramework\": {\n            \"description\": \"Sets the inner <a href='../component-cell-renderer/'>Cell Renderer</a> to use when `groupUseEntireRow=true`.\",\n            \"more\": {\n                \"name\": \"Row Grouping\",\n                \"url\": \"../grouping/#reference-callbacks\"\n            }\n        },\n        \"fullWidthCellRenderer<br />fullWidthCellRendererFramework<br />fullWidthCellRendererParams\": {\n            \"description\": \"Sets the <a href='../component-cell-renderer/'>Cell Renderer</a> to use for <a href='../full-width-rows/'>Full Width Rows</a>.\"\n        }\n    },\n    \"masterDetail\": {\n        \"meta\": {\n            \"displayName\": \"Master Detail\"\n        },\n        \"masterDetail\": {\n            \"default\": false,\n            \"description\": \"Used to enable Master Detail.\",\n            \"more\": {\n                \"name\": \"Enabling Master Detail\",\n                \"url\": \"../master-detail/#enabling-master--detail\"\n            }\n        },\n        \"detailCellRendererParams\": {\n            \"description\": \"Specifies the params to be used by the default detail <a href='../component-cell-renderer'>Cell Renderer</a>.\",\n            \"more\": {\n                \"name\": \" DetailDetail Grids\",\n                \"url\": \"../master-detail-grids/\"\n            }\n        },\n        \"keepDetailRows\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to keep detail rows for when they are displayed again.\"\n        },\n        \"keepDetailRowsCount\": {\n            \"default\": 10,\n            \"description\": \"Sets the number of details rows to keep.\"\n        },\n        \"detailRowHeight\": {\n            \"description\": \"Set fixed height for each detail row.\"\n        }\n    },\n    \"renderingStyling\": {\n        \"meta\": {\n            \"displayName\": \"Rendering and Styling\"\n        },\n        \"icons\": {\n            \"description\": \"<a href='../custom-icons/'>Icons</a> to use inside the grid instead of the grid's default icons.\"\n        },\n        \"rowHeight\": {\n            \"default\": 25,\n            \"description\": \"Default <a href='../row-height/'>Row Height</a> in pixels.\"\n        },\n        \"animateRows\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to enable <a href='../row-animation/'>Row Animation</a>.\"\n        },\n        \"rowStyle\": {\n            \"description\": \"The style to give a particular row.\",\n            \"more\": {\n                \"name\": \"Row Style\",\n                \"url\": \"../row-styles/#row-style\"\n            }\n        },\n        \"rowClass\": {\n            \"description\": \"The class to give a particular row.\",\n            \"more\": {\n                \"name\": \"Row Class\",\n                \"url\": \"../row-styles/#row-class\"\n            }\n        },\n        \"rowClassRules\": {\n            \"description\": \"Rules which can be applied to include certain CSS classes. See <a href='../row-styles/#row-class-rules'>Row Class Rules</a>.\"\n        },\n        \"excelStyles\": {\n            \"description\": \"The list of Excel styles to be used when <a href='../excel-export/'>exporting to Excel</a>\"\n        },\n        \"scrollbarWidth\": {\n            \"description\": \"Tell the grid how wide the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations.\"\n        },\n        \"suppressRowHoverHighlight\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class.\"\n        }\n    },\n    \"clipboard\": {\n        \"meta\": {\n            \"displayName\": \"Clipboard\"\n        },\n        \"suppressCopyRowsToClipboard\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to only have the range selection, and not row selection, copied to <a href='../clipboard/'>clipboard</a>.\"\n        },\n        \"copyHeadersToClipboard\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to also include headers when copying to clipboard using `Ctrl + C` <a href='../clipboard/'>clipboard</a>.\"\n        },\n        \"clipboardDeliminator\": {\n            \"description\": \"Specify the deliminator to use when copying to <a href='../clipboard/'>clipboard</a>.\"\n        },\n        \"suppressFocusAfterRefresh\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser.\"\n        },\n        \"suppressLastEmptyLineOnPaste\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard.\"\n        },\n        \"enableCellTextSelection\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to be able to select the text within cells.<br /><strong>Note:</strong> When this is set to `true`, the clipboard service is disabled.\"\n        }\n    },\n    \"localisation\": {\n        \"meta\": {\n            \"displayName\": \"Localisation\"\n        },\n        \"localeText<br />localeTextFunc\": {\n            \"description\": \"A map of key->value pairs for localising text within the grid.\",\n            \"more\": {\n                \"name\": \"Localisation\",\n                \"url\": \"../localisation/\"\n            }\n        }\n    },\n    \"overlays\": {\n        \"meta\": {\n            \"displayName\": \"Overlays\"\n        },\n        \"suppressLoadingOverlay\": {\n            \"default\": false,\n            \"description\": \"Disables the 'loading' <a href='../overlays/'>overlay</a>.\"\n        },\n        \"suppressNoRowsOverlay\": {\n            \"default\": false,\n            \"description\": \"Disables the 'no rows' <a href='../overlays/'>overlay</a>.\"\n        },\n        \"overlayLoadingTemplate\": {\n            \"description\": \"Provide a template for 'loading' <a href='../overlays/'>overlay</a>.\"\n        },\n        \"overlayNoRowsTemplate\": {\n            \"description\": \"Provide a template for 'no rows' <a href='../overlays/'>overlay</a>.\"\n        },\n        \"loadingOverlayComponent<br />loadingOverlayComponentFramework \": {\n            \"description\": \"Provide a custom <a href='../component-overlay/#loading-rows-overlay-interface'>loading overlay component</a>.\"\n        },\n        \"loadingOverlayComponentParams\": {\n            \"description\": \"Customise the parameters provided to the loading overlay component.\"\n        },\n        \"noRowsOverlayComponent<br />noRowsOverlayComponentFramework \": {\n            \"description\": \"Provide a custom <a href='../component-overlay/#no-rows-overlay-interface'>no rows overlay component</a>.\"\n        },\n        \"noRowsOverlayComponentParams\": {\n            \"description\": \"Customise the parameters provided to the no rows overlay component.\"\n        }\n    },\n    \"charts\": {\n        \"meta\": {\n            \"displayName\": \"Charts\"\n        },\n        \"enableCharts\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to <a href='../integrated-charts/#enabling-charts'>Enable Charts</a>.\"\n        },\n        \"chartThemes\": {\n            \"default\": [\n                \"ag-default\",\n                \"ag-material\",\n                \"ag-pastel\",\n                \"ag-vivid\",\n                \"ag-solar\"\n            ],\n            \"description\": \"The list of chart themes to be used, see <a href='../integrated-charts-customisation/#provided-themes'>Chart Themes</a>.\"\n        },\n        \"customChartThemes\": {\n            \"description\": \"A map containing custom chart themes, see <a href='../integrated-charts-customisation/#custom-chart-themes'>Custom Chart Themes</a>.\"\n        },\n        \"chartThemeOverrides\": {\n            \"description\": \"Chart theme overrides applied to all themes, see <a href='../integrated-charts-customisation/#overriding-existing-themes'>Overriding Existing Themes</a>.\"\n        }\n    },\n    \"components\": {\n        \"meta\": {\n            \"displayName\": \"Components\",\n            \"page\": {\n                \"name\": \"Components\",\n                \"url\": \"../components/\"\n            }\n        },\n        \"components\": {\n            \"description\": \"A map of component names to plain JavaScript components.\"\n        },\n        \"frameworkComponents\": {\n            \"description\": \"A map of component names to framework (React, Angular etc) components.\"\n        }\n    },\n    \"miscellaneous\": {\n        \"meta\": {\n            \"displayName\": \"Miscellaneous\"\n        },\n        \"popupParent\": {\n            \"description\": \"DOM element to use as <a href='../context-menu/#popup-parent'>popup parent</a> for grid popups (context menu, column menu etc).\"\n        },\n        \"valueCache\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to turn on the <a href='../value-getters/#value-cache-properties'>value cache</a>.\"\n        },\n        \"valueCacheNeverExpires\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to set <a href='../value-getters/#value-cache-properties'>value cache</a> to not expire after data updates.\"\n        },\n        \"defaultExportParams\": {\n            \"description\": \"A default configuration object used to export to <a href='../csv-export/'>CSV</a> or <a href='../excel-export/'>Excel</a>.\"\n        },\n        \"suppressMiddleClickScrolls\": {\n            \"default\": false,\n            \"description\": \"If `true`, then middle clicks will result in `click` events for cell and row. Otherwise the browser will use middle click to scroll the grid.<br /><strong>Note:</strong> Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function.\"\n        },\n        \"suppressPreventDefaultOnMouseWheel\": {\n            \"default\": false,\n            \"description\": \"If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page.\"\n        },\n        \"enableBrowserTooltips\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to use the browser's default tooltip instead of using AG Grid's Tooltip Component.\"\n        },\n        \"tooltipShowDelay\": {\n            \"default\": 2000,\n            \"description\": \"The delay in milliseconds that it takes for tooltips to show up once an element is hovered.<br /> <strong>Note:</strong> This property does not work if `enableBrowserTooltips` is `true`.\"\n        },\n        \"tooltipMouseTrack\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to have tooltips follow the cursor once they are displayed.\"\n        },\n        \"enableCellExpressions\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to allow <a href='../cell-expressions/#cell-expressions'>cell expressions</a>.\"\n        },\n        \"domLayout\": {\n            \"default\": \"normal\",\n            \"options\": [\n                \"normal\",\n                \"autoHeight\",\n                \"print\"\n            ],\n            \"description\": \"Switch between layout options. See <a href='../printing/'>Printing</a> and <a href='../grid-size/#grid-auto-height'>Auto Height</a>.\"\n        },\n        \"ensureDomOrder\": {\n            \"default\": false,\n            \"description\": \"When `true`, the order of rows and columns in the DOM are consistent with what is on screen.\",\n            \"more\": {\n                \"name\": \"Accessibility - Row and Column Order\",\n                \"url\": \"../accessibility/#ensure-dom-element-order\"\n            }\n        },\n        \"rowBuffer\": {\n            \"default\": 20,\n            \"description\": \"The number of rows rendered outside the scrollable viewable area the grid renders. Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\"\n        },\n        \"alignedGrids\": {\n            \"description\": \"A list of grids to treat as <a href='../aligned-grids/'>Aligned Grids</a>. If grids are aligned then the columns and horizontal scrolling will be kept in sync.\"\n        },\n        \"suppressParentsInRowNodes\": {\n            \"default\": false,\n            \"description\": \"If `true`, rowNodes don't get their parents set. The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree. If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\"\n        },\n        \"suppressDragLeaveHidesColumns\": {\n            \"default\": false,\n            \"description\": \"If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden.\"\n        },\n        \"layoutInterval\": {\n            \"default\": 500,\n            \"description\": \"The interval in milliseconds that the grid uses to periodically check its size and lay itself out again if the size has changed, such as when your browser changes size, or your application changes the size of the `div` element that the grid lives inside. To stop the periodic layout, set it to `-1`.\"\n        },\n        \"enableRtl\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to operate grid in <a href='../rtl/'>RTL (Right to Left)</a> mode.\"\n        },\n        \"debug\": {\n            \"default\": false,\n            \"description\": \"Set this to `true` to enable debug information from AG Grid and related components. Will result in additional logging being output, but very useful when investigating problems.\"\n        },\n        \"context\": {\n            \"description\": \"Provides a <a href='../context/'>context</a> object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application.\"\n        },\n        \"suppressContextMenu\": {\n            \"default\": false,\n            \"description\": \"Set to true to not show <a href='../context-menu/'>context menu</a>. Use if you don't want to use the default 'right click' context menu.\"\n        },\n        \"preventDefaultOnContextMenu\": {\n            \"default\": false,\n            \"description\": \"When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events. This flag is useful to prevent the browser from showing its default context menu.\"\n        },\n        \"allowContextMenuWithControlKey\": {\n            \"description\": \"Allows <a href='../context-menu/'>context menu</a> to show, even when `Ctrl` key is held down.\"\n        },\n        \"statusBar\": {\n            \"description\": \"Specifies the <a href='../status-bar/'>status bar</a> components to use in the status bar.\"\n        },\n        \"suppressTouch\": {\n            \"default\": false,\n            \"description\": \"Disables <a href='../touch/'>touch support</a> (but does not remove the browser's efforts to simulate mouse events on touch).\"\n        },\n        \"suppressAsyncEvents\": {\n            \"default\": false,\n            \"description\": \"Disables the async nature of the events introduced in v10, and makes them synchronous. This property is only introduced for the purpose of supporting legacy code which has a dependency to sync events in earlier versions (v9 or earlier) of AG Grid. <strong>It is strongly recommended that you don't change this property unless you have legacy issues.</strong>\"\n        },\n        \"suppressCsvExport\": {\n            \"default\": false,\n            \"description\": \"Prevents the user from exporting the grid to CSV.\"\n        },\n        \"suppressExcelExport\": {\n            \"default\": false,\n            \"description\": \"Prevents the user from exporting the grid to Excel.\"\n        },\n        \"asyncTransactionWaitMillis\": {\n            \"description\": \"How many milliseconds to wait before executing a <a href='../data-update-high-frequency/'>batch of async transactions</a>.\"\n        },\n        \"suppressPropertyNamesCheck\": {\n            \"default\": false,\n            \"description\": \"Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist.\"\n        },\n        \"suppressRowTransform\": {\n            \"default\": false,\n            \"description\": \"Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in <a href='../row-spanning/'>row spanning</a>.\"\n        },\n        \"serverSideSortingAlwaysResets\": {\n            \"default\": false,\n            \"description\": \"When `true`, a full reset will be performed when sorting using the <a href='../server-side-model/'>Server-Side Row Model</a>.\"\n        },\n        \"suppressBrowserResizeObserver\": {\n            \"default\": false,\n            \"description\": \"The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist.\"\n        }\n    }\n}"}},{"relativePath":"grid-callbacks/callbacks.json","internal":{"content":"{\n    \"callbacks\": {\n        \"meta\": {\n            \"displayName\": \"Callbacks\"\n        },\n        \"isExternalFilterPresent()\": {\n            \"description\": \"Grid calls this method to know if external filter is present.\"\n        },\n        \"doesExternalFilterPass(node)\": {\n            \"description\": \"Should return <code>true</code> if external filter passes, otherwise <code>false</code>.\"\n        },\n        \"getRowClass(params)\": {\n            \"description\": \"Callback version of property <code>rowClass</code>. Function should return a string or an array of strings.\"\n        },\n        \"getRowStyle(params)\": {\n            \"description\": \"Callback version of property <code>rowStyle</code>. Function should return an object of CSS values.\"\n        },\n        \"getRowHeight(params)\": {\n            \"description\": \"Callback version of property <code>rowHeight</code>. Function should return a positive number, or return <code>null</code>/<code>undefined</code> to use the default row height.\"\n        },\n        \"headerCellRenderer(params)\": {\n            \"description\": \"Provide a function for custom header rendering.\"\n        },\n        \"groupRowAggNodes(nodes)\": {\n            \"description\": \"Callback for grouping.\",\n            \"more\": {\n                \"name\": \"Row Grouping\",\n                \"url\": \"../grouping/#reference-callbacks\"\n            }\n        },\n        \"getBusinessKeyForNode(node)\": {\n            \"description\": \"Return a business key for the node. If implemented, each row in the DOM will have an attribute <code>row-id='abc'</code> where <code>abc</code> is what you return as the business key. This is useful for automated testing, as it provides a way for your tool to identify rules based on unique business keys.\"\n        },\n        \"getHeaderCellTemplate\": {\n            \"description\": \"Function to use instead of <code>headerCellTemplate</code>. Should return string or HTML DOM element.\"\n        },\n        \"getChildCount(data)\": {\n            \"description\": \"(For <a href='../server-side-model/'>Server-Side Row Model</a> only) Allows setting the child count for a group row.\"\n        },\n        \"processRowPostCreate(params)\": {\n            \"description\": \"Allows you to process rows after they are created, so you can do final adding of custom attributes etc.\"\n        },\n        \"getRowNodeId(data)\": {\n            \"description\": \"Allows you to set the ID for a particular row node based on the data. Useful for selection and server side sorting and filtering for paging and virtual pagination.\"\n        },\n        \"isFullWidthCell(rowNode)\": {\n            \"description\": \"Tells the grid if this row should be rendered using <a href='../master-detail/'>fullWidth</a>\"\n        },\n        \"isRowSelectable(rowNode)\": {\n            \"description\": \"Callback to be used to determine which rows are selectable. By default rows are selectable, so return <code>false</code> to make a row un-selectable.\",\n            \"more\": {\n                \"name\": \"Specify Selectable Rows\",\n                \"url\": \"../row-selection/#specify-selectable-rows\"\n            }\n        },\n        \"isRowMaster(dataItem)\": {\n            \"description\": \"Callback to be used with <a href='../master-detail/'>Master Detail</a> to determine if a row should be a master row. If <code>false</code> is returned no detail row will exist for this row.\"\n        },\n        \"postSort(rowNodes)\": {\n            \"description\": \"Callback to perform additional sorting after the grid has sorted the rows.\",\n            \"more\": {\n                \"name\": \"Post Sort\",\n                \"url\": \"../row-sorting/#post-sort\"\n            }\n        },\n        \"navigateToNextHeader(params)\": {\n            \"description\": \"Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused.\"\n        },\n        \"tabToNextHeader(params)\": {\n            \"description\": \"Allows overriding the default behaviour for when user hits tab key when a header is focused.\"\n        },\n        \"navigateToNextCell(params)\": {\n            \"description\": \"Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused.\"\n        },\n        \"tabToNextCell(params)\": {\n            \"description\": \"Allows overriding the default behaviour for when user hits tab key when a cell is focused.\"\n        },\n        \"getDocument()\": {\n            \"description\": \"Allows overriding what <code>document</code> is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different <code>document</code> than the one available on the global scope. This can happen if docking out components (something which Electron supports).\"\n        },\n        \"getContextMenuItems(params)\": {\n            \"description\": \"For customising the context menu.\"\n        },\n        \"getMainMenuItems(params)\": {\n            \"description\": \"For customising the main 'column header' menu.\"\n        },\n        \"processCellForClipboard(params)\": {\n            \"description\": \"Allows you to process cells for the clipboard. Handy if for example you have <code>Date</code> objects that need to have a particular format if importing into Excel.\"\n        },\n        \"processCellFromClipboard(params)\": {\n            \"description\": \"Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid.\"\n        },\n        \"sendToClipboard(params)\": {\n            \"description\": \"Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself.\"\n        },\n        \"processSecondaryColDef(colDef)\": {\n            \"description\": \"Callback to be used with pivoting, to allow changing the second column definition.\"\n        },\n        \"processSecondaryColGroupDef(colGroupDef)\": {\n            \"description\": \"Callback to be used with pivoting, to allow changing the second column group definition.\"\n        },\n        \"postProcessPopup(params)\": {\n            \"description\": \"Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup.\"\n        },\n        \"defaultGroupSortComparator(nodeA, nodeB)\": {\n            \"description\": \"Allows default sorting of groups.\",\n            \"more\": {\n                \"name\": \"Default Group Order\",\n                \"url\": \"../grouping/#default-group-order\"\n            }\n        },\n        \"processChartOptions(params)\": {\n            \"description\": \"Callback to be used to with charts to override default chart options.\",\n            \"more\": {\n                \"name\": \"Overriding Chart Options\",\n                \"url\": \"../integrated-charts-customisation/#example-common-chart-overrides\"\n            }\n        },\n        \"getChartToolbarItems(params)\": {\n            \"description\": \"Callback to be used to customise the chart toolbar items.\",\n            \"more\": {\n                \"name\": \"Configuring Toolbar Items\",\n                \"url\": \"../integrated-charts-toolbar/#configuring-toolbar-items-and-menu-panels\"\n            }\n        },\n        \"paginationNumberFormatter(params)\": {\n            \"description\": \"Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use <code>valueFormatter</code> in the column definitions.\"\n        },\n        \"getServerSideStoreParams(params)\": {\n            \"description\": \"Server-side Row Model only - allows providing different params for different levels of grouping.\"\n        },\n        \"isServerSideGroupOpenByDefault(params)\": {\n            \"description\": \"Server-side Row Model only - allows groups to be open by default.\"\n        },\n        \"isApplyServerSideTransaction(params)\": {\n            \"description\": \"Server-side Row Model only - allows cancelling transactions.\"\n        },\n        \"isServerSideGroup(data)\": {\n            \"description\": \"Server-side Row Model and Tree Data only - allows specifying which rows are expandable.\"\n        },\n        \"getServerSideGroupKey(data)\": {\n            \"description\": \"Server-side Row Model and Tree Data only - allows specifying group keys.\"\n        }\n    }\n}"}},{"relativePath":"licensing/menu.json","internal":{"content":"[\n  {\n    \"group\": \"Basics\",\n    \"items\": [\n      {\n        \"title\": \"Getting Started\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Tutorial\",\n            \"url\": \"/getting-started/\",\n            \"icon\": \"framework\",\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"Video Tutorial\",\n            \"url\": \"{video-tutorial}\",\n            \"icon\": \"youtube\",\n            \"menuHide\": true,\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"Plunker Example\",\n            \"url\": \"{example}\",\n            \"icon\": \"plunker\",\n            \"menuHide\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ],\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"Stackblitz Example\",\n            \"url\": \"{example}\",\n            \"icon\": \"stackblitz\",\n            \"menuHide\": true,\n            \"frameworks\": [\n              \"angular\",\n              \"react\",\n              \"vue\"\n            ],\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"Thinkster Course\",\n            \"url\": \"{thinkster}\",\n            \"icon\": \"thinkster\",\n            \"menuHide\": true,\n            \"frameworks\": [\n              \"angular\",\n              \"react\"\n            ],\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"AngularJS\",\n            \"icon\": \"angularjs\",\n            \"url\": \"/angularjs/\",\n            \"frameworks\": [\n              \"angular\"\n            ],\n            \"pane\": \"right\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Interface / API\",\n        \"icon\": \"icon-api\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Grid Interface\",\n            \"url\": \"/grid-interface/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Grid Properties\",\n                \"url\": \"/grid-properties/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Grid API\",\n                \"url\": \"/grid-api/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Grid Events\",\n                \"box-title\": \"Events\",\n                \"url\": \"/grid-events/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Grid Callbacks\",\n                \"url\": \"/grid-callbacks/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Row Object\",\n                \"url\": \"/row-object/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Column Interface\",\n            \"url\": \"/column-interface/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Column Properties\",\n                \"url\": \"/column-properties/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Column API\",\n                \"url\": \"/column-api/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Column Object\",\n                \"url\": \"/column-object/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Columns\",\n        \"icon\": \"icon-columns\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Column Definitions\",\n            \"box-title\": \"Definitions\",\n            \"url\": \"/column-definitions/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Updating Definitions\",\n            \"box-title\": \"State\",\n            \"url\": \"/column-updating-definitions/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column State\",\n            \"box-title\": \"State\",\n            \"url\": \"/column-state/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Headers\",\n            \"box-title\": \"Headers\",\n            \"url\": \"/column-headers/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Groups\",\n            \"box-title\": \"Groups\",\n            \"url\": \"/column-groups/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Sizing\",\n            \"box-title\": \"Sizing\",\n            \"url\": \"/column-sizing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Moving\",\n            \"box-title\": \"Moving\",\n            \"url\": \"/column-moving/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Pinning\",\n            \"box-title\": \"Pinning\",\n            \"url\": \"/column-pinning/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Spanning\",\n            \"box-title\": \"Spanning\",\n            \"url\": \"/column-spanning/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Rows\",\n        \"icon\": \"icon-rows\",\n        \"items\": [\n          {\n            \"title\": \"Row Sorting\",\n            \"box-title\": \"Sorting\",\n            \"url\": \"/row-sorting/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Spanning\",\n            \"box-title\": \"Spanning\",\n            \"url\": \"/row-spanning/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Pinning\",\n            \"box-title\": \"Pinning\",\n            \"url\": \"/row-pinning/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Height\",\n            \"box-title\": \"Height\",\n            \"url\": \"/row-height/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Full Width Rows\",\n            \"box-title\": \"Full Width\",\n            \"url\": \"/full-width-rows/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Animation\",\n            \"box-title\": \"Animation\",\n            \"url\": \"/row-animation/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Dragging\",\n            \"box-title\": \"Dragging\",\n            \"showInCollapsed\": true,\n            \"url\": \"/row-dragging/\",\n            \"items\": [\n              {\n                \"title\": \"External DropZone\",\n                \"url\": \"/row-dragging-to-external-dropzone/\"\n              },\n              {\n                \"title\": \"Grid to Grid\",\n                \"url\": \"/row-dragging-to-grid/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Build & Tooling\",\n        \"icon\": \"icon-information\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Install with NPM\",\n            \"url\": \"/npm/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ]\n          },\n          {\n            \"title\": \"Download Bundles\",\n            \"url\": \"/download/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ]\n          },\n          {\n            \"title\": \"SystemJS\",\n            \"url\": \"/systemjs/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Webpack 1\",\n            \"url\": \"/webpack/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Webpack 2\",\n            \"url\": \"/webpack-2/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Webpack 3\",\n            \"url\": \"/webpack-3/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Community & Enterprise\",\n            \"url\": \"/licensing/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Packages & Modules\",\n            \"url\": \"/packages-modules/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Packages\",\n                \"url\": \"/packages/\"\n              },\n              {\n                \"title\": \"Modules - Overview\",\n                \"url\": \"/modules/\"\n              },\n              {\n                \"title\": \"Modules - More Details\",\n                \"url\": \"/modules-more-details/\"\n              },\n              {\n                \"title\": \"Building\",\n                \"url\": \"/modules-building/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Supported Browsers\",\n            \"url\": \"/supported-browsers/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Building\",\n            \"url\": \"/building/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ],\n            \"items\": [\n              {\n                \"title\": \"Rollup\",\n                \"url\": \"/building-rollup/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              },\n              {\n                \"title\": \"TypeScript & Webpack\",\n                \"url\": \"/building-typescript/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              },\n              {\n                \"title\": \"AMD\",\n                \"url\": \"/building-amd/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"group\": \"Core Features\",\n    \"items\": [\n      {\n        \"title\": \"Layout & Styling\",\n        \"icon\": \"icon-style\",\n        \"items\": [\n          {\n            \"title\": \"Styling Rows\",\n            \"box-title\": \"Rows\",\n            \"url\": \"/row-styles/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Styling Cells\",\n            \"box-title\": \"Cells\",\n            \"url\": \"/cell-styles/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Themes\",\n            \"url\": \"/themes/\",\n            \"matrixExcludeChildren\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Provided Themes\",\n                \"url\": \"/themes-provided/\"\n              },\n              {\n                \"title\": \"Customising Themes\",\n                \"url\": \"/themes-customising/\"\n              },\n              {\n                \"title\": \"Migrating to v23+\",\n                \"url\": \"/themes-v23-migration/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Grid Size\",\n            \"url\": \"/grid-size/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Custom Icons\",\n            \"box-title\": \"Icons\",\n            \"url\": \"/custom-icons/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Printing\",\n            \"url\": \"/printing/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Client-Side Data\",\n        \"icon\": \"icon-data\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/client-side-model/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Accessing Data\",\n            \"url\": \"/accessing-data/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Updating Data\",\n            \"url\": \"/data-update/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Single Row / Cell\",\n                \"url\": \"/data-update-single-row-cell/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Transactions\",\n                \"url\": \"/data-update-transactions/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"High Frequency\",\n                \"url\": \"/data-update-high-frequency/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Immutable Data\",\n            \"url\": \"/immutable-data/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Context\",\n            \"url\": \"/context/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"frameworks\": [\n              \"angular\",\n              \"react\",\n              \"vue\"\n            ],\n            \"items\": [\n              {\n                \"title\": \"Use with RxJS\",\n                \"url\": \"/rxjs/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Server-Side Data\",\n        \"icon\": \"icon-data\",\n        \"items\": [\n          {\n            \"title\": \"Row Models\",\n            \"url\": \"/row-models/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Server-Side Row Model\",\n            \"url\": \"/server-side-model/\",\n            \"showInCollapsed\": true,\n            \"enterprise\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"Datasource\",\n                \"url\": \"/server-side-model-datasource/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Stores\",\n                \"url\": \"/server-side-model-row-stores/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Configuration\",\n                \"url\": \"/server-side-model-configuration/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Sorting\",\n                \"url\": \"/server-side-model-sorting/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Filtering\",\n                \"url\": \"/server-side-model-filtering/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Grouping\",\n                \"url\": \"/server-side-model-grouping/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Refresh\",\n                \"url\": \"/server-side-model-refresh/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Pivoting\",\n                \"url\": \"/server-side-model-pivoting/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Pagination\",\n                \"url\": \"/server-side-model-pagination/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Selection\",\n                \"url\": \"/server-side-model-selection/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Changing Columns\",\n                \"url\": \"/server-side-model-changing-columns/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Updating Data\",\n                \"url\": \"/server-side-model-updating/\",\n                \"enterprise\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Transactions\",\n                    \"url\": \"/server-side-model-transactions/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"High Frequency\",\n                    \"url\": \"/server-side-model-high-frequency/\",\n                    \"enterprise\": true\n                  }\n                ]\n              },\n              {\n                \"title\": \"Load Retry\",\n                \"url\": \"/server-side-model-retry/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Height\",\n                \"url\": \"/server-side-model-row-height/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Master Detail\",\n                \"url\": \"/server-side-model-master-detail/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Tree Data\",\n                \"url\": \"/server-side-model-tree-data/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"See Also\",\n                \"url\": \"\",\n                \"items\": [\n                  {\n                    \"title\": \"Using Node.js & MySQL\",\n                    \"url\": \"/server-side-operations-nodejs/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Using GraphQL & MySQL\",\n                    \"url\": \"/server-side-operations-graphql/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Using Java & Oracle\",\n                    \"url\": \"/server-side-operations-oracle/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Using Java & Apache Spark\",\n                    \"url\": \"/server-side-operations-spark/\",\n                    \"enterprise\": true\n                  }\n                ]\n              }\n            ]\n          },\n          {\n            \"title\": \"Infinite Row Model\",\n            \"url\": \"/infinite-scrolling/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Viewport Row Model\",\n            \"url\": \"/viewport/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Selection\",\n        \"icon\": \"icon-selection\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/selection-overview/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Selection\",\n            \"url\": \"/row-selection/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Range Selection\",\n            \"url\": \"/range-selection/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Range Handle\",\n                \"url\": \"/range-selection-handle/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Fill Handle\",\n                \"url\": \"/range-selection-fill-handle/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Filtering\",\n        \"icon\": \"icon-filter\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/filtering-overview/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Filters\",\n            \"url\": \"/filtering/\",\n            \"showInCollapsed\": false,\n            \"items\": [\n              {\n                \"title\": \"Provided Column Filters\",\n                \"url\": \"/filter-provided/\"\n              },\n              {\n                \"title\": \"Simple Column Filters\",\n                \"url\": \"/filter-provided-simple/\",\n                \"items\": [\n                  {\n                    \"title\": \"Text Filter\",\n                    \"url\": \"/filter-text/\",\n                    \"showInCollapsed\": true\n                  },\n                  {\n                    \"title\": \"Number Filter\",\n                    \"url\": \"/filter-number/\",\n                    \"showInCollapsed\": true\n                  },\n                  {\n                    \"title\": \"Date Filter\",\n                    \"url\": \"/filter-date/\",\n                    \"showInCollapsed\": true\n                  }\n                ]\n              },\n              {\n                \"title\": \"Set Filter\",\n                \"url\": \"/filter-set/\",\n                \"enterprise\": true,\n                \"matrixExcludeChildren\": true,\n                \"showInCollapsed\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Filter List\",\n                    \"url\": \"/filter-set-filter-list/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Data Updates\",\n                    \"url\": \"/filter-set-data-updates/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Mini Filter\",\n                    \"url\": \"/filter-set-mini-filter/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Excel Mode\",\n                    \"url\": \"/filter-set-excel-mode/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"API\",\n                    \"url\": \"/filter-set-api/\",\n                    \"enterprise\": true\n                  }\n                ]\n              },\n              {\n                \"title\": \"Multi Filter\",\n                \"url\": \"/filter-multi/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Filter API\",\n                \"url\": \"/filter-api/\"\n              },\n              {\n                \"title\": \"Floating Filters\",\n                \"url\": \"/floating-filters/\"\n              },\n              {\n                \"title\": \"Custom Filter\",\n                \"url\": \"/filter-custom/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"External Filter\",\n            \"url\": \"/filter-external/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Quick Filter\",\n            \"url\": \"/filter-quick/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Rendering\",\n        \"icon\": \"icon-render-cells\",\n        \"items\": [\n          {\n            \"title\": \"Cell Content\",\n            \"url\": \"/cell-content/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Value Getters\",\n                \"url\": \"/value-getters/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Value Formatters\",\n                \"url\": \"/value-formatters/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Expressions\",\n                \"url\": \"/cell-expressions/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Reference Data\",\n                \"url\": \"/reference-data/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Cell Rendering\",\n            \"url\": \"/cell-rendering/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Group Cell Renderer\",\n                \"url\": \"/group-cell-renderer/\"\n              },\n              {\n                \"title\": \"Change Cell Renderers\",\n                \"url\": \"/change-cell-renderers/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Rendering API\",\n            \"url\": \"/rendering-api/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"View Refresh\",\n            \"url\": \"/view-refresh/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Flashing Cells\",\n            \"url\": \"/flashing-cells/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Change Detection\",\n            \"url\": \"/change-detection/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"items\": [\n              {\n                \"title\": \"Expressions & Context\",\n                \"url\": \"/expressions-and-context/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Editing\",\n        \"icon\": \"icon-edit-cells\",\n        \"items\": [\n          {\n            \"title\": \"Cell Editing\",\n            \"url\": \"/cell-editing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Saving Content\",\n            \"url\": \"/saving-content/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Value Parsers\",\n                \"url\": \"/value-parsers/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Value Setters\",\n                \"url\": \"/value-setters/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Provided Editors\",\n            \"url\": \"/provided-cell-editors/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Undo / Redo Edits\",\n            \"url\": \"/undo-redo-edits/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Group & Pivot\",\n        \"icon\": \"icon-group\",\n        \"items\": [\n          {\n            \"title\": \"Row Grouping\",\n            \"url\": \"/grouping/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Master Detail\",\n            \"url\": \"/master-detail/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"Detail Grids\",\n                \"url\": \"/master-detail-grids/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Detail Height\",\n                \"url\": \"/master-detail-height/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Detail Refresh\",\n                \"url\": \"/master-detail-refresh/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Master Rows\",\n                \"url\": \"/master-detail-master-rows/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Nesting\",\n                \"url\": \"/master-detail-nesting/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Custom Detail\",\n                \"url\": \"/master-detail-custom-detail/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Other\",\n                \"url\": \"/master-detail-other/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              }\n            ]\n          },\n          {\n            \"title\": \"Tree Data\",\n            \"url\": \"/tree-data/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Aggregation\",\n            \"url\": \"/aggregation/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Pivoting\",\n            \"url\": \"/pivoting/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Import & Export\",\n        \"icon\": \"icon-import-export\",\n        \"items\": [\n          {\n            \"title\": \"Export\",\n            \"url\": \"/export/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"CSV Export\",\n                \"url\": \"/csv-export/\"\n              },\n              {\n                \"title\": \"Excel Export\",\n                \"url\": \"/excel-export/\",\n                \"enterprise\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Clipboard\",\n            \"url\": \"/clipboard/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Drag & Drop\",\n            \"url\": \"/drag-and-drop/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"items\": [\n              {\n                \"title\": \"Import Excel\",\n                \"url\": \"/excel-import/\"\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"group\": \"Extending the grid\",\n    \"items\": [\n      {\n        \"title\": \"Accessories\",\n        \"icon\": \"icon-accessories\",\n        \"level-2-display-style-forced\": \"block\",\n        \"items\": [\n          {\n            \"title\": \"Tool Panels\",\n            \"url\": \"/tool-panel/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Side Bar\",\n                \"url\": \"/side-bar/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Columns Tool Panel\",\n                \"url\": \"/tool-panel-columns/\",\n                \"showInCollapsed\": true,\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Filters Tool Panel\",\n                \"url\": \"/tool-panel-filters/\",\n                \"showInCollapsed\": true,\n                \"enterprise\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Column Menu\",\n            \"url\": \"/column-menu/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Context Menu\",\n            \"url\": \"/context-menu/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Status Bar\",\n            \"url\": \"/status-bar/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Overlays\",\n            \"url\": \"/overlays/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Components\",\n        \"icon\": \"icon-components\",\n        \"items\": [\n          {\n            \"title\": \"Registering Components\",\n            \"url\": \"/components/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Component Types\",\n            \"url\": \"/component-types/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Cell Renderer\",\n                \"box-title\": \"Cell\",\n                \"url\": \"/component-cell-renderer/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Cell Editor\",\n                \"box-title\": \"Editor\",\n                \"url\": \"/component-cell-editor/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Date Component\",\n                \"box-title\": \"Date\",\n                \"url\": \"/component-date/\"\n              },\n              {\n                \"title\": \"Filter Component\",\n                \"box-title\": \"Filter\",\n                \"url\": \"/component-filter/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Floating Filter Component\",\n                \"box-title\": \"Floating Filter\",\n                \"url\": \"/component-floating-filter/\"\n              },\n              {\n                \"title\": \"Header Component\",\n                \"box-title\": \"Header\",\n                \"url\": \"/component-header/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Loading Cell Renderer\",\n                \"box-title\": \"Loading\",\n                \"url\": \"/component-loading-cell-renderer/\"\n              },\n              {\n                \"title\": \"Overlay Component\",\n                \"box-title\": \"Overlays\",\n                \"url\": \"/component-overlay/\"\n              },\n              {\n                \"title\": \"Status Bar Component\",\n                \"box-title\": \"Status Bar\",\n                \"url\": \"/component-status-bar/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Tool Panel Component\",\n                \"box-title\": \"Tool Panel\",\n                \"url\": \"/component-tool-panel/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Tooltip Component\",\n                \"box-title\": \"Tooltip\",\n                \"url\": \"/component-tooltip/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Styling Components\",\n                \"box-title\": \"Tooltip\",\n                \"url\": \"/component-styling/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"react\"\n                ]\n              },\n              {\n                \"title\": \"Higher Order Components\",\n                \"url\": \"/framework-hoc/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"react\"\n                ]\n              },\n              {\n                \"title\": \"Hooks / Functional Components\",\n                \"url\": \"/react-hooks/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"react\"\n                ]\n              },\n              {\n                \"title\": \"Parent/Child Communication\",\n                \"url\": \"/component-communication/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"angular\",\n                  \"vue\"\n                ]\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Integrated Charts\",\n        \"icon\": \"icon-charts\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/integrated-charts/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Range Chart\",\n            \"url\": \"/integrated-charts-range-chart/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Pivot Chart\",\n            \"url\": \"/integrated-charts-pivot-chart/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Chart Toolbar\",\n            \"url\": \"/integrated-charts-toolbar/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Chart API\",\n            \"url\": \"/integrated-charts-api/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Customisation\",\n            \"url\": \"/integrated-charts-customisation/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Chart Container\",\n            \"url\": \"/integrated-charts-container/\",\n            \"enterprise\": true\n          },\n          {\n            \"title\": \"Cross Filtering\",\n            \"url\": \"/integrated-charts-cross-filtering/\",\n            \"enterprise\": true\n          },\n          {\n            \"title\": \"Time Series\",\n            \"url\": \"/integrated-charts-time-series/\",\n            \"enterprise\": true\n          },\n          {\n            \"title\": \"Chart Events\",\n            \"url\": \"/integrated-charts-events/\",\n            \"enterprise\": true\n          },\n          {\n            \"title\": \"Third-Party Charting\",\n            \"url\": \"/third-party-charting/\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Standalone Charts\",\n        \"icon\": \"icon-charts\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/charts-overview/\",\n            \"showInCollapsed\": true,\n            \"hideChildren\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"Bar/Column\",\n                \"url\": \"/charts-overview/#bar-column\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Bar\",\n                    \"url\": \"/charts-overview/gallery/simple-bar/\"\n                  },\n                  {\n                    \"title\": \"Grouped Bar\",\n                    \"url\": \"/charts-overview/gallery/grouped-bar/\"\n                  },\n                  {\n                    \"title\": \"Stacked Bar\",\n                    \"url\": \"/charts-overview/gallery/stacked-bar/\"\n                  },\n                  {\n                    \"title\": \"100% Stacked Bar\",\n                    \"url\": \"/charts-overview/gallery/100--stacked-bar/\"\n                  },\n                  {\n                    \"title\": \"Bar With Labels\",\n                    \"url\": \"/charts-overview/gallery/bar-with-labels/\"\n                  },\n                  {\n                    \"title\": \"Simple Column\",\n                    \"url\": \"/charts-overview/gallery/simple-column/\"\n                  },\n                  {\n                    \"title\": \"Grouped Column\",\n                    \"url\": \"/charts-overview/gallery/grouped-column/\"\n                  },\n                  {\n                    \"title\": \"Stacked Column\",\n                    \"url\": \"/charts-overview/gallery/stacked-column/\"\n                  },\n                  {\n                    \"title\": \"100% Stacked Column\",\n                    \"url\": \"/charts-overview/gallery/100--stacked-column/\"\n                  },\n                  {\n                    \"title\": \"Column With Negative Values\",\n                    \"url\": \"/charts-overview/gallery/column-with-negative-values/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Pie/Doughnut\",\n                \"url\": \"/charts-overview/#pie-doughnut\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Pie\",\n                    \"url\": \"/charts-overview/gallery/simple-pie/\"\n                  },\n                  {\n                    \"title\": \"Simple Doughnut\",\n                    \"url\": \"/charts-overview/gallery/simple-doughnut/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Line\",\n                \"url\": \"/charts-overview/#line\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Line\",\n                    \"url\": \"/charts-overview/gallery/simple-line/\"\n                  },\n                  {\n                    \"title\": \"Line With Gaps\",\n                    \"url\": \"/charts-overview/gallery/line-with-gaps/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Scatter/Bubble\",\n                \"url\": \"/charts-overview/#scatter-bubble\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Scatter\",\n                    \"url\": \"/charts-overview/gallery/simple-scatter/\"\n                  },\n                  {\n                    \"title\": \"Simple Bubble\",\n                    \"url\": \"/charts-overview/gallery/simple-bubble/\"\n                  },\n                  {\n                    \"title\": \"Bubble With Negative Values\",\n                    \"url\": \"/charts-overview/gallery/bubble-with-negative-values/\"\n                  },\n                  {\n                    \"title\": \"Bubble With Categories\",\n                    \"url\": \"/charts-overview/gallery/bubble-with-categories/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Area\",\n                \"url\": \"/charts-overview/#area\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Area\",\n                    \"url\": \"/charts-overview/gallery/simple-area/\"\n                  },\n                  {\n                    \"title\": \"Stacked Area\",\n                    \"url\": \"/charts-overview/gallery/stacked-area/\"\n                  },\n                  {\n                    \"title\": \"100% Stacked Area\",\n                    \"url\": \"/charts-overview/gallery/100--stacked-area/\"\n                  },\n                  {\n                    \"title\": \"Area With Negative Values\",\n                    \"url\": \"/charts-overview/gallery/area-with-negative-values/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Histogram\",\n                \"url\": \"/charts-overview/#histogram\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Histogram\",\n                    \"url\": \"/charts-overview/gallery/simple-histogram/\"\n                  },\n                  {\n                    \"title\": \"Histogram With Specified Bins\",\n                    \"url\": \"/charts-overview/gallery/histogram-with-specified-bins/\"\n                  },\n                  {\n                    \"title\": \"XY Histogram With Mean Aggregation\",\n                    \"url\": \"/charts-overview/gallery/xy-histogram-with-mean-aggregation/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Treemap\",\n                \"url\": \"/charts-overview/#treemap\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Market Index Treemap\",\n                    \"url\": \"/charts-overview/gallery/market-index-treemap/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Feature Highlights\",\n                \"url\": \"/charts-overview/#feature-highlights\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Time Axis With Irregular Intervals\",\n                    \"url\": \"/charts-overview/gallery/time-axis-with-irregular-intervals/\"\n                  },\n                  {\n                    \"title\": \"Real-Time Data Updates\",\n                    \"url\": \"/charts-overview/gallery/real-time-data-updates/\"\n                  },\n                  {\n                    \"title\": \"Combination of Different Series Types\",\n                    \"url\": \"/charts-overview/gallery/combination-of-different-series-types/\"\n                  },\n                  {\n                    \"title\": \"Chart Customisation\",\n                    \"url\": \"/charts-overview/gallery/chart-customisation/\"\n                  },\n                  {\n                    \"title\": \"Custom Marker Shapes\",\n                    \"url\": \"/charts-overview/gallery/custom-marker-shapes/\"\n                  },\n                  {\n                    \"title\": \"Custom Tooltips\",\n                    \"url\": \"/charts-overview/gallery/custom-tooltips/\"\n                  },\n                  {\n                    \"title\": \"Per-Marker Customisation\",\n                    \"url\": \"/charts-overview/gallery/per-marker-customisation/\"\n                  }\n                ]\n              }\n            ]\n          },\n          {\n            \"title\": \"Getting Started\",\n            \"url\": \"/charts-getting-started/\"\n          },\n          {\n            \"title\": \"API\",\n            \"isCategory\": true,\n            \"forceTopLevelSubItems\": true,\n            \"items\": [\n              {\n                \"title\": \"Options Reference\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api/\"\n              },\n              {\n                \"title\": \"Themes Reference\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api-themes/\"\n              },\n              {\n                \"title\": \"Explorer\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api-explorer/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Series\",\n            \"isCategory\": true,\n            \"items\": [\n              {\n                \"title\": \"Line\",\n                \"url\": \"/charts-line-series/\"\n              },\n              {\n                \"title\": \"Bar/Column\",\n                \"url\": \"/charts-bar-series/\"\n              },\n              {\n                \"title\": \"Histogram\",\n                \"url\": \"/charts-histogram-series/\"\n              },\n              {\n                \"title\": \"Area\",\n                \"url\": \"/charts-area-series/\"\n              },\n              {\n                \"title\": \"Scatter/Bubble\",\n                \"url\": \"/charts-scatter-series/\"\n              },\n              {\n                \"title\": \"Pie/Doughnut\",\n                \"url\": \"/charts-pie-series/\"\n              },\n              {\n                \"title\": \"Treemap\",\n                \"url\": \"/charts-treemap-series/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Features\",\n            \"isCategory\": true,\n            \"items\": [\n              {\n                \"title\": \"Layout\",\n                \"url\": \"/charts-layout/\"\n              },\n              {\n                \"title\": \"Legend\",\n                \"url\": \"/charts-legend/\"\n              },\n              {\n                \"title\": \"Themes\",\n                \"url\": \"/charts-themes/\"\n              },\n              {\n                \"title\": \"Navigator\",\n                \"url\": \"/charts-navigator/\"\n              },\n              {\n                \"title\": \"Markers\",\n                \"url\": \"/charts-markers/\"\n              },\n              {\n                \"title\": \"Formatters\",\n                \"url\": \"/charts-formatters/\"\n              },\n              {\n                \"title\": \"Tooltips\",\n                \"url\": \"/charts-tooltips/\"\n              },\n              {\n                \"title\": \"Axes\",\n                \"url\": \"/charts-axes/\"\n              },\n              {\n                \"title\": \"Events\",\n                \"url\": \"/charts-events/\"\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"group\": \"Other\",\n    \"items\": [\n      {\n        \"title\": \"Scrolling\",\n        \"icon\": \"icon-scroll\",\n        \"items\": [\n          {\n            \"title\": \"DOM Virtualisation\",\n            \"url\": \"/dom-virtualisation/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Pagination\",\n            \"url\": \"/row-pagination/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Aligned Grids\",\n            \"url\": \"/aligned-grids/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Scrolling Performance\",\n            \"url\": \"/scrolling-performance/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"items\": [\n              {\n                \"title\": \"Scrolling Scenarios\",\n                \"url\": \"/scrolling-scenarios/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Interactivity\",\n        \"icon\": \"icon-interactivity\",\n        \"items\": [\n          {\n            \"title\": \"Keyboard Navigation\",\n            \"url\": \"/keyboard-navigation/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Touch\",\n            \"url\": \"/touch/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Accessibility (ARIA)\",\n            \"url\": \"/accessibility/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"RTL Text Direction\",\n            \"url\": \"/rtl/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Localisation\",\n            \"url\": \"/localisation/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Testing & Security\",\n        \"icon\": \"icon-test\",\n        \"matrixExcludeChildren\": true,\n        \"level-2-display-style-forced\": \"block\",\n        \"items\": [\n          {\n            \"title\": \"Testing\",\n            \"url\": \"/testing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Security\",\n            \"url\": \"/security/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Miscellaneous\",\n        \"icon\": \"icon-misc\",\n        \"matrixExcludeChildren\": true,\n        \"level-2-display-style-forced\": \"block\",\n        \"items\": [\n          {\n            \"title\": \"Unidirectional Data Flow\",\n            \"url\": \"/framework-data-flow/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"vue\"\n            ]\n          },\n          {\n            \"title\": \"Fine Tuning\",\n            \"url\": \"/fine-tuning/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Redux Integration Part 1\",\n            \"url\": \"/redux-integration-pt1/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Redux Integration Part 2\",\n            \"url\": \"/redux-integration-pt2/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Material UI Components\",\n            \"url\": \"/material-design/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Use with RxJS\",\n            \"url\": \"/angular-rxjs/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Miscellaneous\",\n            \"url\": \"/framework-misc/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"vue\"\n            ]\n          }\n        ]\n      }\n    ]\n  }\n]"}},{"relativePath":"modules/modules.json","internal":{"content":"[\n  {\n    \"title\": \"All Community Modules <sup>(!)</sup>\",\n    \"module\": \"@ag-grid-community/all-modules\",\n    \"exported\": \"All Community Modules\"\n  },\n  {\n    \"title\": \"Grid Core\",\n    \"module\": \"@ag-grid-community/core\",\n    \"exported\": \"Core Grid Components: GridOptions, ColDef etc\"\n  },\n  {\n    \"title\": \"Client Side Row Model\",\n    \"shortname\": \"clientside\",\n    \"module\": \"@ag-grid-community/client-side-row-model\",\n    \"exported\": \"ClientSideRowModelModule\"\n  },\n  {\n    \"title\": \"Infinite Row Model\",\n    \"shortname\": \"infinite\",\n    \"module\": \"@ag-grid-community/infinite-row-model\",\n    \"exported\": \"InfiniteRowModelModule\"\n  },\n  {\n    \"title\": \"CSV Export\",\n    \"shortname\": \"csv\",\n    \"module\": \"@ag-grid-community/csv-export\",\n    \"exported\": \"CsvExportModule\"\n  },\n  {\n    \"title\": \"Angular Support\",\n    \"module\": \"@ag-grid-community/angular\",\n    \"framework\": true,\n    \"exported\": \"Angular Support\",\n    \"angular\": true\n  },\n  {\n    \"title\": \"React Support\",\n    \"module\": \"@ag-grid-community/react\",\n    \"framework\": true,\n    \"exported\": \"React Support\",\n    \"react\": true\n  },\n  {\n    \"title\": \"Vue Support\",\n    \"module\": \"@ag-grid-community/vue\",\n    \"framework\": true,\n    \"exported\": \"Vue Support\",\n    \"vue\": true\n  },\n  {\n    \"title\": \"All Community & Enterprise Modules <sup>(!)</sup><enterprise-icon></enterprise-icon>\",\n    \"module\": \"@ag-grid-enterprise/all-modules\",\n    \"enterprise\": true,\n    \"exported\": \"All Community & Enterprise Modules\"\n  },\n  {\n    \"title\": \"Enterprise Core<enterprise-icon></enterprise-icon>\",\n    \"module\": \"@ag-grid-enterprise/core\",\n    \"enterprise\": true,\n    \"exported\": \"LicenseManager\"\n  },\n  {\n    \"title\": \"Charts<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"charts\",\n    \"module\": \"@ag-grid-enterprise/charts\",\n    \"enterprise\": true,\n    \"exported\": \"GridChartsModule\"\n  },\n  {\n    \"title\": \"Clipboard<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"clipboard\",\n    \"module\": \"@ag-grid-enterprise/clipboard\",\n    \"enterprise\": true,\n    \"exported\": \"ClipboardModule\"\n  },\n  {\n    \"title\": \"Column Tool Panel & Column Menu Panel<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"columnpanel\",\n    \"module\": \"@ag-grid-enterprise/column-tool-panel\",\n    \"enterprise\": true,\n    \"exported\": \"ColumnsToolPanelModule\"\n  },\n  {\n    \"title\": \"Excel Export<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"excel\",\n    \"module\": \"@ag-grid-enterprise/excel-export\",\n    \"enterprise\": true,\n    \"exported\": \"ExcelExportModule\"\n  },\n  {\n    \"title\": \"Filter Tool Panel<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"filterpanel\",\n    \"module\": \"@ag-grid-enterprise/filter-tool-panel\",\n    \"enterprise\": true,\n    \"exported\": \"FiltersToolPanelModule\"\n  },\n  {\n    \"title\": \"Master Detail<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"masterdetail\",\n    \"module\": \"@ag-grid-enterprise/master-detail\",\n    \"enterprise\": true,\n    \"exported\": \"MasterDetailModule\"\n  },\n  {\n    \"title\": \"Context & Column Menu<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"menu\",\n    \"module\": \"@ag-grid-enterprise/menu\",\n    \"enterprise\": true,\n    \"exported\": \"MenuModule\"\n  },\n  {\n    \"title\": \"Range Selection<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"range\",\n    \"module\": \"@ag-grid-enterprise/range-selection\",\n    \"enterprise\": true,\n    \"exported\": \"RangeSelectionModule\"\n  },\n  {\n    \"title\": \"Rich Select\",\n    \"shortname\": \"richselect\",\n    \"module\": \"@ag-grid-enterprise/rich-select\",\n    \"enterprise\": true,\n    \"exported\": \"RichSelectModule\"\n  },\n  {\n    \"title\": \"Row Grouping, Pivoting & Tree Data<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"rowgrouping\",\n    \"module\": \"@ag-grid-enterprise/row-grouping\",\n    \"enterprise\": true,\n    \"exported\": \"RowGroupingModule\"\n  },\n  {\n    \"title\": \"Server Side Row Model<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"serverside\",\n    \"module\": \"@ag-grid-enterprise/server-side-row-model\",\n    \"enterprise\": true,\n    \"exported\": \"ServerSideRowModelModule\"\n  },\n  {\n    \"title\": \"Set Filter<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"setfilter\",\n    \"module\": \"@ag-grid-enterprise/set-filter\",\n    \"enterprise\": true,\n    \"exported\": \"SetFilterModule\"\n  },\n  {\n    \"title\": \"Multi Filter<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"multifilter\",\n    \"module\": \"@ag-grid-enterprise/multi-filter\",\n    \"enterprise\": true,\n    \"exported\": \"MultiFilterModule\"\n  },\n  {\n    \"title\": \"Side Bar<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"sidebar\",\n    \"module\": \"@ag-grid-enterprise/side-bar\",\n    \"enterprise\": true,\n    \"exported\": \"SideBarModule\"\n  },\n  {\n    \"title\": \"Status Bar<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"statusbar\",\n    \"module\": \"@ag-grid-enterprise/status-bar\",\n    \"enterprise\": true,\n    \"exported\": \"StatusBarModule\"\n  },\n  {\n    \"title\": \"Viewport Row Model<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"viewport\",\n    \"module\": \"@ag-grid-enterprise/viewport-row-model\",\n    \"enterprise\": true,\n    \"exported\": \"ViewportRowModelModule\"\n  }\n]\n"}},{"relativePath":"row-object/reference.json","internal":{"content":"{\n    \"rowNodeAttributes\": {\n        \"meta\": {\n            \"displayName\": \"All Row Node Attributes\"\n        },\n        \"id\": {\n            \"description\": \"Unique ID for the node. Either provided by the application, or generated by the grid if not.\"\n        },\n        \"data\": {\n            \"description\": \"The data as provided by the application.\"\n        },\n        \"displayed\": {\n            \"description\": \"This will be `true` if it has a rowIndex assigned, otherwise `false`.\"\n        },\n        \"parent\": {\n            \"description\": \"The parent node to this node, or empty if top level.\"\n        },\n        \"level\": {\n            \"description\": \"How many levels this node is from the top when grouping.\"\n        },\n        \"uiLevel\": {\n            \"description\": \"How many levels this node is from the top when grouping in the UI (only different to <code>parent</code> when <code>groupRemoveSingleChildren=true</code>).\"\n        },\n        \"group\": {\n            \"description\": \"<code>true</code> if this node is a group node (i.e. has children).\"\n        },\n        \"rowPinned\": {\n            \"description\": \"<code>'top'</code> or <code>'bottom'</code> if pinned row, otherwise <code>null</code> or <code>undefined</code>.\"\n        },\n        \"childIndex\": {\n            \"description\": \"Index of this row with respect to its parent when grouping. Changes when data is sorted.\"\n        },\n        \"firstChild\": {\n            \"description\": \"<code>true</code> if this is the first child in this group. Changes when data is sorted.\"\n        },\n        \"lastChild\": {\n            \"description\": \"<code>true</code> if this is the last child in this group. Changes when data is sorted.\"\n        },\n        \"stub\": {\n            \"description\": \"Used by server-side row model. <code>true</code> if this row node is a stub. A stub is a placeholder row with loading icon while waiting from row to be loaded.\"\n        },\n        \"rowHeight\": {\n            \"description\": \"The row height in pixels.\"\n        },\n        \"rowIndex\": {\n            \"description\": \"The current row index. If the row is filtered out or in a collapsed group, this value will be `null`.\"\n        },\n        \"rowTop\": {\n            \"description\": \"The row top position in pixels.\"\n        },\n        \"quickFilterAggregateText\": {\n            \"description\": \"If using quick filter, stores a string representation of the row for searching against.\"\n        }\n    },\n    \"groupNodeAttributes\": {\n        \"meta\": {\n            \"displayName\": \"Group Node Attributes\"\n        },\n        \"groupData\": {\n            \"description\": \"If using grid grouping, contains the group values for this group.\"\n        },\n        \"aggData\": {\n            \"description\": \"If using grid grouping and aggregation, contains the aggregation data.\"\n        },\n        \"key\": {\n            \"description\": \"The key for the grouping e.g. Ireland, UK, USA.\"\n        },\n        \"field\": {\n            \"description\": \"The field (string) we are grouping on e.g. <code>'country'</code>.\"\n        },\n        \"rowGroupColumn\": {\n            \"description\": \"The row group column used for this group, e.g. the Country column instance.\"\n        },\n        \"rowGroupIndex\": {\n            \"description\": \"If doing in-memory (client-side) grouping, this is the index of the group column this cell is for. This will always be the same as the level, unless we are collapsing groups, i.e. <code>groupRemoveSingleChildren=true</code>.\"\n        },\n        \"expanded\": {\n            \"description\": \"<code>true</code> if group is expanded, otherwise <code>false</code>.\"\n        },\n        \"footer\": {\n            \"description\": \"<code>true</code> if row is a footer. Footers have <code>group = true</code> and <code>footer = true</code>.\"\n        },\n        \"allLeafChildren\": {\n            \"description\": \"All lowest level nodes beneath this node, no groups.\"\n        },\n        \"childrenAfterGroup\": {\n            \"description\": \"Children of this group. If multi levels of grouping, shows only immediate children.\"\n        },\n        \"childrenAfterFilter\": {\n            \"description\": \"Filtered children of this group.\"\n        },\n        \"childrenAfterSort\": {\n            \"description\": \"Sorted children of this group.\"\n        },\n        \"allChildrenCount\": {\n            \"description\": \"Number of children and grandchildren.\"\n        },\n        \"leafGroup\": {\n            \"description\": \"<code>true</code> if this node is a group and the group is the bottom level in the tree.\"\n        },\n        \"sibling\": {\n            \"description\": \"If using footers, reference to the footer node for this group.\"\n        }\n    },\n    \"rowNodeMethods\": {\n        \"meta\": {\n            \"displayName\": \"Row Node Methods\"\n        },\n        \"setSelected(newValue: boolean, clearSelection: boolean)\": {\n            \"description\": \"Select (or deselect) the node. <code>newValue=true</code> for selection, <code>newValue=false</code> for deselection. If selecting, then passing <code>true</code> for <code>clearSelection</code> will select the node exclusively (i.e. NOT do multi select). If doing deselection, <code>clearSelection</code> has no impact.\"\n        },\n        \"isSelected()\": {\n            \"description\": \"Returns <code>true</code> if node is selected, <code>false</code> if the not isn't selected or `undefined` if it's partially selected (group where not all children are selected).\"\n        },\n        \"addEventListener(eventType: string, listener: Function)\": {\n            \"description\": \"Add an event listener. Currently only <code>rowSelected</code> event supported.\"\n        },\n        \"removeEventListener(eventType: string, listener: Function)\": {\n            \"description\": \"Remove event listener.\"\n        },\n        \"resetQuickFilterAggregateText()\": {\n            \"description\": \"The first time <code>quickFilter</code> runs, the grid creates a one-off string representation of the row. This string is then used for the quick filter instead of hitting each column separately. When you edit, using grid editing, this string gets cleared down. However if you edit without using grid editing, you will need to clear this string down for the row to be updated with the new values. Otherwise new values will not work with the <code>quickFilter</code>.\"\n        },\n        \"depthFirstSearch(callback)\": {\n            \"description\": \"Perform a depth-first search of this node and its children.\"\n        },\n        \"setRowHeight(height)\": {\n            \"description\": \"Sets the row height. Call if you want to change the height initially assigned to the row. After calling, you must call <code>api.onRowHeightChanged()</code> so the grid knows it needs to work out the placement of the rows.\"\n        },\n        \"setData(newData)\": {\n            \"description\": \"Sets the data for this item. Results in the entire row getting refreshed.\"\n        }\n    },\n    \"rowNodeEvents\": {\n        \"meta\": {\n            \"displayName\": \"Events on Row Nodes\",\n            \"description\": \"The following events can be listened to on <code>rowNodes</code>:\"\n        },\n        \"rowSelected\": {\n            \"description\": \"Row was selected or unselected.\"\n        },\n        \"mouseEnter\": {\n            \"description\": \"Mouse has entered the row.\"\n        },\n        \"mouseLeave\": {\n            \"description\": \"Mouse has left the row.\"\n        },\n        \"cellChanged\": {\n            \"description\": \"One cell value has changed.\"\n        },\n        \"allChildrenCountChanged\": {\n            \"description\": \"<code>allChildrenCount</code> has changed.\"\n        },\n        \"dataChanged\": {\n            \"description\": \"<code>rowData</code> has changed.\"\n        },\n        \"heightChanged\": {\n            \"description\": \"<code>rowHeight</code> has changed.\"\n        },\n        \"topChanged\": {\n            \"description\": \"<code>rowTop</code> has changed.\"\n        },\n        \"firstChildChanged\": {\n            \"description\": \"<code>firstChild</code> has changed.\"\n        },\n        \"lastChildChanged\": {\n            \"description\": \"<code>lastChild</code> has changed.\"\n        },\n        \"childIndexChanged\": {\n            \"description\": \"<code>childIndex</code> has changed.\"\n        },\n        \"rowIndexChanged\": {\n            \"description\": \"<code>rowIndex</code> has changed.\"\n        },\n        \"expandedChanged\": {\n            \"description\": \"<code>expanded</code> has changed.\"\n        },\n        \"uiLevelChanged\": {\n            \"description\": \"<code>uiLevel</code> has changed.\"\n        }\n    }\n}"}},{"relativePath":"csv-export/resources/csv.json","internal":{"content":"{\n    \"exportProperties\": {\n        \"suppressQuotes\": {\n            \"default\": false,\n            \"description\": \"By default cell values are encoded according to CSV format rules: values are wrapped in double quotes, and any double quotes within the values are escaped, so <code>my\\\"value</code> becomes <code>\\\"my\\\"\\\"value\\\"</code>. Pass <code>true</code> to insert the value into the CSV file without escaping. In this case it is your responsibility to ensure that no cells contain the <code>columnSeparator</code> character.\"\n        },\n        \"columnSeparator\": {\n            \"default\": \",\",\n            \"description\": \"Delimiter to insert between cell values.\"\n        }\n    }\n}"}},{"relativePath":"excel-export/resources/excel.json","internal":{"content":"{\n    \"exportProperties\": {\n        \"columnWidth\": {\n            \"description\": \"Override the default column width. Can be a number (width in pixels) or a function that returns a number. If a function is provided, it will be called with a <code>params</code> argument with the following attributes: <code>column, index</code>.\"\n        },\n        \"exportMode\": {\n            \"description\": \"Defaults to <code>'xlsx'</code> and uses the Open Office XML standards. It can be set to <code>'xml'</code> to use Excel's <a href=\\\"https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa140066(v=office.10)?redirectedfrom=MSDN\\\">legacy XML format</a>.\"\n        },\n        \"headerRowHeight\": {\n            \"description\": \"The height in pixels of header rows. If not specified it will take the <code>rowHeight</code> value.\"\n        },\n        \"rowHeight\": {\n            \"description\": \"The height in pixels of all rows. If not specified it will take the Excel default value.\"\n        },\n        \"sheetName\": {\n            \"description\": \"The name of the sheet in Excel where the grid will be exported. If not specified defaults to 'ag-grid'.<br /><strong>Note: 31 characters max</strong>.\"\n        },\n        \"suppressTextAsCDATA\": {\n            \"default\": false,\n            \"description\": \"When <code>exportMode='xml'</code> the default behaviour is to wrap text in CDATA sections. Pass <code>true</code> and text content will be encoded with XML character entities like <code>&amp;lt;</code> and <code>&amp;gt;</code>.\"\n        }\n    }\n}"}},{"relativePath":"export/resources/export.json","internal":{"content":"{\n    \"properties\": {\n        \"allColumns\": {\n            \"default\": false,\n            \"description\": \"If <code>true</code>, all columns will be exported in the order they appear in <code>columnDefs</code>. Otherwise only the columns currently showing in the grid, and in that order, are exported.\"\n        },\n        \"columnGroups\": {\n            \"default\": false,\n            \"description\": \"Set to <code>true</code> to include header column groupings.\"\n        },\n        \"columnKeys\": {\n            \"description\": \"Provide a list (an array) of column keys if you want to export specific columns.\"\n        },\n        \"customHeader\": {\n            \"description\": \"Content to put at the top of the file export. A 2D array of <code>ExcelCell</code> objects, see <a href='#custom-headers-and-footers'>Custom Headers and Footers</a> below. Alternatively, if you're exporting to CSV only, you can pass a multi-line string that is simply appended to the top of the file content.\"\n        },\n        \"customFooter\": {\n            \"description\": \"Same as <code>customHeader</code>, but for the bottom of the exported file.\"\n        },\n        \"fileName\": {\n            \"description\": \"String to use as the file name. If missing, the file name 'export.csv' will be used.\"\n        },\n        \"getCustomContentBelowRow\": {\n            \"type\": {\n                \"parameters\": {\n                    \"node\": \"RowNode\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"Context\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"A callback function to return styled content to be inserted below a row in the export.\"\n        },\n        \"onlySelected\": {\n            \"description\": \"Only export selected rows.\"\n        },\n        \"onlySelectedAllPages\": {\n            \"description\": \"Only export selected rows including other pages (only makes sense when using pagination).\"\n        },\n        \"processCellCallback\": {\n            \"type\": {\n                \"parameters\": {\n                    \"value\": \"any\",\n                    \"node\": \"RowNode\",\n                    \"column\": \"Column\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"Context\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. Useful e.g. for formatting date values.\"\n        },\n        \"processGroupHeaderCallback\": {\n            \"type\": {\n                \"parameters\": {\n                    \"columnGroup\": \"ColumnGroup\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"Context\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"A callback function invoked once per column group. Return a string to be displayed in the column group header. Note that column groups are not exported by default, you must pass <code>columnGroups=true</code>.\"\n        },\n        \"processHeaderCallback\": {\n            \"type\": {\n                \"parameters\": {\n                    \"column\": \"Column\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"Context\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"A callback function invoked once per column. Return a string to be displayed in the column header.\"\n        },\n        \"processRowGroupCallback\": {\n            \"type\": {\n                \"parameters\": {\n                    \"node\": \"RowNode\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"Context\"\n                },\n                \"returnType\": \"string\"\n            },\n            \"description\": \"A callback function invoked once per row group. Return a string to be displayed in the group cell.\"\n        },\n        \"shouldRowBeSkipped\": {\n            \"type\": {\n                \"parameters\": {\n                    \"node\": \"RowNode\",\n                    \"api\": \"GridApi\",\n                    \"context\": \"Context\"\n                },\n                \"returnType\": \"boolean\"\n            },\n            \"description\": \"A callback function that will be invoked once per row in the grid. Return <code>true</code> to omit the row from the export.\"\n        },\n        \"skipFooters\": {\n            \"default\": false,\n            \"description\": \"Set to <code>true</code> to skip footers only if grouping. No impact if not grouping or if not using footers in grouping.\"\n        },\n        \"skipGroups\": {\n            \"default\": false,\n            \"description\": \"Set to <code>true</code> to skip row group headers and footers if grouping rows. No impact if not grouping rows.\"\n        },\n        \"skipHeader\": {\n            \"default\": false,\n            \"description\": \"Set to <code>true</code> if you don't want the first line to be the column header names.\"\n        },\n        \"skipPinnedTop\": {\n            \"default\": false,\n            \"description\": \"Set to <code>true</code> to suppress exporting rows pinned to the top of the grid.\"\n        },\n        \"skipPinnedBottom\": {\n            \"default\": false,\n            \"description\": \"Set to <code>true</code> to suppress exporting rows pinned to the bottom of the grid.\"\n        }\n    }\n}"}},{"relativePath":"filter-api/resources/filterApi.json","internal":{"content":"{\n    \"api\": {\n        \"isFilterActive()\": {\n            \"description\": \"Returns `true` if the filter is currently active, otherwise `false`.\"\n        },\n        \"getModel()\": {\n            \"description\": \"Returns a model representing the current state of the filter, or `null` if the filter is not active.\"\n        },\n        \"setModel(model)\": {\n            \"description\": \"Sets the state of the filter using the supplied model. Providing `null` as the model will de-activate the filter.\"\n        }\n    }\n}"}},{"relativePath":"filter-multi/resources/multiFilter.json","internal":{"content":"{\n    \"filterParams\": {\n        \"filters[]\": {\n            \"meta\": {\n                \"description\": \"An array of `filter` definition objects.\"\n            },\n            \"filter<br />filterFramework\": {\n                \"description\": \"Child filter component to use inside the Multi Filter.\"\n            },\n            \"filterParams\": {\n                \"description\": \"Custom parameters to be passed to the child filter component.\"\n            },\n            \"floatingFilterComponent<br />floatingFilterComponentFramework\": {\n                \"description\": \"Floating filter component to use for the child filter.\"\n            },\n            \"floatingFilterComponentParams\": {\n                \"description\": \"Custom parameters to be passed to the floating filter component.\"\n            },\n            \"display\": {\n                \"default\": \"inline\",\n                \"options\": [\n                    \"inline\",\n                    \"subMenu\",\n                    \"accordion\"\n                ],\n                \"description\": \"Configures how the filter is shown in the Multi Filter.\",\n                \"more\": {\n                    \"url\": \"../filter-multi/#display-style\",\n                    \"name\": \"Display Style\"\n                }\n            },\n            \"title\": {\n                \"description\": \"The title to be used when a filter is displayed inside a sub-menu or accordion.\"\n            }\n        }\n    },\n    \"api\": {\n        \"setModel(model)\": {\n            \"description\": \"Sets the state of the child filters using the supplied models. Providing `null` will de-activate all child filters.<br /><br /><strong>Note:</strong> if you are <a href='../filter-set-filter-list/#asynchronous-values'>providing values asynchronously</a> to a child <a href='../filter-set/'>Set Filter</a>, you need to wait for these changes to be applied before performing any further actions by waiting on the returned grid promise, e.g. `filter.setModel([null, { values: ['a', 'b'] }]).then(function() { gridApi.onFilterChanged(); });`\"\n        },\n        \"getChildFilterInstance(index)\": {\n            \"description\": \"Returns the child filter instance at the specified index.\",\n            \"more\": {\n                \"url\": \"../filter-multi/#accessing-child-filters\",\n                \"name\": \"Accessing Child Filters\"\n            }\n        }\n    }\n}"}},{"relativePath":"filter-provided/resources/provided-filters.json","internal":{"content":"{\n    \"filterParams\": {\n        \"buttons\": {\n            \"description\": \"Specifies the buttons to be shown in the filter, in the order they should be displayed in. The options are: <ul><li>`'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.</li><li>`'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.</li><li>`'reset'`: The Reset button will clear the details of the filter and any active filters on that column.</li><li>`'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.</li></ul>\"\n        },\n        \"closeOnApply\": {\n            \"description\": \"If the Apply button is present, the filter popup will be closed immediately when the Apply or Reset button is clicked if this is set to `true`.\"\n        },\n        \"debounceMs\": {\n            \"description\": \"By default the <a href='../filter-text/'>Text</a> and <a href='../filter-number/'>Number</a> filters will debounce by 500ms. This is because these filters have text field inputs, so time is given to the user to type items in before the input is formatted and the filtering applied. The <a href='../filter-set/'>Set</a> and <a href='../filter-date/'>Date</a> will execute immediately (no debounce). To override these defaults, set `debounceMs` to the number of milliseconds to debounce by.\"\n        },\n        \"newRowsAction\": {\n            \"default\": \"clear\",\n            \"description\": \"This property is for when using the <a href='../client-side-model/'>Client Side Row Model</a> only. When set to `'clear'`, updating the data in the grid by calling `api.setRowData()` (or updating the `rowData` property if bound by a framework) will clear (reset) the filter. If you instead set this to `'keep'`, the grid will keep its currently set filter when the data is updated.\"\n        }\n    },\n    \"api\": {\n        \"getModelFromUi()\": {\n            \"description\": \"Returns the filter model from the UI. If changes have been made to the UI but not yet applied, this model will reflect those changes.\"\n        },\n        \"applyModel()\": {\n            \"description\": \"Applies the model shown in the UI (so that `getModel()` will now return what was in the UI when `applyModel()` was called).\"\n        }\n    }\n}"}},{"relativePath":"filter-provided-simple/resources/simple-filters.json","internal":{"content":"{\n    \"filterParams\": {\n        \"alwaysShowBothConditions\": {\n            \"default\": false,\n            \"description\": \"By default, only one condition is shown, and a second is made visible once a first condition has been entered. Set this to `true` to always show both conditions. In this case the second condition will be disabled until a first condition has been entered.\",\n            \"relevantTo\": [\n                \"Text\",\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"filterOptions\": {\n            \"description\": \"Array of <a href='../filter-provided-simple/#simple-filter-options'>Filter Options</a> to present to the user.\",\n            \"options\": [\n                \"equals\",\n                \"notEqual\",\n                \"contains\",\n                \"notContains\",\n                \"startsWith\",\n                \"endsWith\",\n                \"lessThan\",\n                \"lessThanOrEqual\",\n                \"greaterThan\",\n                \"greaterThanOrEqual\",\n                \"inRange\",\n                \"empty\"\n            ],\n            \"relevantTo\": [\n                \"Text\",\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"defaultOption\": {\n            \"description\": \"The default <a href='../filter-provided-simple/#simple-filter-options'>Filter Option</a> to be selected.\",\n            \"options\": [\n                \"equals\",\n                \"notEqual\",\n                \"contains\",\n                \"notContains\",\n                \"startsWith\",\n                \"endsWith\",\n                \"lessThan\",\n                \"lessThanOrEqual\",\n                \"greaterThan\",\n                \"greaterThanOrEqual\",\n                \"inRange\",\n                \"empty\"\n            ],\n            \"relevantTo\": [\n                \"Text\",\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"defaultJoinOperator\": {\n            \"description\": \"By default, the two conditions are combined using `AND`. You can change this default by setting this property.\",\n            \"options\": [\n                \"AND\",\n                \"OR\"\n            ],\n            \"relevantTo\": [\n                \"Text\",\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"suppressAndOrCondition\": {\n            \"description\": \"If `true`, the filter will only allow one condition.\",\n            \"default\": false,\n            \"relevantTo\": [\n                \"Text\",\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"textCustomComparator\": {\n            \"description\": \"Used to override how to filter based on the user input.\",\n            \"more\": {\n                \"name\": \"Text Custom Comparator\",\n                \"url\": \"../filter-text/#text-custom-comparator\"\n            },\n            \"relevantTo\": [\n                \"Text\"\n            ]\n        },\n        \"caseSensitive\": {\n            \"description\": \"By default, text filtering is case-insensitive. Set this to `true` to make text filtering case-sensitive.\",\n            \"default\": false,\n            \"relevantTo\": [\n                \"Text\"\n            ]\n        },\n        \"textFormatter\": {\n            \"description\": \"Formats the text before applying the filter compare logic. Useful if you want to substitute accented characters, for example.\",\n            \"relevantTo\": [\n                \"Text\"\n            ]\n        },\n        \"trimInput\": {\n            \"default\": false,\n            \"description\": \"If `true`, the input that the user enters will be trimmed when the filter is applied, so any leading or trailing whitespace will be removed. If only whitespace is entered, it will be left as-is. If you enable `trimInput`, it is best to also increase the `debounceMs` to give users more time to enter text.\",\n            \"relevantTo\": [\n                \"Text\"\n            ]\n        },\n        \"inRangeInclusive\": {\n            \"description\": \"If `true`, the `'inRange'` filter option will include values equal to the start and end of the range.\",\n            \"relevantTo\": [\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"includeBlanksInEquals\": {\n            \"description\": \"If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option.\",\n            \"relevantTo\": [\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"includeBlanksInLessThan\": {\n            \"description\": \"If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options.\",\n            \"relevantTo\": [\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"includeBlanksInGreaterThan\": {\n            \"description\": \"If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options.\",\n            \"relevantTo\": [\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"includeBlanksInRange\": {\n            \"description\": \"If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option.\",\n            \"relevantTo\": [\n                \"Number\",\n                \"Date\"\n            ]\n        },\n        \"allowedCharPattern\": {\n            \"description\": \"When specified, the input field will be of type `text` instead of `number`, and this will be used as a regex of all the characters that are allowed to be typed. This will be compared against any typed character and prevent the character from appearing in the input if it does not match, in supported browsers (all except Safari).\",\n            \"relevantTo\": [\n                \"Number\"\n            ]\n        },\n        \"numberParser\": {\n            \"description\": \"Typically used alongside `allowedCharPattern`, this provides a custom parser to convert the value entered in the filter inputs into a number that can be used for comparisons.\",\n            \"relevantTo\": [\n                \"Number\"\n            ]\n        },\n        \"comparator\": {\n            \"description\": \"Required if the data for the column are not native JS `Date` objects.\",\n            \"relevantTo\": [\n                \"Date\"\n            ]\n        },\n        \"browserDatePicker\": {\n            \"description\": \"This is only used if a date component is not provided. By default the grid will use the browser date picker in Chrome and Firefox and a plain text box for all other browsers (this is because Chrome and Firefox are the only current browsers providing a decent out-of-the-box date picker). If this property is set to `true`, the browser date picker will be used regardless of the browser type. If set to `false`, a plain text box will be used for all browsers.\",\n            \"relevantTo\": [\n                \"Date\"\n            ]\n        },\n        \"minValidYear\": {\n            \"default\": 1000,\n            \"description\": \"This is the minimum year that must be entered in a date field for the value to be considered valid.\",\n            \"relevantTo\": [\n                \"Date\"\n            ]\n        }\n    }\n}"}},{"relativePath":"filter-set/resources/set-filter-params.json","internal":{"content":"{\n    \"filterParams\": {\n        \"applyMiniFilterWhileTyping\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to apply the Set Filter immediately when the user is typing in the Mini Filter.\",\n            \"more\": {\n                \"name\": \"Keyboard Shortcuts\",\n                \"url\": \"../filter-set-mini-filter/#keyboard-shortcuts\"\n            }\n        },\n        \"cellHeight\": {\n            \"description\": \"The height of values in the Filter List in pixels.\"\n        },\n        \"cellRenderer\": {\n            \"description\": \"Similar to the Cell Renderer for the grid. Setting it separately here allows for the value to be rendered differently in the filter.\",\n            \"more\": {\n                \"name\": \"Filter List Cell Renderer\",\n                \"url\": \"../filter-set-filter-list/#cell-renderer\"\n            }\n        },\n        \"comparator(a, b)\": {\n            \"description\": \"Comparator for sorting. If not provided, the Column Definition comparator is used. If Column Definition comparator is also not provided, the default (grid provided) comparator is used.\",\n            \"more\": {\n                \"name\": \"Sorting Filter Lists\",\n                \"url\": \"../filter-set-filter-list/#sorting-filter-lists\"\n            }\n        },\n        \"defaultToNothingSelected\": {\n            \"default\": false,\n            \"description\": \"By default, when the Set Filter is opened all values are shown selected. Set this to `true` to instead show all values as de-selected by default.\",\n            \"more\": {\n                \"name\": \"Default State\",\n                \"url\": \"../filter-set-filter-list/#default-state\"\n            }\n        },\n        \"excelMode\": {\n            \"description\": \"Changes the behaviour of the Set Filter to match that of Excel's AutoFilter.\",\n            \"more\": {\n                \"name\": \"Excel Mode\",\n                \"url\": \"../filter-set-excel-mode/\"\n            }\n        },\n        \"showTooltips\": {\n            \"default\": false,\n            \"description\": \"If `true`, hovering over a value in the Set Filter will show a tooltip containing the full, untruncated value.\",\n            \"more\": {\n                \"name\": \"Filter Value Tooltips\",\n                \"url\": \"../filter-set-filter-list/#filter-value-tooltips\"\n            }\n        },\n        \"suppressMiniFilter\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to hide the Mini Filter.\",\n            \"more\": {\n                \"name\": \"Hiding the Mini Filter\",\n                \"url\": \"../filter-set-mini-filter/#hiding-the-mini-filter\"\n            }\n        },\n        \"suppressSelectAll\": {\n            \"default\": false,\n            \"description\": \"Set to `true` to remove the Select All checkbox.\"\n        },\n        \"suppressSorting\": {\n            \"default\": false,\n            \"description\": \"If `true`, the Set Filter values will not be sorted. Use this if you are providing your own values and don't want them sorted as you are providing in the order you want.\",\n            \"more\": {\n                \"name\": \"Supplying Filter Values\",\n                \"url\": \"../filter-set-filter-list/#supplying-filter-values\"\n            }\n        },\n        \"textFormatter\": {\n            \"description\": \"If specified, this formats the text before applying the Mini Filter compare logic, useful for instance to substitute accented characters.\",\n            \"more\": {\n                \"name\": \"Custom Searches\",\n                \"url\": \"../filter-set-mini-filter/#custom-searches\"\n            }\n        },\n        \"values\": {\n            \"description\": \"The values to display in the Filter List. If this is not set, the filter will takes its values from what is loaded in the table.\",\n            \"more\": {\n                \"name\": \"Supplying Filter Values\",\n                \"url\": \"../filter-set-filter-list/#supplying-filter-values\"\n            }\n        }\n    }\n}"}},{"relativePath":"filter-set-api/resources/setFilterApi.json","internal":{"content":"{\n    \"api\": {\n        \"setModel(model)\": {\n            \"description\": \"Sets the state of the filter using the supplied model. Providing `null` as the model will de-activate the filter.<br /><br /><strong>Note:</strong> if you are <a href='../filter-set-filter-list/#asynchronous-values'>providing values asynchronously</a> to the Set Filter, you need to wait for these changes to be applied before performing any further actions by waiting on the returned grid promise, e.g. `filter.setModel({ values: ['a', 'b'] }).then(function() { gridApi.onFilterChanged(); });`\"\n        },\n        \"getValues()\": {\n            \"description\": \"Returns the full list of unique values used by the Set Filter.\"\n        },\n        \"setMiniFilter(text)\": {\n            \"description\": \"Sets the text in the Mini Filter at the top of the filter (the 'quick search' in the popup).\"\n        },\n        \"getMiniFilter()\": {\n            \"description\": \"Gets the Mini Filter text.\"\n        },\n        \"refreshFilterValues()\": {\n            \"description\": \"Refreshes the values shown in the filter from the original source. For example, if a callback was provided, the callback will be executed again and the filter will refresh using the values returned.\",\n            \"more\": {\n                \"name\": \"Refreshing Values\",\n                \"url\": \"../filter-set-filter-list/#refreshing-values\"\n            }\n        },\n        \"setFilterValues(values[])\": {\n            \"description\": \"Sets the values used in the Set Filter on the fly.\"\n        },\n        \"resetFilterValues()\": {\n            \"description\": \"Resets the Set Filter to use values from the grid, rather than any values that have been provided directly.\"\n        }\n    }\n}"}},{"relativePath":"filter-set-excel-mode/resources/excelMode.json","internal":{"content":"{\n    \"behaviours\": [\n        {\n            \"behaviour\": \"Show all values selected by default\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Allow filter with no values selected\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Apply the filter immediately when a value is selected/deselected\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": \"after 500ms delay\"\n        },\n        {\n            \"behaviour\": \"Apply the filter when the Apply button is clicked\",\n            \"agGrid\": \"when button enabled\",\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Close the filter when the Apply button is clicked\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Press `Enter` to apply the filter\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Close the filter when `Enter` is pressed\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Discard the selected state of values that are not visible when the filter is applied\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Hide unavailable values in other Set Filters when a filter is applied\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Type into search box to only show values with matching text\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Combine selected values from different searches before applying\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Press `Enter` in the search box to apply the filter using all visible values\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Apply the filter immediately using all visible values while typing in the search box\",\n            \"agGrid\": false,\n            \"windowsExcel\": false,\n            \"macExcel\": \"after 500ms delay\"\n        },\n        {\n            \"behaviour\": \"Press `Enter` in the search box to select all search text\",\n            \"agGrid\": false,\n            \"windowsExcel\": false,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Restore the applied filter state when the search box is cleared\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Clear the search box when the filter is closed\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Discard un-applied changes when the filter is closed\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Discard un-applied changes when the Cancel button is clicked\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Close the filter when the Cancel button is clicked\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": null\n        },\n        {\n            \"behaviour\": \"Allow blank values to be selected\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Show (Blanks) option at the end of the list of values\",\n            \"agGrid\": [\n                false,\n                \"sorted with other values\"\n            ],\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"The (Blanks) option is shown if the search text matches\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        }\n    ]\n}"}},{"relativePath":"filtering/resources/filtering.json","internal":{"content":"{\n    \"providedFilters\": {\n        \"agNumberColumnFilter\": {\n            \"description\": \"A Number Filter for number comparisons.\"\n        },\n        \"agTextColumnFilter\": {\n            \"description\": \"A Text Filter for string comparisons.\"\n        },\n        \"agDateColumnFilter\": {\n            \"description\": \"A Date Filter for date comparisons.\"\n        },\n        \"agSetColumnFilter\": {\n            \"description\": \"A Set Filter, influenced by how filters work in Microsoft Excel. This is an AG Grid Enterprise feature.\"\n        }\n    }\n}"}},{"relativePath":"grouping/resources/apiReference.json","internal":{"content":"{\n    \"callbacks\": {\n        \"meta\": {\n            \"displayName\": \"Grid Grouping Callbacks\"\n        },\n        \"groupRowRenderer, groupRowRendererParams\": {\n            \"description\": \"If grouping, allows custom rendering of the group cell. Use this if you are not happy with the default presentation of the group. This is only used when <code>groupUseEntireRow</code> is <code>true</code>. This gives you full control of the row, so the grid will not provide any default expand / collapse or selection checkbox. See section on cellRendering for details on params.\"\n        },\n        \"groupRowInnerRenderer\": {\n            \"description\": \"Similar to <code>groupRowRenderer</code>, except the grid will provide a default shell for row which includes an expand / collapse function. The <code>innerRenderer</code> is responsible for just the inside part of the row. There is no  <code>groupRowInnerRendererParams</code> as the <code>groupRowRendererParams</code> are reused for both.\"\n        }\n    }\n}"}},{"relativePath":"integrated-charts-api/resources/chart-api.json","internal":{"content":"{\n    \"params\": {\n        \"meta\": {\n            \"displayName\": \"createRangeChart params\"\n        },\n        \"chartType\": {\n            \"type\": \"ChartType\",\n            \"required\": true,\n            \"options\": [\n                \"groupedColumn\",\n                \"stackedColumn\",\n                \"normalizedColumn\",\n                \"groupedBar\",\n                \"stackedBar\",\n                \"normalizedBar\",\n                \"line\",\n                \"scatter\",\n                \"bubble\",\n                \"pie\",\n                \"doughnut\",\n                \"area\",\n                \"stackedArea\",\n                \"normalizedArea\"\n            ],\n            \"description\": \"The type of chart to create.\"\n        },\n        \"cellRange\": {\n            \"meta\": {\n                \"type\": \"CellRangeParams\",\n                \"required\": true,\n                \"description\": \"Defines the range of cells to be charted. A range is normally defined with start and end rows and a list of columns. If the start and end rows are omitted, the range covers all rows (i.e. entire columns are selected). The columns can either be defined using a start and end column (the range will cover the start and end columns and all columns in between), or columns can be supplied specifically in cases where the required columns are not adjacent to each other. See <a href='../range-selection/#api-addcellrange-rangeselection'>Add Cell Range</a> for more information.\"\n            },\n            \"rowStartIndex\": {\n                \"type\": \"number\",\n                \"description\": \"The index of the first row in the range.\"\n            },\n            \"rowStartPinned\": {\n                \"type\": \"string\",\n                \"description\": \"Sets whether the first row is pinned.\"\n            },\n            \"rowEndIndex\": {\n                \"type\": \"number\",\n                \"description\": \"The index of the last row in the range.\"\n            },\n            \"rowEndPinned\": {\n                \"type\": \"string\",\n                \"description\": \"Sets whether the last row is pinned.\"\n            },\n            \"columnStart\": {\n                \"type\": \"string | Column\",\n                \"description\": \"The first column of the range.\"\n            },\n            \"columnEnd\": {\n                \"type\": \"string | Column\",\n                \"description\": \"The last column of the range.\"\n            },\n            \"columns\": {\n                \"type\": \"(string | Column)[]\",\n                \"description\": \"The columns in the range. Used instead of `columnStart` and `columnEnd`, particularly when you want non-sequential columns.\"\n            }\n        },\n        \"chartThemeName\": {\n            \"type\": \"string\",\n            \"options\": [\n                \"ag-default\",\n                \"ag-default-dark\",\n                \"ag-material\",\n                \"ag-material-dark\",\n                \"ag-pastel\",\n                \"ag-pastel-dark\",\n                \"ag-vivid\",\n                \"ag-vivid-dark\",\n                \"ag-solar\",\n                \"ag-solar-dark\"\n            ],\n            \"description\": \"The default theme to use for the created chart. In addition to the default options you listed, you can also provide your own <a href='../integrated-charts-customisation/#custom-chart-themes'>custom chart themes</a>.\"\n        },\n        \"chartContainer\": {\n            \"type\": \"HTMLElement\",\n            \"description\": \"If the chart is to be displayed outside of the grid then a chart container should be provided. If the chart is to be displayed using the grid's popup window mechanism then leave as `undefined`.\"\n        },\n        \"suppressChartRanges\": {\n            \"default\": false,\n            \"description\": \"By default, when a chart is displayed using the grid, the grid will highlight the range the chart is charting when the chart gets focus. To suppress this behaviour, set `suppressChartRanges=true`.\"\n        },\n        \"aggFunc\": {\n            \"description\": \"The aggregation function that should be applied to all series data. The built-in aggregation functions are <code>'sum'</code>, <code>'min'</code>, <code>'max'</code>, <code>'count'</code>, <code>'avg'</code>, <code>'first'</code>, <code>'last'</code>. Alternatively, custom aggregation functions can be provided if they conform to the <code>IAggFunc</code> interface shown here.\",\n            \"type\": {\n                \"parameters\": {\n                    \"values\": \"any[]\",\n                    \"column\": \"Column\",\n                    \"colDef\": \"ColDef\",\n                    \"rowNode\": \"RowNode\",\n                    \"data\": \"any\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"any\"\n                },\n                \"returnType\": \"any\"\n            }\n        },\n        \"unlinkChart\": {\n            \"default\": false,\n            \"description\": \"When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart.\",\n            \"more\": {\n                \"name\": \"Unlinking Charts\",\n                \"url\": \"../integrated-charts-toolbar/#unlinking-charts\"\n            }\n        },\n        \"chartThemeOverrides\": {\n            \"type\": \"AgChartThemeOverrides\",\n            \"description\": \"Allows specific chart options in the current theme to be overridden.\",\n            \"more\": {\n                \"name\": \"Overriding Existing Themes\",\n                \"url\": \"../integrated-charts-customisation/#overriding-existing-themes\"\n            }\n        }\n    }\n}"}},{"relativePath":"integrated-charts-cross-filtering/resources/cross-filter-api.json","internal":{"content":"{\n    \"params\": {\n        \"meta\": {\n            \"displayName\": \"createCrossFilterChart params\"\n        },\n        \"chartType\": {\n            \"type\": \"ChartType\",\n            \"required\": true,\n            \"options\": [\n                \"column\",\n                \"bar\",\n                \"line\",\n                \"scatter\",\n                \"bubble\",\n                \"pie\",\n                \"doughnut\",\n                \"area\"\n            ],\n            \"description\": \"The type of cross-filtering chart to create.\"\n        },\n        \"cellRange\": {\n            \"meta\": {\n                \"type\": \"CellRangeParams\",\n                \"required\": true,\n                \"description\": \"Defines the list of columns to be charted. Note that cross-filter charts include all rows in the grid so there is no need to specify the range of rows.\"\n            },\n            \"columnStart\": {\n                \"type\": \"string | Column\",\n                \"description\": \"The first column of the range.\"\n            },\n            \"columnEnd\": {\n                \"type\": \"string | Column\",\n                \"description\": \"The last column of the range.\"\n            },\n            \"columns\": {\n                \"type\": \"(string | Column)[]\",\n                \"description\": \"The columns in the range. Used instead of `columnStart` and `columnEnd`, particularly when you want non-sequential columns.\"\n            }\n        },\n        \"chartThemeName\": {\n            \"type\": \"string\",\n            \"options\": [\n                \"ag-default\",\n                \"ag-default-dark\",\n                \"ag-material\",\n                \"ag-material-dark\",\n                \"ag-pastel\",\n                \"ag-pastel-dark\",\n                \"ag-vivid\",\n                \"ag-vivid-dark\",\n                \"ag-solar\",\n                \"ag-solar-dark\"\n            ],\n            \"description\": \"The default theme to use for the created chart. In addition to the default options you listed, you can also provide your own <a href='../integrated-charts-customisation/#custom-chart-themes'>custom chart themes</a>.\"\n        },\n        \"chartContainer\": {\n            \"type\": \"HTMLElement\",\n            \"description\": \"If the chart is to be displayed outside of the grid then a chart container should be provided. If the chart is to be displayed using the grid's popup window mechanism then leave as `undefined`.\"\n        },\n        \"suppressChartRanges\": {\n            \"default\": true,\n            \"description\": \"By default, when a cross-filter chart is displayed using the grid, the grid will not highlight the range the chart is charting when the chart gets focus. To show the chart range set `suppressChartRanges=false`.\"\n        },\n        \"aggFunc\": {\n            \"description\": \"The aggregation function that should be applied to all series data. The built-in aggregation functions are <code>'sum'</code>, <code>'min'</code>, <code>'max'</code>, <code>'count'</code>, <code>'avg'</code>, <code>'first'</code>, <code>'last'</code>. Alternatively, custom aggregation functions can be provided if they conform to the <code>IAggFunc</code> interface shown here.\",\n            \"type\": {\n                \"parameters\": {\n                    \"values\": \"any[]\",\n                    \"column\": \"Column\",\n                    \"colDef\": \"ColDef\",\n                    \"rowNode\": \"RowNode\",\n                    \"data\": \"any\",\n                    \"api\": \"GridApi\",\n                    \"columnApi\": \"ColumnApi\",\n                    \"context\": \"any\"\n                },\n                \"returnType\": \"any\"\n            }\n        },\n        \"unlinkChart\": {\n            \"default\": false,\n            \"description\": \"When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart.\",\n            \"more\": {\n                \"name\": \"Unlinking Charts\",\n                \"url\": \"../integrated-charts-toolbar/#unlinking-charts\"\n            }\n        },\n        \"chartThemeOverrides\": {\n            \"type\": \"AgChartThemeOverrides\",\n            \"description\": \"Allows specific chart options in the current theme to be overridden.\",\n            \"more\": {\n                \"name\": \"Overriding Existing Themes\",\n                \"url\": \"../integrated-charts-customisation/#overriding-existing-themes\"\n            }\n        }\n    }\n}"}},{"relativePath":"master-detail-grids/resources/properties.json","internal":{"content":"{\n  \"detailCellRenderer\": {\n    \"detailGridOptions\": {\n      \"description\": \"Provide Grid Options to use for the Detail Grid. It should be either an object (for once set of Grid Options for all Detail Grids) or a function (to set different Grid Options for different Detail Grids).\"\n    },\n    \"getDetailRowData\": {\n      \"description\": \"A function that provides what rows to display in the Detail Grid.\"\n    },\n    \"template\": {\n      \"description\": \"Allows changing the template used around the Detail Grid.\"\n    },\n    \"refreshStrategy\": {\n      \"description\": \"Defines how to refresh the Detail Grids as data is changing in the Master Grid.\"\n    }\n  }\n}\n"}},{"relativePath":"row-models/resources/row-models.json","internal":{"content":"{\n    \"features\": [\n        {\n            \"feature\": \"All Data in Client\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": false,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"Fetch Data as User Scrolls\",\n            \"clientSide\": false,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../row-sorting/'>Row Sorting</a>\",\n            \"clientSide\": \"client\",\n            \"infinite\": \"server\",\n            \"serverSide\": \"client OR server\",\n            \"viewport\": \"server\"\n        },\n        {\n            \"feature\": \"<a href='../filtering/'>Row Filtering</a>\",\n            \"clientSide\": \"client\",\n            \"infinite\": \"server\",\n            \"serverSide\": \"client OR server\",\n            \"viewport\": \"server\"\n        },\n        {\n            \"feature\": \"<a href='../filter-quick/'>Quick Filter</a>\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": false,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../floating-filters/'>Floating Filters\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../row-height/'>Dynamic Row Height</a>\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../grouping/'>Row Grouping</a>\",\n            \"clientSide\": \"client\",\n            \"infinite\": false,\n            \"serverSide\": \"server\",\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../grouping/'>Row Pivoting</a>\",\n            \"clientSide\": \"client\",\n            \"infinite\": false,\n            \"serverSide\": \"server\",\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"Lazy Loading Row Groups\",\n            \"clientSide\": false,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../aggregation/'>Value Aggregation</a>\",\n            \"clientSide\": \"client\",\n            \"infinite\": false,\n            \"serverSide\": \"server\",\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../row-selection/'>Row Selection</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../row-selection/#header-checkbox-selection'>Header Checkbox Selection</a>\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": false,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../range-selection/'>Range Selection</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../column-spanning/'>Column Spanning</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../row-spanning/'>Row Spanning</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../column-pinning/'>Column Pinning</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../row-pinning/'>Row Pinning</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../row-pagination/'>Pagination</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../component-filter/'>Custom Filters</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../component-cell-editor/'>Cell Editors</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../component-cell-renderer/'>Cell Renderers</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../value-getters/'>Value Getter</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../value-setters/'>Value Setter</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../value-formatters/'>Value Formatter</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../value-parsers/'>Value Parser</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../full-width-rows/'>Full Width Rows</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../csv-export/'>CSV Export</a>\",\n            \"clientSide\": true,\n            \"infinite\": \"data on screen\",\n            \"serverSide\": \"data on screen\",\n            \"viewport\": \"data on screen\"\n        },\n        {\n            \"feature\": \"<a href='../excel-export/'>Excel Export</a>\",\n            \"clientSide\": true,\n            \"infinite\": \"data on screen\",\n            \"serverSide\": \"data on screen\",\n            \"viewport\": \"data on screen\"\n        },\n        {\n            \"feature\": \"<a href='../clipboard/'>Clipboard Copy & Paste</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"<a href='../data-update-transactions/'>Update via Transaction</a>\",\n            \"clientSide\": true,\n            \"infinite\": \"add only\",\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../data-update-high-frequency/'>Update via Async Transactions</a>\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"<a href='../row-selection/#specify-selectable-rows'>Specify Selectable Rows</a>\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": false\n        }\n    ]\n}"}},{"relativePath":"side-bar/resources/sideBar.json","internal":{"content":"{\n    \"sideBarProperties\": {\n        \"toolPanels\": {\n            \"description\": \"A list of all the panels to place in the side bar. The panels will be displayed in the provided order from top to bottom.\"\n        },\n        \"defaultToolPanel\": {\n            \"description\": \"The panel (identified by ID) to open by default. If none specified, the side bar is initially displayed closed.\"\n        },\n        \"hiddenByDefault\": {\n            \"default\": false,\n            \"description\": \"To hide the side bar by default, set this to <code>true</code>. If left undefined the side bar will be shown.\"\n        },\n        \"position\": {\n            \"default\": \"right\",\n            \"options\": [\n                \"left\",\n                \"right\"\n            ],\n            \"description\": \"Sets the side bar position relative to the grid.\"\n        }\n    },\n    \"toolPanelProperties\": {\n        \"id\": {\n            \"description\": \"The unique ID for this panel. Used in the API and elsewhere to refer to the panel.\"\n        },\n        \"labelKey\": {\n            \"description\": \"The key used for <a href='../localisation/'>localisation</a> for displaying the label. The label is displayed in the tab button.\"\n        },\n        \"labelDefault\": {\n            \"description\": \"The default label if <code>labelKey</code> is missing or does not map to valid text through localisation.\"\n        },\n        \"iconKey\": {\n            \"description\": \"The <a href='../custom-icons/'>key of the icon</a> to be used as a graphical aid beside the label in the side bar.\"\n        },\n        \"toolPanel<br />toolPanelFramework<br />toolPanelParams\": {\n            \"description\": \"The tool panel component to use as the panel. The provided panels use components <code>agColumnsToolPanel</code> and <code>agFiltersToolPanel</code>. To provide your own custom panel component, you reference it by name here.\"\n        }\n    },\n    \"toolPanelApi\": {\n        \"setSideBarVisible(visible)\": {\n            \"description\": \"Show/hide the entire side bar, including any visible panel and the tab buttons.\"\n        },\n        \"isSideBarVisible()\": {\n            \"description\": \"Returns <code>true</code> if the side bar is visible.\"\n        },\n        \"openToolPanel(id)\": {\n            \"description\": \"Opens a particular tool panel. Provide the ID of the tool panel to open.\"\n        },\n        \"closeToolPanel()\": {\n            \"description\": \"Closes the currently open tool panel (if any).\"\n        },\n        \"getOpenedToolPanel()\": {\n            \"description\": \"Returns the ID of the currently shown tool panel if any, otherwise <code>null</code>.\"\n        },\n        \"setSideBar(config)\": {\n            \"description\": \"Resets the side bar to the provided configuration. The parameter is the same as the sideBar grid property. The side bar is re-created from scratch with the new config.\"\n        },\n        \"getSideBar()\": {\n            \"description\": \"Returns the current side bar configuration. If a shortcut was used, returns the detailed long form.'\"\n        },\n        \"setSideBarPosition(position)\": {\n            \"description\": \"Sets the side bar position relative to the grid. Possible values are <code>'left'</code> or <code>'right'</code>, where <code>'right'</code> is the default option.\"\n        }\n    }\n}"}},{"relativePath":"charts-api/api.json","internal":{"content":"{\n  \"chart\": {\n    \"meta\": {\n      \"displayName\": \"General Configuration\",\n      \"description\": \"Configuration common to all charts.\"\n    },\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to render the chart from. If this is not specified, it must be set on individual series instead.\"\n    },\n    \"container\": {\n      \"type\": \"HTMLElement\",\n      \"description\": \"The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the <code>autoSize</code> config description for information on how the container element affects the chart size (by default).\"\n    },\n    \"autoSize\": {\n      \"default\": true,\n      \"description\": \"By default, the chart will resize automatically to fill the container element. Set this to <code>false</code> to disable this behaviour. If either the <code>width</code> or <code>height</code> are set, auto-sizing will be disabled unless this is explicitly set to <code>true</code>.<br/><strong>Important:</strong> if this config is set to <code>true</code>, make sure to give the chart's <code>container</code> element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container.\"\n    },\n    \"width\": {\n      \"type\": \"number\",\n      \"description\": \"The width of the chart in pixels. Has no effect if <code>autoSize</code> is set to <code>true</code>.\",\n      \"min\": 1,\n      \"unit\": \"px\"\n    },\n    \"height\": {\n      \"type\": \"number\",\n      \"description\": \"The height of the chart in pixels. Has no effect if <code>autoSize</code> is set to <code>true</code>.\",\n      \"min\": 1,\n      \"unit\": \"px\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Global configuration that applies to all tooltips in the chart.\"\n      },\n      \"enabled\": {\n        \"type\": \"boolean\",\n        \"default\": true,\n        \"description\": \"Set to false to disable tooltips for all series in the chart.\"\n      },\n      \"tracking\": {\n        \"type\": \"boolean\",\n        \"default\": true,\n        \"description\": \"If true, for series with markers the tooltip will be shown to the closest marker.\"\n      },\n      \"class\": {\n        \"type\": \"string\",\n        \"description\": \"A class name to be added to the tooltip element of the chart.\"\n      }\n    },\n    \"padding\": {\n      \"meta\": {\n        \"description\": \"Configuration for the padding shown around the chart.\"\n      },\n      \"top\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the top of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      },\n      \"right\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the right of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      },\n      \"bottom\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the bottom of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      },\n      \"left\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the left of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      }\n    },\n    \"background\": {\n      \"meta\": {\n        \"description\": \"Configuration for the background shown behind the chart.\"\n      },\n      \"fill\": {\n        \"default\": \"#FFFFFF\",\n        \"description\": \"Colour of the chart background.\"\n      },\n      \"visible\": {\n        \"default\": true,\n        \"description\": \"Whether or not the background should be visible.\"\n      }\n    },\n    \"title\": {\n      \"meta\": {\n        \"description\": \"Configuration for the title shown at the top of the chart.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the title should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"default\": \"Title\",\n        \"description\": \"The text to show in the title.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the title.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the title.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"bold\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the title.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 18,\n        \"description\": \"The font size in pixels to use for the title.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the title.\"\n      }\n    },\n    \"subtitle\": {\n      \"meta\": {\n        \"description\": \"Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the subtitle should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"default\": \"Subtitle\",\n        \"description\": \"The text to show in the subtitle.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the subtitle.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the subtitle.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the subtitle.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 14,\n        \"description\": \"The font size in pixels to use for the subtitle.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the subtitle.\"\n      }\n    },\n    \"legend\": {\n      \"meta\": {\n        \"description\": \"Configuration for the chart legend.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show the legend.\"\n      },\n      \"position\": {\n        \"default\": \"right\",\n        \"description\": \"Where the legend should show in relation to the chart.\",\n        \"options\": [\n          \"top\",\n          \"right\",\n          \"bottom\",\n          \"left\"\n        ]\n      },\n      \"spacing\": {\n        \"default\": 20,\n        \"description\": \"The spacing in pixels to use outside the legend.\",\n        \"min\": 0,\n        \"max\": 40,\n        \"unit\": \"px\"\n      },\n      \"item\": {\n        \"meta\": {\n          \"description\": \"Configuration for the legend items that consist of a marker and a label.\"\n        },\n        \"paddingX\": {\n          \"default\": 16,\n          \"description\": \"The horizontal spacing in pixels to use between legend items.\",\n          \"min\": 0,\n          \"max\": 40,\n          \"unit\": \"px\"\n        },\n        \"paddingY\": {\n          \"default\": 8,\n          \"description\": \"The vertical spacing in pixels to use between legend items.\",\n          \"min\": 0,\n          \"max\": 40,\n          \"unit\": \"px\"\n        },\n        \"marker\": {\n          \"meta\": {\n            \"description\": \"Configuration for the legend markers.\"\n          },\n          \"padding\": {\n            \"default\": 8,\n            \"description\": \"The padding in pixels between a legend marker and the corresponding label.\",\n            \"min\": 0,\n            \"max\": 40,\n            \"unit\": \"px\"\n          },\n          \"shape\": {\n            \"type\": \"string\",\n            \"description\": \"If set, overrides the marker shape from the series and the legend will show the specified marker shape instead. If not set, will use a marker shape matching the shape from the series, or fall back to <code>'square'</code> if there is none.\",\n            \"options\": [\n              \"circle\",\n              \"cross\",\n              \"diamond\",\n              \"plus\",\n              \"square\",\n              \"triangle\"\n            ]\n          },\n          \"size\": {\n            \"default\": 15,\n            \"description\": \"The size in pixels of the markers in the legend.\",\n            \"min\": 0,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"strokeWidth\": {\n            \"default\": 1,\n            \"description\": \"The width in pixels of the stroke for markers in the legend.\",\n            \"min\": 0,\n            \"max\": 10,\n            \"unit\": \"px\"\n          }\n        },\n        \"label\": {\n          \"meta\": {\n            \"description\": \"Configuration for the legend labels.\"\n          },\n          \"color\": {\n            \"default\": \"black\",\n            \"description\": \"The colour of the text.\"\n          },\n          \"fontStyle\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"italic\",\n              \"oblique\"\n            ],\n            \"description\": \"The font style to use for the legend.\"\n          },\n          \"fontWeight\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"bold\",\n              \"bolder\",\n              \"lighter\",\n              \"100\",\n              \"200\",\n              \"300\",\n              \"400\",\n              \"500\",\n              \"600\",\n              \"700\",\n              \"800\",\n              \"900\"\n            ],\n            \"description\": \"The font weight to use for the legend.\",\n            \"breakIndex\": 4\n          },\n          \"fontSize\": {\n            \"default\": 12,\n            \"description\": \"The font size in pixels to use for the legend.\",\n            \"min\": 1,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"fontFamily\": {\n            \"default\": \"Verdana, sans-serif\",\n            \"suggestions\": [\n              \"Verdana, sans-serif\",\n              \"Arial, sans-serif\",\n              \"Times New Roman, serif\"\n            ],\n            \"description\": \"The font family to use for the legend.\"\n          },\n          \"formatter\": {\n            \"type\": {\n              \"parameters\": {\n                \"id\": \"string\",\n                \"itemId\": \"any\",\n                \"value\": \"string\"\n              },\n              \"returnType\": \"string\"\n            },\n            \"description\": \"Function used to render legend labels. Where <code>id</code> is a series ID, <code>itemId</code> is component ID within a series, such as a field name or an item index.\"\n          }\n        }\n      }\n    },\n    \"navigator\": {\n      \"meta\": {\n        \"description\": \"Configuration for the chart navigator. This config is only supported by cartesian charts.\"\n      },\n      \"enabled\": {\n        \"default\": false,\n        \"description\": \"Whether or not to show the navigator.\"\n      },\n      \"height\": {\n        \"default\": 30,\n        \"description\": \"The height of the navigator.\",\n        \"min\": 10,\n        \"max\": 100,\n        \"unit\": \"px\"\n      },\n      \"margin\": {\n        \"default\": 10,\n        \"description\": \"The distance between the navigator and the bottom axis.\",\n        \"min\": 0,\n        \"max\": 100,\n        \"unit\": \"px\"\n      },\n      \"min\": {\n        \"default\": 0,\n        \"description\": \"The start of the visible range in the <code>[0, 1]</code> interval.\",\n        \"min\": 0,\n        \"max\": 1,\n        \"step\": 0.01\n      },\n      \"max\": {\n        \"default\": 1,\n        \"description\": \"The end of the visible range in the <code>[0, 1]</code> interval.\",\n        \"min\": 0,\n        \"max\": 1,\n        \"step\": 0.01\n      },\n      \"mask\": {\n        \"meta\": {\n          \"description\": \"Configuration for the navigator's visible range mask.\"\n        },\n        \"fill\": {\n          \"default\": \"#999999\",\n          \"description\": \"The fill colour used by the mask.\"\n        },\n        \"stroke\": {\n          \"default\": \"#999999\",\n          \"description\": \"The stroke colour used by the mask.\"\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The stroke width used by the mask.\",\n          \"min\": 0,\n          \"max\": 5,\n          \"unit\": \"px\"\n        },\n        \"fillOpacity\": {\n          \"default\": 0.2,\n          \"description\": \"The opacity of the mask's fill in the <code>[0, 1]</code> interval, where <code>0</code> is effectively no masking.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        }\n      },\n      \"minHandle\": {\n        \"meta\": {\n          \"description\": \"Configuration for the navigator's left handle.\"\n        },\n        \"fill\": {\n          \"default\": \"#f2f2f2\",\n          \"description\": \"The fill colour used by the handle.\"\n        },\n        \"stroke\": {\n          \"default\": \"#999999\",\n          \"description\": \"The stroke colour used by the handle.\"\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The stroke width used by the handle.\",\n          \"min\": 0,\n          \"max\": 5,\n          \"unit\": \"px\"\n        },\n        \"width\": {\n          \"default\": 8,\n          \"description\": \"The width of the handle.\",\n          \"min\": 4,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"height\": {\n          \"default\": 16,\n          \"description\": \"The height of the handle.\",\n          \"min\": 8,\n          \"max\": 26,\n          \"unit\": \"px\"\n        },\n        \"gripLineLength\": {\n          \"default\": 8,\n          \"description\": \"The length of the handle's grip lines.\",\n          \"min\": 4,\n          \"max\": 16,\n          \"unit\": \"px\"\n        },\n        \"gripLineGap\": {\n          \"default\": 2,\n          \"description\": \"The distance between the handle's grip lines.\",\n          \"min\": 1,\n          \"max\": 8,\n          \"unit\": \"px\"\n        }\n      },\n      \"maxHandle\": {\n        \"meta\": {\n          \"description\": \"Configuration for the navigator's right handle.\"\n        },\n        \"fill\": {\n          \"default\": \"#f2f2f2\",\n          \"description\": \"The fill colour used by the handle.\"\n        },\n        \"stroke\": {\n          \"default\": \"#999999\",\n          \"description\": \"The stroke colour used by the handle.\"\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The stroke width used by the handle.\",\n          \"min\": 0,\n          \"max\": 5,\n          \"unit\": \"px\"\n        },\n        \"width\": {\n          \"default\": 8,\n          \"description\": \"The width of the handle.\",\n          \"min\": 4,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"height\": {\n          \"default\": 16,\n          \"description\": \"The height of the handle.\",\n          \"min\": 8,\n          \"max\": 26,\n          \"unit\": \"px\"\n        },\n        \"gripLineLength\": {\n          \"default\": 8,\n          \"description\": \"The length of the handle's grip lines.\",\n          \"min\": 4,\n          \"max\": 16,\n          \"unit\": \"px\"\n        },\n        \"gripLineGap\": {\n          \"default\": 2,\n          \"description\": \"The distance between the handle's grip lines.\",\n          \"min\": 1,\n          \"max\": 8,\n          \"unit\": \"px\"\n        }\n      }\n    }\n  },\n  \"axis\": {\n    \"meta\": {\n      \"displayName\": \"Axis Configuration\",\n      \"description\": \"Configuration for axes in cartesian charts.\"\n    },\n    \"type\": {\n      \"type\": \"string\",\n      \"description\": \"The type of the axis.\",\n      \"options\": [\n        \"category\",\n        \"number\",\n        \"time\"\n      ]\n    },\n    \"position\": {\n      \"type\": \"string\",\n      \"description\": \"The position on the chart where the axis should be rendered.\",\n      \"options\": [\n        \"top\",\n        \"right\",\n        \"bottom\",\n        \"left\"\n      ]\n    },\n    \"nice\": {\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"description\": \"If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. Applies to continuous axes only ('number', 'time').\"\n    },\n    \"min\": {\n      \"type\": \"number\",\n      \"description\": \"User override for the automatically determinted min value (based on series data). Only applied to \\\"number\\\" axes.\"\n    },\n    \"max\": {\n      \"type\": \"number\",\n      \"description\": \"User override for the automatically determinted max value (based on series data). Only applied to \\\"number\\\" axes.\"\n    },\n    \"title\": {\n      \"meta\": {\n        \"description\": \"Configuration for the title shown next to the axis.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the axis title should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"default\": \"Axis Title\",\n        \"description\": \"The text to show in the axis title.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the axis title.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the axis title.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"bold\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the axis title.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 14,\n        \"description\": \"The font size in pixels to use for the axis title.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the axis title.\"\n      }\n    },\n    \"line\": {\n      \"meta\": {\n        \"description\": \"Configuration for the axis line.\"\n      },\n      \"width\": {\n        \"default\": 1,\n        \"description\": \"The width in pixels of the axis line.\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"color\": {\n        \"default\": \"rgba(195, 195, 195, 1)\",\n        \"description\": \"The colour of the axis line.\"\n      }\n    },\n    \"tick\": {\n      \"meta\": {\n        \"description\": \"Configuration for the axis ticks.\"\n      },\n      \"width\": {\n        \"default\": 1,\n        \"description\": \"The width in pixels of the axis ticks (and corresponding grid line).\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"size\": {\n        \"default\": 6,\n        \"description\": \"The length in pixels of the axis ticks.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"color\": {\n        \"default\": \"rgba(195, 195, 195, 1)\",\n        \"description\": \"The colour of the axis ticks.\"\n      },\n      \"count\": {\n        \"default\": 10,\n        \"description\": \"A hint of how many ticks to use across an axis. The axis is not guaranteed to use exactly this number of ticks, but will try to use a number of ticks that is close to the number given.\",\n        \"min\": 0,\n        \"max\": 50\n      }\n    },\n    \"label\": {\n      \"meta\": {\n        \"description\": \"Configuration for the axis labels, shown next to the ticks.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the labels.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the labels.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 12,\n        \"description\": \"The font size in pixels to use for the labels.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the labels.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the labels.\"\n      },\n      \"padding\": {\n        \"default\": 5,\n        \"description\": \"Padding in pixels between the axis label and the tick.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"rotation\": {\n        \"default\": 0,\n        \"description\": \"The rotation of the axis labels in degrees. Note: for integrated charts the default is 335 degrees, unless the axis shows grouped or default categories (indexes). The first row of labels in a grouped category axis is rotated perpendicular to the axis line.\",\n        \"min\": -359,\n        \"max\": 359,\n        \"unit\": \"&deg;\"\n      },\n      \"format\": {\n        \"type\": \"string\",\n        \"description\": \"Format string used when rendering labels for time axes. For more information on the structure of the string, <a href=\\\"../charts-axes/#time-label-format-string\\\">click here</a>.\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"value\": \"any\",\n            \"index\": \"number\",\n            \"fractionDigits\": \"number\",\n            \"formatter\": \"(x: any) => string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to render axis labels. If <code>value</code> is a number, <code>fractionDigits</code> will also be provided, which indicates the number of fractional digits used in the step between ticks; for example, a tick step of <code>0.0005</code> would have <code>fractionDigits</code> set to <code>4</code>.\"\n      }\n    },\n    \"gridStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration of the lines used to form the grid in the chart area.\"\n      },\n      \"stroke\": {\n        \"default\": \"rgba(195, 195, 195, 1)\",\n        \"description\": \"The colour of the grid line.\"\n      },\n      \"lineDash\": {\n        \"default\": [\n          4,\n          2\n        ],\n        \"type\": \"number[]\",\n        \"description\": \"Defines how the gridlines are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, <code>[6, 3]</code> means dashes with a length of <code>6</code> pixels with gaps between of <code>3</code> pixels.\"\n      }\n    }\n  },\n  \"bar\": {\n    \"meta\": {\n      \"displayName\": \"Bar/Column Series Configuration\",\n      \"description\": \"Configuration for bar/column series.\"\n    },\n    \"xKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve x-values from the data.\"\n    },\n    \"xName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the x-values.\"\n    },\n    \"yKeys\": {\n      \"type\": \"string[]\",\n      \"isRequired\": true,\n      \"description\": \"The keys to use to retrieve y-values from the data.\"\n    },\n    \"yNames\": {\n      \"type\": \"string[]\",\n      \"description\": \"Human-readable descriptions of the y-values.\"\n    },\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to use when rendering the series. If this is not supplied, data must be set on the chart instead.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Series-specific tooltip configuration.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n      },\n      \"renderer\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"title?\": \"string\",\n            \"color?\": \"string\",\n            \"xKey\": \"string\",\n            \"xValue\": \"any\",\n            \"xName?\": \"string\",\n            \"yKey\": \"string\",\n            \"yValue\": \"any\",\n            \"yName?\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to create the content for tooltips.\"\n      }\n    },\n    \"grouped\": {\n      \"default\": false,\n      \"description\": \"Whether to show different y-values as separate bars (grouped) or not (stacked).\"\n    },\n    \"normalizedTo\": {\n      \"type\": \"number\",\n      \"description\": \"The number to normalise the bar stacks to. Has no effect when <code>grouped</code> is <code>true</code>. For example, if <code>normalizedTo</code> is set to <code>100</code>, the bar stacks will all be scaled proportionally so that each of their totals is 100.\",\n      \"min\": 1,\n      \"max\": 100\n    },\n    \"fills\": {\n      \"type\": \"string[]\",\n      \"default\": [\n        \"#f3622d\",\n        \"#fba71b\",\n        \"#57b757\",\n        \"#41a9c9\",\n        \"#4258c9\",\n        \"#9a42c8\",\n        \"#c84164\",\n        \"#888888\"\n      ],\n      \"description\": \"The colours to cycle through for the fills of the bars.\"\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the fill for the bars.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokes\": {\n      \"type\": \"string[]\",\n      \"default\": [\n        \"#aa4520\",\n        \"#b07513\",\n        \"#3d803d\",\n        \"#2d768d\",\n        \"#2e3e8d\",\n        \"#6c2e8c\",\n        \"#8c2d46\",\n        \"#5f5f5f\"\n      ],\n      \"description\": \"The colours to cycle through for the strokes of the bars.\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the stroke for the bars.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"description\": \"The width in pixels of the stroke for the bars.\",\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"highlightStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration for the highlighting used when the bars are hovered over.\"\n      },\n      \"fill\": {\n        \"default\": \"yellow\",\n        \"description\": \"The fill colour of the bars when hovered over.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour of the stroke around the bars when hovered over.\"\n      }\n    },\n    \"shadow\": {\n      \"meta\": {\n        \"description\": \"Configuration for the shadow used behind the chart series.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the shadow is visible.\"\n      },\n      \"color\": {\n        \"default\": \"rgba(0, 0, 0, 0.5)\",\n        \"description\": \"The colour of the shadow.\"\n      },\n      \"xOffset\": {\n        \"default\": 0,\n        \"description\": \"The horizontal offset in pixels for the shadow.\",\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"yOffset\": {\n        \"default\": 0,\n        \"description\": \"The vertical offset in pixels for the shadow.\",\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"blur\": {\n        \"default\": 5,\n        \"description\": \"The radius of the shadow's blur, given in pixels.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      }\n    },\n    \"lineDash\": {\n      \"default\": [],\n      \"type\": \"number[]\",\n      \"description\": \"Defines how the bar/column strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, <code>[6, 3]</code> means dashes with a length of <code>6</code> pixels with gaps between of <code>3</code> pixels.\"\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"type\": \"number\",\n      \"description\": \"The initial offset of the dashed line in pixels.\",\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"label\": {\n      \"meta\": {\n        \"description\": \"Configuration for the labels shown on bars.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the labels should be shown.\"\n      },\n      \"color\": {\n        \"default\": \"rgba(70, 70, 70, 1)\",\n        \"description\": \"The colour to use for the labels.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the labels.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the labels.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 12,\n        \"description\": \"The font size in pixels to use for the labels.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the labels.\"\n      }\n    },\n    \"formatter\": {\n      \"type\": {\n        \"parameters\": {\n          \"datum\": \"any\",\n          \"fill\": \"string\",\n          \"stroke\": \"string\",\n          \"strokeWidth\": \"number\",\n          \"highlighted\": \"boolean\",\n          \"xKey\": \"string\",\n          \"yKey\": \"string\"\n        },\n        \"returnType\": {\n          \"fill\": \"string\",\n          \"stroke\": \"string\",\n          \"strokeWidth\": \"number\"\n        }\n      },\n      \"description\": \"Function used to return formatting for individual bars/columns, based on the given parameters. If the current bar/column is highlighted, the <code>highlighted</code> property will be set to <code>true</code>; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n    },\n    \"listeners\": {\n      \"meta\": {\n        \"description\": \"A map of event names to event listeners.\"\n      },\n      \"nodeClick\": {\n        \"type\": {\n          \"parameters\": {\n            \"type\": \"'nodeClick'\",\n            \"series\": \"BarSeries\",\n            \"datum\": \"any\",\n            \"xKey\": \"string\",\n            \"yKey\": \"string\"\n          },\n          \"returnType\": \"any\"\n        },\n        \"description\": \"The listener to call when a bar/column node is clicked.\"\n      }\n    }\n  },\n  \"line\": {\n    \"meta\": {\n      \"displayName\": \"Line Series Configuration\",\n      \"description\": \"Configuration for line series.\"\n    },\n    \"xKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve x-values from the data.\"\n    },\n    \"xName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the x-values.\"\n    },\n    \"yKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve y-values from the data.\"\n    },\n    \"yName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the y-values.\"\n    },\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to use when rendering the series. If this is not supplied, data must be set on the chart instead.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Series-specific tooltip configuration.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n      },\n      \"renderer\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"title?\": \"string\",\n            \"color?\": \"string\",\n            \"xKey\": \"string\",\n            \"xValue\": \"any\",\n            \"xName?\": \"string\",\n            \"yKey\": \"string\",\n            \"yValue\": \"any\",\n            \"yName?\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to create the content for tooltips.\"\n      }\n    },\n    \"title\": {\n      \"type\": \"string\",\n      \"description\": \"The title to use for the series. Defaults to <code>yName</code> if it exists, or <code>yKey</code> if not.\"\n    },\n    \"stroke\": {\n      \"default\": \"#aa4520\",\n      \"description\": \"The colour of the stroke for the lines.\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the stroke for the lines.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"description\": \"The width in pixels of the stroke for the lines.\",\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"marker\": {\n      \"meta\": {\n        \"description\": \"Configuration for the markers used in the series.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show markers.\"\n      },\n      \"shape\": {\n        \"type\": \"string | Marker\",\n        \"default\": \"circle\",\n        \"description\": \"The shape to use for the markers. You can also supply a custom marker by providing a <code>Marker</code> subclass.\",\n        \"options\": [\n          \"circle\",\n          \"cross\",\n          \"diamond\",\n          \"plus\",\n          \"square\",\n          \"triangle\"\n        ]\n      },\n      \"size\": {\n        \"default\": 8,\n        \"description\": \"The size in pixels of the markers.\",\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"maxSize\": {\n        \"default\": 30,\n        \"description\": \"For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels.\",\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"fill\": {\n        \"type\": \"string\",\n        \"description\": \"The colour to use for marker fills. If this is not specified, the markers will take their fill from the series.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series.\"\n      },\n      \"strokeWidth\": {\n        \"type\": \"number\",\n        \"description\": \"The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series.\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"fill\": \"string\",\n            \"stroke\": \"string\",\n            \"strokeWidth\": \"number\",\n            \"size\": \"number\",\n            \"highlighted\": \"boolean\",\n            \"xKey\": \"string\",\n            \"yKey\": \"string\"\n          },\n          \"returnType\": {\n            \"fill\": \"string\",\n            \"stroke\": \"string\",\n            \"strokeWidth\": \"number\",\n            \"size\": \"number\"\n          }\n        },\n        \"description\": \"Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the <code>highlighted</code> property will be set to <code>true</code>; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n      }\n    },\n    \"highlightStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration for the highlighting used when the markers are hovered over.\"\n      },\n      \"fill\": {\n        \"default\": \"yellow\",\n        \"description\": \"The fill colour of the markers when hovered over.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour of the stroke around the markers when hovered over.\"\n      }\n    },\n    \"lineDash\": {\n      \"default\": [],\n      \"type\": \"number[]\",\n      \"description\": \"Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, <code>[6, 3]</code> means dashes with a length of <code>6</code> pixels with gaps between of <code>3</code> pixels.\"\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"type\": \"number\",\n      \"description\": \"The initial offset of the dashed line in pixels.\",\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"listeners\": {\n      \"meta\": {\n        \"description\": \"A map of event names to event listeners.\"\n      },\n      \"nodeClick\": {\n        \"type\": {\n          \"parameters\": {\n            \"type\": \"'nodeClick'\",\n            \"series\": \"LineSeries\",\n            \"datum\": \"any\",\n            \"xKey\": \"string\",\n            \"yKey\": \"string\"\n          },\n          \"returnType\": \"any\"\n        },\n        \"description\": \"The listener to call when a line series node (marker) is clicked.\"\n      }\n    }\n  },\n  \"area\": {\n    \"meta\": {\n      \"displayName\": \"Area Series Configuration\",\n      \"description\": \"Configuration for area series.\"\n    },\n    \"xKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve x-values from the data.\"\n    },\n    \"xName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the x-values.\"\n    },\n    \"yKeys\": {\n      \"type\": \"string[]\",\n      \"isRequired\": true,\n      \"description\": \"The keys to use to retrieve y-values from the data.\"\n    },\n    \"yNames\": {\n      \"type\": \"string[]\",\n      \"description\": \"Human-readable descriptions of the y-values.\"\n    },\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to use when rendering the series. If this is not supplied, data must be set on the chart instead.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Series-specific tooltip configuration.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n      },\n      \"renderer\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"title?\": \"string\",\n            \"color?\": \"string\",\n            \"xKey\": \"string\",\n            \"xValue\": \"any\",\n            \"xName?\": \"string\",\n            \"yKey\": \"string\",\n            \"yValue\": \"any\",\n            \"yName?\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to create the content for tooltips.\"\n      }\n    },\n    \"normalizedTo\": {\n      \"type\": \"number\",\n      \"description\": \"The number to normalise the area stacks to. For example, if <code>normalizedTo</code> is set to <code>100</code>, the stacks will all be scaled proportionally so that their total height is always 100.\",\n      \"min\": 1,\n      \"max\": 100\n    },\n    \"fills\": {\n      \"type\": \"string[]\",\n      \"default\": [\n        \"#f3622d\",\n        \"#fba71b\",\n        \"#57b757\",\n        \"#41a9c9\",\n        \"#4258c9\",\n        \"#9a42c8\",\n        \"#c84164\",\n        \"#888888\"\n      ],\n      \"description\": \"The colours to cycle through for the fills of the areas.\"\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the fill for the areas.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokes\": {\n      \"type\": \"string[]\",\n      \"default\": [\n        \"#aa4520\",\n        \"#b07513\",\n        \"#3d803d\",\n        \"#2d768d\",\n        \"#2e3e8d\",\n        \"#6c2e8c\",\n        \"#8c2d46\",\n        \"#5f5f5f\"\n      ],\n      \"description\": \"The colours to cycle through for the strokes of the areas.\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the stroke for the areas.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"description\": \"The width in pixels of the stroke for the areas.\",\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"marker\": {\n      \"meta\": {\n        \"description\": \"Configuration for the markers used in the series.\"\n      },\n      \"enabled\": {\n        \"default\": false,\n        \"description\": \"Whether or not to show markers.\"\n      },\n      \"shape\": {\n        \"type\": \"string | Marker\",\n        \"default\": \"circle\",\n        \"description\": \"The shape to use for the markers. You can also supply a custom marker by providing a <code>Marker</code> subclass.\",\n        \"options\": [\n          \"circle\",\n          \"cross\",\n          \"diamond\",\n          \"plus\",\n          \"square\",\n          \"triangle\"\n        ]\n      },\n      \"size\": {\n        \"default\": 8,\n        \"description\": \"The size in pixels of the markers.\",\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"maxSize\": {\n        \"default\": 30,\n        \"description\": \"For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels.\",\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"fill\": {\n        \"type\": \"string\",\n        \"description\": \"The colour to use for marker fills. If this is not specified, the markers will take their fill from the series.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series.\"\n      },\n      \"strokeWidth\": {\n        \"type\": \"number\",\n        \"description\": \"The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series.\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"fill\": \"string\",\n            \"stroke\": \"string\",\n            \"strokeWidth\": \"number\",\n            \"size\": \"number\",\n            \"highlighted\": \"boolean\",\n            \"xKey\": \"string\",\n            \"yKey\": \"string\"\n          },\n          \"returnType\": {\n            \"fill\": \"string\",\n            \"stroke\": \"string\",\n            \"strokeWidth\": \"number\",\n            \"size\": \"number\"\n          }\n        },\n        \"description\": \"Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the <code>highlighted</code> property will be set to <code>true</code>; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n      }\n    },\n    \"highlightStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration for the highlighting used when the markers are hovered over.\"\n      },\n      \"fill\": {\n        \"default\": \"yellow\",\n        \"description\": \"The fill colour of the markers when hovered over.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour of the stroke around the markers when hovered over.\"\n      }\n    },\n    \"lineDash\": {\n      \"default\": [],\n      \"type\": \"number[]\",\n      \"description\": \"Defines how the area strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, <code>[6, 3]</code> means dashes with a length of <code>6</code> pixels with gaps between of <code>3</code> pixels.\"\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"type\": \"number\",\n      \"description\": \"The initial offset of the dashed line in pixels.\",\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"shadow\": {\n      \"meta\": {\n        \"description\": \"Configuration for the shadow used behind the chart series.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the shadow is visible.\"\n      },\n      \"color\": {\n        \"default\": \"rgba(0, 0, 0, 0.5)\",\n        \"description\": \"The colour of the shadow.\"\n      },\n      \"xOffset\": {\n        \"default\": 0,\n        \"description\": \"The horizontal offset in pixels for the shadow.\",\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"yOffset\": {\n        \"default\": 0,\n        \"description\": \"The vertical offset in pixels for the shadow.\",\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"blur\": {\n        \"default\": 5,\n        \"description\": \"The radius of the shadow's blur, given in pixels.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      }\n    }\n  },\n  \"scatter\": {\n    \"meta\": {\n      \"displayName\": \"Scatter/Bubble Series Configuration\",\n      \"description\": \"Configuration for scatter/bubble series.\"\n    },\n    \"xKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve x-values from the data.\"\n    },\n    \"xName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the x-values.\"\n    },\n    \"yKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve y-values from the data.\"\n    },\n    \"yName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the y-values.\"\n    },\n    \"sizeKey\": {\n      \"type\": \"string\",\n      \"description\": \"The key to use to retrieve size values from the data, used to control the size of the markers in bubble charts.\"\n    },\n    \"sizeName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the size values.\"\n    },\n    \"labelKey\": {\n      \"type\": \"string\",\n      \"description\": \"The key to use to retrieve values from the data to use as labels for the markers.\"\n    },\n    \"labelName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the label values.\"\n    },\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to use when rendering the series. If this is not supplied, data must be set on the chart instead.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Series-specific tooltip configuration.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n      },\n      \"renderer\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"title?\": \"string\",\n            \"color?\": \"string\",\n            \"xKey\": \"string\",\n            \"xValue\": \"any\",\n            \"xName?\": \"string\",\n            \"yKey\": \"string\",\n            \"yValue\": \"any\",\n            \"yName?\": \"string\",\n            \"sizeKey?\": \"string\",\n            \"sizeName?\": \"string\",\n            \"labelKey?\": \"string\",\n            \"labelName?\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to create the content for tooltips.\"\n      }\n    },\n    \"title\": {\n      \"type\": \"string\",\n      \"description\": \"The title to use for the series. Defaults to <code>yName</code> if it exists, or <code>yKey</code> if not.\"\n    },\n    \"fill\": {\n      \"default\": \"#f3622d\",\n      \"description\": \"The colour of the fill for the markers.\"\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the fill for the markers.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"stroke\": {\n      \"default\": \"#aa4520\",\n      \"description\": \"The colour of the stroke for the markers.\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the stroke for the markers.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"description\": \"The width in pixels of the stroke for the markers.\",\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"marker\": {\n      \"meta\": {\n        \"description\": \"Configuration for the markers used in the series.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show markers.\"\n      },\n      \"shape\": {\n        \"type\": \"string | Marker\",\n        \"default\": \"circle\",\n        \"description\": \"The shape to use for the markers. You can also supply a custom marker by providing a <code>Marker</code> subclass.\",\n        \"options\": [\n          \"circle\",\n          \"cross\",\n          \"diamond\",\n          \"plus\",\n          \"square\",\n          \"triangle\"\n        ]\n      },\n      \"size\": {\n        \"default\": 8,\n        \"description\": \"The size in pixels of the markers.\",\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"maxSize\": {\n        \"default\": 30,\n        \"description\": \"For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels.\",\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"fill\": {\n        \"type\": \"string\",\n        \"description\": \"The colour to use for marker fills. If this is not specified, the markers will take their fill from the series.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series.\"\n      },\n      \"strokeWidth\": {\n        \"type\": \"number\",\n        \"description\": \"The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series.\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"fill\": \"string\",\n            \"stroke\": \"string\",\n            \"strokeWidth\": \"number\",\n            \"size\": \"number\",\n            \"highlighted\": \"boolean\",\n            \"xKey\": \"string\",\n            \"yKey\": \"string\"\n          },\n          \"returnType\": {\n            \"fill\": \"string\",\n            \"stroke\": \"string\",\n            \"strokeWidth\": \"number\",\n            \"size\": \"number\"\n          }\n        },\n        \"description\": \"Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the <code>highlighted</code> property will be set to <code>true</code>; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n      }\n    },\n    \"highlightStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration for the highlighting used when the markers are hovered over.\"\n      },\n      \"fill\": {\n        \"default\": \"yellow\",\n        \"description\": \"The fill colour of the markers when hovered over.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour of the stroke around the markers when hovered over.\"\n      }\n    },\n    \"listeners\": {\n      \"meta\": {\n        \"description\": \"A map of event names to event listeners.\"\n      },\n      \"nodeClick\": {\n        \"type\": {\n          \"parameters\": {\n            \"type\": \"'nodeClick'\",\n            \"series\": \"ScatterSeries\",\n            \"datum\": \"any\",\n            \"xKey\": \"string\",\n            \"yKey\": \"string\",\n            \"sizeKey?\": \"string\"\n          },\n          \"returnType\": \"any\"\n        },\n        \"description\": \"The listener to call when a scatter series node (marker) is clicked.\"\n      }\n    }\n  },\n  \"pie\": {\n    \"meta\": {\n      \"displayName\": \"Pie/Doughnut Series Configuration\",\n      \"description\": \"Configuration for pie/doughnut series.\"\n    },\n    \"angleKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve angle values from the data.\"\n    },\n    \"angleName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the angle values.\"\n    },\n    \"labelKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve label values from the data.\"\n    },\n    \"labelName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the label values.\"\n    },\n    \"radiusKey\": {\n      \"type\": \"string\",\n      \"description\": \"The key to use to retrieve radius values from the data.\"\n    },\n    \"radiusName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the radius values.\"\n    },\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to use when rendering the series. If this is not supplied, data must be set on the chart instead.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Series-specific tooltip configuration.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n      },\n      \"renderer\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"title?\": \"string\",\n            \"color?\": \"string\",\n            \"angleKey\": \"string\",\n            \"angleValue\": \"any\",\n            \"angleName?\": \"string\",\n            \"radiusKey?\": \"string\",\n            \"radiusValue?\": \"any\",\n            \"radiusName?\": \"string\",\n            \"labelKey?\": \"string\",\n            \"labelName?\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to create the content for tooltips.\"\n      }\n    },\n    \"lineDash\": {\n      \"default\": [],\n      \"type\": \"number[]\",\n      \"description\": \"Defines how the pie sector strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, <code>[6, 3]</code> means dashes with a length of <code>6</code> pixels with gaps between of <code>3</code> pixels.\"\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"type\": \"number\",\n      \"description\": \"The initial offset of the dashed line in pixels.\",\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"rotation\": {\n      \"default\": 0,\n      \"description\": \"The rotation of the pie series in degrees.\",\n      \"min\": -359,\n      \"max\": 359,\n      \"unit\": \"&deg\"\n    },\n    \"innerRadiusOffset\": {\n      \"default\": 0,\n      \"description\": \"The offset in pixels of the inner radius of the series. Used to construct doughnut charts. If this is not given, or a value of zero is given, a pie chart will be rendered.\",\n      \"min\": -50,\n      \"max\": 50,\n      \"unit\": \"px\"\n    },\n    \"outerRadiusOffset\": {\n      \"default\": 0,\n      \"description\": \"The offset in pixels of the outer radius of the series. Used to construct doughnut charts.\",\n      \"min\": -50,\n      \"max\": 50,\n      \"unit\": \"px\"\n    },\n    \"title\": {\n      \"meta\": {\n        \"description\": \"Configuration for the series title.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the title should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"description\": \"The text to show in the title.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the title.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the title.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the title.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 10,\n        \"description\": \"The font size in pixels to use for the title.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the title.\"\n      }\n    },\n    \"fills\": {\n      \"type\": \"string[]\",\n      \"default\": [\n        \"#f3622d\",\n        \"#fba71b\",\n        \"#57b757\",\n        \"#41a9c9\",\n        \"#4258c9\",\n        \"#9a42c8\",\n        \"#c84164\",\n        \"#888888\"\n      ],\n      \"description\": \"The colours to cycle through for the fills of the segments.\"\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the fill for the segments.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokes\": {\n      \"type\": \"string[]\",\n      \"default\": [\n        \"#aa4520\",\n        \"#b07513\",\n        \"#3d803d\",\n        \"#2d768d\",\n        \"#2e3e8d\",\n        \"#6c2e8c\",\n        \"#8c2d46\",\n        \"#5f5f5f\"\n      ],\n      \"description\": \"The colours to cycle through for the strokes of the segments.\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the stroke for the segments.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"description\": \"The width in pixels of the stroke for the segments.\",\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"highlightStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration for the highlighting used when the segments are hovered over.\"\n      },\n      \"fill\": {\n        \"default\": \"yellow\",\n        \"description\": \"The fill colour of the segments when hovered over.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour of the stroke around the segments when hovered over.\"\n      }\n    },\n    \"label\": {\n      \"meta\": {\n        \"description\": \"Configuration for the labels used for the segments.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the labels should be shown.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the labels.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the labels.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the labels.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 12,\n        \"description\": \"The font size in pixels to use for the labels.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the labels.\"\n      },\n      \"offset\": {\n        \"default\": 3,\n        \"description\": \"Distance in pixels between the callout line and the label text.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"minAngle\": {\n        \"default\": 20,\n        \"description\": \"Minimum angle in degrees required for a segment to show a label.\",\n        \"min\": 0,\n        \"max\": 360,\n        \"unit\": \"&deg;\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"value\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to turn 'labelKey' values into text to be displayed next to each pie sector. Be default the values are simply stringified.\"\n      }\n    },\n    \"callout\": {\n      \"meta\": {\n        \"description\": \"Configuration for the callouts used with the labels for the segments.\"\n      },\n      \"colors\": {\n        \"type\": \"string[]\",\n        \"default\": [\n          \"#aa4520\",\n          \"#b07513\",\n          \"#3d803d\",\n          \"#2d768d\",\n          \"#2e3e8d\",\n          \"#6c2e8c\",\n          \"#8c2d46\",\n          \"#5f5f5f\"\n        ],\n        \"description\": \"The colours to cycle through for the strokes of the callouts.\"\n      },\n      \"strokeWidth\": {\n        \"default\": 1,\n        \"description\": \"The width in pixels of the stroke for callout lines.\",\n        \"min\": 1,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"length\": {\n        \"default\": 10,\n        \"description\": \"The length in pixels of the callout lines.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      }\n    },\n    \"shadow\": {\n      \"meta\": {\n        \"description\": \"Configuration for the shadow used behind the chart series.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the shadow is visible.\"\n      },\n      \"color\": {\n        \"default\": \"rgba(0, 0, 0, 0.5)\",\n        \"description\": \"The colour of the shadow.\"\n      },\n      \"xOffset\": {\n        \"default\": 0,\n        \"description\": \"The horizontal offset in pixels for the shadow.\",\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"yOffset\": {\n        \"default\": 0,\n        \"description\": \"The vertical offset in pixels for the shadow.\",\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"blur\": {\n        \"default\": 5,\n        \"description\": \"The radius of the shadow's blur, given in pixels.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      }\n    },\n    \"listeners\": {\n      \"meta\": {\n        \"description\": \"A map of event names to event listeners.\"\n      },\n      \"nodeClick\": {\n        \"type\": {\n          \"parameters\": {\n            \"type\": \"'nodeClick'\",\n            \"series\": \"PieSeries\",\n            \"datum\": \"any\",\n            \"angleKey\": \"string\",\n            \"radiusKey?\": \"string\"\n          },\n          \"returnType\": \"any\"\n        },\n        \"description\": \"The listener to call when a pie slice is clicked.\"\n      }\n    }\n  },\n  \"histogram\": {\n    \"data\": {\n      \"type\": \"object[]\",\n      \"isRequired\": true,\n      \"description\": \"The data to use when rendering the series. If this is not supplied, data must be set on the chart instead.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltip\": {\n      \"meta\": {\n        \"description\": \"Series-specific tooltip configuration.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n      },\n      \"renderer\": {\n        \"type\": {\n          \"parameters\": {\n            \"datum\": \"any\",\n            \"title?\": \"string\",\n            \"color?\": \"string\",\n            \"xKey\": \"string\",\n            \"xValue\": \"any\",\n            \"xName?\": \"string\",\n            \"yKey\": \"string\",\n            \"yValue\": \"any\",\n            \"yName?\": \"string\",\n            \"sizeKey?\": \"string\",\n            \"sizeName?\": \"string\",\n            \"labelKey?\": \"string\",\n            \"labelName?\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to create the content for tooltips.\"\n      }\n    },\n    \"xKey\": {\n      \"type\": \"string\",\n      \"isRequired\": true,\n      \"description\": \"The key to use to retrieve x-values from the data.\"\n    },\n    \"xName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the x-values.\"\n    },\n    \"yKey\": {\n      \"type\": \"string\",\n      \"isRequired\": false,\n      \"description\": \"The key to use to retrieve y-values from the data.\"\n    },\n    \"yName\": {\n      \"type\": \"string\",\n      \"description\": \"A human-readable description of the y-values.\"\n    },\n    \"meta\": {\n      \"displayName\": \"Histogram Series Configuration\",\n      \"description\": \"Configuration for histogram series.\"\n    },\n    \"binCount\": {\n      \"type\": \"number\",\n      \"description\": \"The number of bins to try to split the x axis into. Clashes with the <code>bins</code> setting.\",\n      \"default\": 10,\n      \"min\": 1,\n      \"max\": 30\n    },\n    \"bins\": {\n      \"type\": \"number[][]\",\n      \"description\": \"Set the bins explicitly. The bins need not be of equal width. Clashes with the <code>binCount</code> setting.\"\n    },\n    \"aggregation\": {\n      \"type\": \"string\",\n      \"description\": \"Dictates how the bins are aggregated. If set to 'sum', the value shown for the bins will be the total of the yKey values. If set to 'mean', it will display the average yKey value of the bin\",\n      \"default\": \"sum\",\n      \"options\": [\n        \"sum\",\n        \"mean\"\n      ]\n    },\n    \"areaPlot\": {\n      \"type\": \"boolean\",\n      \"description\": \"For variable width bins, if true the histogram will represent the aggregated <code>yKey</code> values using the area of the bar. Otherwise, the height of the var represents the value as per a normal bar chart. This is useful for keeping an undistorted curve displayed when using variable-width bins\",\n      \"default\": \"false\"\n    },\n    \"lineDash\": {\n      \"default\": [],\n      \"type\": \"number[]\",\n      \"description\": \"Defines how the column strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, <code>[6, 3]</code> means dashes with a length of <code>6</code> pixels with gaps between of <code>3</code> pixels.\"\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"type\": \"number\",\n      \"description\": \"The initial offset of the dashed line in pixels.\",\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"highlightStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration for the highlighting used when the bars are hovered over.\"\n      },\n      \"fill\": {\n        \"default\": \"yellow\",\n        \"description\": \"The fill colour of the bars when hovered over.\"\n      },\n      \"stroke\": {\n        \"type\": \"string\",\n        \"description\": \"The colour of the stroke around the bars when hovered over.\"\n      }\n    },\n    \"fill\": {\n      \"default\": \"#f3622d\",\n      \"description\": \"The colour of the fill for the histogram bars.\"\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the fill for the histogram bars.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"stroke\": {\n      \"default\": \"#aa4520\",\n      \"description\": \"The colour of the stroke for the histogram bars.\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"description\": \"The opacity of the stroke for the histogram bars.\",\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"description\": \"The width in pixels of the stroke for the histogram bars.\",\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"listeners\": {\n      \"meta\": {\n        \"description\": \"A map of event names to event listeners.\"\n      },\n      \"nodeClick\": {\n        \"type\": {\n          \"parameters\": {\n            \"type\": \"'nodeClick'\",\n            \"series\": \"HistogramSeries\",\n            \"datum\": \"any\",\n            \"xKey\": \"string\"\n          },\n          \"returnType\": \"any\"\n        },\n        \"description\": \"The listener to call when a histogram bar is clicked.\"\n      }\n    }\n  }\n}"}},{"relativePath":"charts-api-themes/themes.json","internal":{"content":"{\n  \"theme\": {\n    \"meta\": {\n      \"displayName\": \"Theme Configuration\",\n      \"description\": \"This object is used to define the configuration for a custom chart theme.\"\n    },\n    \"baseTheme\": {\n      \"options\": [\n        \"default\",\n        \"dark\",\n        \"material\",\n        \"material-dark\",\n        \"pastel\",\n        \"pastel-dark\",\n        \"solar\",\n        \"solar-dark\",\n        \"vivid\",\n        \"vivid-dark\"\n      ],\n      \"default\": \"default\",\n      \"description\": \"The name of the theme to base your theme on. Your custom theme will inherit all of the configuration from the base theme, allowing you to override just the settings you wish to change using the `defaults` config (see below).\"\n    },\n    \"palette\": {\n      \"meta\": {\n        \"description\": \"The palette to use. If specified, this replaces the palette from the base theme.\"\n      },\n      \"fills\": {\n        \"type\": \"string[]\",\n        \"description\": \"The array of fills to be used.\"\n      },\n      \"strokes\": {\n        \"type\": \"string[]\",\n        \"description\": \"The array of strokes to be used.\"\n      }\n    },\n    \"overrides\": {\n      \"meta\": {\n        \"description\": \"Configuration from this object is merged over the defaults specified in the base theme.\"\n      },\n      \"common\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for all chart types. Be careful to only use properties that apply to all chart types here. For example, don't specify `navigator` configuration here as navigators are only available in cartesian charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"cartesian\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for all cartesian charts (used for bar, column, histogram, line, scatter and area series).\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"polar\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for all polar charts (used for pie series).\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"bar\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for bar/column charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"histogram\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for histogram charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"line\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for line charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"scatter\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for scatter/bubble charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"area\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for line charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      },\n      \"pie\": {\n        \"type\": \"IChart\",\n        \"description\": \"Specifies defaults for pie/doughnut charts.\",\n        \"more\": {\n          \"name\": \"Chart Configuration\",\n          \"url\": \"../charts-api-themes/#chart\"\n        }\n      }\n    }\n  },\n  \"chart\": {\n    \"meta\": {\n      \"displayName\": \"Chart Configuration\",\n      \"description\": \"This is the common configuration shared by all types of chart, as used in the <a href='../charts-api-themes/#reference-theme.overrides'>overrides</a> object.\"\n    },\n    \"autoSize\": {\n      \"default\": true,\n      \"description\": \"By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.\"\n    },\n    \"width\": {\n      \"type\": \"number\",\n      \"description\": \"The width of the chart in pixels. Has no effect if `autoSize` is set to `true`.\",\n      \"min\": 1,\n      \"unit\": \"px\"\n    },\n    \"height\": {\n      \"type\": \"number\",\n      \"description\": \"The height of the chart in pixels. Has no effect if `autoSize` is set to `true`.\",\n      \"min\": 1,\n      \"unit\": \"px\"\n    },\n    \"padding\": {\n      \"meta\": {\n        \"description\": \"Configuration for the padding shown around the chart.\"\n      },\n      \"top\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the top of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      },\n      \"right\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the right of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      },\n      \"bottom\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the bottom of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      },\n      \"left\": {\n        \"default\": 20,\n        \"description\": \"The number of pixels of padding at the left of the chart area.\",\n        \"min\": 0,\n        \"max\": 40\n      }\n    },\n    \"background\": {\n      \"meta\": {\n        \"description\": \"Configuration for the background shown behind the chart.\"\n      },\n      \"fill\": {\n        \"default\": \"#FFFFFF\",\n        \"description\": \"Colour of the chart background.\"\n      },\n      \"visible\": {\n        \"default\": true,\n        \"description\": \"Whether or not the background should be visible.\"\n      }\n    },\n    \"title\": {\n      \"meta\": {\n        \"description\": \"Configuration for the title shown at the top of the chart.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the title should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"default\": \"Title\",\n        \"description\": \"The text to show in the title.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the title.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the title.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"bold\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the title.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 18,\n        \"description\": \"The font size in pixels to use for the title.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the title.\"\n      }\n    },\n    \"subtitle\": {\n      \"meta\": {\n        \"description\": \"Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the subtitle should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"default\": \"Subtitle\",\n        \"description\": \"The text to show in the subtitle.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the subtitle.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the subtitle.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the subtitle.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 14,\n        \"description\": \"The font size in pixels to use for the subtitle.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the subtitle.\"\n      }\n    },\n    \"legend\": {\n      \"meta\": {\n        \"description\": \"Configuration for the chart legend.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not to show the legend.\"\n      },\n      \"position\": {\n        \"default\": \"right\",\n        \"description\": \"Where the legend should show in relation to the chart.\",\n        \"options\": [\n          \"top\",\n          \"right\",\n          \"bottom\",\n          \"left\"\n        ]\n      },\n      \"spacing\": {\n        \"default\": 20,\n        \"description\": \"The spacing in pixels to use outside the legend.\",\n        \"min\": 0,\n        \"max\": 40,\n        \"unit\": \"px\"\n      },\n      \"item\": {\n        \"meta\": {\n          \"description\": \"Configuration for the legend items that consist of a marker and a label.\"\n        },\n        \"paddingX\": {\n          \"default\": 16,\n          \"description\": \"The horizontal spacing in pixels to use between legend items.\",\n          \"min\": 0,\n          \"max\": 40,\n          \"unit\": \"px\"\n        },\n        \"paddingY\": {\n          \"default\": 8,\n          \"description\": \"The vertical spacing in pixels to use between legend items.\",\n          \"min\": 0,\n          \"max\": 40,\n          \"unit\": \"px\"\n        },\n        \"marker\": {\n          \"meta\": {\n            \"description\": \"Configuration for the legend markers.\"\n          },\n          \"padding\": {\n            \"default\": 8,\n            \"description\": \"The padding in pixels between a legend marker and the corresponding label.\",\n            \"min\": 0,\n            \"max\": 40,\n            \"unit\": \"px\"\n          },\n          \"shape\": {\n            \"type\": \"string\",\n            \"description\": \"If set, overrides the marker shape from the series and the legend will show the specified marker shape instead. If not set, will use a marker shape matching the shape from the series, or fall back to <code>'square'</code> if there is none.\",\n            \"options\": [\n              \"circle\",\n              \"cross\",\n              \"diamond\",\n              \"plus\",\n              \"square\",\n              \"triangle\"\n            ]\n          },\n          \"size\": {\n            \"default\": 15,\n            \"description\": \"The size in pixels of the markers in the legend.\",\n            \"min\": 0,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"strokeWidth\": {\n            \"default\": 1,\n            \"description\": \"The width in pixels of the stroke for markers in the legend.\",\n            \"min\": 0,\n            \"max\": 10,\n            \"unit\": \"px\"\n          }\n        },\n        \"label\": {\n          \"meta\": {\n            \"description\": \"Configuration for the legend labels.\"\n          },\n          \"color\": {\n            \"default\": \"black\",\n            \"description\": \"The colour of the text.\"\n          },\n          \"fontStyle\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"italic\",\n              \"oblique\"\n            ],\n            \"description\": \"The font style to use for the legend.\"\n          },\n          \"fontWeight\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"bold\",\n              \"bolder\",\n              \"lighter\",\n              \"100\",\n              \"200\",\n              \"300\",\n              \"400\",\n              \"500\",\n              \"600\",\n              \"700\",\n              \"800\",\n              \"900\"\n            ],\n            \"description\": \"The font weight to use for the legend.\",\n            \"breakIndex\": 4\n          },\n          \"fontSize\": {\n            \"default\": 12,\n            \"description\": \"The font size in pixels to use for the legend.\",\n            \"min\": 1,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"fontFamily\": {\n            \"default\": \"Verdana, sans-serif\",\n            \"suggestions\": [\n              \"Verdana, sans-serif\",\n              \"Arial, sans-serif\",\n              \"Times New Roman, serif\"\n            ],\n            \"description\": \"The font family to use for the legend.\"\n          },\n          \"formatter\": {\n            \"type\": {\n              \"parameters\": {\n                \"id\": \"string\",\n                \"itemId\": \"any\",\n                \"label\": \"{ text: string }\"\n              },\n              \"returnType\": \"string\"\n            },\n            \"description\": \"Function used to render legend labels. Where <code>id</code> is a series ID, <code>itemId</code> is component ID within a series, such as a field name or an item index.\"\n          }\n        }\n      }\n    },\n    \"navigator\": {\n      \"meta\": {\n        \"description\": \"Configuration for the chart navigator. This config is only supported by cartesian charts.\"\n      },\n      \"enabled\": {\n        \"default\": false,\n        \"description\": \"Whether or not to show the navigator.\"\n      },\n      \"height\": {\n        \"default\": 30,\n        \"description\": \"The height of the navigator.\",\n        \"min\": 10,\n        \"max\": 100,\n        \"unit\": \"px\"\n      },\n      \"min\": {\n        \"default\": 0,\n        \"description\": \"The start of the visible range in the [0, 1] interval.\",\n        \"min\": 0,\n        \"max\": 1,\n        \"step\": 0.01\n      },\n      \"max\": {\n        \"default\": 1,\n        \"description\": \"The end of the visible range in the [0, 1] interval.\",\n        \"min\": 0,\n        \"max\": 1,\n        \"step\": 0.01\n      },\n      \"mask\": {\n        \"meta\": {\n          \"description\": \"Configuration for the navigator's visible range mask.\"\n        },\n        \"fill\": {\n          \"default\": \"#999999\",\n          \"description\": \"The fill colour used by the mask.\"\n        },\n        \"stroke\": {\n          \"default\": \"#999999\",\n          \"description\": \"The stroke colour used by the mask.\"\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The stroke width used by the mask.\",\n          \"min\": 0,\n          \"max\": 5,\n          \"unit\": \"px\"\n        },\n        \"fillOpacity\": {\n          \"default\": 0.2,\n          \"description\": \"The opacity of the mask's fill in the [0, 1] interval, where 0 is effectively no masking.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        }\n      },\n      \"minHandle\": {\n        \"meta\": {\n          \"description\": \"Configuration for the navigator's left handle.\"\n        },\n        \"fill\": {\n          \"default\": \"#f2f2f2\",\n          \"description\": \"The fill colour used by the handle.\"\n        },\n        \"stroke\": {\n          \"default\": \"#999999\",\n          \"description\": \"The stroke colour used by the handle.\"\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The stroke width used by the handle.\",\n          \"min\": 0,\n          \"max\": 5,\n          \"unit\": \"px\"\n        },\n        \"width\": {\n          \"default\": 8,\n          \"description\": \"The width of the handle.\",\n          \"min\": 4,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"height\": {\n          \"default\": 16,\n          \"description\": \"The height of the handle.\",\n          \"min\": 8,\n          \"max\": 26,\n          \"unit\": \"px\"\n        },\n        \"gripLineLength\": {\n          \"default\": 8,\n          \"description\": \"The length of the handle's grip lines.\",\n          \"min\": 4,\n          \"max\": 16,\n          \"unit\": \"px\"\n        },\n        \"gripLineGap\": {\n          \"default\": 2,\n          \"description\": \"The distance between the handle's grip lines.\",\n          \"min\": 1,\n          \"max\": 8,\n          \"unit\": \"px\"\n        }\n      },\n      \"maxHandle\": {\n        \"meta\": {\n          \"description\": \"Configuration for the navigator's right handle.\"\n        },\n        \"fill\": {\n          \"default\": \"#f2f2f2\",\n          \"description\": \"The fill colour used by the handle.\"\n        },\n        \"stroke\": {\n          \"default\": \"#999999\",\n          \"description\": \"The stroke colour used by the handle.\"\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The stroke width used by the handle.\",\n          \"min\": 0,\n          \"max\": 5,\n          \"unit\": \"px\"\n        },\n        \"width\": {\n          \"default\": 8,\n          \"description\": \"The width of the handle.\",\n          \"min\": 4,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"height\": {\n          \"default\": 16,\n          \"description\": \"The height of the handle.\",\n          \"min\": 8,\n          \"max\": 26,\n          \"unit\": \"px\"\n        },\n        \"gripLineLength\": {\n          \"default\": 8,\n          \"description\": \"The length of the handle's grip lines.\",\n          \"min\": 4,\n          \"max\": 16,\n          \"unit\": \"px\"\n        },\n        \"gripLineGap\": {\n          \"default\": 2,\n          \"description\": \"The distance between the handle's grip lines.\",\n          \"min\": 1,\n          \"max\": 8,\n          \"unit\": \"px\"\n        }\n      }\n    },\n    \"axes\": {\n      \"number\": {\n        \"meta\": {\n          \"type\": \"INumberAxis\",\n          \"description\": \"This extends the <a href='../charts-api-themes/#reference-axis'>common axis configuration</a> with options specific to number axes.\"\n        },\n        \"nice\": {\n          \"default\": true,\n          \"description\": \"If `true`, the axis will adjust to align the left and right edge of the chart with a tick. Otherwise, the axis will be the minimum required width to show all the data.\"\n        },\n        \"min\": {\n          \"type\": \"number\",\n          \"description\": \"The minimum value for the axis.\"\n        },\n        \"max\": {\n          \"type\": \"number\",\n          \"description\": \"The maximum value for the axis.\"\n        }\n      },\n      \"category\": {\n        \"meta\": {\n          \"type\": \"ICategoryAxis\",\n          \"description\": \"This extends the <a href=''../charts-api-themes/#reference-axes'>common axis configuration</a> with options specific to category axes.\"\n        },\n        \"paddingInner\": {\n          \"type\": \"number\",\n          \"description\": \"The padding between the category label and the line.\"\n        },\n        \"paddingOuter\": {\n          \"type\": \"number\",\n          \"description\": \"The padding between lines for neighbouring categories.\"\n        }\n      },\n      \"groupedCategory\": {\n        \"meta\": {\n          \"type\": \"IGroupedCategoryAxis\",\n          \"description\": \"This extends the <a href='../charts-api-themes/#reference-axis'>common axis configuration</a> with options specific to grouped category axes. Currently there are no additional options beyond the common configuration.\"\n        }\n      },\n      \"time\": {\n        \"meta\": {\n          \"type\": \"ITimeCategoryAxis\",\n          \"description\": \"This extends the <a href='../charts-api-themes/#reference-axis'>common axis configuration</a> with options specific to time axes.\"\n        },\n        \"nice\": {\n          \"default\": true,\n          \"description\": \"If `true`, the axis will adjust to align the left and right edge of the chart with a tick. Otherwise, the axis will be the minimum required width to show all the data.\"\n        }\n      }\n    },\n    \"series\": {\n      \"meta\": {\n        \"description\": \"This object contains configuration for the different series that might be rendered into the chart.<br /><br />For cartesian charts, the following series are supported: `'bar'`, `'column'`, `'histogram'`, `'line'`, `'scatter'`, `'area'`<br />For polar charts, the following series are supported: `'pie'`<br /><br />If the `series` property is being set inside configuration for a specific type of chart (e.g. `line`), instead of supplying the whole series object as specified here, for convenience you can put the relevant series configuration object directly into the `series` property, since all series for a specific chart will be of the same type (e.g. `line`).\"\n      },\n      \"bar\": {\n        \"meta\": {\n          \"type\": \"IBarColumnSeries\",\n          \"description\": \"Configuration for bar series.\"\n        },\n        \"tooltipRenderer\": {\n          \"type\": {\n            \"parameters\": {\n              \"datum\": \"any\",\n              \"title?\": \"string\",\n              \"color?\": \"string\",\n              \"xKey\": \"string\",\n              \"xName?\": \"string\",\n              \"yKey\": \"string\",\n              \"yName?\": \"string\"\n            },\n            \"returnType\": \"string\"\n          },\n          \"description\": \"Function used to create the content for tooltips.\"\n        },\n        \"grouped\": {\n          \"default\": false,\n          \"description\": \"Whether to show different y-values as separate bars (grouped) or not (stacked).\"\n        },\n        \"normalizedTo\": {\n          \"type\": \"number\",\n          \"description\": \"The number to normalise the bar stacks to. Has no effect when `grouped` is `true`. For example, if `normalizedTo` is set to `100`, the bar stacks will all be scaled proportionally so that each of their totals is 100.\",\n          \"min\": 1,\n          \"max\": 100\n        },\n        \"fills\": {\n          \"type\": \"string[]\",\n          \"default\": [\n            \"#f3622d\",\n            \"#fba71b\",\n            \"#57b757\",\n            \"#41a9c9\",\n            \"#4258c9\",\n            \"#9a42c8\",\n            \"#c84164\",\n            \"#888888\"\n          ],\n          \"description\": \"The colours to cycle through for the fills of the bars.\"\n        },\n        \"fillOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the fill for the bars.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokes\": {\n          \"type\": \"string[]\",\n          \"default\": [\n            \"#aa4520\",\n            \"#b07513\",\n            \"#3d803d\",\n            \"#2d768d\",\n            \"#2e3e8d\",\n            \"#6c2e8c\",\n            \"#8c2d46\",\n            \"#5f5f5f\"\n          ],\n          \"description\": \"The colours to cycle through for the strokes of the bars.\"\n        },\n        \"strokeOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the stroke for the bars.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The width in pixels of the stroke for the bars.\",\n          \"min\": 0,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"lineDash\": {\n          \"default\": [],\n          \"type\": \"number[]\",\n          \"description\": \"Defines how the bar strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels.\"\n        },\n        \"lineDashOffset\": {\n          \"default\": 0,\n          \"type\": \"number\",\n          \"description\": \"The initial offset of the dashed lines in pixels.\"\n        },\n        \"highlightStyle\": {\n          \"meta\": {\n            \"requiresWholeObject\": true,\n            \"description\": \"Configuration for the highlighting used when the bars are hovered over.\"\n          },\n          \"fill\": {\n            \"default\": \"yellow\",\n            \"description\": \"The fill colour of the bars when hovered over.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour of the stroke around the bars when hovered over.\"\n          }\n        },\n        \"shadow\": {\n          \"meta\": {\n            \"description\": \"Configuration for the shadow used behind the chart series.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not the shadow is visible.\"\n          },\n          \"color\": {\n            \"default\": \"rgba(0, 0, 0, 0.5)\",\n            \"description\": \"The colour of the shadow.\"\n          },\n          \"xOffset\": {\n            \"default\": 0,\n            \"description\": \"The horizontal offset in pixels for the shadow.\",\n            \"min\": -20,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"yOffset\": {\n            \"default\": 0,\n            \"description\": \"The vertical offset in pixels for the shadow.\",\n            \"min\": -20,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"blur\": {\n            \"default\": 5,\n            \"description\": \"The radius of the shadow's blur, given in pixels.\",\n            \"min\": 0,\n            \"max\": 20,\n            \"unit\": \"px\"\n          }\n        },\n        \"label\": {\n          \"meta\": {\n            \"description\": \"Configuration for the labels shown on bars.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not the labels should be shown.\"\n          },\n          \"color\": {\n            \"default\": \"rgba(70, 70, 70, 1)\",\n            \"description\": \"The colour to use for the labels.\"\n          },\n          \"fontStyle\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"italic\",\n              \"oblique\"\n            ],\n            \"description\": \"The font style to use for the labels.\"\n          },\n          \"fontWeight\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"bold\",\n              \"bolder\",\n              \"lighter\",\n              \"100\",\n              \"200\",\n              \"300\",\n              \"400\",\n              \"500\",\n              \"600\",\n              \"700\",\n              \"800\",\n              \"900\"\n            ],\n            \"description\": \"The font weight to use for the labels.\",\n            \"breakIndex\": 4\n          },\n          \"fontSize\": {\n            \"default\": 12,\n            \"description\": \"The font size in pixels to use for the labels.\",\n            \"min\": 1,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"fontFamily\": {\n            \"default\": \"Verdana, sans-serif\",\n            \"suggestions\": [\n              \"Verdana, sans-serif\",\n              \"Arial, sans-serif\",\n              \"Times New Roman, serif\"\n            ],\n            \"description\": \"The font family to use for the labels.\"\n          }\n        }\n      },\n      \"column\": {\n        \"type\": \"IBarColumnSeries\",\n        \"description\": \"Configuration for column series. The configuration is the same shape as for bar series.\",\n        \"more\": {\n          \"name\": \"Bar/Column Series Configuration\",\n          \"url\": \"#chart.series.bar\"\n        }\n      },\n      \"histogram\": {\n        \"meta\": {\n          \"type\": \"IHistogramSeries\",\n          \"description\": \"Configuration for histogram series.\"\n        },\n        \"tooltipRenderer\": {\n          \"type\": {\n            \"parameters\": {\n              \"datum\": \"any\",\n              \"title?\": \"string\",\n              \"color?\": \"string\",\n              \"xKey\": \"string\",\n              \"xName?\": \"string\",\n              \"yKey\": \"string\",\n              \"yName?\": \"string\",\n              \"sizeKey?\": \"string\",\n              \"sizeName?\": \"string\",\n              \"labelKey?\": \"string\",\n              \"labelName?\": \"string\"\n            },\n            \"returnType\": \"string\"\n          },\n          \"description\": \"Function used to create the content for tooltips.\"\n        },\n        \"binCount\": {\n          \"type\": \"number\",\n          \"description\": \"The number of bins to try to split the x axis into. Clashes with the `bins` setting.\"\n        },\n        \"bins\": {\n          \"type\": \"number[][]\",\n          \"description\": \"Set the bins explicitly. The bins need not be of equal width. Clashes with the `binCount` setting.\"\n        },\n        \"aggregation\": {\n          \"type\": \"string\",\n          \"description\": \"Dictates how the bins are aggregated. If set to 'sum', the value shown for the bins will be the total of the yKey values. If set to 'mean', it will display the average yKey value of the bin\",\n          \"default\": \"sum\",\n          \"options\": [\n            \"sum\",\n            \"mean\"\n          ]\n        },\n        \"areaPlot\": {\n          \"type\": \"boolean\",\n          \"description\": \"For variable width bins, if true the histogram will represent the aggregated `yKey` values using the area of the bar. Otherwise, the height of the var represents the value as per a normal bar chart. This is useful for keeping an undistorted curve displayed when using variable-width bins\",\n          \"default\": \"false\"\n        },\n        \"lineDash\": {\n          \"default\": [],\n          \"type\": \"number[]\",\n          \"description\": \"Defines how the histogram strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels.\"\n        },\n        \"lineDashOffset\": {\n          \"default\": 0,\n          \"type\": \"number\",\n          \"description\": \"The initial offset of the dashed lines in pixels.\"\n        },\n        \"highlightStyle\": {\n          \"meta\": {\n            \"requiresWholeObject\": true,\n            \"description\": \"Configuration for the highlighting used when the bars are hovered over.\"\n          },\n          \"fill\": {\n            \"default\": \"yellow\",\n            \"description\": \"The fill colour of the bars when hovered over.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour of the stroke around the bars when hovered over.\"\n          }\n        },\n        \"fill\": {\n          \"default\": \"#f3622d\",\n          \"description\": \"The colour of the fill for the histogram bars.\"\n        },\n        \"fillOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the fill for the histogram bars.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"stroke\": {\n          \"default\": \"#aa4520\",\n          \"description\": \"The colour of the stroke for the histogram bars.\"\n        },\n        \"strokeOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the stroke for the histogram bars.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The width in pixels of the stroke for the histogram bars.\",\n          \"min\": 0,\n          \"max\": 20,\n          \"unit\": \"px\"\n        }\n      },\n      \"line\": {\n        \"meta\": {\n          \"type\": \"ILineSeries\",\n          \"description\": \"Configuration for line series.\"\n        },\n        \"tooltipRenderer\": {\n          \"type\": {\n            \"parameters\": {\n              \"datum\": \"any\",\n              \"title?\": \"string\",\n              \"color?\": \"string\",\n              \"xKey\": \"string\",\n              \"xName?\": \"string\",\n              \"yKey\": \"string\",\n              \"yName?\": \"string\"\n            },\n            \"returnType\": \"string\"\n          },\n          \"description\": \"Function used to create the content for tooltips.\"\n        },\n        \"title\": {\n          \"type\": \"string\",\n          \"description\": \"The title to use for the series. Defaults to `yName` if it exists, or `yKey` if not.\"\n        },\n        \"stroke\": {\n          \"default\": \"#aa4520\",\n          \"description\": \"The colour of the stroke for the lines.\"\n        },\n        \"strokeOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the stroke for the lines.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The width in pixels of the stroke for the lines.\",\n          \"min\": 0,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"marker\": {\n          \"meta\": {\n            \"description\": \"Configuration for the markers used in the series.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not to show markers.\"\n          },\n          \"shape\": {\n            \"type\": \"string | Marker\",\n            \"default\": \"circle\",\n            \"description\": \"The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass.\",\n            \"options\": [\n              \"circle\",\n              \"cross\",\n              \"diamond\",\n              \"plus\",\n              \"square\",\n              \"triangle\"\n            ]\n          },\n          \"size\": {\n            \"default\": 8,\n            \"description\": \"The size in pixels of the markers.\",\n            \"min\": 1,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"minSize\": {\n            \"default\": 12,\n            \"description\": \"For series where the size of the marker is determined by the data, this determines the smallest size a marker can be in pixels.\",\n            \"min\": 1,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"fill\": {\n            \"type\": \"string\",\n            \"description\": \"The colour to use for marker fills. If this is not specified, the markers will take their fill from the series.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series.\"\n          },\n          \"strokeWidth\": {\n            \"type\": \"number\",\n            \"description\": \"The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series.\",\n            \"min\": 0,\n            \"max\": 10,\n            \"unit\": \"px\"\n          },\n          \"formatter\": {\n            \"type\": {\n              \"parameters\": {\n                \"datum\": \"any\",\n                \"fill\": \"string\",\n                \"stroke\": \"string\",\n                \"strokeWidth\": \"number\",\n                \"size\": \"number\",\n                \"highlighted\": \"boolean\",\n                \"xKey\": \"string\",\n                \"yKey\": \"string\"\n              },\n              \"returnType\": {\n                \"fill\": \"string\",\n                \"stroke\": \"string\",\n                \"strokeWidth\": \"number\",\n                \"size\": \"number\"\n              }\n            },\n            \"description\": \"Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n          }\n        },\n        \"lineDash\": {\n          \"default\": [],\n          \"type\": \"number[]\",\n          \"description\": \"Defines how the line strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels.\"\n        },\n        \"lineDashOffset\": {\n          \"default\": 0,\n          \"type\": \"number\",\n          \"description\": \"The initial offset of the dashed lines in pixels.\"\n        },\n        \"highlightStyle\": {\n          \"meta\": {\n            \"requiresWholeObject\": true,\n            \"description\": \"Configuration for the highlighting used when the markers are hovered over.\"\n          },\n          \"fill\": {\n            \"default\": \"yellow\",\n            \"description\": \"The fill colour of the markers when hovered over.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour of the stroke around the markers when hovered over.\"\n          }\n        }\n      },\n      \"area\": {\n        \"meta\": {\n          \"type\": \"IAreaSeries\",\n          \"description\": \"Configuration for area series.\"\n        },\n        \"tooltipRenderer\": {\n          \"type\": {\n            \"parameters\": {\n              \"datum\": \"any\",\n              \"title?\": \"string\",\n              \"color?\": \"string\",\n              \"xKey\": \"string\",\n              \"xName?\": \"string\",\n              \"yKey\": \"string\",\n              \"yName?\": \"string\"\n            },\n            \"returnType\": \"string\"\n          },\n          \"description\": \"Function used to create the content for tooltips.\"\n        },\n        \"normalizedTo\": {\n          \"type\": \"number\",\n          \"description\": \"The number to normalise the area stacks to. For example, if `normalizedTo` is set to `100`, the stacks will all be scaled proportionally so that their total height is always 100.\",\n          \"min\": 1,\n          \"max\": 100\n        },\n        \"fills\": {\n          \"type\": \"string[]\",\n          \"default\": [\n            \"#f3622d\",\n            \"#fba71b\",\n            \"#57b757\",\n            \"#41a9c9\",\n            \"#4258c9\",\n            \"#9a42c8\",\n            \"#c84164\",\n            \"#888888\"\n          ],\n          \"description\": \"The colours to cycle through for the fills of the areas.\"\n        },\n        \"fillOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the fill for the areas.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokes\": {\n          \"type\": \"string[]\",\n          \"default\": [\n            \"#aa4520\",\n            \"#b07513\",\n            \"#3d803d\",\n            \"#2d768d\",\n            \"#2e3e8d\",\n            \"#6c2e8c\",\n            \"#8c2d46\",\n            \"#5f5f5f\"\n          ],\n          \"description\": \"The colours to cycle through for the strokes of the areas.\"\n        },\n        \"strokeOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the stroke for the areas.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The width in pixels of the stroke for the areas.\",\n          \"min\": 0,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"lineDash\": {\n          \"default\": [],\n          \"type\": \"number[]\",\n          \"description\": \"Defines how the area strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels.\"\n        },\n        \"lineDashOffset\": {\n          \"default\": 0,\n          \"type\": \"number\",\n          \"description\": \"The initial offset of the dashed lines in pixels.\"\n        },\n        \"marker\": {\n          \"meta\": {\n            \"description\": \"Configuration for the markers used in the series.\"\n          },\n          \"enabled\": {\n            \"default\": false,\n            \"description\": \"Whether or not to show markers.\"\n          },\n          \"shape\": {\n            \"type\": \"string | Marker\",\n            \"default\": \"circle\",\n            \"description\": \"The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass.\",\n            \"options\": [\n              \"circle\",\n              \"cross\",\n              \"diamond\",\n              \"plus\",\n              \"square\",\n              \"triangle\"\n            ]\n          },\n          \"size\": {\n            \"default\": 8,\n            \"description\": \"The size in pixels of the markers.\",\n            \"min\": 1,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"minSize\": {\n            \"default\": 12,\n            \"description\": \"For series where the size of the marker is determined by the data, this determines the smallest size a marker can be in pixels.\",\n            \"min\": 1,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"fill\": {\n            \"type\": \"string\",\n            \"description\": \"The colour to use for marker fills. If this is not specified, the markers will take their fill from the series.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series.\"\n          },\n          \"strokeWidth\": {\n            \"type\": \"number\",\n            \"description\": \"The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series.\",\n            \"min\": 0,\n            \"max\": 10,\n            \"unit\": \"px\"\n          },\n          \"formatter\": {\n            \"type\": {\n              \"parameters\": {\n                \"datum\": \"any\",\n                \"fill\": \"string\",\n                \"stroke\": \"string\",\n                \"strokeWidth\": \"number\",\n                \"size\": \"number\",\n                \"highlighted\": \"boolean\",\n                \"xKey\": \"string\",\n                \"yKey\": \"string\"\n              },\n              \"returnType\": {\n                \"fill\": \"string\",\n                \"stroke\": \"string\",\n                \"strokeWidth\": \"number\",\n                \"size\": \"number\"\n              }\n            },\n            \"description\": \"Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n          }\n        },\n        \"highlightStyle\": {\n          \"meta\": {\n            \"requiresWholeObject\": true,\n            \"description\": \"Configuration for the highlighting used when the markers are hovered over.\"\n          },\n          \"fill\": {\n            \"default\": \"yellow\",\n            \"description\": \"The fill colour of the markers when hovered over.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour of the stroke around the markers when hovered over.\"\n          }\n        },\n        \"shadow\": {\n          \"meta\": {\n            \"description\": \"Configuration for the shadow used behind the chart series.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not the shadow is visible.\"\n          },\n          \"color\": {\n            \"default\": \"rgba(0, 0, 0, 0.5)\",\n            \"description\": \"The colour of the shadow.\"\n          },\n          \"xOffset\": {\n            \"default\": 0,\n            \"description\": \"The horizontal offset in pixels for the shadow.\",\n            \"min\": -20,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"yOffset\": {\n            \"default\": 0,\n            \"description\": \"The vertical offset in pixels for the shadow.\",\n            \"min\": -20,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"blur\": {\n            \"default\": 5,\n            \"description\": \"The radius of the shadow's blur, given in pixels.\",\n            \"min\": 0,\n            \"max\": 20,\n            \"unit\": \"px\"\n          }\n        }\n      },\n      \"scatter\": {\n        \"meta\": {\n          \"type\": \"IScatterSeries\",\n          \"description\": \"Configuration for scatter/bubble series.\"\n        },\n        \"tooltipRenderer\": {\n          \"type\": {\n            \"parameters\": {\n              \"datum\": \"any\",\n              \"title?\": \"string\",\n              \"color?\": \"string\",\n              \"xKey\": \"string\",\n              \"xName?\": \"string\",\n              \"yKey\": \"string\",\n              \"yName?\": \"string\",\n              \"sizeKey?\": \"string\",\n              \"sizeName?\": \"string\",\n              \"labelKey?\": \"string\",\n              \"labelName?\": \"string\"\n            },\n            \"returnType\": \"string\"\n          },\n          \"description\": \"Function used to create the content for tooltips.\"\n        },\n        \"title\": {\n          \"type\": \"string\",\n          \"description\": \"The title to use for the series. Defaults to `yName` if it exists, or `yKey` if not.\"\n        },\n        \"fill\": {\n          \"default\": \"#f3622d\",\n          \"description\": \"The colour of the fill for the markers.\"\n        },\n        \"fillOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the fill for the markers.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"stroke\": {\n          \"default\": \"#aa4520\",\n          \"description\": \"The colour of the stroke for the markers.\"\n        },\n        \"strokeOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the stroke for the markers.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The width in pixels of the stroke for the markers.\",\n          \"min\": 0,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"marker\": {\n          \"meta\": {\n            \"description\": \"Configuration for the markers used in the series.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not to show markers.\"\n          },\n          \"shape\": {\n            \"type\": \"string | Marker\",\n            \"default\": \"circle\",\n            \"description\": \"The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass.\",\n            \"options\": [\n              \"circle\",\n              \"cross\",\n              \"diamond\",\n              \"plus\",\n              \"square\",\n              \"triangle\"\n            ]\n          },\n          \"size\": {\n            \"default\": 8,\n            \"description\": \"The size in pixels of the markers.\",\n            \"min\": 1,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"minSize\": {\n            \"default\": 12,\n            \"description\": \"For series where the size of the marker is determined by the data, this determines the smallest size a marker can be in pixels.\",\n            \"min\": 1,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"fill\": {\n            \"type\": \"string\",\n            \"description\": \"The colour to use for marker fills. If this is not specified, the markers will take their fill from the series.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series.\"\n          },\n          \"strokeWidth\": {\n            \"type\": \"number\",\n            \"description\": \"The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series.\",\n            \"min\": 0,\n            \"max\": 10,\n            \"unit\": \"px\"\n          },\n          \"formatter\": {\n            \"type\": {\n              \"parameters\": {\n                \"datum\": \"any\",\n                \"fill\": \"string\",\n                \"stroke\": \"string\",\n                \"strokeWidth\": \"number\",\n                \"size\": \"number\",\n                \"highlighted\": \"boolean\",\n                \"xKey\": \"string\",\n                \"yKey\": \"string\"\n              },\n              \"returnType\": {\n                \"fill\": \"string\",\n                \"stroke\": \"string\",\n                \"strokeWidth\": \"number\",\n                \"size\": \"number\"\n              }\n            },\n            \"description\": \"Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states.\"\n          }\n        },\n        \"highlightStyle\": {\n          \"meta\": {\n            \"requiresWholeObject\": true,\n            \"description\": \"Configuration for the highlighting used when the markers are hovered over.\"\n          },\n          \"fill\": {\n            \"default\": \"yellow\",\n            \"description\": \"The fill colour of the markers when hovered over.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour of the stroke around the markers when hovered over.\"\n          }\n        }\n      },\n      \"pie\": {\n        \"meta\": {\n          \"type\": \"IPieSeries\",\n          \"description\": \"Configuration for pie/doughnut series.\"\n        },\n        \"tooltipRenderer\": {\n          \"type\": {\n            \"parameters\": {\n              \"datum\": \"any\",\n              \"title?\": \"string\",\n              \"color?\": \"string\",\n              \"angleKey\": \"string\",\n              \"angleName?\": \"string\",\n              \"radiusKey?\": \"string\",\n              \"radiusName?\": \"string\",\n              \"labelKey?\": \"string\",\n              \"labelName?\": \"string\"\n            },\n            \"returnType\": \"string\"\n          },\n          \"description\": \"Function used to create the content for tooltips.\"\n        },\n        \"rotation\": {\n          \"default\": 0,\n          \"description\": \"The rotation of the pie series in degrees.\",\n          \"min\": -359,\n          \"max\": 359,\n          \"unit\": \"&deg\"\n        },\n        \"innerRadiusOffset\": {\n          \"default\": 0,\n          \"description\": \"The offset in pixels of the inner radius of the series. Used to construct doughnut charts. If this is not given, or a value of zero is given, a pie chart will be rendered.\",\n          \"min\": -50,\n          \"max\": 50,\n          \"unit\": \"px\"\n        },\n        \"outerRadiusOffset\": {\n          \"default\": 0,\n          \"description\": \"The offset in pixels of the outer radius of the series. Used to construct doughnut charts.\",\n          \"min\": -50,\n          \"max\": 50,\n          \"unit\": \"px\"\n        },\n        \"title\": {\n          \"meta\": {\n            \"description\": \"Configuration for the series title.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not the title should be shown.\"\n          },\n          \"text\": {\n            \"type\": \"string\",\n            \"description\": \"The text to show in the title.\"\n          },\n          \"color\": {\n            \"default\": \"#000000\",\n            \"description\": \"The colour to use for the title.\"\n          },\n          \"fontStyle\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"italic\",\n              \"oblique\"\n            ],\n            \"description\": \"The font style to use for the title.\"\n          },\n          \"fontWeight\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"bold\",\n              \"bolder\",\n              \"lighter\",\n              \"100\",\n              \"200\",\n              \"300\",\n              \"400\",\n              \"500\",\n              \"600\",\n              \"700\",\n              \"800\",\n              \"900\"\n            ],\n            \"description\": \"The font weight to use for the title.\",\n            \"breakIndex\": 4\n          },\n          \"fontSize\": {\n            \"default\": 10,\n            \"description\": \"The font size in pixels to use for the title.\",\n            \"min\": 1,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"fontFamily\": {\n            \"default\": \"Verdana, sans-serif\",\n            \"suggestions\": [\n              \"Verdana, sans-serif\",\n              \"Arial, sans-serif\",\n              \"Times New Roman, serif\"\n            ],\n            \"description\": \"The font family to use for the title.\"\n          }\n        },\n        \"fills\": {\n          \"type\": \"string[]\",\n          \"default\": [\n            \"#f3622d\",\n            \"#fba71b\",\n            \"#57b757\",\n            \"#41a9c9\",\n            \"#4258c9\",\n            \"#9a42c8\",\n            \"#c84164\",\n            \"#888888\"\n          ],\n          \"description\": \"The colours to cycle through for the fills of the segments.\"\n        },\n        \"fillOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the fill for the segments.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokes\": {\n          \"type\": \"string[]\",\n          \"default\": [\n            \"#aa4520\",\n            \"#b07513\",\n            \"#3d803d\",\n            \"#2d768d\",\n            \"#2e3e8d\",\n            \"#6c2e8c\",\n            \"#8c2d46\",\n            \"#5f5f5f\"\n          ],\n          \"description\": \"The colours to cycle through for the strokes of the segments.\"\n        },\n        \"strokeOpacity\": {\n          \"default\": 1,\n          \"description\": \"The opacity of the stroke for the segments.\",\n          \"min\": 0,\n          \"max\": 1,\n          \"step\": 0.05\n        },\n        \"strokeWidth\": {\n          \"default\": 1,\n          \"description\": \"The width in pixels of the stroke for the segments.\",\n          \"min\": 0,\n          \"max\": 20,\n          \"unit\": \"px\"\n        },\n        \"lineDash\": {\n          \"default\": [],\n          \"type\": \"number[]\",\n          \"description\": \"Defines how the pie strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels.\"\n        },\n        \"lineDashOffset\": {\n          \"default\": 0,\n          \"type\": \"number\",\n          \"description\": \"The initial offset of the dashed lines in pixels.\"\n        },\n        \"highlightStyle\": {\n          \"meta\": {\n            \"requiresWholeObject\": true,\n            \"description\": \"Configuration for the highlighting used when the segments are hovered over.\"\n          },\n          \"fill\": {\n            \"default\": \"yellow\",\n            \"description\": \"The fill colour of the segments when hovered over.\"\n          },\n          \"stroke\": {\n            \"type\": \"string\",\n            \"description\": \"The colour of the stroke around the segments when hovered over.\"\n          }\n        },\n        \"label\": {\n          \"meta\": {\n            \"description\": \"Configuration for the labels used for the segments.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not the labels should be shown.\"\n          },\n          \"color\": {\n            \"default\": \"#000000\",\n            \"description\": \"The colour to use for the labels.\"\n          },\n          \"fontStyle\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"italic\",\n              \"oblique\"\n            ],\n            \"description\": \"The font style to use for the labels.\"\n          },\n          \"fontWeight\": {\n            \"default\": \"normal\",\n            \"options\": [\n              \"normal\",\n              \"bold\",\n              \"bolder\",\n              \"lighter\",\n              \"100\",\n              \"200\",\n              \"300\",\n              \"400\",\n              \"500\",\n              \"600\",\n              \"700\",\n              \"800\",\n              \"900\"\n            ],\n            \"description\": \"The font weight to use for the labels.\",\n            \"breakIndex\": 4\n          },\n          \"fontSize\": {\n            \"default\": 12,\n            \"description\": \"The font size in pixels to use for the labels.\",\n            \"min\": 1,\n            \"max\": 30,\n            \"unit\": \"px\"\n          },\n          \"fontFamily\": {\n            \"default\": \"Verdana, sans-serif\",\n            \"suggestions\": [\n              \"Verdana, sans-serif\",\n              \"Arial, sans-serif\",\n              \"Times New Roman, serif\"\n            ],\n            \"description\": \"The font family to use for the labels.\"\n          },\n          \"offset\": {\n            \"default\": 3,\n            \"description\": \"Distance in pixels between the callout line and the label text.\",\n            \"min\": 0,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"minAngle\": {\n            \"default\": 20,\n            \"description\": \"Minimum angle in degrees required for a segment to show a label.\",\n            \"min\": 0,\n            \"max\": 360,\n            \"unit\": \"&deg;\"\n          },\n          \"formatter\": {\n            \"type\": {\n              \"parameters\": {\n                \"value\": \"string\"\n              },\n              \"returnType\": \"string\"\n            },\n            \"description\": \"Function used to turn 'labelKey' values into text to be displayed next to each pie sector. Be default the values are simply stringified.\"\n          }\n        },\n        \"callout\": {\n          \"meta\": {\n            \"description\": \"Configuration for the callouts used with the labels for the segments.\"\n          },\n          \"colors\": {\n            \"type\": \"string[]\",\n            \"default\": [\n              \"#aa4520\",\n              \"#b07513\",\n              \"#3d803d\",\n              \"#2d768d\",\n              \"#2e3e8d\",\n              \"#6c2e8c\",\n              \"#8c2d46\",\n              \"#5f5f5f\"\n            ],\n            \"description\": \"The colours to cycle through for the strokes of the callouts.\"\n          },\n          \"strokeWidth\": {\n            \"default\": 1,\n            \"description\": \"The width in pixels of the stroke for callout lines.\",\n            \"min\": 1,\n            \"max\": 10,\n            \"unit\": \"px\"\n          },\n          \"length\": {\n            \"default\": 10,\n            \"description\": \"The length in pixels of the callout lines.\",\n            \"min\": 0,\n            \"max\": 20,\n            \"unit\": \"px\"\n          }\n        },\n        \"shadow\": {\n          \"meta\": {\n            \"description\": \"Configuration for the shadow used behind the chart series.\"\n          },\n          \"enabled\": {\n            \"default\": true,\n            \"description\": \"Whether or not the shadow is visible.\"\n          },\n          \"color\": {\n            \"default\": \"rgba(0, 0, 0, 0.5)\",\n            \"description\": \"The colour of the shadow.\"\n          },\n          \"xOffset\": {\n            \"default\": 0,\n            \"description\": \"The horizontal offset in pixels for the shadow.\",\n            \"min\": -20,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"yOffset\": {\n            \"default\": 0,\n            \"description\": \"The vertical offset in pixels for the shadow.\",\n            \"min\": -20,\n            \"max\": 20,\n            \"unit\": \"px\"\n          },\n          \"blur\": {\n            \"default\": 5,\n            \"description\": \"The radius of the shadow's blur, given in pixels.\",\n            \"min\": 0,\n            \"max\": 20,\n            \"unit\": \"px\"\n          }\n        }\n      }\n    }\n  },\n  \"axis\": {\n    \"meta\": {\n      \"displayName\": \"Common Axis Configuration\",\n      \"description\": \"This is the configuration shared by all types of axis.\"\n    },\n    \"top\": {\n      \"meta\": {\n        \"description\": \"An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`.\"\n      }\n    },\n    \"right\": {\n      \"meta\": {\n        \"description\": \"An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above.\"\n      }\n    },\n    \"bottom\": {\n      \"meta\": {\n        \"description\": \"An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above.\"\n      }\n    },\n    \"left\": {\n      \"meta\": {\n        \"description\": \"An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above.\"\n      }\n    },\n    \"nice\": {\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"description\": \"If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. Applies to continuous axes only ('number', 'time').\"\n    },\n    \"min\": {\n      \"type\": \"number\",\n      \"description\": \"User override for the automatically determinted min value (based on series data). Only applied to \\\"number\\\" axes.\"\n    },\n    \"max\": {\n      \"type\": \"number\",\n      \"description\": \"User override for the automatically determinted max value (based on series data). Only applied to \\\"number\\\" axes.\"\n    },\n    \"title\": {\n      \"meta\": {\n        \"description\": \"Configuration for the title shown next to the axis.\"\n      },\n      \"enabled\": {\n        \"default\": true,\n        \"description\": \"Whether or not the axis title should be shown.\"\n      },\n      \"text\": {\n        \"type\": \"string\",\n        \"default\": \"Axis Title\",\n        \"description\": \"The text to show in the axis title.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the axis title.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the axis title.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"bold\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the axis title.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 14,\n        \"description\": \"The font size in pixels to use for the axis title.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the axis title.\"\n      }\n    },\n    \"line\": {\n      \"meta\": {\n        \"description\": \"Configuration for the axis line.\"\n      },\n      \"width\": {\n        \"default\": 1,\n        \"description\": \"The width in pixels of the axis line.\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"color\": {\n        \"default\": \"rgba(195, 195, 195, 1)\",\n        \"description\": \"The colour of the axis line.\"\n      }\n    },\n    \"tick\": {\n      \"meta\": {\n        \"description\": \"Configuration for the axis ticks.\"\n      },\n      \"width\": {\n        \"default\": 1,\n        \"description\": \"The width in pixels of the axis ticks (and corresponding grid line).\",\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      },\n      \"size\": {\n        \"default\": 6,\n        \"description\": \"The length in pixels of the axis ticks.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"color\": {\n        \"default\": \"rgba(195, 195, 195, 1)\",\n        \"description\": \"The colour of the axis ticks.\"\n      },\n      \"count\": {\n        \"default\": 10,\n        \"description\": \"A hint of how many ticks to use across an axis. The axis is not guaranteed to use exactly this number of ticks, but will try to use a number of ticks that is close to the number given.\",\n        \"min\": 0,\n        \"max\": 50\n      }\n    },\n    \"label\": {\n      \"meta\": {\n        \"description\": \"Configuration for the axis labels, shown next to the ticks.\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"italic\",\n          \"oblique\"\n        ],\n        \"description\": \"The font style to use for the labels.\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\",\n        \"options\": [\n          \"normal\",\n          \"bold\",\n          \"bolder\",\n          \"lighter\",\n          \"100\",\n          \"200\",\n          \"300\",\n          \"400\",\n          \"500\",\n          \"600\",\n          \"700\",\n          \"800\",\n          \"900\"\n        ],\n        \"description\": \"The font weight to use for the labels.\",\n        \"breakIndex\": 4\n      },\n      \"fontSize\": {\n        \"default\": 12,\n        \"description\": \"The font size in pixels to use for the labels.\",\n        \"min\": 1,\n        \"max\": 30,\n        \"unit\": \"px\"\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\",\n        \"suggestions\": [\n          \"Verdana, sans-serif\",\n          \"Arial, sans-serif\",\n          \"Times New Roman, serif\"\n        ],\n        \"description\": \"The font family to use for the labels.\"\n      },\n      \"color\": {\n        \"default\": \"#000000\",\n        \"description\": \"The colour to use for the labels.\"\n      },\n      \"padding\": {\n        \"default\": 5,\n        \"description\": \"Padding in pixels between the axis label and the tick.\",\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"rotation\": {\n        \"default\": 0,\n        \"description\": \"The rotation of the axis labels in degrees.\",\n        \"min\": -359,\n        \"max\": 359,\n        \"unit\": \"&deg;\"\n      },\n      \"format\": {\n        \"type\": \"string\",\n        \"description\": \"Format string used when rendering labels for time axes. For more information on the structure of the string, <a href='../charts-axes/#time-label-format-string'>click here</a>.\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"value\": \"any\",\n            \"index\": \"number\",\n            \"fractionDigits\": \"number\",\n            \"formatter\": \"(x: any) => string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to render axis labels. If `value` is a number, `fractionDigits` will also be provided, which indicates the number of fractional digits used in the step between ticks; for example, a tick step of `0.0005` would have `fractionDigits` set to `4`.\"\n      }\n    },\n    \"gridStyle\": {\n      \"meta\": {\n        \"requiresWholeObject\": true,\n        \"description\": \"Configuration of the lines used to form the grid in the chart area.\"\n      },\n      \"stroke\": {\n        \"default\": \"rgba(195, 195, 195, 1)\",\n        \"description\": \"The colour of the grid line.\"\n      },\n      \"lineDash\": {\n        \"default\": [\n          4,\n          2\n        ],\n        \"type\": \"number[]\",\n        \"description\": \"Defines how the gridlines are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels.\"\n      }\n    }\n  },\n  \"series\": {\n    \"meta\": {\n      \"displayName\": \"Common Series Configuration\",\n      \"description\": \"This is the common configuration shared by all types of series.\"\n    },\n    \"visible\": {\n      \"default\": true,\n      \"description\": \"Whether or not to display the series.\"\n    },\n    \"showInLegend\": {\n      \"default\": true,\n      \"description\": \"Whether or not to include the series in the legend.\"\n    },\n    \"tooltipEnabled\": {\n      \"default\": true,\n      \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n    },\n    \"listeners\": {\n      \"type\": \"Object\",\n      \"description\": \"A map of event names to event listener functions. The keys can be one of the following: `nodeClick`\"\n    }\n  }\n}"}}]}}}