@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,65 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type GoogleSheetsConnectorOptions from './GoogleSheetsConnectorOptions';
3
+ import DataConnector from './DataConnector.js';
4
+ import GoogleSheetsConverter from '../Converters/GoogleSheetsConverter.js';
5
+ /**
6
+ * @private
7
+ * @todo implement save, requires oauth2
8
+ */
9
+ declare class GoogleSheetsConnector extends DataConnector {
10
+ protected static readonly defaultOptions: GoogleSheetsConnectorOptions;
11
+ /**
12
+ * Constructs an instance of GoogleSheetsConnector
13
+ *
14
+ * @param {Partial<GoogleSheetsConnectorOptions>} [options]
15
+ * Options for the connector and converter.
16
+ */
17
+ constructor(options: Partial<GoogleSheetsConnectorOptions>);
18
+ readonly options: GoogleSheetsConnectorOptions;
19
+ /**
20
+ * The attached converter, which can be replaced in the constructor
21
+ */
22
+ converter?: GoogleSheetsConverter;
23
+ /**
24
+ * Overrides the DataConnector method. Emits an event on the connector to
25
+ * all registered callbacks of this event.
26
+ *
27
+ * @param {GoogleSheetsConnector.Event} e
28
+ * Event object containing additional event information.
29
+ */
30
+ emit(e: GoogleSheetsConnector.Event): void;
31
+ /**
32
+ * Loads data from a Google Spreadsheet.
33
+ *
34
+ * @param {DataEvent.Detail} [eventDetail]
35
+ * Custom information for pending events.
36
+ *
37
+ * @return {Promise<this>}
38
+ * Same connector instance with modified table.
39
+ */
40
+ load(eventDetail?: DataEvent.Detail): Promise<this>;
41
+ }
42
+ declare namespace GoogleSheetsConnector {
43
+ interface Event extends DataConnector.Event {
44
+ readonly url?: string;
45
+ }
46
+ interface FetchURLOptions {
47
+ onlyColumnIds?: boolean;
48
+ }
49
+ /**
50
+ * Creates GoogleSheets API v4 URL.
51
+ * @private
52
+ */
53
+ function buildFetchURL(apiKey: string, sheetKey: string, options?: Partial<(FetchURLOptions & GoogleSheetsConnectorOptions)>): string;
54
+ /**
55
+ * Creates sheets range.
56
+ * @private
57
+ */
58
+ function buildQueryRange(options?: Partial<GoogleSheetsConnectorOptions>): string;
59
+ }
60
+ declare module './DataConnectorType' {
61
+ interface DataConnectorTypes {
62
+ GoogleSheets: typeof GoogleSheetsConnector;
63
+ }
64
+ }
65
+ export default GoogleSheetsConnector;
@@ -0,0 +1,226 @@
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
+ * - Gøran Slettemark
12
+ * - Wojciech Chmiel
13
+ * - Sophie Bremer
14
+ * - Jomar Hønsi
15
+ * - Kamil Kubik
16
+ *
17
+ * */
18
+ 'use strict';
19
+ import DataConnector from './DataConnector.js';
20
+ import GoogleSheetsConverter from '../Converters/GoogleSheetsConverter.js';
21
+ import U from '../../Core/Utilities.js';
22
+ const { merge, pick, fireEvent } = U;
23
+ /* *
24
+ *
25
+ * Functions
26
+ *
27
+ * */
28
+ /**
29
+ * Tests Google's response for error.
30
+ * @private
31
+ */
32
+ function isGoogleError(json) {
33
+ return (typeof json === 'object' && json &&
34
+ typeof json.error === 'object' && json.error &&
35
+ typeof json.error.code === 'number' &&
36
+ typeof json.error.message === 'string' &&
37
+ typeof json.error.status === 'string');
38
+ }
39
+ /* *
40
+ *
41
+ * Class
42
+ *
43
+ * */
44
+ /**
45
+ * @private
46
+ * @todo implement save, requires oauth2
47
+ */
48
+ class GoogleSheetsConnector extends DataConnector {
49
+ /* *
50
+ *
51
+ * Constructor
52
+ *
53
+ * */
54
+ /**
55
+ * Constructs an instance of GoogleSheetsConnector
56
+ *
57
+ * @param {Partial<GoogleSheetsConnectorOptions>} [options]
58
+ * Options for the connector and converter.
59
+ */
60
+ constructor(options) {
61
+ const mergedOptions = merge(GoogleSheetsConnector.defaultOptions, options);
62
+ super(mergedOptions);
63
+ this.options = mergedOptions;
64
+ }
65
+ /* *
66
+ *
67
+ * Functions
68
+ *
69
+ * */
70
+ /**
71
+ * Overrides the DataConnector method. Emits an event on the connector to
72
+ * all registered callbacks of this event.
73
+ *
74
+ * @param {GoogleSheetsConnector.Event} e
75
+ * Event object containing additional event information.
76
+ */
77
+ emit(e) {
78
+ fireEvent(this, e.type, e);
79
+ }
80
+ /**
81
+ * Loads data from a Google Spreadsheet.
82
+ *
83
+ * @param {DataEvent.Detail} [eventDetail]
84
+ * Custom information for pending events.
85
+ *
86
+ * @return {Promise<this>}
87
+ * Same connector instance with modified table.
88
+ */
89
+ load(eventDetail) {
90
+ const connector = this;
91
+ const options = connector.options;
92
+ const { dataRefreshRate, enablePolling, googleAPIKey, googleSpreadsheetKey, dataTables } = options;
93
+ const url = GoogleSheetsConnector.buildFetchURL(googleAPIKey, googleSpreadsheetKey, options);
94
+ connector.emit({
95
+ type: 'load',
96
+ detail: eventDetail,
97
+ url
98
+ });
99
+ if (!URL.canParse(url)) {
100
+ throw new Error('Invalid URL: ' + url);
101
+ }
102
+ return fetch(url, { signal: connector?.pollingController?.signal })
103
+ .then((response) => (response.json()))
104
+ .then((json) => {
105
+ if (isGoogleError(json)) {
106
+ throw new Error(json.error.message);
107
+ }
108
+ this.initConverters(json, (key) => {
109
+ const tableOptions = dataTables?.find((dataTable) => dataTable.key === key);
110
+ // The data table options takes precedence over the
111
+ // connector options.
112
+ const { firstRowAsNames = options.firstRowAsNames, beforeParse = options.beforeParse } = tableOptions || {};
113
+ const converterOptions = {
114
+ firstRowAsNames,
115
+ beforeParse
116
+ };
117
+ return new GoogleSheetsConverter(converterOptions);
118
+ }, (converter, data) => converter.parse({ json: data }));
119
+ return connector.applyTableModifiers();
120
+ })
121
+ .then(() => {
122
+ connector.emit({
123
+ type: 'afterLoad',
124
+ detail: eventDetail,
125
+ url
126
+ });
127
+ // Polling
128
+ if (enablePolling) {
129
+ setTimeout(() => connector.load(), Math.max(dataRefreshRate || 0, 1) * 1000);
130
+ }
131
+ return connector;
132
+ })['catch']((error) => {
133
+ connector.emit({
134
+ type: 'loadError',
135
+ detail: eventDetail,
136
+ error
137
+ });
138
+ throw error;
139
+ });
140
+ }
141
+ }
142
+ /* *
143
+ *
144
+ * Static Properties
145
+ *
146
+ * */
147
+ GoogleSheetsConnector.defaultOptions = {
148
+ id: 'google-sheets-connector',
149
+ type: 'GoogleSheets',
150
+ googleAPIKey: '',
151
+ googleSpreadsheetKey: '',
152
+ enablePolling: false,
153
+ dataRefreshRate: 2,
154
+ firstRowAsNames: true
155
+ };
156
+ /* *
157
+ *
158
+ * Class Namespace
159
+ *
160
+ * */
161
+ (function (GoogleSheetsConnector) {
162
+ /* *
163
+ *
164
+ * Declarations
165
+ *
166
+ * */
167
+ /* *
168
+ *
169
+ * Constants
170
+ *
171
+ * */
172
+ const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
173
+ /* *
174
+ *
175
+ * Functions
176
+ *
177
+ * */
178
+ /**
179
+ * Creates GoogleSheets API v4 URL.
180
+ * @private
181
+ */
182
+ function buildFetchURL(apiKey, sheetKey, options = {}) {
183
+ const url = new URL(`https://sheets.googleapis.com/v4/spreadsheets/${sheetKey}/values/`);
184
+ const range = options.onlyColumnIds ?
185
+ 'A1:Z1' : buildQueryRange(options);
186
+ url.pathname += range;
187
+ const searchParams = url.searchParams;
188
+ searchParams.set('alt', 'json');
189
+ if (!options.onlyColumnIds) {
190
+ searchParams.set('dateTimeRenderOption', 'FORMATTED_STRING');
191
+ searchParams.set('majorDimension', 'COLUMNS');
192
+ searchParams.set('valueRenderOption', 'UNFORMATTED_VALUE');
193
+ }
194
+ searchParams.set('prettyPrint', 'false');
195
+ searchParams.set('key', apiKey);
196
+ return url.href;
197
+ }
198
+ GoogleSheetsConnector.buildFetchURL = buildFetchURL;
199
+ /**
200
+ * Creates sheets range.
201
+ * @private
202
+ */
203
+ function buildQueryRange(options = {}) {
204
+ const { endColumn, endRow, googleSpreadsheetRange, startColumn, startRow } = options;
205
+ return googleSpreadsheetRange || ((alphabet[startColumn || 0] || 'A') +
206
+ (Math.max((startRow || 0), 0) + 1) +
207
+ ':' +
208
+ (alphabet[pick(endColumn, 25)] || 'Z') +
209
+ (endRow ?
210
+ Math.max(endRow, 0) :
211
+ 'Z'));
212
+ }
213
+ GoogleSheetsConnector.buildQueryRange = buildQueryRange;
214
+ })(GoogleSheetsConnector || (GoogleSheetsConnector = {}));
215
+ /* *
216
+ *
217
+ * Registry
218
+ *
219
+ * */
220
+ DataConnector.registerType('GoogleSheets', GoogleSheetsConnector);
221
+ /* *
222
+ *
223
+ * Default Export
224
+ *
225
+ * */
226
+ export default GoogleSheetsConnector;
@@ -0,0 +1,167 @@
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 DataTable from '../DataTable';
23
+ import type { DataTableConnectorOptions } from './DataConnectorOptions';
24
+
25
+ /* *
26
+ *
27
+ * Declarations
28
+ *
29
+ * */
30
+
31
+ /**
32
+ * Options of the GoogleSheetsConnector.
33
+ */
34
+ export interface GoogleSheetsConnectorOptions extends DataConnectorOptions {
35
+ /**
36
+ * The corresponding connector type.
37
+ */
38
+ type: 'GoogleSheets';
39
+ /**
40
+ * The rate in seconds for polling for live data.
41
+ * Note that polling requires the option `enablePolling` to be true.
42
+ */
43
+ dataRefreshRate?: number;
44
+ /**
45
+ * Whether to enable polling for live data.
46
+ */
47
+ enablePolling?: boolean;
48
+ /**
49
+ * The number of the last column to load.
50
+ */
51
+ endColumn?: number;
52
+ /**
53
+ * The number of the last row to load.
54
+ */
55
+ endRow?: number;
56
+ /**
57
+ * Whether to treat the first row of the data set as series names.
58
+ */
59
+ firstRowAsNames?: boolean;
60
+ /**
61
+ * The API key for a Google Spreadsheet (user's credentials).
62
+ * See [general information on GS](https://developers.google.com/sheets/api/quickstart/js#create_an_api_key).
63
+ */
64
+ googleAPIKey: string;
65
+ /**
66
+ * The Google Spreadsheet key that identifies the sheet to use. See
67
+ * [general information on googleSpreadsheetKey](#data.googleSpreadsheetKey).
68
+ * The key for a sheet can be extracted from the sheet's URL
69
+ * `https://docs.google.com/spreadsheets/d/{key}`.
70
+ */
71
+ googleSpreadsheetKey: string;
72
+ /**
73
+ * The Google Spreadsheet `range` to use in combination with
74
+ * [googleSpreadsheetKey](#data.googleSpreadsheetKey). See
75
+ * [developers.google.com](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get)
76
+ * for details.
77
+ *
78
+ * If given, it takes precedence over `startColumn`, `endColumn`, `startRow` and
79
+ * `endRow`.
80
+ */
81
+ googleSpreadsheetRange?: string;
82
+ /**
83
+ * The number of the first column to load.
84
+ */
85
+ startColumn?: number;
86
+ /**
87
+ * The number of the first row to load.
88
+ */
89
+ startRow?: number;
90
+
91
+ /**
92
+ * Allows defining multiple data tables within a single connector to adjust
93
+ * options or data parsing in various ways based on the same data source.
94
+ *
95
+ * @example
96
+ * dataPool: {
97
+ * connectors: [{
98
+ * id: 'data-connector',
99
+ * type: 'JSON',
100
+ * data: {
101
+ * kpis: { a: 1, b: 2 },
102
+ * more: {
103
+ * alpha: [1, 2, 3, 4, 5],
104
+ * beta: [10, 20, 30, 40, 50]
105
+ * }
106
+ * },
107
+ * dataTables: [{
108
+ * key: 'more',
109
+ * beforeParse: function ({ more }) {
110
+ * const keys = Object.keys(more);
111
+ * return [
112
+ * keys,
113
+ * ...more[keys[0]].map((_, index) =>
114
+ * keys.map(key => more[key][index])
115
+ * )
116
+ * ];
117
+ * }
118
+ * }, {
119
+ * key: 'kpis',
120
+ * firstRowAsNames: false,
121
+ * columnIds: ['a', 'b'],
122
+ * beforeParse: function ({ kpis }) {
123
+ * return [[kpis.a, kpis.b]];
124
+ * },
125
+ * dataModifier: {
126
+ * type: 'Math',
127
+ * columnFormulas: [{
128
+ * column: 'c',
129
+ * formula: 'A1+B1'
130
+ * }]
131
+ * }
132
+ * }]
133
+ * }]
134
+ * }
135
+ **/
136
+ dataTables?: GoogleSheetsDataTableConnectorOptions[];
137
+
138
+ /**
139
+ * A custom callback function that parses the data before it's being parsed
140
+ * to the data table format inside the converter.
141
+ */
142
+ beforeParse?: GoogleSheetsBeforeParseCallbackFunction;
143
+ }
144
+
145
+ /**
146
+ * Options of the GoogleSheetsConnector dataTable.
147
+ */
148
+ export interface GoogleSheetsDataTableConnectorOptions extends DataTableConnectorOptions {
149
+ beforeParse?: GoogleSheetsBeforeParseCallbackFunction;
150
+ }
151
+
152
+ /**
153
+ * Callback function allowing modification of the GoogleSheets data
154
+ * before parsing it. Must return an array of DataTable columns.
155
+ *
156
+ */
157
+ export interface GoogleSheetsBeforeParseCallbackFunction {
158
+ (data: DataTable.BasicColumn[]): DataTable.BasicColumn[];
159
+ }
160
+
161
+ /* *
162
+ *
163
+ * Default Export
164
+ *
165
+ * */
166
+
167
+ export default GoogleSheetsConnectorOptions;
@@ -0,0 +1,77 @@
1
+ import type DataEvent from '../DataEvent';
2
+ import type HTMLTableConnectorOptions from './HTMLTableConnectorOptions';
3
+ import type HTMLTableConverterOptions from '../Converters/HTMLTableConverterOptions';
4
+ import DataConnector from './DataConnector.js';
5
+ import HTMLTableConverter from '../Converters/HTMLTableConverter.js';
6
+ /**
7
+ * Class that handles creating a data connector from an HTML table.
8
+ *
9
+ * @private
10
+ */
11
+ declare class HTMLTableConnector extends DataConnector {
12
+ protected static readonly defaultOptions: HTMLTableConnectorOptions;
13
+ /**
14
+ * Constructs an instance of HTMLTableConnector.
15
+ *
16
+ * @param {HTMLTableConnector.CombinedHTMLTableConnectorOptions} [options]
17
+ * Options for the connector and converter.
18
+ */
19
+ constructor(options?: HTMLTableConnector.CombinedHTMLTableConnectorOptions);
20
+ /**
21
+ * Options for the HTMLTable dataconnector
22
+ * @todo this should not include parsing options
23
+ */
24
+ readonly options: HTMLTableConnectorOptions;
25
+ /**
26
+ * The attached parser, which can be replaced in the constructor
27
+ */
28
+ converter: HTMLTableConverter;
29
+ /**
30
+ * The table element to create the connector from. Is either supplied
31
+ * directly or is fetched by an ID.
32
+ */
33
+ tableElement?: HTMLElement;
34
+ tableID?: string;
35
+ /**
36
+ * Initiates creating the dataconnector from the HTML table
37
+ *
38
+ * @param {DataEvent.Detail} [eventDetail]
39
+ * Custom information for pending events.
40
+ *
41
+ * @emits HTMLTableConnector#load
42
+ * @emits HTMLTableConnector#afterLoad
43
+ * @emits HTMLTableConnector#loadError
44
+ */
45
+ load(eventDetail?: DataEvent.Detail): Promise<this>;
46
+ }
47
+ /**
48
+ * Types for class-specific options and events
49
+ */
50
+ declare namespace HTMLTableConnector {
51
+ /**
52
+ * Type for event object fired from HTMLTableConnector
53
+ */
54
+ interface Event extends DataConnector.Event {
55
+ }
56
+ /**
57
+ * Options for exporting the connector as an HTML table
58
+ */
59
+ interface ExportOptions {
60
+ decimalPoint?: string | null;
61
+ exportIDColumn?: boolean;
62
+ tableCaption?: string;
63
+ useLocalDecimalPoint?: boolean;
64
+ useMultiLevelHeaders?: boolean;
65
+ useRowspanHeaders?: boolean;
66
+ }
67
+ /**
68
+ * Options of the HTMLTable connector and converter.
69
+ */
70
+ type CombinedHTMLTableConnectorOptions = Partial<HTMLTableConnectorOptions> & HTMLTableConverterOptions;
71
+ }
72
+ declare module './DataConnectorType' {
73
+ interface DataConnectorTypes {
74
+ HTMLTable: typeof HTMLTableConnector;
75
+ }
76
+ }
77
+ export default HTMLTableConnector;
@@ -0,0 +1,119 @@
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
+ * - Gøran Slettemark
12
+ * - Wojciech Chmiel
13
+ * - Sophie Bremer
14
+ * - Kamil Kubik
15
+ *
16
+ * */
17
+ 'use strict';
18
+ import DataConnector from './DataConnector.js';
19
+ import HTMLTableConverter from '../Converters/HTMLTableConverter.js';
20
+ import H from '../../Core/Globals.js';
21
+ const { win } = H;
22
+ import U from '../../Core/Utilities.js';
23
+ const { merge } = U;
24
+ /* *
25
+ *
26
+ * Class
27
+ *
28
+ * */
29
+ /**
30
+ * Class that handles creating a data connector from an HTML table.
31
+ *
32
+ * @private
33
+ */
34
+ class HTMLTableConnector extends DataConnector {
35
+ /* *
36
+ *
37
+ * Constructor
38
+ *
39
+ * */
40
+ /**
41
+ * Constructs an instance of HTMLTableConnector.
42
+ *
43
+ * @param {HTMLTableConnector.CombinedHTMLTableConnectorOptions} [options]
44
+ * Options for the connector and converter.
45
+ */
46
+ constructor(options) {
47
+ const mergedOptions = merge(HTMLTableConnector.defaultOptions, options);
48
+ super(mergedOptions);
49
+ this.options = mergedOptions;
50
+ this.converter = new HTMLTableConverter(mergedOptions);
51
+ }
52
+ /**
53
+ * Initiates creating the dataconnector from the HTML table
54
+ *
55
+ * @param {DataEvent.Detail} [eventDetail]
56
+ * Custom information for pending events.
57
+ *
58
+ * @emits HTMLTableConnector#load
59
+ * @emits HTMLTableConnector#afterLoad
60
+ * @emits HTMLTableConnector#loadError
61
+ */
62
+ async load(eventDetail) {
63
+ const connector = this;
64
+ const options = connector.options;
65
+ const converter = connector.converter;
66
+ const table = connector.getTable();
67
+ const htmlTable = options.htmlTable;
68
+ connector.emit({
69
+ type: 'load',
70
+ detail: eventDetail
71
+ });
72
+ let tableElement;
73
+ if (typeof htmlTable === 'string') {
74
+ connector.tableID = htmlTable;
75
+ tableElement = win.document.getElementById(htmlTable);
76
+ }
77
+ else {
78
+ tableElement = htmlTable;
79
+ connector.tableID = tableElement.id;
80
+ }
81
+ connector.tableElement = tableElement || void 0;
82
+ if (!connector.tableElement) {
83
+ const error = 'HTML table not provided, or element with ID not found';
84
+ connector.emit({
85
+ type: 'loadError',
86
+ detail: eventDetail,
87
+ error
88
+ });
89
+ return Promise.reject(new Error(error));
90
+ }
91
+ const columns = converter.parse(merge({ tableElement: connector.tableElement }, options), eventDetail);
92
+ // If already loaded, clear the current rows
93
+ table.deleteColumns();
94
+ table.setColumns(columns);
95
+ await connector.applyTableModifiers();
96
+ connector.emit({
97
+ type: 'afterLoad',
98
+ detail: eventDetail
99
+ });
100
+ return connector;
101
+ }
102
+ }
103
+ /* *
104
+ *
105
+ * Static Properties
106
+ *
107
+ * */
108
+ HTMLTableConnector.defaultOptions = {
109
+ id: 'HTML-table-connector',
110
+ type: 'HTMLTable',
111
+ htmlTable: ''
112
+ };
113
+ DataConnector.registerType('HTMLTable', HTMLTableConnector);
114
+ /* *
115
+ *
116
+ * Default Export
117
+ *
118
+ * */
119
+ export default HTMLTableConnector;
@@ -0,0 +1,49 @@
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
+ *
12
+ * */
13
+
14
+ /* *
15
+ *
16
+ * Imports
17
+ *
18
+ * */
19
+
20
+ import type DataConnectorOptions from './DataConnectorOptions';
21
+
22
+
23
+ /* *
24
+ *
25
+ * Declarations
26
+ *
27
+ * */
28
+
29
+ /**
30
+ * Options of the GoogleSheetsConnector.
31
+ */
32
+ export interface HTMLTableConnectorOptions extends DataConnectorOptions {
33
+ /**
34
+ * The corresponding connector type.
35
+ */
36
+ type: 'HTMLTable';
37
+ /**
38
+ * The id of the HTML data table element to load or a reference to the HTML.
39
+ */
40
+ htmlTable: string | HTMLElement;
41
+ }
42
+
43
+ /* *
44
+ *
45
+ * Default Export
46
+ *
47
+ * */
48
+
49
+ export default HTMLTableConnectorOptions;