@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,87 @@
1
+ import type DataTable from './DataTable';
2
+ import type Types from '../Shared/Types';
3
+ /**
4
+ * Utility functions for columns that can be either arrays or typed arrays.
5
+ * @private
6
+ */
7
+ declare namespace ColumnUtils {
8
+ /**
9
+ * Result of the `shift` function.
10
+ */
11
+ interface ShiftResult {
12
+ value: DataTable.CellType;
13
+ array: DataTable.Column;
14
+ }
15
+ /**
16
+ * Result of the `splice` function.
17
+ */
18
+ interface SpliceResult<T extends DataTable.Column> {
19
+ removed: T;
20
+ array: T;
21
+ }
22
+ /**
23
+ * Sets the length of the column array.
24
+ *
25
+ * @param {DataTable.Column} column
26
+ * Column to be modified.
27
+ *
28
+ * @param {number} length
29
+ * New length of the column.
30
+ *
31
+ * @param {boolean} asSubarray
32
+ * If column is a typed array, return a subarray instead of a new array. It
33
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
34
+ * views of it are destroyed. Default is `false`.
35
+ *
36
+ * @return {DataTable.Column}
37
+ * Modified column.
38
+ *
39
+ * @private
40
+ */
41
+ function setLength(column: DataTable.Column, length: number, asSubarray?: boolean): DataTable.Column;
42
+ /**
43
+ * Splices a column array.
44
+ *
45
+ * @param {DataTable.Column} column
46
+ * Column to be modified.
47
+ *
48
+ * @param {number} start
49
+ * Index at which to start changing the array.
50
+ *
51
+ * @param {number} deleteCount
52
+ * An integer indicating the number of old array elements to remove.
53
+ *
54
+ * @param {boolean} removedAsSubarray
55
+ * If column is a typed array, return a subarray instead of a new array. It
56
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
57
+ * views to it are destroyed. Default is `true`.
58
+ *
59
+ * @param {Array<number>|TypedArray} items
60
+ * The elements to add to the array, beginning at the start index. If you
61
+ * don't specify any elements, `splice()` will only remove elements from the
62
+ * array.
63
+ *
64
+ * @return {SpliceResult}
65
+ * Object containing removed elements and the modified column.
66
+ *
67
+ * @private
68
+ */
69
+ function splice(column: DataTable.Column, start: number, deleteCount: number, removedAsSubarray?: boolean, items?: DataTable.CellType[] | Types.TypedArray): SpliceResult<DataTable.Column>;
70
+ /**
71
+ * Converts a cell value to a number.
72
+ *
73
+ * @param {DataTable.CellType} value
74
+ * Cell value to convert to a number.
75
+ *
76
+ * @param {boolean} useNaN
77
+ * If `true`, returns `NaN` for non-numeric values; if `false`,
78
+ * returns `null` instead.
79
+ *
80
+ * @return {number | null}
81
+ * Number or `null` if the value is not a number.
82
+ *
83
+ * @private
84
+ */
85
+ function convertToNumber(value?: DataTable.CellType, useNaN?: boolean): number | null;
86
+ }
87
+ export default ColumnUtils;
@@ -0,0 +1,140 @@
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
+ * - Dawid Dragula
11
+ *
12
+ * */
13
+ /**
14
+ * Utility functions for columns that can be either arrays or typed arrays.
15
+ * @private
16
+ */
17
+ var ColumnUtils;
18
+ (function (ColumnUtils) {
19
+ /* *
20
+ *
21
+ * Declarations
22
+ *
23
+ * */
24
+ /* *
25
+ *
26
+ * Functions
27
+ *
28
+ * */
29
+ /**
30
+ * Sets the length of the column array.
31
+ *
32
+ * @param {DataTable.Column} column
33
+ * Column to be modified.
34
+ *
35
+ * @param {number} length
36
+ * New length of the column.
37
+ *
38
+ * @param {boolean} asSubarray
39
+ * If column is a typed array, return a subarray instead of a new array. It
40
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
41
+ * views of it are destroyed. Default is `false`.
42
+ *
43
+ * @return {DataTable.Column}
44
+ * Modified column.
45
+ *
46
+ * @private
47
+ */
48
+ function setLength(column, length, asSubarray) {
49
+ if (Array.isArray(column)) {
50
+ column.length = length;
51
+ return column;
52
+ }
53
+ return column[asSubarray ? 'subarray' : 'slice'](0, length);
54
+ }
55
+ ColumnUtils.setLength = setLength;
56
+ /**
57
+ * Splices a column array.
58
+ *
59
+ * @param {DataTable.Column} column
60
+ * Column to be modified.
61
+ *
62
+ * @param {number} start
63
+ * Index at which to start changing the array.
64
+ *
65
+ * @param {number} deleteCount
66
+ * An integer indicating the number of old array elements to remove.
67
+ *
68
+ * @param {boolean} removedAsSubarray
69
+ * If column is a typed array, return a subarray instead of a new array. It
70
+ * is faster `O(1)`, but the entire buffer will be kept in memory until all
71
+ * views to it are destroyed. Default is `true`.
72
+ *
73
+ * @param {Array<number>|TypedArray} items
74
+ * The elements to add to the array, beginning at the start index. If you
75
+ * don't specify any elements, `splice()` will only remove elements from the
76
+ * array.
77
+ *
78
+ * @return {SpliceResult}
79
+ * Object containing removed elements and the modified column.
80
+ *
81
+ * @private
82
+ */
83
+ function splice(column, start, deleteCount, removedAsSubarray, items = []) {
84
+ if (Array.isArray(column)) {
85
+ if (!Array.isArray(items)) {
86
+ items = Array.from(items);
87
+ }
88
+ return {
89
+ removed: column.splice(start, deleteCount, ...items),
90
+ array: column
91
+ };
92
+ }
93
+ const Constructor = Object.getPrototypeOf(column)
94
+ .constructor;
95
+ const removed = column[removedAsSubarray ? 'subarray' : 'slice'](start, start + deleteCount);
96
+ const newLength = column.length - deleteCount + items.length;
97
+ const result = new Constructor(newLength);
98
+ result.set(column.subarray(0, start), 0);
99
+ result.set(items, start);
100
+ result.set(column.subarray(start + deleteCount), start + items.length);
101
+ return {
102
+ removed: removed,
103
+ array: result
104
+ };
105
+ }
106
+ ColumnUtils.splice = splice;
107
+ /**
108
+ * Converts a cell value to a number.
109
+ *
110
+ * @param {DataTable.CellType} value
111
+ * Cell value to convert to a number.
112
+ *
113
+ * @param {boolean} useNaN
114
+ * If `true`, returns `NaN` for non-numeric values; if `false`,
115
+ * returns `null` instead.
116
+ *
117
+ * @return {number | null}
118
+ * Number or `null` if the value is not a number.
119
+ *
120
+ * @private
121
+ */
122
+ function convertToNumber(value, useNaN) {
123
+ switch (typeof value) {
124
+ case 'boolean':
125
+ return (value ? 1 : 0);
126
+ case 'number':
127
+ return (isNaN(value) && !useNaN ? null : value);
128
+ default:
129
+ value = parseFloat(`${value ?? ''}`);
130
+ return (isNaN(value) && !useNaN ? null : value);
131
+ }
132
+ }
133
+ ColumnUtils.convertToNumber = convertToNumber;
134
+ })(ColumnUtils || (ColumnUtils = {}));
135
+ /* *
136
+ *
137
+ * Default Export
138
+ *
139
+ * */
140
+ export default ColumnUtils;
@@ -0,0 +1,63 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type CSVConnectorOptions from './CSVConnectorOptions';
3
+ import CSVConverter from '../Converters/CSVConverter.js';
4
+ import DataConnector from './DataConnector.js';
5
+ /**
6
+ * Class that handles creating a DataConnector from CSV
7
+ *
8
+ * @private
9
+ */
10
+ declare class CSVConnector extends DataConnector {
11
+ protected static readonly defaultOptions: CSVConnectorOptions;
12
+ /**
13
+ * Constructs an instance of CSVConnector.
14
+ *
15
+ * @param {Partial<CSVConnectorOptions>} [options]
16
+ * Options for the connector and converter.
17
+ */
18
+ constructor(options?: Partial<CSVConnectorOptions>);
19
+ /**
20
+ * Options related to the handling of the CSV DataConnector,
21
+ * i.e. source, fetching, polling
22
+ */
23
+ readonly options: CSVConnectorOptions;
24
+ /**
25
+ * The attached parser, which can be replaced in the constructor
26
+ */
27
+ converter?: CSVConverter;
28
+ /**
29
+ * Overrides the DataConnector method. Emits an event on the connector to
30
+ * all registered callbacks of this event.
31
+ *
32
+ * @param {CSVConnector.Event} e
33
+ * Event object containing additional event information.
34
+ */
35
+ emit(e: CSVConnector.Event): void;
36
+ /**
37
+ * Initiates the loading of the CSV source to the connector
38
+ *
39
+ * @param {DataEvent.Detail} [eventDetail]
40
+ * Custom information for pending events.
41
+ *
42
+ * @emits CSVConnector#load
43
+ * @emits CSVConnector#afterLoad
44
+ */
45
+ load(eventDetail?: DataEvent.Detail): Promise<this>;
46
+ }
47
+ /**
48
+ * Types for class-specific options and events.
49
+ */
50
+ declare namespace CSVConnector {
51
+ /**
52
+ * Event objects fired from CSVConnector events.
53
+ */
54
+ interface Event extends DataConnector.Event {
55
+ readonly csv?: string;
56
+ }
57
+ }
58
+ declare module './DataConnectorType' {
59
+ interface DataConnectorTypes {
60
+ CSV: typeof CSVConnector;
61
+ }
62
+ }
63
+ export default CSVConnector;
@@ -0,0 +1,149 @@
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
+ * - Torstein Hønsi
11
+ * - Christer Vasseng
12
+ * - Gøran Slettemark
13
+ * - Sophie Bremer
14
+ * - Kamil Kubik
15
+ *
16
+ * */
17
+ 'use strict';
18
+ import CSVConverter from '../Converters/CSVConverter.js';
19
+ import DataConnector from './DataConnector.js';
20
+ import U from '../../Core/Utilities.js';
21
+ const { merge, fireEvent } = U;
22
+ /* *
23
+ *
24
+ * Class
25
+ *
26
+ * */
27
+ /**
28
+ * Class that handles creating a DataConnector from CSV
29
+ *
30
+ * @private
31
+ */
32
+ class CSVConnector extends DataConnector {
33
+ /* *
34
+ *
35
+ * Constructor
36
+ *
37
+ * */
38
+ /**
39
+ * Constructs an instance of CSVConnector.
40
+ *
41
+ * @param {Partial<CSVConnectorOptions>} [options]
42
+ * Options for the connector and converter.
43
+ */
44
+ constructor(options) {
45
+ const mergedOptions = merge(CSVConnector.defaultOptions, options);
46
+ super(mergedOptions);
47
+ this.options = mergedOptions;
48
+ if (mergedOptions.enablePolling) {
49
+ this.startPolling(Math.max(mergedOptions.dataRefreshRate || 0, 1) * 1000);
50
+ }
51
+ }
52
+ /* *
53
+ *
54
+ * Functions
55
+ *
56
+ * */
57
+ /**
58
+ * Overrides the DataConnector method. Emits an event on the connector to
59
+ * all registered callbacks of this event.
60
+ *
61
+ * @param {CSVConnector.Event} e
62
+ * Event object containing additional event information.
63
+ */
64
+ emit(e) {
65
+ fireEvent(this, e.type, e);
66
+ }
67
+ /**
68
+ * Initiates the loading of the CSV source to the connector
69
+ *
70
+ * @param {DataEvent.Detail} [eventDetail]
71
+ * Custom information for pending events.
72
+ *
73
+ * @emits CSVConnector#load
74
+ * @emits CSVConnector#afterLoad
75
+ */
76
+ load(eventDetail) {
77
+ const connector = this;
78
+ const options = connector.options;
79
+ const { csv, csvURL, dataTables, decimalPoint } = options;
80
+ connector.emit({
81
+ type: 'load',
82
+ csv
83
+ });
84
+ return Promise
85
+ .resolve(csvURL ?
86
+ fetch(csvURL, {
87
+ signal: connector?.pollingController?.signal
88
+ }).then((response) => response.text()) :
89
+ csv || '')
90
+ .then((csv) => {
91
+ if (csv) {
92
+ this.initConverters(csv, (key) => {
93
+ const tableOptions = dataTables?.find((dataTable) => dataTable.key === key);
94
+ // The data table options takes precedence over the
95
+ // connector options.
96
+ const { firstRowAsNames = options.firstRowAsNames, beforeParse = options.beforeParse } = tableOptions || {};
97
+ const converterOptions = {
98
+ decimalPoint,
99
+ firstRowAsNames,
100
+ beforeParse
101
+ };
102
+ return new CSVConverter(merge(options, converterOptions));
103
+ }, (converter, data) => converter.parse({ csv: data }));
104
+ }
105
+ return connector.applyTableModifiers().then(() => csv);
106
+ })
107
+ .then((csv) => {
108
+ connector.emit({
109
+ type: 'afterLoad',
110
+ detail: eventDetail,
111
+ csv
112
+ });
113
+ return connector;
114
+ })['catch']((error) => {
115
+ connector.emit({
116
+ type: 'loadError',
117
+ detail: eventDetail,
118
+ error
119
+ });
120
+ throw error;
121
+ });
122
+ }
123
+ }
124
+ /* *
125
+ *
126
+ * Static Properties
127
+ *
128
+ * */
129
+ CSVConnector.defaultOptions = {
130
+ id: 'csv-connector',
131
+ type: 'CSV',
132
+ csv: '',
133
+ csvURL: '',
134
+ enablePolling: false,
135
+ dataRefreshRate: 1,
136
+ firstRowAsNames: true
137
+ };
138
+ /* *
139
+ *
140
+ * Registry
141
+ *
142
+ * */
143
+ DataConnector.registerType('CSV', CSVConnector);
144
+ /* *
145
+ *
146
+ * Default Export
147
+ *
148
+ * */
149
+ export default CSVConnector;
@@ -0,0 +1,149 @@
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
+ * - Karol Kolodziej
11
+ * - Kamil Kubik
12
+ *
13
+ * */
14
+
15
+ /* *
16
+ *
17
+ * Imports
18
+ *
19
+ * */
20
+
21
+ import type DataConnectorOptions from './DataConnectorOptions';
22
+ import type { DataTableConnectorOptions } from './DataConnectorOptions';
23
+
24
+
25
+ /* *
26
+ *
27
+ * Declarations
28
+ *
29
+ * */
30
+
31
+ /**
32
+ * Options of the CSVConnector.
33
+ */
34
+ export interface CSVConnectorOptions extends DataConnectorOptions {
35
+ /**
36
+ * The corresponding connector type.
37
+ */
38
+ type: 'CSV';
39
+ /**
40
+ * Data in CSV format passed directly to connector as a string.
41
+ */
42
+ csv?: string;
43
+ /**
44
+ * The URL to a remote CSV dataset
45
+ */
46
+ csvURL?: string;
47
+ /**
48
+ * The decimal point used for parsing numbers in the CSV.
49
+ *
50
+ * @default '.'
51
+ */
52
+ decimalPoint?: string;
53
+ /**
54
+ * The rate in seconds for polling for live data.
55
+ * Note that polling requires the option `enablePolling` to be true.
56
+ */
57
+ dataRefreshRate?: number;
58
+ /**
59
+ * Whether to enable polling for live data.
60
+ */
61
+ enablePolling?: boolean;
62
+ /**
63
+ * Whether to treat the first row of the data set as series names.
64
+ * @default true
65
+ */
66
+ firstRowAsNames?: boolean;
67
+ /**
68
+ * Item or cell delimiter for parsing CSV.
69
+ *
70
+ * @default ','
71
+ */
72
+ itemDelimiter?: string;
73
+
74
+ /**
75
+ * Allows defining multiple data tables within a single connector to adjust
76
+ * options or data parsing in various ways based on the same data source.
77
+ *
78
+ * @example
79
+ * dataPool: {
80
+ * connectors: [{
81
+ * id: 'data-connector',
82
+ * type: 'JSON',
83
+ * data: {
84
+ * kpis: { a: 1, b: 2 },
85
+ * more: {
86
+ * alpha: [1, 2, 3, 4, 5],
87
+ * beta: [10, 20, 30, 40, 50]
88
+ * }
89
+ * },
90
+ * dataTables: [{
91
+ * key: 'more',
92
+ * beforeParse: function ({ more }) {
93
+ * const keys = Object.keys(more);
94
+ * return [
95
+ * keys,
96
+ * ...more[keys[0]].map((_, index) =>
97
+ * keys.map(key => more[key][index])
98
+ * )
99
+ * ];
100
+ * }
101
+ * }, {
102
+ * key: 'kpis',
103
+ * firstRowAsNames: false,
104
+ * columnIds: ['a', 'b'],
105
+ * beforeParse: function ({ kpis }) {
106
+ * return [[kpis.a, kpis.b]];
107
+ * },
108
+ * dataModifier: {
109
+ * type: 'Math',
110
+ * columnFormulas: [{
111
+ * column: 'c',
112
+ * formula: 'A1+B1'
113
+ * }]
114
+ * }
115
+ * }]
116
+ * }]
117
+ * }
118
+ **/
119
+ dataTables?: CSVDataTableConnectorOptions[];
120
+
121
+ /**
122
+ * A custom callback function that parses the data before it's being parsed
123
+ * to the data table format inside the converter.
124
+ */
125
+ beforeParse?: CSVBeforeParseCallbackFunction;
126
+ }
127
+
128
+ /**
129
+ * Options of the CSVConnector dataTable.
130
+ */
131
+ export interface CSVDataTableConnectorOptions extends DataTableConnectorOptions {
132
+ beforeParse?: CSVBeforeParseCallbackFunction;
133
+ }
134
+
135
+ /**
136
+ * Callback function allowing modification of the data before parsing it.
137
+ * Must return a valid CSV structure.
138
+ */
139
+ export interface CSVBeforeParseCallbackFunction {
140
+ (csv: string): string;
141
+ }
142
+
143
+ /* *
144
+ *
145
+ * Default Export
146
+ *
147
+ * */
148
+
149
+ export default CSVConnectorOptions;