@highcharts/grid-pro 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/LICENSE.txt +6 -0
  2. package/README.md +15 -9
  3. package/css/grid-pro.css +1289 -1153
  4. package/css/modules/grid-base-variables.css +131 -0
  5. package/css/modules/grid-button-variables.css +140 -0
  6. package/css/modules/grid-caption-variables.css +11 -0
  7. package/css/modules/grid-description-variables.css +11 -0
  8. package/css/modules/grid-input-variables.css +114 -0
  9. package/css/modules/grid-link-variables.css +18 -0
  10. package/css/modules/grid-menu-variables.css +50 -0
  11. package/css/modules/grid-pagination-variables.css +12 -0
  12. package/css/modules/grid-popup-variables.css +24 -0
  13. package/css/modules/grid-pro.css +234 -0
  14. package/css/modules/grid-table-variables.css +385 -0
  15. package/css/modules/grid-theme-default.css +55 -0
  16. package/es-modules/Accessibility/A11yI18n.js +4 -5
  17. package/es-modules/Accessibility/Accessibility.js +5 -5
  18. package/es-modules/Accessibility/AccessibilityComponent.d.ts +3 -3
  19. package/es-modules/Accessibility/AccessibilityComponent.js +4 -3
  20. package/es-modules/Accessibility/Components/AnnotationsA11y.js +4 -3
  21. package/es-modules/Accessibility/Components/ContainerComponent.js +4 -3
  22. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -9
  23. package/es-modules/Accessibility/Components/LegendComponent.js +5 -5
  24. package/es-modules/Accessibility/Components/MenuComponent.js +5 -5
  25. package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -7
  26. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -5
  27. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +15 -5
  28. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +7 -7
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +4 -3
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +7 -7
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +5 -5
  32. package/es-modules/Accessibility/Components/ZoomComponent.js +5 -5
  33. package/es-modules/Accessibility/FocusBorder.js +5 -5
  34. package/es-modules/Accessibility/HighContrastMode.js +4 -3
  35. package/es-modules/Accessibility/HighContrastTheme.js +4 -3
  36. package/es-modules/Accessibility/KeyboardNavigation.js +5 -5
  37. package/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
  38. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
  39. package/es-modules/Accessibility/Options/A11yDefaults.js +15 -3
  40. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
  41. package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -5
  42. package/es-modules/Accessibility/Options/LangDefaults.js +13 -3
  43. package/es-modules/Accessibility/ProxyElement.js +6 -8
  44. package/es-modules/Accessibility/ProxyProvider.js +5 -5
  45. package/es-modules/Accessibility/Utils/Announcer.js +6 -6
  46. package/es-modules/Accessibility/Utils/ChartUtilities.js +5 -5
  47. package/es-modules/Accessibility/Utils/DOMElementProvider.js +4 -3
  48. package/es-modules/Accessibility/Utils/EventProvider.d.ts +3 -3
  49. package/es-modules/Accessibility/Utils/EventProvider.js +10 -5
  50. package/es-modules/Accessibility/Utils/HTMLUtilities.js +5 -5
  51. package/es-modules/Core/Animation/AnimationOptions.d.ts +42 -0
  52. package/es-modules/Core/Animation/AnimationOptions.js +10 -0
  53. package/es-modules/Core/Animation/AnimationUtilities.js +40 -5
  54. package/es-modules/Core/Animation/Fx.d.ts +1 -130
  55. package/es-modules/Core/Animation/Fx.js +14 -8
  56. package/es-modules/Core/Animation/FxBase.d.ts +1 -0
  57. package/es-modules/Core/Animation/FxBase.js +11 -0
  58. package/es-modules/Core/Callback.d.ts +56 -0
  59. package/es-modules/Core/Callback.js +10 -0
  60. package/es-modules/Core/Chart/Chart.d.ts +659 -400
  61. package/es-modules/Core/Chart/Chart.js +112 -95
  62. package/es-modules/Core/Chart/Chart3D.d.ts +123 -233
  63. package/es-modules/Core/Chart/Chart3D.js +23 -37
  64. package/es-modules/Core/Chart/ChartBase.d.ts +3 -0
  65. package/es-modules/Core/Chart/ChartBase.js +11 -0
  66. package/es-modules/Core/Chart/ChartDefaults.js +18 -12
  67. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +1 -55
  68. package/es-modules/Core/Chart/ChartNavigationComposition.js +13 -13
  69. package/es-modules/Core/Chart/ChartOptions.d.ts +1225 -0
  70. package/es-modules/Core/Chart/ChartOptions.js +10 -0
  71. package/es-modules/Core/Chart/GanttChart.d.ts +0 -38
  72. package/es-modules/Core/Chart/GanttChart.js +5 -5
  73. package/es-modules/Core/Chart/MapChart.d.ts +9 -4
  74. package/es-modules/Core/Chart/MapChart.js +14 -5
  75. package/es-modules/Core/Chart/StockChart.d.ts +0 -85
  76. package/es-modules/Core/Chart/StockChart.js +35 -18
  77. package/es-modules/Core/Color/Color.d.ts +16 -24
  78. package/es-modules/Core/Color/Color.js +27 -10
  79. package/es-modules/Core/Color/ColorString.d.ts +0 -23
  80. package/es-modules/Core/Color/ColorString.js +11 -0
  81. package/es-modules/Core/Color/ColorType.d.ts +0 -33
  82. package/es-modules/Core/Color/ColorType.js +11 -0
  83. package/es-modules/Core/Color/GradientColor.d.ts +0 -33
  84. package/es-modules/Core/Color/GradientColor.js +11 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +1 -84
  86. package/es-modules/Core/Color/Palettes.js +2 -1
  87. package/es-modules/Core/Defaults.d.ts +6 -0
  88. package/es-modules/Core/Defaults.js +66 -75
  89. package/es-modules/Core/Delaunay.d.ts +52 -0
  90. package/es-modules/Core/Delaunay.js +310 -0
  91. package/es-modules/Core/Foundation.d.ts +1 -19
  92. package/es-modules/Core/Foundation.js +8 -6
  93. package/es-modules/Core/Geometry/CircleObject.d.ts +5 -0
  94. package/es-modules/Core/Geometry/CircleObject.js +10 -0
  95. package/es-modules/Core/Geometry/CircleUtilities.d.ts +1 -189
  96. package/es-modules/Core/Geometry/CircleUtilities.js +18 -17
  97. package/es-modules/Core/Geometry/GeometryObject.d.ts +7 -0
  98. package/es-modules/Core/Geometry/GeometryObject.js +10 -0
  99. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +1 -48
  100. package/es-modules/Core/Geometry/GeometryUtilities.js +9 -7
  101. package/es-modules/Core/Geometry/IntersectionObject.d.ts +7 -0
  102. package/es-modules/Core/Geometry/IntersectionObject.js +10 -0
  103. package/es-modules/Core/Geometry/PolygonClip.d.ts +1 -19
  104. package/es-modules/Core/Geometry/PolygonClip.js +9 -7
  105. package/es-modules/Core/Globals.d.ts +9 -31
  106. package/es-modules/Core/Globals.js +9 -10
  107. package/es-modules/Core/GlobalsBase.d.ts +35 -0
  108. package/es-modules/Core/GlobalsBase.js +11 -0
  109. package/es-modules/Core/HttpUtilities.d.ts +54 -17
  110. package/es-modules/Core/HttpUtilities.js +16 -16
  111. package/es-modules/Core/JSON.d.ts +29 -0
  112. package/es-modules/Core/JSON.js +13 -0
  113. package/es-modules/Core/KeyboardEvent.d.ts +1 -0
  114. package/es-modules/Core/KeyboardEvent.js +11 -0
  115. package/es-modules/Core/MSPointer.d.ts +1 -74
  116. package/es-modules/Core/MSPointer.js +24 -15
  117. package/es-modules/Core/Math3D.d.ts +1 -117
  118. package/es-modules/Core/Math3D.js +14 -12
  119. package/es-modules/Core/Options.d.ts +338 -0
  120. package/es-modules/Core/Options.js +10 -0
  121. package/es-modules/Core/Pointer.d.ts +71 -445
  122. package/es-modules/Core/Pointer.js +74 -69
  123. package/es-modules/Core/PointerEvent.d.ts +20 -0
  124. package/es-modules/Core/PointerEvent.js +11 -0
  125. package/es-modules/Core/Renderer/AlignObject.d.ts +25 -27
  126. package/es-modules/Core/Renderer/AlignObject.js +11 -0
  127. package/es-modules/Core/Renderer/BBoxObject.d.ts +20 -31
  128. package/es-modules/Core/Renderer/BBoxObject.js +11 -0
  129. package/es-modules/Core/Renderer/CSSObject.d.ts +268 -59
  130. package/es-modules/Core/Renderer/CSSObject.js +10 -0
  131. package/es-modules/Core/Renderer/DOMElementType.d.ts +1 -33
  132. package/es-modules/Core/Renderer/DOMElementType.js +11 -0
  133. package/es-modules/Core/Renderer/DashStyleValue.d.ts +1 -27
  134. package/es-modules/Core/Renderer/DashStyleValue.js +11 -0
  135. package/es-modules/Core/Renderer/FontMetricsObject.d.ts +6 -26
  136. package/es-modules/Core/Renderer/FontMetricsObject.js +11 -0
  137. package/es-modules/Core/Renderer/HTML/AST.d.ts +3 -15
  138. package/es-modules/Core/Renderer/HTML/AST.js +24 -15
  139. package/es-modules/Core/Renderer/HTML/HTMLAttributes.d.ts +1 -25
  140. package/es-modules/Core/Renderer/HTML/HTMLAttributes.js +11 -0
  141. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +0 -54
  142. package/es-modules/Core/Renderer/HTML/HTMLElement.js +28 -24
  143. package/es-modules/Core/Renderer/PolygonBoxObject.d.ts +15 -12
  144. package/es-modules/Core/Renderer/PolygonBoxObject.js +11 -0
  145. package/es-modules/Core/Renderer/Position3DObject.d.ts +6 -30
  146. package/es-modules/Core/Renderer/Position3DObject.js +11 -0
  147. package/es-modules/Core/Renderer/PositionObject.d.ts +9 -23
  148. package/es-modules/Core/Renderer/PositionObject.js +11 -0
  149. package/es-modules/Core/Renderer/RectangleObject.d.ts +6 -30
  150. package/es-modules/Core/Renderer/RectangleObject.js +11 -0
  151. package/es-modules/Core/Renderer/RendererRegistry.d.ts +1 -29
  152. package/es-modules/Core/Renderer/RendererRegistry.js +6 -3
  153. package/es-modules/Core/Renderer/RendererType.d.ts +1 -53
  154. package/es-modules/Core/Renderer/RendererType.js +11 -0
  155. package/es-modules/Core/Renderer/RendererUtilities.d.ts +1 -26
  156. package/es-modules/Core/Renderer/RendererUtilities.js +41 -23
  157. package/es-modules/Core/Renderer/SVG/ButtonThemeObject.d.ts +26 -31
  158. package/es-modules/Core/Renderer/SVG/SVGArc3D.d.ts +1 -44
  159. package/es-modules/Core/Renderer/SVG/SVGAttributes.d.ts +15 -51
  160. package/es-modules/Core/Renderer/SVG/SVGAttributes3D.d.ts +1 -42
  161. package/es-modules/Core/Renderer/SVG/SVGCuboid.d.ts +1 -42
  162. package/es-modules/Core/Renderer/SVG/SVGElement.d.ts +459 -0
  163. package/es-modules/Core/Renderer/SVG/SVGElement3D.d.ts +1 -0
  164. package/es-modules/Core/Renderer/SVG/SVGElementBase.d.ts +0 -23
  165. package/es-modules/Core/Renderer/SVG/SVGLabel.d.ts +14 -0
  166. package/es-modules/Core/Renderer/SVG/SVGPath.d.ts +18 -56
  167. package/es-modules/Core/Renderer/SVG/SVGPath3D.d.ts +0 -30
  168. package/es-modules/Core/Renderer/SVG/SVGRenderer.d.ts +652 -0
  169. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.d.ts +1 -0
  170. package/es-modules/Core/Renderer/SVG/SVGRendererBase.d.ts +0 -24
  171. package/es-modules/Core/Renderer/SVG/SymbolOptions.d.ts +3 -26
  172. package/es-modules/Core/Renderer/SVG/SymbolType.d.ts +1 -41
  173. package/es-modules/Core/Renderer/SVG/Symbols.d.ts +146 -0
  174. package/es-modules/Core/Renderer/SVG/TextBuilder.d.ts +1 -0
  175. package/es-modules/Core/Renderer/ShadowOptionsObject.d.ts +21 -30
  176. package/es-modules/Core/Renderer/ShadowOptionsObject.js +11 -0
  177. package/es-modules/Core/Renderer/SizeObject.d.ts +0 -23
  178. package/es-modules/Core/Renderer/SizeObject.js +11 -0
  179. package/es-modules/Core/Responsive.d.ts +94 -29
  180. package/es-modules/Core/Responsive.js +17 -12
  181. package/es-modules/Core/Templating.d.ts +17 -1
  182. package/es-modules/Core/Templating.js +12 -8
  183. package/es-modules/Core/Time.d.ts +18 -1
  184. package/es-modules/Core/Time.js +6 -5
  185. package/es-modules/Core/Tooltip.d.ts +67 -123
  186. package/es-modules/Core/Tooltip.js +161 -108
  187. package/es-modules/Core/TooltipOptions.d.ts +724 -0
  188. package/es-modules/Core/TooltipOptions.js +10 -0
  189. package/es-modules/Core/Utilities.d.ts +32 -703
  190. package/es-modules/Core/Utilities.js +28 -1443
  191. package/es-modules/Data/ColumnUtils.d.ts +83 -80
  192. package/es-modules/Data/ColumnUtils.js +106 -116
  193. package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
  194. package/es-modules/Data/Connectors/CSVConnector.js +6 -7
  195. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +3 -3
  196. package/es-modules/Data/Connectors/DataConnector.d.ts +63 -54
  197. package/es-modules/Data/Connectors/DataConnector.js +67 -56
  198. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +3 -3
  199. package/es-modules/Data/Connectors/DataConnectorType.d.ts +3 -3
  200. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
  201. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +76 -91
  202. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +7 -5
  203. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
  204. package/es-modules/Data/Connectors/HTMLTableConnector.js +6 -7
  205. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +3 -3
  206. package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
  207. package/es-modules/Data/Connectors/JSONConnector.js +6 -7
  208. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +3 -3
  209. package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
  210. package/es-modules/Data/Converters/CSVConverter.js +6 -7
  211. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +5 -5
  212. package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
  213. package/es-modules/Data/Converters/DataConverter.js +29 -56
  214. package/es-modules/Data/Converters/DataConverterType.d.ts +3 -3
  215. package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
  216. package/es-modules/Data/Converters/DataConverterUtils.js +172 -184
  217. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
  218. package/es-modules/Data/Converters/GoogleSheetsConverter.js +6 -6
  219. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +5 -5
  220. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
  221. package/es-modules/Data/Converters/HTMLTableConverter.js +5 -6
  222. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +5 -5
  223. package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
  224. package/es-modules/Data/Converters/JSONConverter.js +9 -9
  225. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +5 -5
  226. package/es-modules/Data/DataCursor.d.ts +65 -70
  227. package/es-modules/Data/DataCursor.js +122 -142
  228. package/es-modules/Data/DataEvent.d.ts +55 -57
  229. package/es-modules/Data/DataEvent.js +3 -3
  230. package/es-modules/Data/DataPool.d.ts +10 -17
  231. package/es-modules/Data/DataPool.js +23 -12
  232. package/es-modules/Data/DataPoolOptions.d.ts +3 -3
  233. package/es-modules/Data/DataTable.d.ts +115 -117
  234. package/es-modules/Data/DataTable.js +67 -33
  235. package/es-modules/Data/DataTableCore.d.ts +11 -11
  236. package/es-modules/Data/DataTableCore.js +7 -7
  237. package/es-modules/Data/DataTableOptions.js +3 -3
  238. package/es-modules/Data/Formula/Formula.js +3 -3
  239. package/es-modules/Data/Formula/FormulaParser.js +4 -5
  240. package/es-modules/Data/Formula/FormulaProcessor.js +4 -5
  241. package/es-modules/Data/Formula/FormulaTypes.js +3 -3
  242. package/es-modules/Data/Formula/Functions/ABS.js +3 -3
  243. package/es-modules/Data/Formula/Functions/AND.js +3 -3
  244. package/es-modules/Data/Formula/Functions/AVERAGE.js +3 -3
  245. package/es-modules/Data/Formula/Functions/AVERAGEA.js +3 -3
  246. package/es-modules/Data/Formula/Functions/COUNT.js +3 -3
  247. package/es-modules/Data/Formula/Functions/COUNTA.js +3 -3
  248. package/es-modules/Data/Formula/Functions/IF.js +3 -3
  249. package/es-modules/Data/Formula/Functions/ISNA.js +3 -3
  250. package/es-modules/Data/Formula/Functions/MAX.js +3 -3
  251. package/es-modules/Data/Formula/Functions/MEDIAN.js +3 -3
  252. package/es-modules/Data/Formula/Functions/MIN.js +3 -3
  253. package/es-modules/Data/Formula/Functions/MOD.js +3 -3
  254. package/es-modules/Data/Formula/Functions/MODE.js +3 -3
  255. package/es-modules/Data/Formula/Functions/NOT.js +3 -3
  256. package/es-modules/Data/Formula/Functions/OR.js +3 -3
  257. package/es-modules/Data/Formula/Functions/PRODUCT.js +3 -3
  258. package/es-modules/Data/Formula/Functions/SUM.js +3 -3
  259. package/es-modules/Data/Formula/Functions/XOR.js +3 -3
  260. package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
  261. package/es-modules/Data/Modifiers/ChainModifier.js +10 -11
  262. package/es-modules/Data/Modifiers/ChainModifierOptions.js +3 -3
  263. package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
  264. package/es-modules/Data/Modifiers/DataModifier.js +34 -56
  265. package/es-modules/Data/Modifiers/DataModifierEvent.js +3 -3
  266. package/es-modules/Data/Modifiers/DataModifierOptions.js +3 -3
  267. package/es-modules/Data/Modifiers/DataModifierType.d.ts +3 -3
  268. package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
  269. package/es-modules/Data/Modifiers/FilterModifier.js +6 -7
  270. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
  271. package/es-modules/Data/Modifiers/FilterModifierOptions.js +3 -3
  272. package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
  273. package/es-modules/Data/Modifiers/InvertModifier.js +6 -7
  274. package/es-modules/Data/Modifiers/InvertModifierOptions.js +3 -3
  275. package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
  276. package/es-modules/Data/Modifiers/MathModifier.js +3 -3
  277. package/es-modules/Data/Modifiers/MathModifierOptions.js +3 -3
  278. package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
  279. package/es-modules/Data/Modifiers/RangeModifier.js +6 -7
  280. package/es-modules/Data/Modifiers/RangeModifierOptions.js +3 -3
  281. package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
  282. package/es-modules/Data/Modifiers/SortModifier.js +35 -10
  283. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +43 -6
  284. package/es-modules/Data/Modifiers/SortModifierOptions.js +3 -3
  285. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +77 -0
  286. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +4 -3
  287. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +68 -1
  288. package/es-modules/Grid/Core/Accessibility/Accessibility.js +179 -7
  289. package/es-modules/Grid/Core/Credits.js +3 -3
  290. package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
  291. package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
  292. package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
  293. package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
  294. package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
  295. package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
  296. package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
  297. package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
  298. package/es-modules/Grid/Core/Defaults.js +21 -7
  299. package/es-modules/Grid/Core/Globals.d.ts +20 -16
  300. package/es-modules/Grid/Core/Globals.js +13 -11
  301. package/es-modules/Grid/Core/Grid.d.ts +43 -23
  302. package/es-modules/Grid/Core/Grid.js +316 -136
  303. package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
  304. package/es-modules/Grid/Core/GridUtils.js +53 -6
  305. package/es-modules/Grid/Core/Options.d.ts +162 -5
  306. package/es-modules/Grid/Core/Options.js +3 -3
  307. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
  308. package/es-modules/Grid/Core/Pagination/Pagination.js +66 -26
  309. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -40
  310. package/es-modules/Grid/Core/Pagination/PaginationOptions.js +11 -0
  311. package/es-modules/Grid/Core/Querying/FilteringController.js +4 -5
  312. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
  313. package/es-modules/Grid/Core/Querying/PaginationController.js +6 -6
  314. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
  315. package/es-modules/Grid/Core/Querying/QueryingController.js +5 -29
  316. package/es-modules/Grid/Core/Querying/SortingController.d.ts +15 -0
  317. package/es-modules/Grid/Core/Querying/SortingController.js +89 -51
  318. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
  319. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
  320. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
  321. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
  322. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +5 -6
  323. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +3 -3
  324. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +6 -7
  325. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
  326. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +5 -5
  327. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +3 -3
  328. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +29 -3
  329. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +136 -26
  330. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +4 -6
  331. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +94 -3
  332. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +481 -91
  333. package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
  334. package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
  335. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +36 -15
  336. package/es-modules/Grid/Core/Table/Body/TableCell.js +89 -33
  337. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +15 -5
  338. package/es-modules/Grid/Core/Table/Body/TableRow.js +70 -19
  339. package/es-modules/Grid/Core/Table/Cell.d.ts +16 -10
  340. package/es-modules/Grid/Core/Table/Cell.js +41 -6
  341. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +3 -3
  342. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +7 -12
  343. package/es-modules/Grid/Core/Table/Column.d.ts +11 -5
  344. package/es-modules/Grid/Core/Table/Column.js +26 -37
  345. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +3 -3
  346. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +3 -3
  347. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +3 -3
  348. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +12 -11
  349. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +7 -6
  350. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
  351. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +21 -7
  352. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +4 -5
  353. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +4 -5
  354. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +9 -0
  355. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +37 -9
  356. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +5 -4
  357. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +11 -7
  358. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +4 -5
  359. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +4 -5
  360. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +4 -1
  361. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +88 -15
  362. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +8 -3
  363. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +36 -15
  364. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +7 -8
  365. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
  366. package/es-modules/Grid/Core/Table/Header/TableHeader.js +6 -6
  367. package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
  368. package/es-modules/Grid/Core/Table/Row.js +5 -5
  369. package/es-modules/Grid/Core/Table/Table.d.ts +68 -12
  370. package/es-modules/Grid/Core/Table/Table.js +296 -92
  371. package/es-modules/Grid/Core/UI/Button.js +3 -3
  372. package/es-modules/Grid/Core/UI/ContextMenu.js +3 -3
  373. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
  374. package/es-modules/Grid/Core/UI/ContextMenuButton.js +8 -6
  375. package/es-modules/Grid/Core/UI/Popup.js +10 -12
  376. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
  377. package/es-modules/Grid/Core/UI/SvgIcons.js +209 -36
  378. package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
  379. package/es-modules/Grid/Core/UI/Toolbar.js +3 -3
  380. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
  381. package/es-modules/Grid/Core/UI/ToolbarButton.js +11 -29
  382. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +4 -45
  383. package/es-modules/Grid/Pro/CellEditing/CellEditMode.js +16 -0
  384. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +13 -13
  385. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +4 -5
  386. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +3 -3
  387. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +3 -3
  388. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +3 -3
  389. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +1 -34
  390. package/es-modules/Grid/Pro/CellRendering/CellRendererType.js +15 -0
  391. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
  392. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +7 -5
  393. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
  394. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +3 -3
  395. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +3 -3
  396. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +3 -3
  397. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +3 -3
  398. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +4 -5
  399. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
  400. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +3 -3
  401. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +7 -5
  402. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +4 -5
  403. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
  404. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +4 -5
  405. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +3 -3
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +4 -5
  407. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +4 -5
  408. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +3 -3
  409. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +4 -5
  410. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +4 -5
  411. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +4 -5
  412. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +4 -4
  413. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +4 -5
  414. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +4 -5
  415. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +4 -5
  416. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +4 -5
  417. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +10 -1
  418. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +56 -12
  419. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
  420. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +6 -7
  421. package/es-modules/Grid/Pro/Credits/CreditsPro.js +3 -3
  422. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +4 -6
  423. package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
  424. package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
  425. package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
  426. package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
  427. package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
  428. package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
  429. package/es-modules/Grid/Pro/Export/Exporting.js +5 -7
  430. package/es-modules/Grid/Pro/Export/ExportingComposition.js +4 -5
  431. package/es-modules/Grid/Pro/GridEvents.d.ts +1 -0
  432. package/es-modules/Grid/Pro/GridEvents.js +4 -5
  433. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
  434. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +4 -5
  435. package/es-modules/Grid/index.js +3 -3
  436. package/es-modules/Shared/BaseForm.js +4 -5
  437. package/es-modules/Shared/DownloadURL.d.ts +1 -85
  438. package/es-modules/Shared/DownloadURL.js +15 -13
  439. package/es-modules/Shared/LangOptionsCore.d.ts +4 -3
  440. package/es-modules/Shared/TimeBase.d.ts +1 -46
  441. package/es-modules/Shared/TimeBase.js +11 -10
  442. package/es-modules/Shared/Types.d.ts +11 -3
  443. package/es-modules/Shared/Utilities.d.ts +576 -0
  444. package/es-modules/Shared/Utilities.js +1368 -0
  445. package/es-modules/masters/grid-pro.src.d.ts +18 -19
  446. package/es-modules/masters/grid-pro.src.js +24 -9
  447. package/grid-pro.d.ts +18 -19
  448. package/grid-pro.js +6 -5
  449. package/grid-pro.js.map +1 -1
  450. package/grid-pro.src.d.ts +18 -19
  451. package/grid-pro.src.js +8132 -4531
  452. package/package.json +1 -1
  453. package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
  454. package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
  455. package/es-modules/Grid/Pro/highcharts.d.ts +0 -7
