@highcharts/grid-pro 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/LICENSE.txt +6 -0
  2. package/README.md +15 -9
  3. package/css/grid-pro.css +1262 -1122
  4. package/css/modules/grid-base-variables.css +131 -0
  5. package/css/modules/grid-button-variables.css +140 -0
  6. package/css/modules/grid-caption-variables.css +11 -0
  7. package/css/modules/grid-description-variables.css +11 -0
  8. package/css/modules/grid-input-variables.css +114 -0
  9. package/css/modules/grid-link-variables.css +18 -0
  10. package/css/modules/grid-menu-variables.css +50 -0
  11. package/css/modules/grid-pagination-variables.css +12 -0
  12. package/css/modules/grid-popup-variables.css +24 -0
  13. package/css/modules/grid-pro.css +234 -0
  14. package/css/modules/grid-table-variables.css +385 -0
  15. package/css/modules/grid-theme-default.css +55 -0
  16. package/es-modules/Accessibility/A11yI18n.js +1 -2
  17. package/es-modules/Accessibility/Accessibility.js +1 -2
  18. package/es-modules/Accessibility/AccessibilityComponent.d.ts +2 -2
  19. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +5 -6
  20. package/es-modules/Accessibility/Components/LegendComponent.js +1 -2
  21. package/es-modules/Accessibility/Components/MenuComponent.js +1 -2
  22. package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
  23. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -2
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +1 -2
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -4
  26. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -4
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +1 -2
  28. package/es-modules/Accessibility/Components/ZoomComponent.js +1 -2
  29. package/es-modules/Accessibility/FocusBorder.js +1 -2
  30. package/es-modules/Accessibility/KeyboardNavigation.js +1 -2
  31. package/es-modules/Accessibility/KeyboardNavigationHandler.js +1 -2
  32. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
  33. package/es-modules/Accessibility/Options/A11yDefaults.js +11 -0
  34. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
  35. package/es-modules/Accessibility/Options/DeprecatedOptions.js +7 -2
  36. package/es-modules/Accessibility/Options/LangDefaults.js +9 -0
  37. package/es-modules/Accessibility/ProxyElement.js +2 -5
  38. package/es-modules/Accessibility/ProxyProvider.js +1 -2
  39. package/es-modules/Accessibility/Utils/Announcer.js +2 -3
  40. package/es-modules/Accessibility/Utils/ChartUtilities.js +1 -2
  41. package/es-modules/Accessibility/Utils/EventProvider.d.ts +2 -2
  42. package/es-modules/Accessibility/Utils/EventProvider.js +6 -2
  43. package/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -2
  44. package/es-modules/Core/Animation/AnimationUtilities.js +1 -2
  45. package/es-modules/Core/Animation/Fx.js +1 -2
  46. package/es-modules/Core/Callback.d.ts +9 -2
  47. package/es-modules/Core/Chart/Chart.js +48 -41
  48. package/es-modules/Core/Chart/Chart3D.js +1 -2
  49. package/es-modules/Core/Chart/ChartDefaults.js +11 -0
  50. package/es-modules/Core/Chart/ChartOptions.d.ts +8 -0
  51. package/es-modules/Core/Chart/GanttChart.js +1 -2
  52. package/es-modules/Core/Chart/MapChart.js +1 -2
  53. package/es-modules/Core/Chart/StockChart.js +2 -3
  54. package/es-modules/Core/Color/Color.js +1 -2
  55. package/es-modules/Core/Defaults.js +36 -9
  56. package/es-modules/Core/Delaunay.d.ts +52 -0
  57. package/es-modules/Core/Delaunay.js +310 -0
  58. package/es-modules/Core/Foundation.js +1 -2
  59. package/es-modules/Core/Geometry/CircleUtilities.js +1 -2
  60. package/es-modules/Core/Globals.js +1 -1
  61. package/es-modules/Core/HttpUtilities.js +1 -2
  62. package/es-modules/Core/MSPointer.js +1 -2
  63. package/es-modules/Core/Math3D.js +1 -2
  64. package/es-modules/Core/Options.d.ts +6 -2
  65. package/es-modules/Core/Pointer.js +23 -4
  66. package/es-modules/Core/PointerEvent.d.ts +2 -0
  67. package/es-modules/Core/Renderer/HTML/AST.js +2 -2
  68. package/es-modules/Core/Renderer/HTML/HTMLElement.js +1 -2
  69. package/es-modules/Core/Renderer/RendererUtilities.js +34 -19
  70. package/es-modules/Core/Responsive.d.ts +4 -2
  71. package/es-modules/Core/Responsive.js +10 -4
  72. package/es-modules/Core/Templating.d.ts +1 -1
  73. package/es-modules/Core/Templating.js +3 -4
  74. package/es-modules/Core/Time.d.ts +8 -0
  75. package/es-modules/Core/Time.js +2 -2
  76. package/es-modules/Core/Tooltip.d.ts +4 -8
  77. package/es-modules/Core/Tooltip.js +100 -81
  78. package/es-modules/Core/TooltipOptions.d.ts +44 -1
  79. package/es-modules/Core/Utilities.d.ts +25 -665
  80. package/es-modules/Core/Utilities.js +17 -1398
  81. package/es-modules/Data/ColumnUtils.d.ts +83 -80
  82. package/es-modules/Data/ColumnUtils.js +103 -113
  83. package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
  84. package/es-modules/Data/Connectors/CSVConnector.js +3 -4
  85. package/es-modules/Data/Connectors/DataConnector.d.ts +52 -54
  86. package/es-modules/Data/Connectors/DataConnector.js +33 -52
  87. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
  88. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +73 -88
  89. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +4 -2
  90. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
  91. package/es-modules/Data/Connectors/HTMLTableConnector.js +3 -4
  92. package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
  93. package/es-modules/Data/Connectors/JSONConnector.js +3 -4
  94. package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
  95. package/es-modules/Data/Converters/CSVConverter.js +3 -4
  96. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +2 -2
  97. package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
  98. package/es-modules/Data/Converters/DataConverter.js +26 -53
  99. package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
  100. package/es-modules/Data/Converters/DataConverterUtils.js +169 -181
  101. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
  102. package/es-modules/Data/Converters/GoogleSheetsConverter.js +3 -3
  103. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +2 -2
  104. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
  105. package/es-modules/Data/Converters/HTMLTableConverter.js +2 -3
  106. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +2 -2
  107. package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
  108. package/es-modules/Data/Converters/JSONConverter.js +6 -6
  109. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +2 -2
  110. package/es-modules/Data/DataCursor.d.ts +65 -70
  111. package/es-modules/Data/DataCursor.js +119 -139
  112. package/es-modules/Data/DataEvent.d.ts +55 -57
  113. package/es-modules/Data/DataPool.d.ts +10 -17
  114. package/es-modules/Data/DataPool.js +20 -9
  115. package/es-modules/Data/DataTable.d.ts +111 -113
  116. package/es-modules/Data/DataTable.js +3 -3
  117. package/es-modules/Data/DataTableCore.d.ts +9 -9
  118. package/es-modules/Data/DataTableCore.js +2 -2
  119. package/es-modules/Data/Formula/FormulaParser.js +1 -2
  120. package/es-modules/Data/Formula/FormulaProcessor.js +1 -2
  121. package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
  122. package/es-modules/Data/Modifiers/ChainModifier.js +7 -8
  123. package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
  124. package/es-modules/Data/Modifiers/DataModifier.js +31 -53
  125. package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
  126. package/es-modules/Data/Modifiers/FilterModifier.js +3 -4
  127. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
  128. package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
  129. package/es-modules/Data/Modifiers/InvertModifier.js +3 -4
  130. package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
  131. package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
  132. package/es-modules/Data/Modifiers/RangeModifier.js +3 -4
  133. package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
  134. package/es-modules/Data/Modifiers/SortModifier.js +3 -4
  135. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +3 -3
  136. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +1 -1
  137. package/es-modules/Grid/Core/Accessibility/Accessibility.js +5 -6
  138. package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
  139. package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
  140. package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
  141. package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
  142. package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
  143. package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
  144. package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
  145. package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
  146. package/es-modules/Grid/Core/Defaults.js +4 -2
  147. package/es-modules/Grid/Core/Globals.d.ts +20 -16
  148. package/es-modules/Grid/Core/Globals.js +10 -8
  149. package/es-modules/Grid/Core/Grid.d.ts +31 -22
  150. package/es-modules/Grid/Core/Grid.js +214 -136
  151. package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
  152. package/es-modules/Grid/Core/GridUtils.js +50 -3
  153. package/es-modules/Grid/Core/Options.d.ts +145 -4
  154. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
  155. package/es-modules/Grid/Core/Pagination/Pagination.js +63 -23
  156. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -0
  157. package/es-modules/Grid/Core/Querying/FilteringController.js +1 -2
  158. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
  159. package/es-modules/Grid/Core/Querying/PaginationController.js +3 -3
  160. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
  161. package/es-modules/Grid/Core/Querying/QueryingController.js +2 -26
  162. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
  163. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
  164. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
  165. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
  166. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +2 -3
  167. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +1 -1
  168. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +3 -4
  169. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
  170. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +2 -2
  171. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +17 -1
  172. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +58 -15
  173. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +1 -3
  174. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +57 -3
  175. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +397 -118
  176. package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
  177. package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
  178. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +27 -13
  179. package/es-modules/Grid/Core/Table/Body/TableCell.js +74 -25
  180. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +7 -15
  181. package/es-modules/Grid/Core/Table/Body/TableRow.js +24 -19
  182. package/es-modules/Grid/Core/Table/Cell.d.ts +16 -3
  183. package/es-modules/Grid/Core/Table/Cell.js +36 -3
  184. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +3 -8
  185. package/es-modules/Grid/Core/Table/Column.d.ts +10 -4
  186. package/es-modules/Grid/Core/Table/Column.js +23 -34
  187. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +9 -8
  188. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +4 -3
  189. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
  190. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +7 -2
  191. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +1 -2
  192. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +1 -2
  193. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +2 -3
  194. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +1 -2
  195. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +1 -2
  196. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +0 -1
  197. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +4 -14
  198. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +6 -1
  199. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +33 -13
  200. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +4 -5
  201. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
  202. package/es-modules/Grid/Core/Table/Header/TableHeader.js +3 -3
  203. package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
  204. package/es-modules/Grid/Core/Table/Row.js +2 -2
  205. package/es-modules/Grid/Core/Table/Table.d.ts +38 -12
  206. package/es-modules/Grid/Core/Table/Table.js +184 -91
  207. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
  208. package/es-modules/Grid/Core/UI/ContextMenuButton.js +5 -3
  209. package/es-modules/Grid/Core/UI/Popup.js +7 -9
  210. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
  211. package/es-modules/Grid/Core/UI/SvgIcons.js +206 -33
  212. package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
  213. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
  214. package/es-modules/Grid/Core/UI/ToolbarButton.js +8 -26
  215. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +2 -2
  216. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +10 -10
  217. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +1 -2
  218. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
  219. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +4 -2
  220. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
  221. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +1 -2
  222. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
  223. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +1 -2
  224. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
  225. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +1 -2
  226. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +1 -2
  227. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +1 -2
  228. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +1 -2
  229. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +1 -2
  230. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +1 -2
  231. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +2 -2
  232. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +1 -2
  233. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +1 -2
  234. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +1 -2
  235. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +1 -2
  236. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +34 -32
  237. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
  238. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +3 -4
  239. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +1 -3
  240. package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
  241. package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
  242. package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
  243. package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
  244. package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
  245. package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
  246. package/es-modules/Grid/Pro/Export/Exporting.js +1 -2
  247. package/es-modules/Grid/Pro/Export/ExportingComposition.js +1 -2
  248. package/es-modules/Grid/Pro/GridEvents.js +1 -2
  249. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
  250. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +1 -2
  251. package/es-modules/Shared/BaseForm.js +1 -2
  252. package/es-modules/Shared/DownloadURL.js +1 -2
  253. package/es-modules/Shared/TimeBase.js +3 -3
  254. package/es-modules/Shared/Types.d.ts +7 -0
  255. package/es-modules/Shared/Utilities.d.ts +576 -0
  256. package/es-modules/Shared/Utilities.js +1368 -0
  257. package/es-modules/masters/grid-pro.src.d.ts +15 -11
  258. package/es-modules/masters/grid-pro.src.js +12 -5
  259. package/grid-pro.d.ts +15 -11
  260. package/grid-pro.js +3 -3
  261. package/grid-pro.js.map +1 -1
  262. package/grid-pro.src.d.ts +15 -11
  263. package/grid-pro.src.js +10408 -8009
  264. package/package.json +1 -1
  265. package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
  266. package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
