@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,379 @@
1
+ /* *
2
+ *
3
+ * (c) 2020-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
+ /* *
15
+ *
16
+ * Class
17
+ *
18
+ * */
19
+ /**
20
+ * This class manages state cursors pointing on {@link Data.DataTable}. It
21
+ * creates a relation between states of the user interface and the table cells,
22
+ * columns, or rows.
23
+ *
24
+ * @class
25
+ * @name Data.DataCursor
26
+ */
27
+ class DataCursor {
28
+ /* *
29
+ *
30
+ * Static Properties
31
+ *
32
+ * */
33
+ /* *
34
+ *
35
+ * Constructor
36
+ *
37
+ * */
38
+ constructor(stateMap = {}) {
39
+ this.emittingRegister = [];
40
+ this.listenerMap = {};
41
+ this.stateMap = stateMap;
42
+ }
43
+ /* *
44
+ *
45
+ * Functions
46
+ *
47
+ * */
48
+ /**
49
+ * This function registers a listener for a specific state and table.
50
+ *
51
+ * @example
52
+ * ```TypeScript
53
+ * dataCursor.addListener(myTable.id, 'hover', (e: DataCursor.Event) => {
54
+ * if (e.cursor.type === 'position') {
55
+ * console.log(`Hover over row #${e.cursor.row}.`);
56
+ * }
57
+ * });
58
+ * ```
59
+ *
60
+ * @function #addListener
61
+ *
62
+ * @param {Data.DataCursor.TableId} tableId
63
+ * The ID of the table to listen to.
64
+ *
65
+ * @param {Data.DataCursor.State} state
66
+ * The state on the table to listen to.
67
+ *
68
+ * @param {Data.DataCursor.Listener} listener
69
+ * The listener to register.
70
+ *
71
+ * @return {Data.DataCursor}
72
+ * Returns the DataCursor instance for a call chain.
73
+ */
74
+ addListener(tableId, state, listener) {
75
+ const listenerMap = this.listenerMap[tableId] = (this.listenerMap[tableId] ||
76
+ {});
77
+ const listeners = listenerMap[state] = (listenerMap[state] ||
78
+ []);
79
+ listeners.push(listener);
80
+ return this;
81
+ }
82
+ /**
83
+ * @private
84
+ */
85
+ buildEmittingTag(e) {
86
+ return (e.cursor.type === 'position' ?
87
+ [
88
+ e.table.id,
89
+ e.cursor.column,
90
+ e.cursor.row,
91
+ e.cursor.state,
92
+ e.cursor.type
93
+ ] :
94
+ [
95
+ e.table.id,
96
+ e.cursor.columns,
97
+ e.cursor.firstRow,
98
+ e.cursor.lastRow,
99
+ e.cursor.state,
100
+ e.cursor.type
101
+ ]).join('\0');
102
+ }
103
+ /**
104
+ * This function emits a state cursor related to a table. It will provide
105
+ * lasting state cursors of the table to listeners.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * dataCursor.emit(myTable, {
110
+ * type: 'position',
111
+ * column: 'city',
112
+ * row: 4,
113
+ * state: 'hover',
114
+ * });
115
+ * ```
116
+ *
117
+ * @param {Data.DataTable} table
118
+ * The related table of the cursor.
119
+ *
120
+ * @param {Data.DataCursor.Type} cursor
121
+ * The state cursor to emit.
122
+ *
123
+ * @param {Event} [event]
124
+ * Optional event information from a related source.
125
+ *
126
+ * @param {boolean} [lasting]
127
+ * Whether this state cursor should be kept until it is cleared with
128
+ * {@link DataCursor#remitCursor}.
129
+ *
130
+ * @return {Data.DataCursor}
131
+ * Returns the DataCursor instance for a call chain.
132
+ */
133
+ emitCursor(table, cursor, event, lasting) {
134
+ const tableId = table.id, state = cursor.state, listeners = (this.listenerMap[tableId] &&
135
+ this.listenerMap[tableId][state]);
136
+ if (listeners) {
137
+ const stateMap = this.stateMap[tableId] = (this.stateMap[tableId] ?? {});
138
+ const cursors = stateMap[cursor.state] || [];
139
+ if (lasting) {
140
+ if (!cursors.length) {
141
+ stateMap[cursor.state] = cursors;
142
+ }
143
+ if (DataCursor.getIndex(cursor, cursors) === -1) {
144
+ cursors.push(cursor);
145
+ }
146
+ }
147
+ const e = {
148
+ cursor,
149
+ cursors,
150
+ table
151
+ };
152
+ if (event) {
153
+ e.event = event;
154
+ }
155
+ const emittingRegister = this.emittingRegister, emittingTag = this.buildEmittingTag(e);
156
+ if (emittingRegister.indexOf(emittingTag) >= 0) {
157
+ // Break call stack loops
158
+ return this;
159
+ }
160
+ try {
161
+ this.emittingRegister.push(emittingTag);
162
+ for (let i = 0, iEnd = listeners.length; i < iEnd; ++i) {
163
+ listeners[i].call(this, e);
164
+ }
165
+ }
166
+ finally {
167
+ const index = this.emittingRegister.indexOf(emittingTag);
168
+ if (index >= 0) {
169
+ this.emittingRegister.splice(index, 1);
170
+ }
171
+ }
172
+ }
173
+ return this;
174
+ }
175
+ /**
176
+ * Removes a lasting state cursor.
177
+ *
178
+ * @function #remitCursor
179
+ *
180
+ * @param {string} tableId
181
+ * ID of the related cursor table.
182
+ *
183
+ * @param {Data.DataCursor.Type} cursor
184
+ * Copy or reference of the cursor.
185
+ *
186
+ * @return {Data.DataCursor}
187
+ * Returns the DataCursor instance for a call chain.
188
+ */
189
+ remitCursor(tableId, cursor) {
190
+ const cursors = (this.stateMap[tableId] &&
191
+ this.stateMap[tableId][cursor.state]);
192
+ if (cursors) {
193
+ const index = DataCursor.getIndex(cursor, cursors);
194
+ if (index >= 0) {
195
+ cursors.splice(index, 1);
196
+ }
197
+ }
198
+ return this;
199
+ }
200
+ /**
201
+ * This function removes a listener.
202
+ *
203
+ * @function #addListener
204
+ *
205
+ * @param {Data.DataCursor.TableId} tableId
206
+ * The ID of the table the listener is connected to.
207
+ *
208
+ * @param {Data.DataCursor.State} state
209
+ * The state on the table the listener is listening to.
210
+ *
211
+ * @param {Data.DataCursor.Listener} listener
212
+ * The listener to deregister.
213
+ *
214
+ * @return {Data.DataCursor}
215
+ * Returns the DataCursor instance for a call chain.
216
+ */
217
+ removeListener(tableId, state, listener) {
218
+ const listeners = (this.listenerMap[tableId] &&
219
+ this.listenerMap[tableId][state]);
220
+ if (listeners) {
221
+ const index = listeners.indexOf(listener);
222
+ if (index >= 0) {
223
+ listeners.splice(index, 1);
224
+ }
225
+ }
226
+ return this;
227
+ }
228
+ }
229
+ /* *
230
+ *
231
+ * Class Namespace
232
+ *
233
+ * */
234
+ /**
235
+ * @class Data.DataCursor
236
+ */
237
+ (function (DataCursor) {
238
+ /* *
239
+ *
240
+ * Declarations
241
+ *
242
+ * */
243
+ /* *
244
+ *
245
+ * Functions
246
+ *
247
+ * */
248
+ /**
249
+ * Finds the index of an cursor in an array.
250
+ * @private
251
+ */
252
+ function getIndex(needle, cursors) {
253
+ if (needle.type === 'position') {
254
+ for (let cursor, i = 0, iEnd = cursors.length; i < iEnd; ++i) {
255
+ cursor = cursors[i];
256
+ if (cursor.type === 'position' &&
257
+ cursor.state === needle.state &&
258
+ cursor.column === needle.column &&
259
+ cursor.row === needle.row) {
260
+ return i;
261
+ }
262
+ }
263
+ }
264
+ else {
265
+ const columnNeedle = JSON.stringify(needle.columns);
266
+ for (let cursor, i = 0, iEnd = cursors.length; i < iEnd; ++i) {
267
+ cursor = cursors[i];
268
+ if (cursor.type === 'range' &&
269
+ cursor.state === needle.state &&
270
+ cursor.firstRow === needle.firstRow &&
271
+ cursor.lastRow === needle.lastRow &&
272
+ JSON.stringify(cursor.columns) === columnNeedle) {
273
+ return i;
274
+ }
275
+ }
276
+ }
277
+ return -1;
278
+ }
279
+ DataCursor.getIndex = getIndex;
280
+ /**
281
+ * Checks whether two cursor share the same properties.
282
+ * @private
283
+ */
284
+ function isEqual(cursorA, cursorB) {
285
+ if (cursorA.type === 'position' && cursorB.type === 'position') {
286
+ return (cursorA.column === cursorB.column &&
287
+ cursorA.row === cursorB.row &&
288
+ cursorA.state === cursorB.state);
289
+ }
290
+ if (cursorA.type === 'range' && cursorB.type === 'range') {
291
+ return (cursorA.firstRow === cursorB.firstRow &&
292
+ cursorA.lastRow === cursorB.lastRow &&
293
+ (JSON.stringify(cursorA.columns) ===
294
+ JSON.stringify(cursorB.columns)));
295
+ }
296
+ return false;
297
+ }
298
+ DataCursor.isEqual = isEqual;
299
+ /**
300
+ * Checks whether a cursor is in a range.
301
+ * @private
302
+ */
303
+ function isInRange(needle, range) {
304
+ if (range.type === 'position') {
305
+ range = toRange(range);
306
+ }
307
+ if (needle.type === 'position') {
308
+ needle = toRange(needle, range);
309
+ }
310
+ const needleColumns = needle.columns;
311
+ const rangeColumns = range.columns;
312
+ return (needle.firstRow >= range.firstRow &&
313
+ needle.lastRow <= range.lastRow &&
314
+ (!needleColumns ||
315
+ !rangeColumns ||
316
+ needleColumns.every((column) => rangeColumns.indexOf(column) >= 0)));
317
+ }
318
+ DataCursor.isInRange = isInRange;
319
+ /**
320
+ * @private
321
+ */
322
+ function toPositions(cursor) {
323
+ if (cursor.type === 'position') {
324
+ return [cursor];
325
+ }
326
+ const columns = (cursor.columns || []);
327
+ const positions = [];
328
+ const state = cursor.state;
329
+ for (let row = cursor.firstRow, rowEnd = cursor.lastRow; row < rowEnd; ++row) {
330
+ if (!columns.length) {
331
+ positions.push({
332
+ type: 'position',
333
+ row,
334
+ state
335
+ });
336
+ continue;
337
+ }
338
+ for (let column = 0, columnEnd = columns.length; column < columnEnd; ++column) {
339
+ positions.push({
340
+ type: 'position',
341
+ column: columns[column],
342
+ row,
343
+ state
344
+ });
345
+ }
346
+ }
347
+ return positions;
348
+ }
349
+ DataCursor.toPositions = toPositions;
350
+ /**
351
+ * @private
352
+ */
353
+ function toRange(cursor, defaultRange) {
354
+ if (cursor.type === 'range') {
355
+ return cursor;
356
+ }
357
+ const range = {
358
+ type: 'range',
359
+ firstRow: (cursor.row ??
360
+ (defaultRange && defaultRange.firstRow) ??
361
+ 0),
362
+ lastRow: (cursor.row ??
363
+ (defaultRange && defaultRange.lastRow) ??
364
+ Number.MAX_VALUE),
365
+ state: cursor.state
366
+ };
367
+ if (typeof cursor.column !== 'undefined') {
368
+ range.columns = [cursor.column];
369
+ }
370
+ return range;
371
+ }
372
+ DataCursor.toRange = toRange;
373
+ })(DataCursor || (DataCursor = {}));
374
+ /* *
375
+ *
376
+ * Default Export
377
+ *
378
+ * */
379
+ export default DataCursor;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * The event object to pass to a callback.
3
+ */
4
+ interface DataEvent {
5
+ /**
6
+ * Additional event detail
7
+ */
8
+ detail?: DataEvent.Detail;
9
+ /**
10
+ * The event type
11
+ */
12
+ type: string;
13
+ }
14
+ /**
15
+ * Additional types for the event object and the event callback.
16
+ */
17
+ declare namespace DataEvent {
18
+ /**
19
+ * Describes the callbacks expected types. This generic interface can be
20
+ * extended by implementing classes.
21
+ */
22
+ interface Callback<T, E extends DataEvent> {
23
+ /**
24
+ *
25
+ * @param this
26
+ * Event scope pointing to the class instance, where the event happens.
27
+ *
28
+ * @param e
29
+ * Event object with additional event information.
30
+ */
31
+ (this: T, e: E): void;
32
+ }
33
+ /**
34
+ * Additional detail of the event object.
35
+ */
36
+ type Detail = Record<string, (boolean | number | string | null | undefined)>;
37
+ /**
38
+ * Describes methods to attach callbacks to events of a class instance.
39
+ */
40
+ interface Emitter<E extends DataEvent> {
41
+ /**
42
+ * Registered events managed by Highcharts utility functions.
43
+ */
44
+ hcEvents?: HCEventsCollection;
45
+ /**
46
+ * Emits an event on the class instance to all registered callbacks of
47
+ * this event.
48
+ *
49
+ * @param e
50
+ * Event object containing additional event information.
51
+ */
52
+ emit(e: E): void;
53
+ /**
54
+ * Registers a callback for a specific event.
55
+ *
56
+ * @param {string} type
57
+ * Event type as a string.
58
+ *
59
+ * @param {DataEvent.Callback} callback
60
+ * Function to register for an event callback.
61
+ *
62
+ * @return {Function}
63
+ * Function to unregister callback from the event.
64
+ */
65
+ on<T extends E['type']>(type: T, callback: Callback<this, Extract<E, {
66
+ type: T;
67
+ }>>): Function;
68
+ }
69
+ /**
70
+ * Object to manage an event.
71
+ */
72
+ interface HCEventObject {
73
+ fn: Callback<unknown, DataEvent>;
74
+ order?: number;
75
+ }
76
+ /**
77
+ * Collection of events managed by Highcharts utility functions.
78
+ */
79
+ type HCEventsCollection = (Record<string, Array<HCEventObject>>);
80
+ }
81
+ export default DataEvent;
@@ -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
+ * - Dawid Dragula
12
+ *
13
+ * */
14
+ export {};
@@ -0,0 +1,130 @@
1
+ import type DataEvent from './DataEvent';
2
+ import type DataConnectorType from './Connectors/DataConnectorType';
3
+ import type { DataConnectorTypeOptions } from './Connectors/DataConnectorType';
4
+ import type DataPoolOptions from './DataPoolOptions';
5
+ /**
6
+ * Data pool to load connectors on-demand.
7
+ *
8
+ * @class
9
+ * @name Data.DataPool
10
+ *
11
+ * @param {DataPoolOptions} options
12
+ * Pool options with all connectors.
13
+ */
14
+ declare class DataPool implements DataEvent.Emitter<DataPool.Event> {
15
+ protected static readonly defaultOptions: DataPoolOptions;
16
+ /**
17
+ * Internal dictionary with the connectors and their IDs.
18
+ */
19
+ protected readonly connectors: Record<string, DataConnectorType>;
20
+ /**
21
+ * Pool options with all connectors.
22
+ */
23
+ readonly options: DataPoolOptions;
24
+ /**
25
+ * Internal dictionary with the promise resolves waiting for connectors to
26
+ * be done loading.
27
+ */
28
+ protected readonly waiting: Record<string, [Function, Function][]>;
29
+ constructor(options?: DataPoolOptions);
30
+ /**
31
+ * Emits an event on this data pool to all registered callbacks of the given
32
+ * event.
33
+ *
34
+ * @param {DataTable.Event} e
35
+ * Event object with event information.
36
+ */
37
+ emit(e: DataPool.Event): void;
38
+ /**
39
+ * Loads the connector.
40
+ *
41
+ * @function Data.DataPool#getConnector
42
+ *
43
+ * @param {string} connectorId
44
+ * ID of the connector.
45
+ *
46
+ * @return {Promise<Data.DataConnectorType>}
47
+ * Returns the connector.
48
+ */
49
+ getConnector(connectorId: string): Promise<DataConnectorType>;
50
+ /**
51
+ * Returns the IDs of all connectors.
52
+ *
53
+ * @private
54
+ *
55
+ * @return {Array<string>}
56
+ * Names of all connectors.
57
+ */
58
+ getConnectorIds(): Array<string>;
59
+ /**
60
+ * Loads the options of the connector.
61
+ *
62
+ * @private
63
+ *
64
+ * @param {string} connectorId
65
+ * ID of the connector.
66
+ *
67
+ * @return {DataConnectorTypeOptions | undefined}
68
+ * Returns the options of the connector, or `undefined` if not found.
69
+ */
70
+ protected getConnectorOptions(connectorId: string): DataConnectorTypeOptions | undefined;
71
+ /**
72
+ * Tests whether the connector has never been requested.
73
+ *
74
+ * @param {string} connectorId
75
+ * Name of the connector.
76
+ *
77
+ * @return {boolean}
78
+ * Returns `true`, if the connector has never been requested, otherwise
79
+ * `false`.
80
+ */
81
+ isNewConnector(connectorId: string): boolean;
82
+ /**
83
+ * Instantiates the connector class for the given options and loads its
84
+ * data.
85
+ *
86
+ * @private
87
+ *
88
+ * @param {Data.DataPoolConnectorOptions} options
89
+ * Options of connector.
90
+ *
91
+ * @return {Promise<Data.DataConnectorType>}
92
+ * Returns the connector.
93
+ */
94
+ protected loadConnector(options: DataConnectorTypeOptions): Promise<DataConnectorType>;
95
+ /**
96
+ * Cancels all data connectors pending requests.
97
+ */
98
+ cancelPendingRequests(): void;
99
+ /**
100
+ * Registers a callback for a specific event.
101
+ *
102
+ * @function Highcharts.DataPool#on
103
+ *
104
+ * @param {string} type
105
+ * Event type as a string.
106
+ *
107
+ * @param {Highcharts.EventCallbackFunction<Highcharts.DataPool>} callback
108
+ * Function to register for an event callback.
109
+ *
110
+ * @return {Function}
111
+ * Function to unregister callback from the event.
112
+ */
113
+ on<T extends DataPool.Event['type']>(type: T, callback: DataEvent.Callback<this, Extract<DataPool.Event, {
114
+ type: T;
115
+ }>>): Function;
116
+ /**
117
+ * Sets connector options under the specified `options.id`.
118
+ *
119
+ * @param options
120
+ * Connector options to set.
121
+ */
122
+ setConnectorOptions(options: DataConnectorTypeOptions): void;
123
+ }
124
+ declare namespace DataPool {
125
+ interface Event {
126
+ type: ('load' | 'afterLoad' | 'setConnectorOptions' | 'afterSetConnectorOptions');
127
+ options: DataConnectorTypeOptions;
128
+ }
129
+ }
130
+ export default DataPool;