@@ -1,10 +1,11 @@
1
1
  /* *
2
2
  *
3
- * (c) 2010-2025 Torstein Honsi
3
+ * (c) 2010-2026 Highsoft AS
4
+ * Author: Torstein Honsi
4
5
  *
5
- * License: www.highcharts.com/license
6
+ * A commercial license may be required depending on use.
7
+ * See www.highcharts.com/license
6
8
  *
7
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
9
  *
9
10
  * */
10
11
  'use strict';
@@ -25,10 +26,10 @@ import SeriesRegistry from '../Series/SeriesRegistry.js';
25
26
  const { seriesTypes } = SeriesRegistry;
26
27
  import SVGRenderer from '../Renderer/SVG/SVGRenderer.js';
27
28
  import Time from '../Time.js';
28
- import U from '../Utilities.js';
29
29
  import AST from '../Renderer/HTML/AST.js';
30
30
  import Tick from '../Axis/Tick.js';
31
- const { addEvent, attr, createElement, css, defined, diffObjects, discardElement, erase, error, extend, find, fireEvent, getAlignFactor, getStyle, isArray, isNumber, isObject, isString, merge, objectEach, pick, pInt, relativeLength, removeEvent, splat, syncTimeout, uniqueKey } = U;
31
+ import { addEvent, attr, createElement, css, defined, diffObjects, discardElement, erase, extend, find, fireEvent, getAlignFactor, getStyle, internalClearTimeout, isArray, isNumber, isObject, isString, merge, objectEach, pick, pInt, relativeLength, removeEvent, splat, syncTimeout } from '../../Shared/Utilities.js';
32
+ import { error, uniqueKey } from '../Utilities.js';
32
33
  /* *
33
34
  *
34
35
  * Class
@@ -104,7 +105,13 @@ class Chart {
104
105
  b, c
105
106
  /* eslint-enable @typescript-eslint/no-unused-vars */
