@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
@@ -1,87 +1,90 @@
1
- import type DataTable from './DataTable';
1
+ import type { CellType as DataTableCellType, Column as DataTableColumn } from './DataTable';
2
2
  import type Types from '../Shared/Types';
3
3
  /**
4
4
  * Utility functions for columns that can be either arrays or typed arrays.
5
5
  * @private
6
6
  */
7
- declare namespace ColumnUtils {
8
- /**
9
- * Result of the `shift` function.
10
- */
11
- interface ShiftResult {
12
- value: DataTable.CellType;
13
- array: DataTable.Column;
14
- }
15
- /**
16
- * Result of the `splice` function.
17
- */
18
- interface SpliceResult<T extends DataTable.Column> {
19
- removed: T;
20
- array: T;
21
- }
22
- /**
23
- * Sets the length of the column array.
24
- *
25
- * @param {DataTable.Column} column
26
- * Column to be modified.
27
- *
28
- * @param {number} length
29
- * New length of the column.
30
- *
31
- * @param {boolean} asSubarray
32
- * If column is a typed array, return a subarray instead of a new array. It
33
- * is faster `O(1)`, but the entire buffer will be kept in memory until all
34
- * views of it are destroyed. Default is `false`.
35
- *
36
- * @return {DataTable.Column}
37
- * Modified column.
38
- *
39
- * @private
40
- */
41
- function setLength(column: DataTable.Column, length: number, asSubarray?: boolean): DataTable.Column;
42
- /**
43
- * Splices a column array.
44
- *
45
- * @param {DataTable.Column} column
46
- * Column to be modified.
47
- *
48
- * @param {number} start
49
- * Index at which to start changing the array.
50
- *
51
- * @param {number} deleteCount
52
- * An integer indicating the number of old array elements to remove.
53
- *
54
- * @param {boolean} removedAsSubarray
55
- * If column is a typed array, return a subarray instead of a new array. It
56
- * is faster `O(1)`, but the entire buffer will be kept in memory until all
57
- * views to it are destroyed. Default is `true`.
58
- *
59
- * @param {Array<number>|TypedArray} items
60
- * The elements to add to the array, beginning at the start index. If you
61
- * don't specify any elements, `splice()` will only remove elements from the
62
- * array.
63
- *
64
- * @return {SpliceResult}
65
- * Object containing removed elements and the modified column.
66
- *
67
- * @private
68
- */
69
- function splice(column: DataTable.Column, start: number, deleteCount: number, removedAsSubarray?: boolean, items?: DataTable.CellType[] | Types.TypedArray): SpliceResult<DataTable.Column>;
70
- /**
71
- * Converts a cell value to a number.
72
- *
73
- * @param {DataTable.CellType} value
74
- * Cell value to convert to a number.
75
- *
76
- * @param {boolean} useNaN
77
- * If `true`, returns `NaN` for non-numeric values; if `false`,
78
- * returns `null` instead.
79
- *
80
- * @return {number | null}
81
- * Number or `null` if the value is not a number.
82
- *
83
- * @private
84
- */
85
- function convertToNumber(value?: DataTable.CellType, useNaN?: boolean): number | null;
7
+ /**
8
+ * Result of the `shift` function.
9
+ */
10
+ export interface ShiftResult {
11
+ value: DataTableCellType;
12
+ array: DataTableColumn;
86
13
  }
14
+ /**
15
+ * Result of the `splice` function.
16
+ */
17
+ export interface SpliceResult<T extends DataTableColumn> {
18
+ removed: T;
19
+ array: T;
20
+ }
21
+ /**
22
+ * Sets the length of the column array.
23
+ *
24
+ * @param {DataTableColumn} column
25
+ * Column to be modified.
26
+ *
27
+ * @param {number} length
28
+ * New length of the column.
29
+ *
30
+ * @param {boolean} asSubarray
31
+ * If column is a typed array, return a subarray instead of a new array. It
32
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
33
+ * views of it are destroyed. Default is `false`.
34
+ *
35
+ * @return {DataTableColumn}
36
+ * Modified column.
37
+ *
38
+ * @private
39
+ */
40
+ export declare function setLength(column: DataTableColumn, length: number, asSubarray?: boolean): DataTableColumn;
41
+ /**
42
+ * Splices a column array.
43
+ *
44
+ * @param {DataTableColumn} column
45
+ * Column to be modified.
46
+ *
47
+ * @param {number} start
48
+ * Index at which to start changing the array.
49
+ *
50
+ * @param {number} deleteCount
51
+ * An integer indicating the number of old array elements to remove.
52
+ *
53
+ * @param {boolean} removedAsSubarray
54
+ * If column is a typed array, return a subarray instead of a new array. It
55
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
56
+ * views to it are destroyed. Default is `true`.
57
+ *
58
+ * @param {Array<number>|TypedArray} items
59
+ * The elements to add to the array, beginning at the start index. If you
60
+ * don't specify any elements, `splice()` will only remove elements from the
61
+ * array.
62
+ *
63
+ * @return {SpliceResult}
64
+ * Object containing removed elements and the modified column.
65
+ *
66
+ * @private
67
+ */
68
+ export declare function splice(column: DataTableColumn, start: number, deleteCount: number, removedAsSubarray?: boolean, items?: DataTableCellType[] | Types.TypedArray): SpliceResult<DataTableColumn>;
69
+ /**
70
+ * Converts a cell value to a number.
71
+ *
72
+ * @param {DataTableCellType} value
73
+ * Cell value to convert to a number.
74
+ *
75
+ * @param {boolean} useNaN
76
+ * If `true`, returns `NaN` for non-numeric values; if `false`,
77
+ * returns `null` instead.
78
+ *
79
+ * @return {number | null}
80
+ * Number or `null` if the value is not a number.
81
+ *
82
+ * @private
83
+ */
84
+ export declare function convertToNumber(value?: DataTableCellType, useNaN?: boolean): number | null;
85
+ declare const ColumnUtils: {
86
+ convertToNumber: typeof convertToNumber;
87
+ setLength: typeof setLength;
88
+ splice: typeof splice;
89
+ };
87
90
  export default ColumnUtils;
@@ -10,131 +10,121 @@
10
10
  * - Dawid Dragula
11
11
  *
12
12
  * */
13
+ /* *
14
+ *
15
+ * Functions
16
+ *
17
+ * */
13
18
  /**
14
- * Utility functions for columns that can be either arrays or typed arrays.
19
+ * Sets the length of the column array.
20
+ *
21
+ * @param {DataTableColumn} column
22
+ * Column to be modified.
23
+ *
24
+ * @param {number} length
25
+ * New length of the column.
26
+ *
27
+ * @param {boolean} asSubarray
28
+ * If column is a typed array, return a subarray instead of a new array. It
29
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
30
+ * views of it are destroyed. Default is `false`.
31
+ *
32
+ * @return {DataTableColumn}
33
+ * Modified column.
34
+ *
15
35
  * @private
16
36
  */
17
- var ColumnUtils;
18
- (function (ColumnUtils) {
19
- /* *
20
- *
21
- * Declarations
22
- *
23
- * */
24
- /* *
25
- *
26
- * Functions
27
- *
28
- * */
29
- /**
30
- * Sets the length of the column array.
31
- *
32
- * @param {DataTable.Column} column
33
- * Column to be modified.
34
- *
35
- * @param {number} length
36
- * New length of the column.
37
- *
38
- * @param {boolean} asSubarray
39
- * If column is a typed array, return a subarray instead of a new array. It
40
- * is faster `O(1)`, but the entire buffer will be kept in memory until all
41
- * views of it are destroyed. Default is `false`.
42
- *
43
- * @return {DataTable.Column}
44
- * Modified column.
45
- *
46
- * @private
47
- */
48
- function setLength(column, length, asSubarray) {
49
- if (Array.isArray(column)) {
50
- column.length = length;
51
- return column;
52
- }
53
- return column[asSubarray ? 'subarray' : 'slice'](0, length);
37
+ export function setLength(column, length, asSubarray) {
38
+ if (Array.isArray(column)) {
39
+ column.length = length;
40
+ return column;
54
41
  }
55
- ColumnUtils.setLength = setLength;
56
- /**
57
- * Splices a column array.
58
- *
59
- * @param {DataTable.Column} column
60
- * Column to be modified.
61
- *
62
- * @param {number} start
63
- * Index at which to start changing the array.
64
- *
65
- * @param {number} deleteCount
66
- * An integer indicating the number of old array elements to remove.
67
- *
68
- * @param {boolean} removedAsSubarray
69
- * If column is a typed array, return a subarray instead of a new array. It
70
- * is faster `O(1)`, but the entire buffer will be kept in memory until all
71
- * views to it are destroyed. Default is `true`.
72
- *
73
- * @param {Array<number>|TypedArray} items
74
- * The elements to add to the array, beginning at the start index. If you
75
- * don't specify any elements, `splice()` will only remove elements from the
76
- * array.
77
- *
78
- * @return {SpliceResult}
79
- * Object containing removed elements and the modified column.
80
- *
81
- * @private
82
- */
83
- function splice(column, start, deleteCount, removedAsSubarray, items = []) {
84
- if (Array.isArray(column)) {
85
- if (!Array.isArray(items)) {
86
- items = Array.from(items);
87
- }
88
- return {
89
- removed: column.splice(start, deleteCount, ...items),
90
- array: column
91
- };
42
+ return column[asSubarray ? 'subarray' : 'slice'](0, length);
43
+ }
44
+ /**
45
+ * Splices a column array.
46
+ *
47
+ * @param {DataTableColumn} column
48
+ * Column to be modified.
49
+ *
50
+ * @param {number} start
51
+ * Index at which to start changing the array.
52
+ *
53
+ * @param {number} deleteCount
54
+ * An integer indicating the number of old array elements to remove.
55
+ *
56
+ * @param {boolean} removedAsSubarray
57
+ * If column is a typed array, return a subarray instead of a new array. It
58
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
59
+ * views to it are destroyed. Default is `true`.
60
+ *
61
+ * @param {Array<number>|TypedArray} items
62
+ * The elements to add to the array, beginning at the start index. If you
63
+ * don't specify any elements, `splice()` will only remove elements from the
64
+ * array.
65
+ *
66
+ * @return {SpliceResult}
67
+ * Object containing removed elements and the modified column.
68
+ *
69
+ * @private
70
+ */
71
+ export function splice(column, start, deleteCount, removedAsSubarray, items = []) {
72
+ if (Array.isArray(column)) {
73
+ if (!Array.isArray(items)) {
74
+ items = Array.from(items);
92
75
  }
93
- const Constructor = Object.getPrototypeOf(column)
94
- .constructor;
95
- const removed = column[removedAsSubarray ? 'subarray' : 'slice'](start, start + deleteCount);
96
- const newLength = column.length - deleteCount + items.length;
97
- const result = new Constructor(newLength);
98
- result.set(column.subarray(0, start), 0);
99
- result.set(items, start);
100
- result.set(column.subarray(start + deleteCount), start + items.length);
101
76
  return {
102
- removed: removed,
103
- array: result
77
+ removed: column.splice(start, deleteCount, ...items),
78
+ array: column
104
79
  };
105
80
  }
106
- ColumnUtils.splice = splice;
107
- /**
108
- * Converts a cell value to a number.
109
- *
110
- * @param {DataTable.CellType} value
111
- * Cell value to convert to a number.
112
- *
113
- * @param {boolean} useNaN
114
- * If `true`, returns `NaN` for non-numeric values; if `false`,
115
- * returns `null` instead.
116
- *
117
- * @return {number | null}
118
- * Number or `null` if the value is not a number.
119
- *
120
- * @private
121
- */
122
- function convertToNumber(value, useNaN) {
123
- switch (typeof value) {
124
- case 'boolean':
125
- return (value ? 1 : 0);
126
- case 'number':
127
- return (isNaN(value) && !useNaN ? null : value);
128
- default:
129
- value = parseFloat(`${value ?? ''}`);
130
- return (isNaN(value) && !useNaN ? null : value);
131
- }
81
+ const Constructor = Object.getPrototypeOf(column)
82
+ .constructor;
83
+ const removed = column[removedAsSubarray ? 'subarray' : 'slice'](start, start + deleteCount);
84
+ const newLength = column.length - deleteCount + items.length;
85
+ const result = new Constructor(newLength);
86
+ result.set(column.subarray(0, start), 0);
87
+ result.set(items, start);
88
+ result.set(column.subarray(start + deleteCount), start + items.length);
89
+ return {
90
+ removed: removed,
91
+ array: result
92
+ };
93
+ }
94
+ /**
95
+ * Converts a cell value to a number.
96
+ *
97
+ * @param {DataTableCellType} value
98
+ * Cell value to convert to a number.
99
+ *
100
+ * @param {boolean} useNaN
101
+ * If `true`, returns `NaN` for non-numeric values; if `false`,
102
+ * returns `null` instead.
103
+ *
104
+ * @return {number | null}
105
+ * Number or `null` if the value is not a number.
106
+ *
107
+ * @private
108
+ */
109
+ export function convertToNumber(value, useNaN) {
110
+ switch (typeof value) {
111
+ case 'boolean':
112
+ return (value ? 1 : 0);
113
+ case 'number':
114
+ return (isNaN(value) && !useNaN ? null : value);
115
+ default:
116
+ value = parseFloat(`${value ?? ''}`);
117
+ return (isNaN(value) && !useNaN ? null : value);
132
118
  }
133
- ColumnUtils.convertToNumber = convertToNumber;
134
- })(ColumnUtils || (ColumnUtils = {}));
119
+ }
135
120
  /* *
136
121
  *
137
122
  * Default Export
138
123
  *
139
124
  * */
125
+ const ColumnUtils = {
126
+ convertToNumber,
127
+ setLength,
128
+ splice
129
+ };
140
130
  export default ColumnUtils;
@@ -1,7 +1,7 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type CSVConnectorOptions from './CSVConnectorOptions';
3
3
  import CSVConverter from '../Converters/CSVConverter.js';
4
- import DataConnector from './DataConnector.js';
4
+ import DataConnector, { type Event as DataConnectorEvent } from './DataConnector.js';
5
5
  /**
6
6
  * Class that handles creating a DataConnector from CSV
7
7
  *
@@ -29,31 +29,26 @@ declare class CSVConnector extends DataConnector {
29
29
  * Overrides the DataConnector method. Emits an event on the connector to
30
30
  * all registered callbacks of this event.
31
31
  *
32
- * @param {CSVConnector.Event} e
32
+ * @param {Event} e
33
33
  * Event object containing additional event information.
34
34
  */
35
- emit(e: CSVConnector.Event): void;
35
+ emit(e: Event): void;
36
36
  /**
37
37
  * Initiates the loading of the CSV source to the connector
38
38
  *
39
- * @param {DataEvent.Detail} [eventDetail]
39
+ * @param {DataEventDetail} [eventDetail]
40
40
  * Custom information for pending events.
41
41
  *
42
42
  * @emits CSVConnector#load
43
43
  * @emits CSVConnector#afterLoad
44
44
  */
45
- load(eventDetail?: DataEvent.Detail): Promise<this>;
45
+ load(eventDetail?: DataEventDetail): Promise<this>;
46
46
  }
47
47
  /**
48
- * Types for class-specific options and events.
48
+ * Event objects fired from CSVConnector events.
49
49
  */
50
- declare namespace CSVConnector {
51
- /**
52
- * Event objects fired from CSVConnector events.
53
- */
54
- interface Event extends DataConnector.Event {
55
- readonly csv?: string;
56
- }
50
+ export interface Event extends DataConnectorEvent {
51
+ readonly csv?: string;
57
52
  }
58
53
  declare module './DataConnectorType' {
59
54
  interface DataConnectorTypes {
@@ -17,8 +17,7 @@
17
17
  'use strict';
18
18
  import CSVConverter from '../Converters/CSVConverter.js';
19
19
  import DataConnector from './DataConnector.js';
20
- import U from '../../Core/Utilities.js';
21
- const { merge, fireEvent } = U;
20
+ import { fireEvent, merge } from '../../Shared/Utilities.js';
22
21
  /* *
23
22
  *
24
23
  * Class
@@ -58,7 +57,7 @@ class CSVConnector extends DataConnector {
58
57
  * Overrides the DataConnector method. Emits an event on the connector to
59
58
  * all registered callbacks of this event.
60
59
  *
61
- * @param {CSVConnector.Event} e
60
+ * @param {Event} e
62
61
  * Event object containing additional event information.
63
62
  */
64
63
  emit(e) {
@@ -67,7 +66,7 @@ class CSVConnector extends DataConnector {
67
66
  /**
68
67
  * Initiates the loading of the CSV source to the connector
69
68
  *
70
- * @param {DataEvent.Detail} [eventDetail]
69
+ * @param {DataEventDetail} [eventDetail]
71
70
  * Custom information for pending events.
72
71
  *
73
72
  * @emits CSVConnector#load
@@ -1,14 +1,36 @@
1
1
  import type { DataConnectorTypes } from './DataConnectorType';
2
2
  import type { DataConnectorOptions, MetaColumn, Metadata } from './DataConnectorOptions';
3
- import type DataEvent from '../DataEvent';
3
+ import type { DataEvent, DataEventCallback, DataEventEmitter } from '../DataEvent';
4
4
  import type DataConverterType from '../Converters/DataConverterType';
5
5
  import DataConverter from '../Converters/DataConverter.js';
6
- import DataTable from '../DataTable.js';
6
+ import DataTable, { type ColumnCollection as DataTableColumnCollection } from '../DataTable.js';
7
7
  import { DeepPartial } from '../../Shared/Types';
8
8
  /**
9
9
  * Abstract class providing an interface for managing a DataConnector.
10
10
  */
11
- declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.Event> {
11
+ declare abstract class DataConnector implements DataEventEmitter<Event> {
12
+ /**
13
+ * Registry as a record object with connector names and their class.
14
+ */
15
+ static types: DataConnectorTypes;
16
+ /**
17
+ * Adds a connector class to the registry. The connector has to provide the
18
+ * `DataConnector.options` property and the `DataConnector.load` method to
19
+ * modify the table.
20
+ *
21
+ * @private
22
+ *
23
+ * @param {string} key
24
+ * Registry key of the connector class.
25
+ *
26
+ * @param {DataConnectorType} DataConnectorClass
27
+ * Connector class (aka class constructor) to register.
28
+ *
29
+ * @return {boolean}
30
+ * Returns true, if the registration was successful. False is returned, if
31
+ * their is already a connector registered with this key.
32
+ */
33
+ static registerType<T extends keyof DataConnectorTypes>(key: T, DataConnectorClass: DataConnectorTypes[T]): boolean;
12
34
  /**
13
35
  * The DataConverter responsible for handling conversion of provided data to
14
36
  * a DataConnector.
@@ -63,14 +85,14 @@ declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.
63
85
  * @param {string} name
64
86
  * The name of the column to be described.
65
87
  *
66
- * @param {DataConnector.MetaColumn} columnMeta
88
+ * @param {MetaColumn} columnMeta
67
89
  * The metadata to apply to the column.
68
90
  */
69
91
  describeColumn(name: string, columnMeta: MetaColumn): void;
70
92
  /**
71
93
  * Method for applying columns meta information to the whole DataConnector.
72
94
  *
73
- * @param {Highcharts.Dictionary<DataConnector.MetaColumn>} columns
95
+ * @param {Record<string, MetaColumn>} columns
74
96
  * Pairs of column names and MetaColumn objects.
75
97
  */
76
98
  describeColumns(columns: Record<string, MetaColumn>): void;
@@ -88,7 +110,7 @@ declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.
88
110
  * @return {Highcharts.DataTableColumnCollection}
89
111
  * An object with the properties `columnIds` and `columnValues`
90
112
  */
91
- getSortedColumns(): DataTable.ColumnCollection;
113
+ getSortedColumns(): DataTableColumnCollection;
92
114
  /**
93
115
  * Sets the index and order of columns.
94
116
  *
@@ -135,10 +157,10 @@ declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.
135
157
  * Emits an event on the connector to all registered callbacks of this
136
158
  * event.
137
159
  *
138
- * @param {DataConnector.Event} e
160
+ * @param {Event} e
139
161
  * Event object containing additional event information.
140
162
  */
141
- emit(e: DataConnector.Event): void;
163
+ emit(e: Event): void;
142
164
  /**
143
165
  * Registers a callback for a specific connector event.
144
166
  *
@@ -151,7 +173,7 @@ declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.
151
173
  * @return {Function}
152
174
  * Function to unregister callback from the connector event.
153
175
  */
154
- on<T extends DataConnector.Event['type']>(type: T, callback: DataEvent.Callback<this, Extract<DataConnector.Event, {
176
+ on<T extends Event['type']>(type: T, callback: DataEventCallback<this, Extract<Event, {
155
177
  type: T;
156
178
  }>>): Function;
157
179
  /**
@@ -161,55 +183,31 @@ declare abstract class DataConnector implements DataEvent.Emitter<DataConnector.
161
183
  * @param {T}[data]
162
184
  * Data specific to the corresponding converter.
163
185
  *
164
- * @param {DataConnector.CreateConverterFunction}[createConverter]
186
+ * @param {CreateConverterFunction}[createConverter]
165
187
  * Creates a specific converter combining the dataTable options.
166
188
  *
167
- * @param {DataConnector.ParseDataFunction<T>}[parseData]
189
+ * @param {ParseDataFunction<T>}[parseData]
168
190
  * Runs the converter parse method with the specific data type.
169
191
  */
170
- initConverters<T>(data: T, createConverter: DataConnector.CreateConverterFunction, parseData: DataConnector.ParseDataFunction<T>): void;
192
+ initConverters<T>(data: T, createConverter: CreateConverterFunction, parseData: ParseDataFunction<T>): void;
171
193
  }
172
- declare namespace DataConnector {
173
- /**
174
- * The event type that is provided on events within DataConnector.
175
- */
176
- interface Event extends DataEvent {
177
- readonly type: ('loadError' | 'load' | 'afterLoad' | 'beforeUpdate' | 'afterUpdate');
178
- readonly error?: string | Error;
179
- }
180
- /**
181
- * Creates a specific converter combining the dataTable options.
182
- */
183
- interface CreateConverterFunction {
184
- (key: string): DataConverterType;
185
- }
186
- /**
187
- * Runs the converter parse method with the specific data type.
188
- */
189
- interface ParseDataFunction<T> {
190
- (converter: DataConverterType, data: T): DataTable.ColumnCollection;
191
- }
192
- /**
193
- * Registry as a record object with connector names and their class.
194
- */
195
- const types: DataConnectorTypes;
196
- /**
197
- * Adds a connector class to the registry. The connector has to provide the
198
- * `DataConnector.options` property and the `DataConnector.load` method to
199
- * modify the table.
200
- *
201
- * @private
202
- *
203
- * @param {string} key
204
- * Registry key of the connector class.
205
- *
206
- * @param {DataConnectorType} DataConnectorClass
207
- * Connector class (aka class constructor) to register.
208
- *
209
- * @return {boolean}
210
- * Returns true, if the registration was successful. False is returned, if
211
- * their is already a connector registered with this key.
212
- */
213
- function registerType<T extends keyof DataConnectorTypes>(key: T, DataConnectorClass: DataConnectorTypes[T]): boolean;
194
+ /**
195
+ * The event type that is provided on events within DataConnector.
196
+ */
197
+ export interface Event extends DataEvent {
198
+ readonly type: ('loadError' | 'load' | 'afterLoad' | 'beforeUpdate' | 'afterUpdate');
199
+ readonly error?: string | Error;
200
+ }
201
+ /**
202
+ * Creates a specific converter combining the dataTable options.
203
+ */
204
+ export interface CreateConverterFunction {
205
+ (key: string): DataConverterType;
206
+ }
207
+ /**
208
+ * Runs the converter parse method with the specific data type.
209
+ */
210
+ export interface ParseDataFunction<T> {
211
+ (converter: DataConverterType, data: T): DataTableColumnCollection;
214
212
  }
215
213
  export default DataConnector;