@highcharts/grid-pro 2.0.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 (442) hide show
  1. package/README.md +35 -0
  2. package/css/grid-pro.css +1756 -0
  3. package/es-modules/Accessibility/A11yI18n.d.ts +95 -0
  4. package/es-modules/Accessibility/A11yI18n.js +290 -0
  5. package/es-modules/Accessibility/Accessibility.d.ts +116 -0
  6. package/es-modules/Accessibility/Accessibility.js +402 -0
  7. package/es-modules/Accessibility/AccessibilityComponent.d.ts +97 -0
  8. package/es-modules/Accessibility/AccessibilityComponent.js +147 -0
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.d.ts +43 -0
  10. package/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
  11. package/es-modules/Accessibility/Components/ContainerComponent.d.ts +48 -0
  12. package/es-modules/Accessibility/Components/ContainerComponent.js +142 -0
  13. package/es-modules/Accessibility/Components/InfoRegionsComponent.d.ts +144 -0
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +555 -0
  15. package/es-modules/Accessibility/Components/LegendComponent.d.ts +124 -0
  16. package/es-modules/Accessibility/Components/LegendComponent.js +474 -0
  17. package/es-modules/Accessibility/Components/MenuComponent.d.ts +93 -0
  18. package/es-modules/Accessibility/Components/MenuComponent.js +430 -0
  19. package/es-modules/Accessibility/Components/NavigatorComponent.d.ts +57 -0
  20. package/es-modules/Accessibility/Components/NavigatorComponent.js +235 -0
  21. package/es-modules/Accessibility/Components/RangeSelectorComponent.d.ts +126 -0
  22. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +473 -0
  23. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.d.ts +18 -0
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +234 -0
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.d.ts +87 -0
  26. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +309 -0
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.d.ts +53 -0
  28. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +130 -0
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.d.ts +28 -0
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +415 -0
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.d.ts +114 -0
  32. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +721 -0
  33. package/es-modules/Accessibility/Components/ZoomComponent.d.ts +96 -0
  34. package/es-modules/Accessibility/Components/ZoomComponent.js +314 -0
  35. package/es-modules/Accessibility/FocusBorder.d.ts +40 -0
  36. package/es-modules/Accessibility/FocusBorder.js +301 -0
  37. package/es-modules/Accessibility/HighContrastMode.d.ts +35 -0
  38. package/es-modules/Accessibility/HighContrastMode.js +100 -0
  39. package/es-modules/Accessibility/HighContrastTheme.d.ts +11 -0
  40. package/es-modules/Accessibility/HighContrastTheme.js +212 -0
  41. package/es-modules/Accessibility/KeyboardNavigation.d.ts +133 -0
  42. package/es-modules/Accessibility/KeyboardNavigation.js +450 -0
  43. package/es-modules/Accessibility/KeyboardNavigationHandler.d.ts +48 -0
  44. package/es-modules/Accessibility/KeyboardNavigationHandler.js +126 -0
  45. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +68 -0
  46. package/es-modules/Accessibility/Options/A11yDefaults.js +971 -0
  47. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +22 -0
  48. package/es-modules/Accessibility/Options/DeprecatedOptions.js +265 -0
  49. package/es-modules/Accessibility/Options/LangDefaults.d.ts +4 -0
  50. package/es-modules/Accessibility/Options/LangDefaults.js +440 -0
  51. package/es-modules/Accessibility/ProxyElement.d.ts +78 -0
  52. package/es-modules/Accessibility/ProxyElement.js +223 -0
  53. package/es-modules/Accessibility/ProxyProvider.d.ts +90 -0
  54. package/es-modules/Accessibility/ProxyProvider.js +315 -0
  55. package/es-modules/Accessibility/Utils/Announcer.d.ts +26 -0
  56. package/es-modules/Accessibility/Utils/Announcer.js +90 -0
  57. package/es-modules/Accessibility/Utils/ChartUtilities.d.ts +90 -0
  58. package/es-modules/Accessibility/Utils/ChartUtilities.js +298 -0
  59. package/es-modules/Accessibility/Utils/DOMElementProvider.d.ts +20 -0
  60. package/es-modules/Accessibility/Utils/DOMElementProvider.js +69 -0
  61. package/es-modules/Accessibility/Utils/EventProvider.d.ts +26 -0
  62. package/es-modules/Accessibility/Utils/EventProvider.js +65 -0
  63. package/es-modules/Accessibility/Utils/HTMLUtilities.d.ts +108 -0
  64. package/es-modules/Accessibility/Utils/HTMLUtilities.js +319 -0
  65. package/es-modules/Core/Animation/AnimationUtilities.d.ts +107 -0
  66. package/es-modules/Core/Animation/AnimationUtilities.js +200 -0
  67. package/es-modules/Core/Animation/Fx.d.ts +130 -0
  68. package/es-modules/Core/Animation/Fx.js +388 -0
  69. package/es-modules/Core/Chart/Chart.d.ts +1009 -0
  70. package/es-modules/Core/Chart/Chart.js +3008 -0
  71. package/es-modules/Core/Chart/Chart3D.d.ts +276 -0
  72. package/es-modules/Core/Chart/Chart3D.js +1686 -0
  73. package/es-modules/Core/Chart/ChartDefaults.d.ts +8 -0
  74. package/es-modules/Core/Chart/ChartDefaults.js +1304 -0
  75. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +55 -0
  76. package/es-modules/Core/Chart/ChartNavigationComposition.js +90 -0
  77. package/es-modules/Core/Chart/GanttChart.d.ts +74 -0
  78. package/es-modules/Core/Chart/GanttChart.js +189 -0
  79. package/es-modules/Core/Chart/MapChart.d.ts +132 -0
  80. package/es-modules/Core/Chart/MapChart.js +232 -0
  81. package/es-modules/Core/Chart/StockChart.d.ts +117 -0
  82. package/es-modules/Core/Chart/StockChart.js +641 -0
  83. package/es-modules/Core/Color/Color.d.ts +112 -0
  84. package/es-modules/Core/Color/Color.js +418 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +84 -0
  86. package/es-modules/Core/Color/Palettes.js +23 -0
  87. package/es-modules/Core/Defaults.d.ts +42 -0
  88. package/es-modules/Core/Defaults.js +2977 -0
  89. package/es-modules/Core/Foundation.d.ts +19 -0
  90. package/es-modules/Core/Foundation.js +63 -0
  91. package/es-modules/Core/Geometry/CircleUtilities.d.ts +189 -0
  92. package/es-modules/Core/Geometry/CircleUtilities.js +388 -0
  93. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +48 -0
  94. package/es-modules/Core/Geometry/GeometryUtilities.js +105 -0
  95. package/es-modules/Core/Geometry/PolygonClip.d.ts +19 -0
  96. package/es-modules/Core/Geometry/PolygonClip.js +96 -0
  97. package/es-modules/Core/Globals.d.ts +110 -0
  98. package/es-modules/Core/Globals.js +127 -0
  99. package/es-modules/Core/HttpUtilities.d.ts +61 -0
  100. package/es-modules/Core/HttpUtilities.js +214 -0
  101. package/es-modules/Core/MSPointer.d.ts +74 -0
  102. package/es-modules/Core/MSPointer.js +218 -0
  103. package/es-modules/Core/Math3D.d.ts +117 -0
  104. package/es-modules/Core/Math3D.js +250 -0
  105. package/es-modules/Core/Pointer.d.ts +590 -0
  106. package/es-modules/Core/Pointer.js +1631 -0
  107. package/es-modules/Core/Renderer/HTML/AST.d.ts +163 -0
  108. package/es-modules/Core/Renderer/HTML/AST.js +562 -0
  109. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +76 -0
  110. package/es-modules/Core/Renderer/HTML/HTMLElement.js +471 -0
  111. package/es-modules/Core/Renderer/RendererRegistry.d.ts +29 -0
  112. package/es-modules/Core/Renderer/RendererRegistry.js +76 -0
  113. package/es-modules/Core/Renderer/RendererUtilities.d.ts +26 -0
  114. package/es-modules/Core/Renderer/RendererUtilities.js +172 -0
  115. package/es-modules/Core/Responsive.d.ts +55 -0
  116. package/es-modules/Core/Responsive.js +260 -0
  117. package/es-modules/Core/Templating.d.ts +125 -0
  118. package/es-modules/Core/Templating.js +428 -0
  119. package/es-modules/Core/Time.d.ts +69 -0
  120. package/es-modules/Core/Time.js +172 -0
  121. package/es-modules/Core/Tooltip.d.ts +297 -0
  122. package/es-modules/Core/Tooltip.js +1377 -0
  123. package/es-modules/Core/Utilities.d.ts +770 -0
  124. package/es-modules/Core/Utilities.js +1989 -0
  125. package/es-modules/Data/ColumnUtils.d.ts +87 -0
  126. package/es-modules/Data/ColumnUtils.js +140 -0
  127. package/es-modules/Data/Connectors/CSVConnector.d.ts +63 -0
  128. package/es-modules/Data/Connectors/CSVConnector.js +149 -0
  129. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +149 -0
  130. package/es-modules/Data/Connectors/DataConnector.d.ts +204 -0
  131. package/es-modules/Data/Connectors/DataConnector.js +345 -0
  132. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +87 -0
  133. package/es-modules/Data/Connectors/DataConnectorType.d.ts +45 -0
  134. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +65 -0
  135. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +226 -0
  136. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +167 -0
  137. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +77 -0
  138. package/es-modules/Data/Connectors/HTMLTableConnector.js +119 -0
  139. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +49 -0
  140. package/es-modules/Data/Connectors/JSONConnector.d.ts +64 -0
  141. package/es-modules/Data/Connectors/JSONConnector.js +156 -0
  142. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +185 -0
  143. package/es-modules/Data/Converters/CSVConverter.d.ts +64 -0
  144. package/es-modules/Data/Converters/CSVConverter.js +374 -0
  145. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +53 -0
  146. package/es-modules/Data/Converters/DataConverter.d.ts +168 -0
  147. package/es-modules/Data/Converters/DataConverter.js +387 -0
  148. package/es-modules/Data/Converters/DataConverterType.d.ts +40 -0
  149. package/es-modules/Data/Converters/DataConverterUtils.d.ts +82 -0
  150. package/es-modules/Data/Converters/DataConverterUtils.js +216 -0
  151. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +46 -0
  152. package/es-modules/Data/Converters/GoogleSheetsConverter.js +135 -0
  153. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +52 -0
  154. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +72 -0
  155. package/es-modules/Data/Converters/HTMLTableConverter.js +362 -0
  156. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +51 -0
  157. package/es-modules/Data/Converters/JSONConverter.d.ts +99 -0
  158. package/es-modules/Data/Converters/JSONConverter.js +239 -0
  159. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +52 -0
  160. package/es-modules/Data/DataCursor.d.ts +176 -0
  161. package/es-modules/Data/DataCursor.js +379 -0
  162. package/es-modules/Data/DataEvent.d.ts +81 -0
  163. package/es-modules/Data/DataEvent.js +14 -0
  164. package/es-modules/Data/DataPool.d.ts +130 -0
  165. package/es-modules/Data/DataPool.js +257 -0
  166. package/es-modules/Data/DataPoolOptions.d.ts +66 -0
  167. package/es-modules/Data/DataTable.d.ts +563 -0
  168. package/es-modules/Data/DataTable.js +930 -0
  169. package/es-modules/Data/DataTableCore.d.ts +165 -0
  170. package/es-modules/Data/DataTableCore.js +316 -0
  171. package/es-modules/Data/DataTableOptions.d.ts +25 -0
  172. package/es-modules/Data/DataTableOptions.js +15 -0
  173. package/es-modules/Data/Formula/Formula.d.ts +21 -0
  174. package/es-modules/Data/Formula/Formula.js +54 -0
  175. package/es-modules/Data/Formula/FormulaParser.d.ts +31 -0
  176. package/es-modules/Data/Formula/FormulaParser.js +488 -0
  177. package/es-modules/Data/Formula/FormulaProcessor.d.ts +155 -0
  178. package/es-modules/Data/Formula/FormulaProcessor.js +529 -0
  179. package/es-modules/Data/Formula/FormulaTypes.d.ts +138 -0
  180. package/es-modules/Data/Formula/FormulaTypes.js +135 -0
  181. package/es-modules/Data/Formula/Functions/ABS.d.ts +19 -0
  182. package/es-modules/Data/Formula/Functions/ABS.js +67 -0
  183. package/es-modules/Data/Formula/Functions/AND.d.ts +20 -0
  184. package/es-modules/Data/Formula/Functions/AND.js +59 -0
  185. package/es-modules/Data/Formula/Functions/AVERAGE.d.ts +20 -0
  186. package/es-modules/Data/Formula/Functions/AVERAGE.js +74 -0
  187. package/es-modules/Data/Formula/Functions/AVERAGEA.d.ts +20 -0
  188. package/es-modules/Data/Formula/Functions/AVERAGEA.js +90 -0
  189. package/es-modules/Data/Formula/Functions/COUNT.d.ts +20 -0
  190. package/es-modules/Data/Formula/Functions/COUNT.js +65 -0
  191. package/es-modules/Data/Formula/Functions/COUNTA.d.ts +20 -0
  192. package/es-modules/Data/Formula/Functions/COUNTA.js +71 -0
  193. package/es-modules/Data/Formula/Functions/IF.d.ts +21 -0
  194. package/es-modules/Data/Formula/Functions/IF.js +54 -0
  195. package/es-modules/Data/Formula/Functions/ISNA.d.ts +20 -0
  196. package/es-modules/Data/Formula/Functions/ISNA.js +52 -0
  197. package/es-modules/Data/Formula/Functions/MAX.d.ts +20 -0
  198. package/es-modules/Data/Formula/Functions/MAX.js +69 -0
  199. package/es-modules/Data/Formula/Functions/MEDIAN.d.ts +20 -0
  200. package/es-modules/Data/Formula/Functions/MEDIAN.js +78 -0
  201. package/es-modules/Data/Formula/Functions/MIN.d.ts +20 -0
  202. package/es-modules/Data/Formula/Functions/MIN.js +69 -0
  203. package/es-modules/Data/Formula/Functions/MOD.d.ts +20 -0
  204. package/es-modules/Data/Formula/Functions/MOD.js +63 -0
  205. package/es-modules/Data/Formula/Functions/MODE.d.ts +41 -0
  206. package/es-modules/Data/Formula/Functions/MODE.js +149 -0
  207. package/es-modules/Data/Formula/Functions/NOT.d.ts +20 -0
  208. package/es-modules/Data/Formula/Functions/NOT.js +60 -0
  209. package/es-modules/Data/Formula/Functions/OR.d.ts +20 -0
  210. package/es-modules/Data/Formula/Functions/OR.js +62 -0
  211. package/es-modules/Data/Formula/Functions/PRODUCT.d.ts +20 -0
  212. package/es-modules/Data/Formula/Functions/PRODUCT.js +68 -0
  213. package/es-modules/Data/Formula/Functions/SUM.d.ts +20 -0
  214. package/es-modules/Data/Formula/Functions/SUM.js +65 -0
  215. package/es-modules/Data/Formula/Functions/XOR.d.ts +20 -0
  216. package/es-modules/Data/Formula/Functions/XOR.js +81 -0
  217. package/es-modules/Data/Modifiers/ChainModifier.d.ts +128 -0
  218. package/es-modules/Data/Modifiers/ChainModifier.js +231 -0
  219. package/es-modules/Data/Modifiers/ChainModifierOptions.d.ts +20 -0
  220. package/es-modules/Data/Modifiers/ChainModifierOptions.js +14 -0
  221. package/es-modules/Data/Modifiers/DataModifier.d.ts +117 -0
  222. package/es-modules/Data/Modifiers/DataModifier.js +202 -0
  223. package/es-modules/Data/Modifiers/DataModifierEvent.d.ts +28 -0
  224. package/es-modules/Data/Modifiers/DataModifierEvent.js +15 -0
  225. package/es-modules/Data/Modifiers/DataModifierOptions.d.ts +11 -0
  226. package/es-modules/Data/Modifiers/DataModifierOptions.js +15 -0
  227. package/es-modules/Data/Modifiers/DataModifierType.d.ts +44 -0
  228. package/es-modules/Data/Modifiers/FilterModifier.d.ts +53 -0
  229. package/es-modules/Data/Modifiers/FilterModifier.js +172 -0
  230. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +110 -0
  231. package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
  232. package/es-modules/Data/Modifiers/InvertModifier.d.ts +48 -0
  233. package/es-modules/Data/Modifiers/InvertModifier.js +116 -0
  234. package/es-modules/Data/Modifiers/InvertModifierOptions.d.ts +11 -0
  235. package/es-modules/Data/Modifiers/InvertModifierOptions.js +15 -0
  236. package/es-modules/Data/Modifiers/MathModifier.d.ts +68 -0
  237. package/es-modules/Data/Modifiers/MathModifier.js +165 -0
  238. package/es-modules/Data/Modifiers/MathModifierOptions.d.ts +50 -0
  239. package/es-modules/Data/Modifiers/MathModifierOptions.js +14 -0
  240. package/es-modules/Data/Modifiers/RangeModifier.d.ts +46 -0
  241. package/es-modules/Data/Modifiers/RangeModifier.js +96 -0
  242. package/es-modules/Data/Modifiers/RangeModifierOptions.d.ts +22 -0
  243. package/es-modules/Data/Modifiers/RangeModifierOptions.js +15 -0
  244. package/es-modules/Data/Modifiers/SortModifier.d.ts +54 -0
  245. package/es-modules/Data/Modifiers/SortModifier.js +144 -0
  246. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +44 -0
  247. package/es-modules/Data/Modifiers/SortModifierOptions.js +14 -0
  248. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +148 -0
  249. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +17 -0
  250. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +115 -0
  251. package/es-modules/Grid/Core/Accessibility/Accessibility.js +231 -0
  252. package/es-modules/Grid/Core/Credits.d.ts +57 -0
  253. package/es-modules/Grid/Core/Credits.js +125 -0
  254. package/es-modules/Grid/Core/Defaults.d.ts +20 -0
  255. package/es-modules/Grid/Core/Defaults.js +148 -0
  256. package/es-modules/Grid/Core/Globals.d.ts +103 -0
  257. package/es-modules/Grid/Core/Globals.js +134 -0
  258. package/es-modules/Grid/Core/Grid.d.ts +295 -0
  259. package/es-modules/Grid/Core/Grid.js +730 -0
  260. package/es-modules/Grid/Core/GridUtils.d.ts +110 -0
  261. package/es-modules/Grid/Core/GridUtils.js +191 -0
  262. package/es-modules/Grid/Core/Options.d.ts +599 -0
  263. package/es-modules/Grid/Core/Options.js +16 -0
  264. package/es-modules/Grid/Core/Pagination/Icons.d.ts +7 -0
  265. package/es-modules/Grid/Core/Pagination/Icons.js +7 -0
  266. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +278 -0
  267. package/es-modules/Grid/Core/Pagination/Pagination.js +842 -0
  268. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +228 -0
  269. package/es-modules/Grid/Core/Querying/FilteringController.d.ts +66 -0
  270. package/es-modules/Grid/Core/Querying/FilteringController.js +256 -0
  271. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +50 -0
  272. package/es-modules/Grid/Core/Querying/PaginationController.js +101 -0
  273. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +58 -0
  274. package/es-modules/Grid/Core/Querying/QueryingController.js +127 -0
  275. package/es-modules/Grid/Core/Querying/SortingController.d.ts +67 -0
  276. package/es-modules/Grid/Core/Querying/SortingController.js +136 -0
  277. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +114 -0
  278. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +351 -0
  279. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +14 -0
  280. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +86 -0
  281. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +19 -0
  282. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +80 -0
  283. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +52 -0
  284. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +81 -0
  285. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +56 -0
  286. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +170 -0
  287. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.d.ts +55 -0
  288. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +182 -0
  289. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +87 -0
  290. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +346 -0
  291. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +88 -0
  292. package/es-modules/Grid/Core/Table/Body/TableCell.js +231 -0
  293. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +79 -0
  294. package/es-modules/Grid/Core/Table/Body/TableRow.js +177 -0
  295. package/es-modules/Grid/Core/Table/Cell.d.ts +92 -0
  296. package/es-modules/Grid/Core/Table/Cell.js +223 -0
  297. package/es-modules/Grid/Core/Table/CellContent/CellContent.d.ts +30 -0
  298. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +40 -0
  299. package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +19 -0
  300. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +98 -0
  301. package/es-modules/Grid/Core/Table/Column.d.ts +136 -0
  302. package/es-modules/Grid/Core/Table/Column.js +230 -0
  303. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.d.ts +7 -0
  304. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +62 -0
  305. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +32 -0
  306. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +68 -0
  307. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.d.ts +7 -0
  308. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +53 -0
  309. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.d.ts +7 -0
  310. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +63 -0
  311. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +92 -0
  312. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +194 -0
  313. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +68 -0
  314. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +187 -0
  315. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +29 -0
  316. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +77 -0
  317. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.d.ts +13 -0
  318. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +79 -0
  319. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +12 -0
  320. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +71 -0
  321. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.d.ts +12 -0
  322. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +66 -0
  323. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +25 -0
  324. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +65 -0
  325. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +12 -0
  326. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +81 -0
  327. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +12 -0
  328. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +80 -0
  329. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +11 -0
  330. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +81 -0
  331. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +70 -0
  332. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +225 -0
  333. package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +53 -0
  334. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +182 -0
  335. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +65 -0
  336. package/es-modules/Grid/Core/Table/Header/TableHeader.js +159 -0
  337. package/es-modules/Grid/Core/Table/Row.d.ts +76 -0
  338. package/es-modules/Grid/Core/Table/Row.js +131 -0
  339. package/es-modules/Grid/Core/Table/Table.d.ts +181 -0
  340. package/es-modules/Grid/Core/Table/Table.js +399 -0
  341. package/es-modules/Grid/Core/UI/Button.d.ts +31 -0
  342. package/es-modules/Grid/Core/UI/Button.js +16 -0
  343. package/es-modules/Grid/Core/UI/ContextMenu.d.ts +38 -0
  344. package/es-modules/Grid/Core/UI/ContextMenu.js +132 -0
  345. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +126 -0
  346. package/es-modules/Grid/Core/UI/ContextMenuButton.js +183 -0
  347. package/es-modules/Grid/Core/UI/Popup.d.ts +149 -0
  348. package/es-modules/Grid/Core/UI/Popup.js +271 -0
  349. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +53 -0
  350. package/es-modules/Grid/Core/UI/SvgIcons.js +158 -0
  351. package/es-modules/Grid/Core/UI/Toolbar.d.ts +16 -0
  352. package/es-modules/Grid/Core/UI/Toolbar.js +16 -0
  353. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +135 -0
  354. package/es-modules/Grid/Core/UI/ToolbarButton.js +191 -0
  355. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +112 -0
  356. package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +80 -0
  357. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +211 -0
  358. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +123 -0
  359. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +198 -0
  360. package/es-modules/Grid/Pro/CellRendering/CellContentPro.d.ts +23 -0
  361. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +45 -0
  362. package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +50 -0
  363. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +41 -0
  364. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +18 -0
  365. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +58 -0
  366. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +48 -0
  367. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +18 -0
  368. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +79 -0
  369. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +30 -0
  370. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +122 -0
  371. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +12 -0
  372. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +39 -0
  373. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +66 -0
  374. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +145 -0
  375. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +12 -0
  376. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +38 -0
  377. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.d.ts +58 -0
  378. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +158 -0
  379. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +58 -0
  380. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +173 -0
  381. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +28 -0
  382. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +157 -0
  383. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +58 -0
  384. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +168 -0
  385. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +13 -0
  386. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +41 -0
  387. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +50 -0
  388. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +65 -0
  389. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +37 -0
  390. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +65 -0
  391. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +26 -0
  392. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +16 -0
  393. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +37 -0
  394. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +64 -0
  395. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +52 -0
  396. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +64 -0
  397. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +74 -0
  398. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +66 -0
  399. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +45 -0
  400. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +89 -0
  401. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +54 -0
  402. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +65 -0
  403. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +43 -0
  404. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +74 -0
  405. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +37 -0
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +64 -0
  407. package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +29 -0
  408. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +118 -0
  409. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +270 -0
  410. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +32 -0
  411. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +63 -0
  412. package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +35 -0
  413. package/es-modules/Grid/Pro/Credits/CreditsPro.js +112 -0
  414. package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +28 -0
  415. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +61 -0
  416. package/es-modules/Grid/Pro/Export/Exporting.d.ts +68 -0
  417. package/es-modules/Grid/Pro/Export/Exporting.js +202 -0
  418. package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +68 -0
  419. package/es-modules/Grid/Pro/Export/ExportingComposition.js +55 -0
  420. package/es-modules/Grid/Pro/GridEvents.d.ts +119 -0
  421. package/es-modules/Grid/Pro/GridEvents.js +107 -0
  422. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +75 -0
  423. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +76 -0
  424. package/es-modules/Grid/Pro/highcharts.d.ts +7 -0
  425. package/es-modules/Grid/index.d.ts +5 -0
  426. package/es-modules/Grid/index.js +19 -0
  427. package/es-modules/Shared/BaseForm.d.ts +49 -0
  428. package/es-modules/Shared/BaseForm.js +126 -0
  429. package/es-modules/Shared/DownloadURL.d.ts +85 -0
  430. package/es-modules/Shared/DownloadURL.js +198 -0
  431. package/es-modules/Shared/LangOptionsCore.d.ts +27 -0
  432. package/es-modules/Shared/TimeBase.d.ts +353 -0
  433. package/es-modules/Shared/TimeBase.js +830 -0
  434. package/es-modules/Shared/Types.d.ts +48 -0
  435. package/es-modules/masters/grid-pro.src.d.ts +99 -0
  436. package/es-modules/masters/grid-pro.src.js +129 -0
  437. package/grid-pro.d.ts +50 -0
  438. package/grid-pro.js +12 -0
  439. package/grid-pro.js.map +1 -0
  440. package/grid-pro.src.d.ts +50 -0
  441. package/grid-pro.src.js +26623 -0
  442. package/package.json +21 -0