106
107
  ) {
108
+ /** @internal */
107
109
  this.sharedClips = {};
110
+ // Return early if there's no browser API (server environment).
111
+ if (!doc) {
112
+ error(36, false, this);
113
+ return;
114
+ }
108
115
  const args = [
109
116
  // ES5 builds fail unless we cast it to an Array
110
117
  ...arguments
@@ -124,7 +131,7 @@ class Chart {
124
131
  * Function setting zoom options after chart init and after chart update.
125
132
  * Offers support for deprecated options.
126
133
  *
127
- * @private
134
+ * @internal
128
135
  * @function Highcharts.Chart#setZoomOptions
129
136
  */
130
137
  setZoomOptions() {
@@ -151,7 +158,6 @@ class Chart {
151
158
  * Function to run when the chart has loaded and all external
152
159
  * images are loaded.
153
160
  *
154
- *
155
161
  * @emits Highcharts.Chart#event:init
156
162
  * @emits Highcharts.Chart#event:afterInit
157
163
  */
@@ -291,7 +297,7 @@ class Chart {
291
297
  /**
292
298
  * Internal function to initialize an individual series.
293
299
  *
294
- * @private
300
+ * @internal
295
301
  * @function Highcharts.Chart#initSeries
296
302
  */
297
303
  initSeries(options) {
@@ -310,7 +316,7 @@ class Chart {
310
316
  /**
311
317
  * Internal function to set data for all series with enabled sorting.
312
318
  *
313
- * @private
319
+ * @internal
314
320
  * @function Highcharts.Chart#setSortedData
315
321
  */
316
322
  setSortedData() {
@@ -325,7 +331,7 @@ class Chart {
325
331
  * Sort and return chart series in order depending on the number of linked
326
332
  * series.
327
333
  *
328
- * @private
334
+ * @internal
329
335
  * @function Highcharts.Series#getSeriesOrderByLinks
330
336
  */
331
337
  getSeriesOrderByLinks() {
@@ -342,9 +348,12 @@ class Chart {
342
348
  * (#248, #1123, #2456, #6112). This function is called on series and axis
343
349
  * initialization and destroy.
344
350
  *
345
- * @private
351
+ * @internal
346
352
  * @function Highcharts.Chart#orderItems
347
- * @param {string} coll The collection name
353
+ *
354
+ * @param {string} coll
355
+ * The collection name.
356
+ *
348
357
  * @param {number} [fromIndex=0]
349
358
  * If this is given, only the series above this index are handled.
350
359
  */
@@ -365,13 +374,6 @@ class Chart {
365
374
  for (let i = fromIndex, iEnd = collection.length; i < iEnd; ++i) {
366
375
  const item = collection[i];
367
376
  if (item) {
368
- /**
369
- * Contains the series' index in the `Chart.series` array.
370
- *
371
- * @name Highcharts.Series#index
372
- * @type {number}
373
- * @readonly
374
- */
375
377
  item.index = i;
376
378
  if (item instanceof Series) {
377
379
  item.name = item.getName();
@@ -388,7 +390,7 @@ class Chart {
388
390
  * Get the clipping for a series. Could be called for a series to initialate
389
391
  * animating the clip or to set the final clip (only width and x).
390
392
  *
391
- * @private
393
+ * @internal
392
394
  * @function Highcharts.Chart#getClipBox
393
395
  */
394
396
  getClipBox(series, chartCoords) {
@@ -639,9 +641,7 @@ class Chart {
639
641
  */
640
642
  get(id) {
641
643
  const series = this.series;
642
- /**
643
- * @private
644
- */
644
+ /** @internal */
645
645
  function itemById(item) {
646
646
  return (item.id === id ||
647
647
  (item.options && item.options.id === id));
@@ -660,7 +660,7 @@ class Chart {
660
660
  /**
661
661
  * Create the Axis instances based on the config options.
662
662
  *
663
- * @private
663
+ * @internal
664
664
  * @function Highcharts.Chart#createAxes
665
665
  * @emits Highcharts.Chart#event:afterCreateAxes
666
666
  * @emits Highcharts.Chart#event:createAxes
@@ -759,10 +759,12 @@ class Chart {
759
759
  /**
760
760
  * Apply a title, subtitle or caption for the chart
761
761
  *
762
- * @private
762
+ * @internal
763
763
  * @function Highcharts.Chart#applyDescription
764
- * @param key {string}
764
+ *
765
+ * @param {string} key
765
766
  * Either title, subtitle or caption
767
+ *
766
768
  * @param {Highcharts.TitleOptions|Highcharts.SubtitleOptions|Highcharts.CaptionOptions|undefined} explicitOptions
767
769
  * The options to set, will be merged with default options.
768
770
  */
@@ -828,10 +830,11 @@ class Chart {
828
830
  * cache the full offset height for use in `getMargins`. The result is
829
831
  * stored in `this.titleOffset`.
830
832
  *
831
- * @private
833
+ * @internal
832
834
  * @function Highcharts.Chart#layOutTitles
833
835
  *
834
836
  * @param {boolean} [redraw=true]
837
+ *
835
838
  * @emits Highcharts.Chart#event:afterLayOutTitles
836
839
  */
837
840
  layOutTitles(redraw = true) {
@@ -929,7 +932,7 @@ class Chart {
929
932
  /**
930
933
  * Internal function to get the available size of the container element
931
934
  *
932
- * @private
935
+ * @internal
933
936
  * @function Highcharts.Chart#getContainerBox
934
937
  */
935
938
  getContainerBox() {
@@ -955,7 +958,7 @@ class Chart {
955
958
  * and container size. Sets {@link Chart.chartWidth} and
956
959
  * {@link Chart.chartHeight}.
957
960
  *
958
- * @private
961
+ * @internal
959
962
  * @function Highcharts.Chart#getChartSize
960
963
  */
961
964
  getChartSize() {
@@ -988,7 +991,7 @@ class Chart {
988
991
  * parents, then save the original display properties, and when the true
989
992
  * size is retrieved, reset them. Used on first render and on redraws.
990
993
  *
991
- * @private
994
+ * @internal
992
995
  * @function Highcharts.Chart#temporaryDisplay
993
996
  *
994
997
  * @param {boolean} [revert]
@@ -1063,7 +1066,7 @@ class Chart {
1063
1066
  * Get the containing element, determine the size and create the inner
1064
1067
  * container div to hold the chart.
1065
1068
  *
1066
- * @private
1069
+ * @internal
1067
1070
  * @function Highcharts.Chart#afterGetContainer
1068
1071
  * @emits Highcharts.Chart#event:afterGetContainer
1069
1072
  */
@@ -1177,7 +1180,7 @@ class Chart {
1177
1180
  * Title, subtitle and legend have already been rendered at this stage, but
1178
1181
  * will be moved into their final positions.
1179
1182
  *
1180
- * @private
1183
+ * @internal
1181
1184
  * @function Highcharts.Chart#getMargins
1182
1185
  * @emits Highcharts.Chart#event:getMargins
1183
1186
  */
@@ -1201,7 +1204,7 @@ class Chart {
1201
1204
  }
1202
1205
  }
1203
1206
  /**
1204
- * @private
1207
+ * @internal
1205
1208
  * @function Highcharts.Chart#getAxisMargins
1206
1209
  */
1207
1210
  getAxisMargins() {
@@ -1272,7 +1275,7 @@ class Chart {
1272
1275
  containerBox.width) {
1273
1276
  if (containerBox.width !== oldBox.width ||
1274
1277
  containerBox.height !== oldBox.height) {
1275
- U.clearTimeout(chart.reflowTimeout);
1278
+ internalClearTimeout(chart.reflowTimeout);
1276
1279
  // When called from window.resize, e is set, else it's called
1277
1280
  // directly (#2224)
1278
1281
  chart.reflowTimeout = syncTimeout(function () {
@@ -1290,7 +1293,7 @@ class Chart {
1290
1293
  * Toggle the event handlers necessary for auto resizing, depending on the
1291
1294
  * `chart.reflow` option.
1292
1295
  *
1293
- * @private
1296
+ * @internal
1294
1297
  * @function Highcharts.Chart#setReflow
1295
1298
  */
1296
1299
  setReflow() {
@@ -1401,7 +1404,7 @@ class Chart {
1401
1404
  * Set the public chart properties. This is done before and after the
1402
1405
  * pre-render to determine margin sizes.
1403
1406
  *
1404
- * @private
1407
+ * @internal
1405
1408
  * @function Highcharts.Chart#setChartSize
1406
1409
  * @emits Highcharts.Chart#event:afterSetChartSize
1407
1410
  */
@@ -1472,7 +1475,7 @@ class Chart {
1472
1475
  /**
1473
1476
  * Initial margins before auto size margins are applied.
1474
1477
  *
1475
- * @private
1478
+ * @internal
1476
1479
  * @function Highcharts.Chart#resetMargins
1477
1480
  */
1478
1481
  resetMargins() {
@@ -1509,7 +1512,7 @@ class Chart {
1509
1512
  * Internal function to draw or redraw the borders and backgrounds for chart
1510
1513
  * and plot area.
1511
1514
  *
1512
- * @private
1515
+ * @internal
1513
1516
  * @function Highcharts.Chart#drawChartBox
1514
1517
  * @emits Highcharts.Chart#event:afterDrawChartBox
1515
1518
  */
@@ -1618,7 +1621,7 @@ class Chart {
1618
1621
  * options and series. This mainly applies to the chart.inverted property,
1619
1622
  * and in extensions to the chart.angular and chart.polar properties.
1620
1623
  *
1621
- * @private
1624
+ * @internal
1622
1625
  * @function Highcharts.Chart#propFromSeries
1623
1626
  */
1624
1627
  propFromSeries() {
@@ -1657,7 +1660,7 @@ class Chart {
1657
1660
  * `linkedTo` option. This is done from `Chart.render`, and after
1658
1661
  * `Chart.addSeries` and `Series.remove`.
1659
1662
  *
1660
- * @private
1663
+ * @internal
1661
1664
  * @function Highcharts.Chart#linkSeries
1662
1665
  * @emits Highcharts.Chart#event:afterLinkSeries
1663
1666
  */
@@ -1676,15 +1679,6 @@ class Chart {
1676
1679
  // #3341 avoid mutual linking
1677
1680
  linkedParent.linkedParent !== series) {
1678
1681
  linkedParent.linkedSeries.push(series);
1679
- /**
1680
- * The parent series of the current series, if the current
1681
- * series has a [linkedTo](https://api.highcharts.com/highcharts/series.line.linkedTo)
1682
- * setting.
1683
- *
1684
- * @name Highcharts.Series#linkedParent
1685
- * @type {Highcharts.Series}
1686
- * @readonly
1687
- */
1688
1682
  series.linkedParent = linkedParent;
1689
1683
  if (linkedParent.enabledDataSorting) {
1690
1684
  series.setDataSortingOptions();
@@ -1699,7 +1693,7 @@ class Chart {
1699
1693
  /**
1700
1694
  * Render series for the chart.
1701
1695
  *
1702
- * @private
1696
+ * @internal
1703
1697
  * @function Highcharts.Chart#renderSeries
1704
1698
  */
1705
1699
  renderSeries() {
@@ -1711,7 +1705,7 @@ class Chart {
1711
1705
  /**
1712
1706
  * Render all graphics for the chart. Runs internally on initialization.
1713
1707
  *
1714
- * @private
1708
+ * @internal
1715
1709
  * @function Highcharts.Chart#render
1716
1710
  */
1717
1711
  render() {
@@ -1767,14 +1761,25 @@ class Chart {
1767
1761
  while ((redoHorizontal || redoVertical || axisLayoutRuns > 1) &&
1768
1762
  run < axisLayoutRuns // #19794
1769
1763
  ) {
1770
- const tempWidth = chart.plotWidth, tempHeight = chart.plotHeight;
1764
+ const tempWidth = chart.plotWidth, tempHeight = chart.plotHeight, threshold = [1.05, 1.1];
1771
1765
  for (const axis of axes) {
1766
+ const horizNum = +(axis.horiz || 0);
1772
1767
  if (run === 0) {
1773
1768
  // Get margins by pre-rendering axes
1774
1769
  axis.setScale();
1770
+ // On datetime axes, consider the tick interval match. A
1771
+ // match close to 1 means that the current normalized tick
1772
+ // interval is an insecure match to the requested tick
1773
+ // interval, on the brink of landing on a higher unit. In
1774
+ // this case, we should redo the axis to get a more
1775
+ // appropriate tick interval (#17393).
1776
+ const tickIntervalMatch = axis.tickPositions?.info?.match;
1777
+ if (tickIntervalMatch) {
1778
+ threshold[horizNum] = Math.min(tickIntervalMatch, threshold[horizNum]);
1779
+ }
1775
1780
  }
1776
- else if ((axis.horiz && redoHorizontal) ||
1777
- (!axis.horiz && redoVertical)) {
1781
+ else if ((horizNum && redoHorizontal) ||
1782
+ (!horizNum && redoVertical)) {
1778
1783
  // Update to reflect the new margins
1779
1784
  axis.setTickInterval(true);
1780
1785
  }
@@ -1786,8 +1791,10 @@ class Chart {
1786
1791
  // Check again for new, rotated or moved labels
1787
1792
  chart.getMargins();
1788
1793
  }
1789
- redoHorizontal = (tempWidth / chart.plotWidth) > (run ? 1 : 1.1);
1790
- redoVertical = (tempHeight / chart.plotHeight) > (run ? 1 : 1.05);
1794
+ redoHorizontal = (tempWidth / chart.plotWidth) >
1795
+ (run ? 1 : threshold[1]);
1796
+ redoVertical = (tempHeight / chart.plotHeight) >
1797
+ (run ? 1 : threshold[0]);
1791
1798
  run++;
1792
1799
  }
1793
1800
  // Draw the borders and backgrounds
@@ -1838,15 +1845,22 @@ class Chart {
1838
1845
  */
1839
1846
  this.credits = this.renderer.text(creds.text + (this.mapCredits || ''), 0, 0)
1840
1847
  .addClass('highcharts-credits')
1841
- .on('click', function () {
1842
- if (creds.href) {
1843
- win.location.href = creds.href;
1844
- }
1848
+ .on('click', function (e) {
1849
+ // Fire the event with browser redirect as default function
1850
+ fireEvent(chart, 'creditsClick', e, () => {
1851
+ if (creds.href) {
1852
+ win.location.href = creds.href;
1853
+ }
1854
+ });
1845
1855
  })
1846
1856
  .attr({
1847
1857
  align: creds.position.align,
1848
1858
  zIndex: 8
1849
1859
  });
1860
+ // If creds.events?.click exists, add it as an event listener
1861
+ if (creds.events?.click) {
1862
+ addEvent(chart, 'creditsClick', creds.events.click);
1863
+ }
1850
1864
  if (!chart.styledMode) {
1851
1865
  this.credits.css(creds.style);
1852
1866
  }
@@ -1929,7 +1943,7 @@ class Chart {
1929
1943
  /**
1930
1944
  * Prepare for first rendering after all data are loaded.
1931
1945
  *
1932
- * @private
1946
+ * @internal
1933
1947
  * @function Highcharts.Chart#firstRender
1934
1948
  * @emits Highcharts.Chart#event:beforeRender
1935
1949
  */
@@ -1961,7 +1975,7 @@ class Chart {
1961
1975
  chart.render();
1962
1976
  chart.pointer?.getChartPosition(); // #14973
1963
1977
  // Fire the load event if there are no external images
1964
- if (!chart.renderer.imgCount && !chart.hasLoaded) {
1978
+ if (!chart.renderer.asyncCounter && !chart.hasLoaded) {
1965
1979
  chart.onload();
1966
1980
  }
1967
1981
  // If the chart was rendered outside the top container, put it back in
@@ -1973,7 +1987,7 @@ class Chart {
1973
1987
  * in the chart. Runs the callbacks and triggers the `load` and `render`
1974
1988
  * events.
1975
1989
  *
1976
- * @private
1990
+ * @internal
1977
1991
  * @function Highcharts.Chart#onload
1978
1992
  * @emits Highcharts.Chart#event:load
1979
1993
  * @emits Highcharts.Chart#event:render
@@ -1999,7 +2013,7 @@ class Chart {
1999
2013
  }
2000
2014
  /**
2001
2015
  * Emit console warning if the a11y module is not loaded.
2002
- * @private
2016
+ * @internal
2003
2017
  */
2004
2018
  warnIfA11yModuleNotLoaded() {
2005
2019
  const { options, title } = this;
@@ -2022,7 +2036,7 @@ class Chart {
2022
2036
  }
2023
2037
  /**
2024
2038
  * Emit console warning if the highcharts.css file is not loaded.
2025
- * @private
2039
+ * @internal
2026
2040
  */
2027
2041
  warnIfCSSNotLoaded() {
2028
2042
  if (this.styledMode) {
@@ -2148,17 +2162,17 @@ class Chart {
2148
2162
  /**
2149
2163
  * Factory for creating different axis types.
2150
2164
  *
2151
- * @private
2165
+ * @internal
2152
2166
  * @function Highcharts.Chart#createAxis
2153
2167
  *
2154
2168
  * @param {string} coll
2155
- * An axis type.
2169
+ * An axis type.
2156
2170
  *
2157
2171
  * @param {...Array<*>} arguments
2158
- * All arguments for the constructor.
2172
+ * All arguments for the constructor.
2159
2173
  *
2160
2174
  * @return {Highcharts.Axis}
2161
- * The newly generated Axis object.
2175
+ * The newly generated Axis object.
2162
2176
  */
2163
2177
  createAxis(coll, options) {
2164
2178
  const axis = new Axis(this, options.axis, coll);
@@ -2187,13 +2201,13 @@ class Chart {
2187
2201
  * [lang.loading](https://api.highcharts.com/highcharts/lang.loading).
2188
2202
  */
2189
2203
  showLoading(str) {
2190
- const chart = this, options = chart.options, loadingOptions = options.loading, setLoadingSize = function () {
2204
+ const chart = this, options = chart.options, loadingOptions = options.loading, loadingStyle = loadingOptions?.style ?? {}, setLoadingSize = function () {
2191
2205
  if (loadingDiv) {
2192
2206
  css(loadingDiv, {
2193
- left: chart.plotLeft + 'px',
2194
- top: chart.plotTop + 'px',
2195
- width: chart.plotWidth + 'px',
2196
- height: chart.plotHeight + 'px'
2207
+ left: loadingStyle.left ?? chart.plotLeft + 'px',
2208
+ top: loadingStyle.top ?? chart.plotTop + 'px',
2209
+ width: loadingStyle.width ?? chart.plotWidth + 'px',
2210
+ height: loadingStyle.height ?? chart.plotHeight + 'px'
2197
2211
  });
2198
2212
  }
2199
2213
  };
@@ -2213,10 +2227,8 @@ class Chart {
2213
2227
  AST.setElementHTML(loadingSpan, pick(str, options.lang.loading, ''));
2214
2228
  if (!chart.styledMode) {
2215
2229
  // Update visuals
2216
- css(loadingDiv, extend(loadingOptions.style, {
2217
- zIndex: 10
2218
- }));
2219
- css(loadingSpan, loadingOptions.labelStyle);
2230
+ css(loadingDiv, extend(loadingStyle, { zIndex: 10 }));
2231
+ css(loadingSpan, loadingOptions?.labelStyle ?? {});
2220
2232
  // Show it
2221
2233
  if (!chart.loadingShown) {
2222
2234
  css(loadingDiv, {
@@ -2224,9 +2236,9 @@ class Chart {
2224
2236
  display: ''
2225
2237
  });
2226
2238
  animate(loadingDiv, {
2227
- opacity: loadingOptions.style.opacity || 0.5
2239
+ opacity: loadingStyle.opacity ?? 0.5
2228
2240
  }, {
2229
- duration: loadingOptions.showDuration || 0
2241
+ duration: loadingOptions?.showDuration ?? 0
2230
2242
  });
2231
2243
  }
2232
2244
  }
@@ -2254,7 +2266,7 @@ class Chart {
2254
2266
  animate(loadingDiv, {
2255
2267
  opacity: 0
2256
2268
  }, {
2257
- duration: options.loading.hideDuration || 100,
2269
+ duration: options.loading?.hideDuration ?? 100,
2258
2270
  complete: function () {
2259
2271
  css(loadingDiv, { display: 'none' });
2260
2272
  }
@@ -2423,9 +2435,12 @@ class Chart {
2423
2435
  // update the first series in the chart. Setting two series without
2424
2436
  // an id will update the first and the second respectively (#6019)
2425
2437
  // chart.update and responsive.
2426
- this.collectionsWithUpdate.forEach(function (coll) {
2438
+ this.collectionsWithUpdate.forEach((coll) => {
2427
2439
  if (options[coll]) {
2428
- splat(options[coll]).forEach(function (newOptions, i) {
2440
+ splat(options[coll]).forEach((newOptions, i) => {
2441
+ if (!newOptions) {
2442
+ return;
2443
+ }
2429
2444
  const hasId = defined(newOptions.id);
2430
2445
  let item;
2431
2446
  // Match by id
@@ -2464,7 +2479,7 @@ class Chart {
2464
2479
  });
2465
2480
  // Add items for removal
2466
2481
  if (oneToOne) {
2467
- chart[coll].forEach(function (item) {
2482
+ chart[coll].forEach((item) => {
2468
2483
  if (!item.touched && !item.options.isInternal) {
2469
2484
  itemsForRemoval.push(item);
2470
2485
  }
@@ -2475,7 +2490,7 @@ class Chart {
2475
2490
  }
2476
2491
  }
2477
2492
  });
2478
- itemsForRemoval.forEach(function (item) {
2493
+ itemsForRemoval.forEach((item) => {
2479
2494
  if (item.chart && item.remove) { // #9097, avoid removing twice
2480
2495
  item.remove(false);
2481
2496
  }
@@ -2561,9 +2576,7 @@ class Chart {
2561
2576
  btnOptions.relativeTo === 'spacingBox' ?
2562
2577
  null :
2563
2578
  'plotBox');
2564
- /**
2565
- * @private
2566
- */
2579
+ /** @internal */
2567
2580
  function zoomOut() {
2568
2581
  chart.zoomOut();
2569
2582
  }
@@ -2596,7 +2609,7 @@ class Chart {
2596
2609
  * called on mouse move, and the distance to pan is computed from chartX
2597
2610
  * compared to the first chartX position in the dragging operation.
2598
2611
  *
2599
- * @private
2612
+ * @internal
2600
2613
  * @function Highcharts.Chart#pan
2601
2614
  * @param {Highcharts.PointerEventObject} event
2602
2615
  * @param {string} panning
@@ -2643,7 +2656,7 @@ class Chart {
2643
2656
  * - In a mousewheel zoom, the `to` rectangle is a 10x10 px square,
2644
2657
  * while the `to` rectangle reflects the scale around that.
2645
2658
  *
2646
- * @private
2659
+ * @internal
2647
2660
  * @function Highcharts.Chart#transform
2648
2661
  */
2649
2662
  transform(params) {
@@ -2813,7 +2826,7 @@ extend(Chart.prototype, {
2813
2826
  * Note: We need to define these references after initializers are bound to
2814
2827
  * chart's prototype.
2815
2828
  *
2816
- * @private
2829
+ * @internal
2817
2830
  */
2818
2831
  collectionsWithInit: {
2819
2832
  // CollectionName: [ initializingMethod, [extraArguments] ]
@@ -2824,7 +2837,7 @@ extend(Chart.prototype, {
2824
2837
  /**
2825
2838
  * These collections (arrays) implement update() methods with support for
2826
2839
  * one-to-one option.
2827
- * @private
2840
+ * @internal
2828
2841
  */
2829
2842
  collectionsWithUpdate: [
2830
2843
  'xAxis',
@@ -2834,7 +2847,7 @@ extend(Chart.prototype, {
2834
2847
  /**
2835
2848
  * These properties cause isDirtyBox to be set to true when updating. Can be
2836
2849
  * extended from plugins.
2837
- * @private
2850
+ * @internal
2838
2851
  */
2839
2852
  propsRequireDirtyBox: [
2840
2853
  'backgroundColor',
@@ -2851,7 +2864,7 @@ extend(Chart.prototype, {
2851
2864
  /**
2852
2865
  * These properties require a full reflow of chart elements, best
2853
2866
  * implemented through running `Chart.setSize` internally (#8190).
2854
- * @private
2867
+ * @internal
2855
2868
  */
2856
2869
  propsRequireReflow: [
2857
2870
  'margin',
@@ -2868,7 +2881,7 @@ extend(Chart.prototype, {
2868
2881
  /**
2869
2882
  * These properties cause all series to be updated when updating. Can be
2870
2883
  * extended from plugins.
2871
- * @private
2884
+ * @internal
2872
2885
  */
2873
2886
  propsRequireUpdateSeries: [
2874
2887
  'chart.inverted',
@@ -2920,6 +2933,10 @@ export default Chart;
2920
2933
  * The thousands separator, defaults to the one given in the lang
2921
2934
  * options, or a space character.
2922
2935
  *
2936
+ * @param {Highcharts.Chart} [ctx]
2937
+ * Since v12.5.0, the chart context passed as an extra argument for
2938
+ * arrow functions.
2939
+ *
2923
2940
  * @return {string} The formatted number.
2924
2941
  */
2925
2942
  /**