@@ -8,7 +8,7 @@ import type DataTable from './DataTable';
8
8
  * @name Data.DataCursor
9
9
  */
10
10
  declare class DataCursor {
11
- constructor(stateMap?: DataCursor.StateMap);
11
+ constructor(stateMap?: StateMap);
12
12
  /**
13
13
  * Contains arguments currently in use of an emitting loop.
14
14
  */
@@ -16,17 +16,17 @@ declare class DataCursor {
16
16
  /**
17
17
  * Contains listeners of states on tables.
18
18
  */
19
- readonly listenerMap: DataCursor.ListenerMap;
19
+ readonly listenerMap: ListenerMap;
20
20
  /**
21
21
  * Contains lasting states that are kept over multiple changes.
22
22
  */
23
- readonly stateMap: DataCursor.StateMap;
23
+ readonly stateMap: StateMap;
24
24
  /**
25
25
  * This function registers a listener for a specific state and table.
26
26
  *
27
27
  * @example
28
28
  * ```TypeScript
29
- * dataCursor.addListener(myTable.id, 'hover', (e: DataCursor.Event) => {
29
+ * dataCursor.addListener(myTable.id, 'hover', (e: DataCursorEvent) => {
30
30
  * if (e.cursor.type === 'position') {
31
31
  * console.log(`Hover over row #${e.cursor.row}.`);
32
32
  * }
@@ -35,19 +35,19 @@ declare class DataCursor {
35
35
  *
36
36
  * @function #addListener
37
37
  *
38
- * @param {Data.DataCursor.TableId} tableId
38
+ * @param {Data.DataCursorTableId} tableId
39
39
  * The ID of the table to listen to.
40
40
  *
41
- * @param {Data.DataCursor.State} state
41
+ * @param {Data.DataCursorState} state
42
42
  * The state on the table to listen to.
43
43
  *
44
- * @param {Data.DataCursor.Listener} listener
44
+ * @param {Data.DataCursorListener} listener
45
45
  * The listener to register.
46
46
  *
47
47
  * @return {Data.DataCursor}
48
48
  * Returns the DataCursor instance for a call chain.
49
49
  */
50
- addListener(tableId: DataCursor.TableId, state: DataCursor.State, listener: DataCursor.Listener): this;
50
+ addListener(tableId: TableId, state: State, listener: Listener): this;
51
51
  /**
52
52
  * @private
53
53
  */
@@ -69,7 +69,7 @@ declare class DataCursor {
69
69
  * @param {Data.DataTable} table
70
70
  * The related table of the cursor.
71
71
  *
72
- * @param {Data.DataCursor.Type} cursor
72
+ * @param {Data.DataCursorType} cursor
73
73
  * The state cursor to emit.
74
74
  *
75
75
  * @param {Event} [event]
@@ -82,7 +82,7 @@ declare class DataCursor {
82
82
  * @return {Data.DataCursor}
83
83
  * Returns the DataCursor instance for a call chain.
84
84
  */
85
- emitCursor(table: DataTable, cursor: DataCursor.Type, event?: Event, lasting?: boolean): this;
85
+ emitCursor(table: DataTable, cursor: Type, event?: globalThis.Event, lasting?: boolean): this;
86
86
  /**
87
87
  * Removes a lasting state cursor.
88
88
  *
@@ -91,86 +91,81 @@ declare class DataCursor {
91
91
  * @param {string} tableId
92
92
  * ID of the related cursor table.
93
93
  *
94
- * @param {Data.DataCursor.Type} cursor
94
+ * @param {Data.DataCursorType} cursor
95
95
  * Copy or reference of the cursor.
96
96
  *
97
97
  * @return {Data.DataCursor}
98
98
  * Returns the DataCursor instance for a call chain.
99
99
  */
100
- remitCursor(tableId: string, cursor: DataCursor.Type): this;
100
+ remitCursor(tableId: string, cursor: Type): this;
101
101
  /**
102
102
  * This function removes a listener.
103
103
  *
104
104
  * @function #addListener
105
105
  *
106
- * @param {Data.DataCursor.TableId} tableId
106
+ * @param {Data.DataCursorTableId} tableId
107
107
  * The ID of the table the listener is connected to.
108
108
  *
109
- * @param {Data.DataCursor.State} state
109
+ * @param {Data.DataCursorState} state
110
110
  * The state on the table the listener is listening to.
111
111
  *
112
- * @param {Data.DataCursor.Listener} listener
112
+ * @param {Data.DataCursorListener} listener
113
113
  * The listener to deregister.
114
114
  *
115
115
  * @return {Data.DataCursor}
116
116
  * Returns the DataCursor instance for a call chain.
117
117
  */
118
- removeListener(tableId: DataCursor.TableId, state: DataCursor.State, listener: DataCursor.Listener): this;
118
+ removeListener(tableId: TableId, state: State, listener: Listener): this;
119
119
  }
120
+ export type Type = (Position | Range);
121
+ export interface Position {
122
+ type: 'position';
123
+ column?: string;
124
+ row?: number;
125
+ state: State;
126
+ sourceId?: string;
127
+ }
128
+ export interface Range {
129
+ type: 'range';
130
+ columns?: Array<string>;
131
+ firstRow: number;
132
+ lastRow: number;
133
+ state: State;
134
+ sourceId?: string;
135
+ }
136
+ export interface Event {
137
+ cursor: Type;
138
+ cursors: Array<Type>;
139
+ event?: globalThis.Event;
140
+ table: DataTable;
141
+ }
142
+ export type Listener = (this: DataCursor, e: Event) => void;
143
+ export type ListenerMap = Record<TableId, Record<State, Array<Listener>>>;
144
+ export type State = string;
145
+ export type StateMap = Record<TableId, Record<State, Array<Type>>>;
146
+ export type TableId = string;
147
+ export type TableMap = Record<TableId, DataTable>;
120
148
  /**
121
- * @class Data.DataCursor
149
+ * Finds the index of an cursor in an array.
150
+ * @private
122
151
  */
123
- declare namespace DataCursor {
124
- type Type = (Position | Range);
125
- interface Position {
126
- type: 'position';
127
- column?: string;
128
- row?: number;
129
- state: State;
130
- sourceId?: string;
131
- }
132
- interface Range {
133
- type: 'range';
134
- columns?: Array<string>;
135
- firstRow: number;
136
- lastRow: number;
137
- state: State;
138
- sourceId?: string;
139
- }
140
- interface Event {
141
- cursor: Type;
142
- cursors: Array<Type>;
143
- event?: globalThis.Event;
144
- table: DataTable;
145
- }
146
- type Listener = (this: DataCursor, e: Event) => void;
147
- type ListenerMap = Record<TableId, Record<State, Array<Listener>>>;
148
- type State = string;
149
- type StateMap = Record<TableId, Record<State, Array<Type>>>;
150
- type TableId = string;
151
- type TableMap = Record<TableId, DataTable>;
152
- /**
153
- * Finds the index of an cursor in an array.
154
- * @private
155
- */
156
- function getIndex(needle: DataCursor.Type, cursors: Array<DataCursor.Type>): number;
157
- /**
158
- * Checks whether two cursor share the same properties.
159
- * @private
160
- */
161
- function isEqual(cursorA: Type, cursorB: Type): boolean;
162
- /**
163
- * Checks whether a cursor is in a range.
164
- * @private
165
- */
166
- function isInRange(needle: Type, range: Type): boolean;
167
- /**
168
- * @private
169
- */
170
- function toPositions(cursor: Type): Array<Position>;
171
- /**
172
- * @private
173
- */
174
- function toRange(cursor: Type, defaultRange?: Range): Range;
175
- }
152
+ export declare function getIndex(needle: Type, cursors: Array<Type>): number;
153
+ /**
154
+ * Checks whether two cursor share the same properties.
155
+ * @private
156
+ */
157
+ export declare function isEqual(cursorA: Type, cursorB: Type): boolean;
158
+ /**
159
+ * Checks whether a cursor is in a range.
160
+ * @private
161
+ */
162
+ export declare function isInRange(needle: Type, range: Type): boolean;
163
+ /**
164
+ * @private
165
+ */
166
+ export declare function toPositions(cursor: Type): Array<Position>;
167
+ /**
168
+ * @private
169
+ */
170
+ export declare function toRange(cursor: Type, defaultRange?: Range): Range;
176
171
  export default DataCursor;
@@ -50,7 +50,7 @@ class DataCursor {
50
50
  *
51
51
  * @example
52
52
  * ```TypeScript
53
- * dataCursor.addListener(myTable.id, 'hover', (e: DataCursor.Event) => {
53
+ * dataCursor.addListener(myTable.id, 'hover', (e: DataCursorEvent) => {
54
54
  * if (e.cursor.type === 'position') {
55
55
  * console.log(`Hover over row #${e.cursor.row}.`);
56
56
  * }
@@ -59,13 +59,13 @@ class DataCursor {
59
59
  *
60
60
  * @function #addListener
61
61
  *
62
- * @param {Data.DataCursor.TableId} tableId
62
+ * @param {Data.DataCursorTableId} tableId
63
63
  * The ID of the table to listen to.
64
64
  *
65
- * @param {Data.DataCursor.State} state
65
+ * @param {Data.DataCursorState} state
66
66
  * The state on the table to listen to.
67
67
  *
68
- * @param {Data.DataCursor.Listener} listener
68
+ * @param {Data.DataCursorListener} listener
69
69
  * The listener to register.
70
70
  *
71
71
  * @return {Data.DataCursor}
@@ -117,7 +117,7 @@ class DataCursor {
117
117
  * @param {Data.DataTable} table
118
118
  * The related table of the cursor.
119
119
  *
120
- * @param {Data.DataCursor.Type} cursor
120
+ * @param {Data.DataCursorType} cursor
121
121
  * The state cursor to emit.
122
122
  *
123
123
  * @param {Event} [event]
@@ -140,7 +140,7 @@ class DataCursor {
140
140
  if (!cursors.length) {
141
141
  stateMap[cursor.state] = cursors;
142
142
  }
143
- if (DataCursor.getIndex(cursor, cursors) === -1) {
143
+ if (getIndex(cursor, cursors) === -1) {
144
144
  cursors.push(cursor);
145
145
  }
146
146
  }
@@ -180,7 +180,7 @@ class DataCursor {
180
180
  * @param {string} tableId
181
181
  * ID of the related cursor table.
182
182
  *
183
- * @param {Data.DataCursor.Type} cursor
183
+ * @param {Data.DataCursorType} cursor
184
184
  * Copy or reference of the cursor.
185
185
  *
186
186
  * @return {Data.DataCursor}
@@ -190,7 +190,7 @@ class DataCursor {
190
190
  const cursors = (this.stateMap[tableId] &&
191
191
  this.stateMap[tableId][cursor.state]);
192
192
  if (cursors) {
193
- const index = DataCursor.getIndex(cursor, cursors);
193
+ const index = getIndex(cursor, cursors);
194
194
  if (index >= 0) {
195
195
  cursors.splice(index, 1);
196
196
  }
@@ -202,13 +202,13 @@ class DataCursor {
202
202
  *
203
203
  * @function #addListener
204
204
  *
205
- * @param {Data.DataCursor.TableId} tableId
205
+ * @param {Data.DataCursorTableId} tableId
206
206
  * The ID of the table the listener is connected to.
207
207
  *
208
- * @param {Data.DataCursor.State} state
208
+ * @param {Data.DataCursorState} state
209
209
  * The state on the table the listener is listening to.
210
210
  *
211
- * @param {Data.DataCursor.Listener} listener
211
+ * @param {Data.DataCursorListener} listener
212
212
  * The listener to deregister.
213
213
  *
214
214
  * @return {Data.DataCursor}
@@ -228,149 +228,129 @@ class DataCursor {
228
228
  }
229
229
  /* *
230
230
  *
231
- * Class Namespace
231
+ * Functions
232
232
  *
233
233
  * */
234
234
  /**
235
- * @class Data.DataCursor
235
+ * Finds the index of an cursor in an array.
236
+ * @private
236
237
  */
237
- (function (DataCursor) {
238
- /* *
239
- *
240
- * Declarations
241
- *
242
- * */
243
- /* *
244
- *
245
- * Functions
246
- *
247
- * */
248
- /**
249
- * Finds the index of an cursor in an array.
250
- * @private
251
- */
252
- function getIndex(needle, cursors) {
253
- if (needle.type === 'position') {
254
- for (let cursor, i = 0, iEnd = cursors.length; i < iEnd; ++i) {
255
- cursor = cursors[i];
256
- if (cursor.type === 'position' &&
257
- cursor.state === needle.state &&
258
- cursor.column === needle.column &&
259
- cursor.row === needle.row) {
260
- return i;
261
- }
238
+ export function getIndex(needle, cursors) {
239
+ if (needle.type === 'position') {
240
+ for (let cursor, i = 0, iEnd = cursors.length; i < iEnd; ++i) {
241
+ cursor = cursors[i];
242
+ if (cursor.type === 'position' &&
243
+ cursor.state === needle.state &&
244
+ cursor.column === needle.column &&
245
+ cursor.row === needle.row) {
246
+ return i;
262
247
  }
263
248
  }
264
- else {
265
- const columnNeedle = JSON.stringify(needle.columns);
266
- for (let cursor, i = 0, iEnd = cursors.length; i < iEnd; ++i) {
267
- cursor = cursors[i];
268
- if (cursor.type === 'range' &&
269
- cursor.state === needle.state &&
270
- cursor.firstRow === needle.firstRow &&
271
- cursor.lastRow === needle.lastRow &&
272
- JSON.stringify(cursor.columns) === columnNeedle) {
273
- return i;
274
- }
249
+ }
250
+ else {
251
+ const columnNeedle = JSON.stringify(needle.columns);
252
+ for (let cursor, i = 0, iEnd = cursors.length; i < iEnd; ++i) {
253
+ cursor = cursors[i];
254
+ if (cursor.type === 'range' &&
255
+ cursor.state === needle.state &&
256
+ cursor.firstRow === needle.firstRow &&
257
+ cursor.lastRow === needle.lastRow &&
258
+ JSON.stringify(cursor.columns) === columnNeedle) {
259
+ return i;
275
260
  }
276
261
  }
277
- return -1;
278
262
  }
279
- DataCursor.getIndex = getIndex;
280
- /**
281
- * Checks whether two cursor share the same properties.
282
- * @private
283
- */
284
- function isEqual(cursorA, cursorB) {
285
- if (cursorA.type === 'position' && cursorB.type === 'position') {
286
- return (cursorA.column === cursorB.column &&
287
- cursorA.row === cursorB.row &&
288
- cursorA.state === cursorB.state);
289
- }
290
- if (cursorA.type === 'range' && cursorB.type === 'range') {
291
- return (cursorA.firstRow === cursorB.firstRow &&
292
- cursorA.lastRow === cursorB.lastRow &&
293
- (JSON.stringify(cursorA.columns) ===
294
- JSON.stringify(cursorB.columns)));
295
- }
296
- return false;
263
+ return -1;
264
+ }
265
+ /**
266
+ * Checks whether two cursor share the same properties.
267
+ * @private
268
+ */
269
+ export function isEqual(cursorA, cursorB) {
270
+ if (cursorA.type === 'position' && cursorB.type === 'position') {
271
+ return (cursorA.column === cursorB.column &&
272
+ cursorA.row === cursorB.row &&
273
+ cursorA.state === cursorB.state);
297
274
  }
298
- DataCursor.isEqual = isEqual;
299
- /**
300
- * Checks whether a cursor is in a range.
301
- * @private
302
- */
303
- function isInRange(needle, range) {
304
- if (range.type === 'position') {
305
- range = toRange(range);
306
- }
307
- if (needle.type === 'position') {
308
- needle = toRange(needle, range);
309
- }
310
- const needleColumns = needle.columns;
311
- const rangeColumns = range.columns;
312
- return (needle.firstRow >= range.firstRow &&
313
- needle.lastRow <= range.lastRow &&
314
- (!needleColumns ||
315
- !rangeColumns ||
316
- needleColumns.every((column) => rangeColumns.indexOf(column) >= 0)));
275
+ if (cursorA.type === 'range' && cursorB.type === 'range') {
276
+ return (cursorA.firstRow === cursorB.firstRow &&
277
+ cursorA.lastRow === cursorB.lastRow &&
278
+ (JSON.stringify(cursorA.columns) ===
279
+ JSON.stringify(cursorB.columns)));
317
280
  }
318
- DataCursor.isInRange = isInRange;
319
- /**
320
- * @private
321
- */
322
- function toPositions(cursor) {
323
- if (cursor.type === 'position') {
324
- return [cursor];
325
- }
326
- const columns = (cursor.columns || []);
327
- const positions = [];
328
- const state = cursor.state;
329
- for (let row = cursor.firstRow, rowEnd = cursor.lastRow; row < rowEnd; ++row) {
330
- if (!columns.length) {
331
- positions.push({
332
- type: 'position',
333
- row,
334
- state
335
- });
336
- continue;
337
- }
338
- for (let column = 0, columnEnd = columns.length; column < columnEnd; ++column) {
339
- positions.push({
340
- type: 'position',
341
- column: columns[column],
342
- row,
343
- state
344
- });
345
- }
346
- }
347
- return positions;
281
+ return false;
282
+ }
283
+ /**
284
+ * Checks whether a cursor is in a range.
285
+ * @private
286
+ */
287
+ export function isInRange(needle, range) {
288
+ if (range.type === 'position') {
289
+ range = toRange(range);
348
290
  }
349
- DataCursor.toPositions = toPositions;
350
- /**
351
- * @private
352
- */
353
- function toRange(cursor, defaultRange) {
354
- if (cursor.type === 'range') {
355
- return cursor;
291
+ if (needle.type === 'position') {
292
+ needle = toRange(needle, range);
293
+ }
294
+ const needleColumns = needle.columns;
295
+ const rangeColumns = range.columns;
296
+ return (needle.firstRow >= range.firstRow &&
297
+ needle.lastRow <= range.lastRow &&
298
+ (!needleColumns ||
299
+ !rangeColumns ||
300
+ needleColumns.every((column) => rangeColumns.indexOf(column) >= 0)));
301
+ }
302
+ /**
303
+ * @private
304
+ */
305
+ export function toPositions(cursor) {
306
+ if (cursor.type === 'position') {
307
+ return [cursor];
308
+ }
309
+ const columns = (cursor.columns || []);
310
+ const positions = [];
311
+ const state = cursor.state;
312
+ for (let row = cursor.firstRow, rowEnd = cursor.lastRow; row < rowEnd; ++row) {
313
+ if (!columns.length) {
314
+ positions.push({
315
+ type: 'position',
316
+ row,
317
+ state
318
+ });
319
+ continue;
356
320
  }
357
- const range = {
358
- type: 'range',
359
- firstRow: (cursor.row ??
360
- (defaultRange && defaultRange.firstRow) ??
361
- 0),
362
- lastRow: (cursor.row ??
363
- (defaultRange && defaultRange.lastRow) ??
364
- Number.MAX_VALUE),
365
- state: cursor.state
366
- };
367
- if (typeof cursor.column !== 'undefined') {
368
- range.columns = [cursor.column];
321
+ for (let column = 0, columnEnd = columns.length; column < columnEnd; ++column) {
322
+ positions.push({
323
+ type: 'position',
324
+ column: columns[column],
325
+ row,
326
+ state
327
+ });
369
328
  }
370
- return range;
371
329
  }
372
- DataCursor.toRange = toRange;
373
- })(DataCursor || (DataCursor = {}));
330
+ return positions;
331
+ }
332
+ /**
333
+ * @private
334
+ */
335
+ export function toRange(cursor, defaultRange) {
336
+ if (cursor.type === 'range') {
337
+ return cursor;
338
+ }
339
+ const range = {
340
+ type: 'range',
341
+ firstRow: (cursor.row ??
342
+ (defaultRange && defaultRange.firstRow) ??
343
+ 0),
344
+ lastRow: (cursor.row ??
345
+ (defaultRange && defaultRange.lastRow) ??
346
+ Number.MAX_VALUE),
347
+ state: cursor.state
348
+ };
349
+ if (typeof cursor.column !== 'undefined') {
350
+ range.columns = [cursor.column];
351
+ }
352
+ return range;
353
+ }
374
354
  /* *
375
355
  *
376
356
  * Default Export
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * The event object to pass to a callback.
3
3
  */
4
- interface DataEvent {
4
+ export interface DataEvent {
5
5
  /**
6
6
  * Additional event detail
7
7
  */
8
- detail?: DataEvent.Detail;
8
+ detail?: DataEventDetail;
9
9
  /**
10
10
  * The event type
11
11
  */
@@ -14,68 +14,66 @@ interface DataEvent {
14
14
  /**
15
15
  * Additional types for the event object and the event callback.
16
16
  */
17
- declare namespace DataEvent {
18
- /**
19
- * Describes the callbacks expected types. This generic interface can be
20
- * extended by implementing classes.
21
- */
22
- interface Callback<T, E extends DataEvent> {
23
- /**
24
- *
25
- * @param this
26
- * Event scope pointing to the class instance, where the event happens.
27
- *
28
- * @param e
29
- * Event object with additional event information.
30
- */
31
- (this: T, e: E): void;
32
- }
17
+ /**
18
+ * Describes the callbacks expected types. This generic interface can be
19
+ * extended by implementing classes.
20
+ */
21
+ export interface DataEventCallback<T, E extends DataEvent> {
33
22
  /**
34
- * Additional detail of the event object.
23
+ *
24
+ * @param this
25
+ * Event scope pointing to the class instance, where the event happens.
26
+ *
27
+ * @param e
28
+ * Event object with additional event information.
35
29
  */
36
- type Detail = Record<string, (boolean | number | string | null | undefined)>;
30
+ (this: T, e: E): void;
31
+ }
32
+ /**
33
+ * Additional detail of the event object.
34
+ */
35
+ export type DataEventDetail = Record<string, (boolean | number | string | null | undefined)>;
36
+ /**
37
+ * Describes methods to attach callbacks to events of a class instance.
38
+ */
39
+ export interface DataEventEmitter<E extends DataEvent> {
37
40
  /**
38
- * Describes methods to attach callbacks to events of a class instance.
41
+ * Registered events managed by Highcharts utility functions.
39
42
  */
40
- interface Emitter<E extends DataEvent> {
41
- /**
42
- * Registered events managed by Highcharts utility functions.
43
- */
44
- hcEvents?: HCEventsCollection;
45
- /**
46
- * Emits an event on the class instance to all registered callbacks of
47
- * this event.
48
- *
49
- * @param e
50
- * Event object containing additional event information.
51
- */
52
- emit(e: E): void;
53
- /**
54
- * Registers a callback for a specific event.
55
- *
56
- * @param {string} type
57
- * Event type as a string.
58
- *
59
- * @param {DataEvent.Callback} callback
60
- * Function to register for an event callback.
61
- *
62
- * @return {Function}
63
- * Function to unregister callback from the event.
64
- */
65
- on<T extends E['type']>(type: T, callback: Callback<this, Extract<E, {
66
- type: T;
67
- }>>): Function;
68
- }
43
+ hcEvents?: DataEventHCEventsCollection;
69
44
  /**
70
- * Object to manage an event.
45
+ * Emits an event on the class instance to all registered callbacks of
46
+ * this event.
47
+ *
48
+ * @param e
49
+ * Event object containing additional event information.
71
50
  */
72
- interface HCEventObject {
73
- fn: Callback<unknown, DataEvent>;
74
- order?: number;
75
- }
51
+ emit(e: E): void;
76
52
  /**
77
- * Collection of events managed by Highcharts utility functions.
53
+ * Registers a callback for a specific event.
54
+ *
55
+ * @param {string} type
56
+ * Event type as a string.
57
+ *
58
+ * @param {DataEventCallback} callback
59
+ * Function to register for an event callback.
60
+ *
61
+ * @return {Function}
62
+ * Function to unregister callback from the event.
78
63
  */
79
- type HCEventsCollection = (Record<string, Array<HCEventObject>>);
64
+ on<T extends E['type']>(type: T, callback: DataEventCallback<this, Extract<E, {
65
+ type: T;
66
+ }>>): Function;
80
67
  }
68
+ /**
69
+ * Object to manage an event.
70
+ */
71
+ export interface DataEventHCEventObject {
72
+ fn: DataEventCallback<unknown, DataEvent>;
73
+ order?: number;
74
+ }
75
+ /**
76
+ * Collection of events managed by Highcharts utility functions.
77
+ */
78
+ export type DataEventHCEventsCollection = (Record<string, Array<DataEventHCEventObject>>);
81
79
  export default DataEvent;