@@ -0,0 +1,231 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Dawid Dragula
12
+ *
13
+ * */
14
+ 'use strict';
15
+ import DataModifier from './DataModifier.js';
16
+ import U from '../../Core/Utilities.js';
17
+ const { addEvent, fireEvent, merge } = U;
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * Modifies a table with the help of modifiers in an ordered chain.
25
+ *
26
+ */
27
+ class ChainModifier extends DataModifier {
28
+ /* *
29
+ *
30
+ * Constructor
31
+ *
32
+ * */
33
+ /**
34
+ * Constructs an instance of the modifier chain.
35
+ *
36
+ * @param {Partial<ChainModifier.Options>} [options]
37
+ * Options to configure the modifier chain.
38
+ *
39
+ * @param {...DataModifier} [chain]
40
+ * Ordered chain of modifiers.
41
+ */
42
+ constructor(options, ...chain) {
43
+ super();
44
+ this.chain = chain;
45
+ this.options = merge(ChainModifier.defaultOptions, options);
46
+ const optionsChain = this.options.chain || [];
47
+ for (let i = 0, iEnd = optionsChain.length, modifierOptions, ModifierClass; i < iEnd; ++i) {
48
+ modifierOptions = optionsChain[i];
49
+ if (!modifierOptions.type) {
50
+ continue;
51
+ }
52
+ ModifierClass = DataModifier.types[modifierOptions.type];
53
+ if (ModifierClass) {
54
+ chain.push(new ModifierClass(modifierOptions));
55
+ }
56
+ }
57
+ }
58
+ /* *
59
+ *
60
+ * Functions
61
+ *
62
+ * */
63
+ /**
64
+ * Adds a configured modifier to the end of the modifier chain. Please note,
65
+ * that the modifier can be added multiple times.
66
+ *
67
+ * @param {DataModifier} modifier
68
+ * Configured modifier to add.
69
+ *
70
+ * @param {DataEvent.Detail} [eventDetail]
71
+ * Custom information for pending events.
72
+ */
73
+ add(modifier, eventDetail) {
74
+ this.emit({
75
+ type: 'addModifier',
76
+ detail: eventDetail,
77
+ modifier
78
+ });
79
+ this.chain.push(modifier);
80
+ this.emit({
81
+ type: 'addModifier',
82
+ detail: eventDetail,
83
+ modifier
84
+ });
85
+ }
86
+ /**
87
+ * Clears all modifiers from the chain.
88
+ *
89
+ * @param {DataEvent.Detail} [eventDetail]
90
+ * Custom information for pending events.
91
+ */
92
+ clear(eventDetail) {
93
+ this.emit({
94
+ type: 'clearChain',
95
+ detail: eventDetail
96
+ });
97
+ this.chain.length = 0;
98
+ this.emit({
99
+ type: 'afterClearChain',
100
+ detail: eventDetail
101
+ });
102
+ }
103
+ /**
104
+ * Sequentially applies all modifiers in the chain to the given table,
105
+ * updating its `modified` property with the final result.
106
+ *
107
+ * *Note:* The `modified` property reference of the table gets replaced.
108
+ *
109
+ * @param {Highcharts.DataTable} table
110
+ * Table to modify.
111
+ *
112
+ * @param {DataEvent.Detail} [eventDetail]
113
+ * Custom information for pending events.
114
+ *
115
+ * @return {Promise<Highcharts.DataTable>}
116
+ * Table with `modified` property as a reference.
117
+ */
118
+ async modify(table, eventDetail) {
119
+ const modifiers = (this.options.reverse ?
120
+ this.chain.slice().reverse() :
121
+ this.chain.slice());
122
+ if (!table.modified) {
123
+ table.modified = table.clone(false, eventDetail);
124
+ }
125
+ let modified = table;
126
+ for (let i = 0, iEnd = modifiers.length; i < iEnd; ++i) {
127
+ try {
128
+ await modifiers[i].modify(modified, eventDetail);
129
+ }
130
+ catch (error) {
131
+ this.emit({
132
+ type: 'error',
133
+ detail: eventDetail,
134
+ table
135
+ });
136
+ throw error;
137
+ }
138
+ modified = modified.getModified();
139
+ }
140
+ table.modified = modified;
141
+ return table;
142
+ }
143
+ /**
144
+ * Applies several modifications to the table.
145
+ *
146
+ * *Note:* The `modified` property reference of the table gets replaced.
147
+ *
148
+ * @param {DataTable} table
149
+ * Table to modify.
150
+ *
151
+ * @param {DataEvent.Detail} [eventDetail]
152
+ * Custom information for pending events.
153
+ *
154
+ * @return {DataTable}
155
+ * Table as a reference.
156
+ *
157
+ * @emits ChainDataModifier#execute
158
+ * @emits ChainDataModifier#afterExecute
159
+ */
160
+ modifyTable(table, eventDetail) {
161
+ const chain = this;
162
+ chain.emit({
163
+ type: 'modify',
164
+ detail: eventDetail,
165
+ table
166
+ });
167
+ const modifiers = (chain.options.reverse ?
168
+ chain.chain.reverse() :
169
+ chain.chain.slice());
170
+ let modified = table.getModified();
171
+ for (let i = 0, iEnd = modifiers.length, modifier; i < iEnd; ++i) {
172
+ modifier = modifiers[i];
173
+ modified =
174
+ modifier.modifyTable(modified, eventDetail).getModified();
175
+ }
176
+ table.modified = modified;
177
+ chain.emit({
178
+ type: 'afterModify',
179
+ detail: eventDetail,
180
+ table
181
+ });
182
+ return table;
183
+ }
184
+ /**
185
+ * Removes a configured modifier from all positions in the modifier chain.
186
+ *
187
+ * @param {DataModifier} modifier
188
+ * Configured modifier to remove.
189
+ *
190
+ * @param {DataEvent.Detail} [eventDetail]
191
+ * Custom information for pending events.
192
+ */
193
+ remove(modifier, eventDetail) {
194
+ const modifiers = this.chain;
195
+ this.emit({
196
+ type: 'removeModifier',
197
+ detail: eventDetail,
198
+ modifier
199
+ });
200
+ modifiers.splice(modifiers.indexOf(modifier), 1);
201
+ this.emit({
202
+ type: 'afterRemoveModifier',
203
+ detail: eventDetail,
204
+ modifier
205
+ });
206
+ }
207
+ emit(e) {
208
+ fireEvent(this, e.type, e);
209
+ }
210
+ on(type, callback) {
211
+ return addEvent(this, type, callback);
212
+ }
213
+ }
214
+ /* *
215
+ *
216
+ * Static Properties
217
+ *
218
+ * */
219
+ /**
220
+ * Default option for the ordered modifier chain.
221
+ */
222
+ ChainModifier.defaultOptions = {
223
+ type: 'Chain'
224
+ };
225
+ DataModifier.registerType('Chain', ChainModifier);
226
+ /* *
227
+ *
228
+ * Default Export
229
+ *
230
+ * */
231
+ export default ChainModifier;
@@ -0,0 +1,20 @@
1
+ import type DataModifierOptions from './DataModifierOptions';
2
+ import type { DataModifierTypeOptions } from './DataModifierType';
3
+ /**
4
+ * Options to configure the chain modifier.
5
+ */
6
+ export interface ChainModifierOptions extends DataModifierOptions {
7
+ /**
8
+ * Name of the related modifier for these options.
9
+ */
10
+ type: 'Chain';
11
+ /**
12
+ * Array of options of the chain modifiers.
13
+ */
14
+ chain?: Array<Partial<DataModifierTypeOptions>>;
15
+ /**
16
+ * Whether to revert the order before execution.
17
+ */
18
+ reverse?: boolean;
19
+ }
20
+ export default ChainModifierOptions;
@@ -0,0 +1,14 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ *
12
+ * */
13
+ 'use strict';
14
+ export {};
@@ -0,0 +1,117 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type DataModifierEvent from './DataModifierEvent';
3
+ import type DataModifierOptions from './DataModifierOptions';
4
+ import type DataTable from '../DataTable';
5
+ import type { DataModifierTypes } from './DataModifierType';
6
+ /**
7
+ * Abstract class to provide an interface for modifying a table.
8
+ */
9
+ declare abstract class DataModifier implements DataEvent.Emitter<DataModifierEvent> {
10
+ /**
11
+ * Modifier options.
12
+ */
13
+ abstract readonly options: DataModifierOptions;
14
+ /**
15
+ * Runs a timed execution of the modifier on the given datatable.
16
+ * Can be configured to run multiple times.
17
+ *
18
+ * @param {DataTable} dataTable
19
+ * The datatable to execute
20
+ *
21
+ * @param {DataModifier.BenchmarkOptions} options
22
+ * Options. Currently supports `iterations` for number of iterations.
23
+ *
24
+ * @return {Array<number>}
25
+ * An array of times in milliseconds
26
+ *
27
+ */
28
+ benchmark(dataTable: DataTable, options?: DataModifier.BenchmarkOptions): Array<number>;
29
+ /**
30
+ * Emits an event on the modifier to all registered callbacks of this event.
31
+ *
32
+ * @param {DataModifier.Event} [e]
33
+ * Event object containing additonal event information.
34
+ */
35
+ emit<E extends DataModifierEvent>(e: E): void;
36
+ /**
37
+ * Modifies the given table and sets its `modified` property as a reference
38
+ * to the modified table. If `modified` property does not exist on the
39
+ * original table, it's always created.
40
+ *
41
+ * @param {Highcharts.DataTable} table
42
+ * Table to modify.
43
+ *
44
+ * @param {DataEvent.Detail} [eventDetail]
45
+ * Custom information for pending events.
46
+ *
47
+ * @return {Promise<Highcharts.DataTable>}
48
+ * Table with `modified` property as a reference.
49
+ */
50
+ modify(table: DataTable, eventDetail?: DataEvent.Detail): Promise<DataTable>;
51
+ /**
52
+ * Creates a modified copy of the given table and sets its `modified`
53
+ * property as a reference to the modified table. If `modified` property
54
+ * does not exist, the original table is changed.
55
+ *
56
+ * @param {Highcharts.DataTable} table
57
+ * Table to modify.
58
+ *
59
+ * @param {DataEvent.Detail} [eventDetail]
60
+ * Custom information for pending events.
61
+ *
62
+ * @return {Highcharts.DataTable}
63
+ * Table with `modified` property as a reference or modified table, if
64
+ * `modified` property of the original table is undefined.
65
+ */
66
+ abstract modifyTable(table: DataTable, eventDetail?: DataEvent.Detail): DataTable;
67
+ /**
68
+ * Registers a callback for a specific modifier event.
69
+ *
70
+ * @param {string} type
71
+ * Event type as a string.
72
+ *
73
+ * @param {DataEventEmitter.Callback} callback
74
+ * Function to register for an modifier callback.
75
+ *
76
+ * @return {Function}
77
+ * Function to unregister callback from the modifier event.
78
+ */
79
+ on<T extends DataModifierEvent['type']>(type: T, callback: DataEvent.Callback<this, Extract<DataModifierEvent, {
80
+ type: T;
81
+ }>>): Function;
82
+ }
83
+ /**
84
+ * Additionally provided types for modifier events and options.
85
+ */
86
+ declare namespace DataModifier {
87
+ /**
88
+ * Benchmark options.
89
+ */
90
+ interface BenchmarkOptions {
91
+ iterations: number;
92
+ }
93
+ /**
94
+ * Registry as a record object with modifier names and their class
95
+ * constructor.
96
+ */
97
+ const types: DataModifierTypes;
98
+ /**
99
+ * Adds a modifier class to the registry. The modifier class has to provide
100
+ * the `DataModifier.options` property and the `DataModifier.modifyTable`
101
+ * method to modify the table.
102
+ *
103
+ * @private
104
+ *
105
+ * @param {string} key
106
+ * Registry key of the modifier class.
107
+ *
108
+ * @param {DataModifierType} DataModifierClass
109
+ * Modifier class (aka class constructor) to register.
110
+ *
111
+ * @return {boolean}
112
+ * Returns true, if the registration was successful. False is returned, if
113
+ * their is already a modifier registered with this key.
114
+ */
115
+ function registerType<T extends keyof DataModifierTypes>(key: T, DataModifierClass: DataModifierTypes[T]): boolean;
116
+ }
117
+ export default DataModifier;
@@ -0,0 +1,202 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Gøran Slettemark
12
+ * - Dawid Dragula
13
+ *
14
+ * */
15
+ 'use strict';
16
+ import U from '../../Core/Utilities.js';
17
+ const { addEvent, fireEvent, merge } = U;
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * Abstract class to provide an interface for modifying a table.
25
+ */
26
+ class DataModifier {
27
+ /* *
28
+ *
29
+ * Functions
30
+ *
31
+ * */
32
+ /**
33
+ * Runs a timed execution of the modifier on the given datatable.
34
+ * Can be configured to run multiple times.
35
+ *
36
+ * @param {DataTable} dataTable
37
+ * The datatable to execute
38
+ *
39
+ * @param {DataModifier.BenchmarkOptions} options
40
+ * Options. Currently supports `iterations` for number of iterations.
41
+ *
42
+ * @return {Array<number>}
43
+ * An array of times in milliseconds
44
+ *
45
+ */
46
+ benchmark(dataTable, options) {
47
+ const results = [];
48
+ const modifier = this;
49
+ const execute = () => {
50
+ modifier.modifyTable(dataTable);
51
+ modifier.emit({
52
+ type: 'afterBenchmarkIteration'
53
+ });
54
+ };
55
+ const defaultOptions = {
56
+ iterations: 1
57
+ };
58
+ const { iterations } = merge(defaultOptions, options);
59
+ modifier.on('afterBenchmarkIteration', () => {
60
+ if (results.length === iterations) {
61
+ modifier.emit({
62
+ type: 'afterBenchmark',
63
+ results
64
+ });
65
+ return;
66
+ }
67
+ // Run again
68
+ execute();
69
+ });
70
+ const times = {
71
+ startTime: 0,
72
+ endTime: 0
73
+ };
74
+ // Add timers
75
+ modifier.on('modify', () => {
76
+ times.startTime = window.performance.now();
77
+ });
78
+ modifier.on('afterModify', () => {
79
+ times.endTime = window.performance.now();
80
+ results.push(times.endTime - times.startTime);
81
+ });
82
+ // Initial run
83
+ execute();
84
+ return results;
85
+ }
86
+ /**
87
+ * Emits an event on the modifier to all registered callbacks of this event.
88
+ *
89
+ * @param {DataModifier.Event} [e]
90
+ * Event object containing additonal event information.
91
+ */
92
+ emit(e) {
93
+ fireEvent(this, e.type, e);
94
+ }
95
+ /**
96
+ * Modifies the given table and sets its `modified` property as a reference
97
+ * to the modified table. If `modified` property does not exist on the
98
+ * original table, it's always created.
99
+ *
100
+ * @param {Highcharts.DataTable} table
101
+ * Table to modify.
102
+ *
103
+ * @param {DataEvent.Detail} [eventDetail]
104
+ * Custom information for pending events.
105
+ *
106
+ * @return {Promise<Highcharts.DataTable>}
107
+ * Table with `modified` property as a reference.
108
+ */
109
+ modify(table, eventDetail) {
110
+ const modifier = this;
111
+ return new Promise((resolve, reject) => {
112
+ if (!table.modified) {
113
+ table.modified = table.clone(false, eventDetail);
114
+ }
115
+ try {
116
+ resolve(modifier.modifyTable(table, eventDetail));
117
+ }
118
+ catch (e) {
119
+ modifier.emit({
120
+ type: 'error',
121
+ detail: eventDetail,
122
+ table
123
+ });
124
+ reject(e instanceof Error ? e : new Error('' + e));
125
+ }
126
+ });
127
+ }
128
+ /**
129
+ * Registers a callback for a specific modifier event.
130
+ *
131
+ * @param {string} type
132
+ * Event type as a string.
133
+ *
134
+ * @param {DataEventEmitter.Callback} callback
135
+ * Function to register for an modifier callback.
136
+ *
137
+ * @return {Function}
138
+ * Function to unregister callback from the modifier event.
139
+ */
140
+ on(type, callback) {
141
+ return addEvent(this, type, callback);
142
+ }
143
+ }
144
+ /* *
145
+ *
146
+ * Class Namespace
147
+ *
148
+ * */
149
+ /**
150
+ * Additionally provided types for modifier events and options.
151
+ */
152
+ (function (DataModifier) {
153
+ /* *
154
+ *
155
+ * Declarations
156
+ *
157
+ * */
158
+ /* *
159
+ *
160
+ * Constants
161
+ *
162
+ * */
163
+ /**
164
+ * Registry as a record object with modifier names and their class
165
+ * constructor.
166
+ */
167
+ DataModifier.types = {};
168
+ /* *
169
+ *
170
+ * Functions
171
+ *
172
+ * */
173
+ /**
174
+ * Adds a modifier class to the registry. The modifier class has to provide
175
+ * the `DataModifier.options` property and the `DataModifier.modifyTable`
176
+ * method to modify the table.
177
+ *
178
+ * @private
179
+ *
180
+ * @param {string} key
181
+ * Registry key of the modifier class.
182
+ *
183
+ * @param {DataModifierType} DataModifierClass
184
+ * Modifier class (aka class constructor) to register.
185
+ *
186
+ * @return {boolean}
187
+ * Returns true, if the registration was successful. False is returned, if
188
+ * their is already a modifier registered with this key.
189
+ */
190
+ function registerType(key, DataModifierClass) {
191
+ return (!!key &&
192
+ !DataModifier.types[key] &&
193
+ !!(DataModifier.types[key] = DataModifierClass));
194
+ }
195
+ DataModifier.registerType = registerType;
196
+ })(DataModifier || (DataModifier = {}));
197
+ /* *
198
+ *
199
+ * Default Export
200
+ *
201
+ * */
202
+ export default DataModifier;
@@ -0,0 +1,28 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type DataTable from '../DataTable';
3
+ /**
4
+ * Benchmark event with additional event information.
5
+ */
6
+ export interface BenchmarkEvent extends DataEvent {
7
+ readonly type: ('afterBenchmark' | 'afterBenchmarkIteration');
8
+ readonly results?: Array<number>;
9
+ }
10
+ /**
11
+ * Error event with additional event information.
12
+ */
13
+ export interface ErrorEvent extends DataEvent {
14
+ readonly type: ('error');
15
+ readonly table: DataTable;
16
+ }
17
+ /**
18
+ * Event information.
19
+ */
20
+ export type DataModifierEvent = (BenchmarkEvent | ErrorEvent | ModifyEvent);
21
+ /**
22
+ * Modify event with additional event information.
23
+ */
24
+ export interface ModifyEvent extends DataEvent {
25
+ readonly type: ('modify' | 'afterModify');
26
+ readonly table: DataTable;
27
+ }
28
+ export default DataModifierEvent;
@@ -0,0 +1,15 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Gøran Slettemark
12
+ *
13
+ * */
14
+ 'use strict';
15
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { DataModifierTypes } from './DataModifierType';
2
+ /**
3
+ * Options to configure the modifier.
4
+ */
5
+ export interface DataModifierOptions {
6
+ /**
7
+ * Type of the related modifier for these options.
8
+ */
9
+ type: keyof DataModifierTypes;
10
+ }
11
+ export default DataModifierOptions;
@@ -0,0 +1,15 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ * - Gøran Slettemark
12
+ *
13
+ * */
14
+ 'use strict';
15
+ export {};
@@ -0,0 +1,44 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Highsoft AS
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * Authors:
10
+ * - Sophie Bremer
11
+ *
12
+ * */
13
+
14
+ /* *
15
+ *
16
+ * Declarations
17
+ *
18
+ * */
19
+
20
+ /**
21
+ * Contains all possible types of the modifier registry.
22
+ */
23
+ export type DataModifierType = DataModifierTypes[keyof DataModifierTypes];
24
+
25
+ /**
26
+ * Contains all possible options of the modifier registry.
27
+ */
28
+ export type DataModifierTypeOptions = DataModifierType['prototype']['options'];
29
+
30
+ /**
31
+ * Describes the modifier registry as a record object with key and class
32
+ * constructor.
33
+ */
34
+ export interface DataModifierTypes {
35
+ // Nothing here yet
36
+ }
37
+
38
+ /* *
39
+ *
40
+ * Default Export
41
+ *
42
+ * */
43
+
44
+ export default DataModifierType;