@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-2024 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';
@@ -17,8 +18,16 @@ const { composed, dateFormats, doc, isSafari } = H;
17
18
  import R from './Renderer/RendererUtilities.js';
18
19
  const { distribute } = R;
19
20
  import RendererRegistry from './Renderer/RendererRegistry.js';
20
- import U from './Utilities.js';
21
- const { addEvent, clamp, css, clearTimeout, discardElement, extend, fireEvent, getAlignFactor, isArray, isNumber, isObject, isString, merge, pick, pushUnique, splat, syncTimeout } = U;
21
+ import { addEvent, clamp, css, discardElement, extend, fireEvent, getAlignFactor, internalClearTimeout, isArray, isNumber, isObject, isString, merge, pick, pushUnique, splat, syncTimeout } from '../Shared/Utilities.js';
22
+ /**
23
+ * Clear all timeouts for showing and hiding the tooltip.
24
+ *
25
+ * @internal
26
+ */
27
+ const clearTimeouts = (tooltip) => {
28
+ clearTimeout(tooltip.hideTimer);
29
+ clearTimeout(tooltip.showTimer);
30
+ };
22
31
  /* *
23
32
  *
24
33
  * Class
@@ -53,11 +62,48 @@ class Tooltip {
53
62
  *
54
63
  * */
55
64
  this.allowShared = true;
65
+ /**
66
+ * List of crosshairs.
67
+ *
68
+ * @internal
69
+ * @readonly
70
+ * @name Highcharts.Tooltip#crosshairs
71
+ * @type {Array<null>}
72
+ */
56
73
  this.crosshairs = [];
57
74
  this.distance = 0;
75
+ /**
76
+ * Tooltips are initially hidden.
77
+ *
78
+ * @internal
79
+ * @readonly
80
+ * @name Highcharts.Tooltip#isHidden
81
+ * @type {boolean}
82
+ */
58
83
  this.isHidden = true;
59
84
  this.isSticky = false;
85
+ /**
86
+ * Used tooltip options.
87
+ *
88
+ * @readonly
89
+ * @name Highcharts.Tooltip#options
90
+ * @type {Highcharts.TooltipOptions}
91
+ */
60
92
  this.options = {};
93
+ /**
94
+ * Whether to allow the tooltip to render outside the chart's SVG
95
+ * element box. By default (false), the tooltip is rendered within the
96
+ * chart's SVG element, which results in the tooltip being aligned
97
+ * inside the chart area.
98
+ *
99
+ * @readonly
100
+ * @name Highcharts.Tooltip#outside
101
+ * @type {boolean}
102
+ *
103
+ * @todo
104
+ * Split tooltip does not support outside in the first iteration. Should
105
+ * not be too complicated to implement.
106
+ */
61
107
  this.outside = false;
62
108
  this.chart = chart;
63
109
  this.init(chart, options);
@@ -73,21 +119,21 @@ class Tooltip {
73
119
  * returning one entry for each item, abstracting this functionality allows
74
120
  * to easily overwrite and extend it.
75
121
  *
76
- * @private
122
+ * @internal
77
123
  * @function Highcharts.Tooltip#bodyFormatter
78
124
  */
79
125
  bodyFormatter(points) {
80
126
  return points.map((point) => {
81
127
  const tooltipOptions = point.series.tooltipOptions, formatPrefix = point.formatPrefix || 'point';
82
128
  return (tooltipOptions[formatPrefix + 'Formatter'] ||
83
- point.tooltipFormatter).call(point, tooltipOptions[formatPrefix + 'Format'] || '');
129
+ point.tooltipFormatter).call(point, tooltipOptions[formatPrefix + 'Format'] || '', point);
84
130
  });
85
131
  }
86
132
  /**
87
133
  * Destroy the single tooltips in a split tooltip.
88
134
  * If the tooltip is active then it is not destroyed, unless forced to.
89
135
  *
90
- * @private
136
+ * @internal
91
137
  * @function Highcharts.Tooltip#cleanSplit
92
138
  *
93
139
  * @param {boolean} [force]
@@ -112,7 +158,7 @@ class Tooltip {
112
158
  *
113
159
  * @function Highcharts.Tooltip#defaultFormatter
114
160
  *
115
- * @param {Highcharts.Tooltip} tooltip
161
+ * @param {Highcharts.Tooltip} tooltip The tooltip instance.
116
162
  *
117
163
  * @return {string|Array<string>}
118
164
  * Returns a string (single tooltip and shared)
@@ -149,13 +195,14 @@ class Tooltip {
149
195
  this.renderer = this.renderer.destroy();
150
196
  discardElement(this.container);
151
197
  }
152
- clearTimeout(this.hideTimer);
198
+ internalClearTimeout(this.hideTimer);
199
+ clearTimeouts(this);
153
200
  }
154
201
  /**
155
202
  * Extendable method to get the anchor position of the tooltip
156
203
  * from a point or set of points
157
204
  *
158
- * @private
205
+ * @internal
159
206
  * @function Highcharts.Tooltip#getAnchor
160
207
  */
161
208
  getAnchor(points, mouseEvent) {
@@ -335,7 +382,7 @@ class Tooltip {
335
382
  /**
336
383
  * Get the total area available area to place the tooltip
337
384
  *
338
- * @private
385
+ * @internal
339
386
  */
340
387
  getPlayingField() {
341
388
  const { body, documentElement } = doc, { chart, distance, outside } = this;
@@ -414,7 +461,7 @@ class Tooltip {
414
461
  * tooltip on top or bottom of the point, it will look for space
415
462
  * there.
416
463
  *
417
- * @private
464
+ * @internal
418
465
  */
419
466
  firstDimension = function (dim, outerSize, innerSize, scaledInnerSize, // #11329
420
467
  point, min, max) {
@@ -446,7 +493,7 @@ class Tooltip {
446
493
  * align the tooltip above the point, trying to align center but
447
494
  * allowing left or right align within the chart box.
448
495
  *
449
- * @private
496
+ * @internal
450
497
  */
451
498
  secondDimension = function (dim, outerSize, innerSize, scaledInnerSize, // #11329
452
499
  point) {
@@ -500,7 +547,7 @@ class Tooltip {
500
547
  * Place the tooltip when `position.fixed` is true. This is called both for
501
548
  * single tooltips, and for partial tooltips when `split`.
502
549
  *
503
- * @private
550
+ * @internal
504
551
  */
505
552
  getFixedPosition(boxWidth, boxHeight, point) {
506
553
  const series = point.series, { chart, options, split } = this, position = options.position, relativeToOption = position.relativeTo, noPane = options.shared || series?.yAxis?.isRadial &&
@@ -530,7 +577,7 @@ class Tooltip {
530
577
  hide(delay) {
531
578
  const tooltip = this;
532
579
  // Disallow duplicate timers (#1728, #1766)
533
- clearTimeout(this.hideTimer);
580
+ clearTimeouts(this);
534
581
  delay = pick(delay, this.options.hideDelay);
535
582
  if (!this.isHidden) {
536
583
  this.hideTimer = syncTimeout(function () {
@@ -558,7 +605,7 @@ class Tooltip {
558
605
  /**
559
606
  * Initialize tooltip.
560
607
  *
561
- * @private
608
+ * @internal
562
609
  * @function Highcharts.Tooltip#init
563
610
  *
564
611
  * @param {Highcharts.Chart} chart
@@ -587,7 +634,7 @@ class Tooltip {
587
634
  /**
588
635
  * List of crosshairs.
589
636
  *
590
- * @private
637
+ * @internal
591
638
  * @readonly
592
639
  * @name Highcharts.Tooltip#crosshairs
593
640
  * @type {Array<null>}
@@ -596,7 +643,7 @@ class Tooltip {
596
643
  /**
597
644
  * Tooltips are initially hidden.
598
645
  *
599
- * @private
646
+ * @internal
600
647
  * @readonly
601
648
  * @name Highcharts.Tooltip#isHidden
602
649
  * @type {boolean}
@@ -644,7 +691,7 @@ class Tooltip {
644
691
  /**
645
692
  * Moves the tooltip with a soft animation to a new position.
646
693
  *
647
- * @private
694
+ * @internal
648
695
  * @function Highcharts.Tooltip#move
649
696
  *
650
697
  * @param {number} x
@@ -689,7 +736,7 @@ class Tooltip {
689
736
  if (!options.enabled || !point.series) { // #16820
690
737
  return;
691
738
  }
692
- clearTimeout(this.hideTimer);
739
+ clearTimeouts(this);
693
740
  // A switch saying if this specific tooltip configuration allows shared
694
741
  // or split modes
695
742
  tooltip.allowShared = !(!isArray(pointOrPoints) &&
@@ -709,7 +756,7 @@ class Tooltip {
709
756
  this.len = points.length; // #6128
710
757
  const text = isString(formatString) ?
711
758
  format(formatString, point, chart) :
712
- formatter.call(point, tooltip);
759
+ formatter.call(point, tooltip, point);
713
760
  // Reset the preliminary circular references
714
761
  point.points = void 0;
715
762
  // Register the current series
@@ -720,79 +767,83 @@ class Tooltip {
720
767
  this.hide();
721
768
  }
722
769
  else {
723
- // Update text
724
- if (tooltip.split && tooltip.allowShared) { // #13868
725
- this.renderSplit(text, points);
726
- }
727
- else {
728
- let checkX = x;
729
- let checkY = y;
730
- if (mouseEvent && pointer.isDirectTouch) {
731
- checkX = mouseEvent.chartX - chart.plotLeft;
732
- checkY = mouseEvent.chartY - chart.plotTop;
770
+ this.showTimer = syncTimeout(() => {
771
+ // Update text
772
+ if (tooltip.split && tooltip.allowShared) { // #13868
773
+ tooltip.renderSplit(text, points);
733
774
  }
734
- // #11493, #13095
735
- if (chart.polar ||
736
- currentSeries.options.clip === false ||
737
- points.some((p) => // #16004
738
- pointer.isDirectTouch || // ##17929
739
- p.series.shouldShowTooltip(checkX, checkY))) {
740
- const label = tooltip.getLabel(wasShared && tooltip.tt || {});
741
- // Prevent the tooltip from flowing over the chart box
742
- // (#6659)
743
- if (!options.style.width || styledMode) {
744
- label.css({
745
- width: (this.outside ?
746
- this.getPlayingField() :
747
- chart.spacingBox).width + 'px'
748
- });
775
+ else {
776
+ let checkX = x;
777
+ let checkY = y;
778
+ if (mouseEvent && pointer.isDirectTouch) {
779
+ checkX = mouseEvent.chartX - chart.plotLeft;
780
+ checkY = mouseEvent.chartY - chart.plotTop;
749
781
  }
750
- label.attr({
751
- // Add class before the label BBox calculation (#21035)
752
- 'class': tooltip.getClassName(point),
753
- text: text && text.join ?
754
- text.join('') :
755
- text
756
- });
757
- // When the length of the label has increased, immediately
758
- // update the x position to prevent tooltip from flowing
759
- // outside the viewport during animation (#21371)
760
- if (this.outside) {
782
+ // #11493, #13095
783
+ if (chart.polar ||
784
+ currentSeries.options.clip === false ||
785
+ points.some((p) => // #16004
786
+ pointer.isDirectTouch || // ##17929
787
+ p.series.shouldShowTooltip(checkX, checkY))) {
788
+ const label = tooltip.getLabel(wasShared && tooltip.tt || {});
789
+ // Prevent the tooltip from flowing over the chart box
790
+ // (#6659)
791
+ if (!options.style.width || styledMode) {
792
+ label.css({
793
+ width: (this.outside ?
794
+ this.getPlayingField() :
795
+ chart.spacingBox).width + 'px'
796
+ });
797
+ }
761
798
  label.attr({
762
- x: clamp(label.x || 0, 0, this.getPlayingField().width -
763
- (label.width || 0) -
764
- 1)
799
+ // Add class before the label BBox calculation
800
+ // (#21035)
801
+ 'class': tooltip.getClassName(point),
802
+ text: isArray(text) ?
803
+ text.join('') :
804
+ text
765
805
  });
766
- }
767
- if (!styledMode) {
768
- label.attr({
769
- stroke: (options.borderColor ||
770
- point.color ||
771
- currentSeries.color ||
772
- "#666666" /* Palette.neutralColor60 */)
806
+ // When the length of the label has increased,
807
+ // immediately update the x position to prevent
808
+ // tooltip from flowing outside the viewport
809
+ // during animation (#21371)
810
+ if (this.outside) {
811
+ label.attr({
812
+ x: clamp(label.x || 0, 0, this.getPlayingField().width -
813
+ (label.width || 0) -
814
+ 1)
815
+ });
816
+ }
817
+ if (!styledMode) {
818
+ label.attr({
819
+ stroke: (options.borderColor ||
820
+ point.color ||
821
+ currentSeries.color ||
822
+ "#666666" /* Palette.neutralColor60 */)
823
+ });
824
+ }
825
+ tooltip.updatePosition({
826
+ plotX: x,
827
+ plotY: y,
828
+ negative: point.negative,
829
+ ttBelow: point.ttBelow,
830
+ series: currentSeries,
831
+ h: anchor[2] || 0
773
832
  });
774
833
  }
775
- tooltip.updatePosition({
776
- plotX: x,
777
- plotY: y,
778
- negative: point.negative,
779
- ttBelow: point.ttBelow,
780
- series: currentSeries,
781
- h: anchor[2] || 0
782
- });
834
+ else {
835
+ tooltip.hide();
836
+ return;
837
+ }
783
838
  }
784
- else {
785
- tooltip.hide();
786
- return;
839
+ // Show it
840
+ if (tooltip.isHidden && tooltip.label) {
841
+ tooltip.label.attr({
842
+ opacity: 1
843
+ }).show();
787
844
  }
788
- }
789
- // Show it
790
- if (tooltip.isHidden && tooltip.label) {
791
- tooltip.label.attr({
792
- opacity: 1
793
- }).show();
794
- }
795
- tooltip.isHidden = false;
845
+ tooltip.isHidden = false;
846
+ }, tooltip.isHidden ? options.showDelay || 0 : 0);
796
847
  }
797
848
  fireEvent(this, 'refresh');
798
849
  }
@@ -801,7 +852,7 @@ class Tooltip {
801
852
  * a label next to the point, then uses the distribute function to
802
853
  * find best non-overlapping positions.
803
854
  *
804
- * @private
855
+ * @internal
805
856
  * @function Highcharts.Tooltip#renderSplit
806
857
  *
807
858
  * @param {string|Array<(boolean|string)>} labels
@@ -834,7 +885,7 @@ class Tooltip {
834
885
  /**
835
886
  * Calculates the anchor position for the partial tooltip
836
887
  *
837
- * @private
888
+ * @internal
838
889
  * @param {Highcharts.Point} point The point related to the tooltip
839
890
  * @return {Object} Returns an object with anchorX and anchorY
840
891
  */
@@ -865,9 +916,9 @@ class Tooltip {
865
916
  }
866
917
  /**
867
918
  * Calculate the position of the partial tooltip
868
- * @private
919
+ * @internal
869
920
  */
870
- const defaultPositioner = function (boxWidth, boxHeight, point, anchor = [0, 0], alignedLeft = true) {
921
+ const defaultPositioner = function (boxWidth, boxHeight, point, ctx, anchor = [0, 0], alignedLeft = true) {
871
922
  let x, y;
872
923
  if (point.isHeader) {
873
924
  y = headerTop ? 0 : adjustedPlotHeight;
@@ -892,7 +943,7 @@ class Tooltip {
892
943
  * Updates the attributes and styling of the partial tooltip. Creates a
893
944
  * new partial tooltip if it does not exists.
894
945
  *
895
- * @private
946
+ * @internal
896
947
  * @param {Highcharts.SVGElement|undefined} partialTooltip
897
948
  * The partial tooltip to update
898
949
  * @param {Highcharts.Point} point
@@ -967,7 +1018,7 @@ class Tooltip {
967
1018
  }
968
1019
  const { anchorX, anchorY } = getAnchor(point);
969
1020
  if (typeof anchorY === 'number') {
970
- const size = bBox.height + 1, boxPosition = (positioner || defaultPositioner).call(tooltip, boxWidth, size, point, [anchorX, anchorY]);
1021
+ const size = bBox.height + 1, boxPosition = (positioner || defaultPositioner).call(tooltip, boxWidth, size, point, tooltip, [anchorX, anchorY]);
971
1022
  boxes.push({
972
1023
  // 0-align to the top, 1-align to the bottom
973
1024
  align: hasFixedPosition ? 0 : void 0,
@@ -1005,7 +1056,7 @@ class Tooltip {
1005
1056
  bounds.right - boxStart > boxStart;
1006
1057
  })) {
1007
1058
  boxes = boxes.map((box) => {
1008
- const { x, y } = defaultPositioner.call(this, box.boxWidth, box.size, box.point, [box.anchorX, box.anchorY], false);
1059
+ const { x, y } = defaultPositioner.call(this, box.boxWidth, box.size, box.point, void 0, [box.anchorX, box.anchorY], false);
1009
1060
  return extend(box, {
1010
1061
  target: y,
1011
1062
  x
@@ -1094,7 +1145,7 @@ class Tooltip {
1094
1145
  /**
1095
1146
  * If the `stickOnContact` option is active, this will add a tracker shape.
1096
1147
  *
1097
- * @private
1148
+ * @internal
1098
1149
  * @function Highcharts.Tooltip#drawTracker
1099
1150
  */
1100
1151
  drawTracker() {
@@ -1142,9 +1193,7 @@ class Tooltip {
1142
1193
  .add(label);
1143
1194
  // For a rapid move going outside of the elements keeping the
1144
1195
  // tooltip visible, cancel the hide (#23512).
1145
- addEvent(tooltip.tracker.element, 'mouseenter', () => {
1146
- clearTimeout(tooltip.hideTimer);
1147
- });
1196
+ addEvent(tooltip.tracker.element, 'mouseenter', () => clearTimeouts(tooltip));
1148
1197
  if (!chart.styledMode) {
1149
1198
  tooltip.tracker.attr({
1150
1199
  fill: 'rgba(0,0,0,0)'
@@ -1152,9 +1201,7 @@ class Tooltip {
1152
1201
  }
1153
1202
  }
1154
1203
  }
1155
- /**
1156
- * @private
1157
- */
1204
+ /** @internal */
1158
1205
  styledModeFormat(formatString) {
1159
1206
  return formatString
1160
1207
  .replace('style="font-size: 0.8em"', 'class="highcharts-header"')
@@ -1166,7 +1213,7 @@ class Tooltip {
1166
1213
  * Format the footer/header of the tooltip
1167
1214
  * #3397: abstraction to enable formatting of footer and header
1168
1215
  *
1169
- * @private
1216
+ * @internal
1170
1217
  * @function Highcharts.Tooltip#headerFooterFormatter
1171
1218
  */
1172
1219
  headerFooterFormatter(point, isFooter) {
@@ -1215,17 +1262,17 @@ class Tooltip {
1215
1262
  /**
1216
1263
  * Find the new position and perform the move
1217
1264
  *
1218
- * @private
1265
+ * @internal
1219
1266
  * @function Highcharts.Tooltip#updatePosition
1220
1267
  *
1221
- * @param {Highcharts.Point} point
1268
+ * @param {Highcharts.Point} point The point object.
1222
1269
  */
1223
1270
  updatePosition(point) {
1224
1271
  const { chart, container, distance, options, pointer, renderer } = this, label = this.getLabel(), { height = 0, width = 0 } = label, { fixed, positioner } = options,
1225
1272
  // Needed for outside: true (#11688)
1226
1273
  { left, top, scaleX, scaleY } = pointer.getChartPosition(), pos = (positioner ||
1227
1274
  (fixed && this.getFixedPosition) ||
1228
- this.getPosition).call(this, width, height, point), doc = H.doc;
1275
+ this.getPosition).call(this, width, height, point, this), doc = H.doc;
1229
1276
  let anchorX = (point.plotX || 0) + chart.plotLeft, anchorY = (point.plotY || 0) + chart.plotTop, pad;
1230
1277
  // Set the renderer size dynamically to prevent document size to change.
1231
1278
  // Renderer only exists when tooltip is outside.
@@ -1277,9 +1324,7 @@ class Tooltip {
1277
1324
  * Functions
1278
1325
  *
1279
1326
  * */
1280
- /**
1281
- * @private
1282
- */
1327
+ /** @internal */
1283
1328
  function compose(PointerClass) {
1284
1329
  if (pushUnique(composed, 'Core.Tooltip')) {
1285
1330
  addEvent(PointerClass, 'afterInit', function () {
@@ -1326,6 +1371,10 @@ export default Tooltip;
1326
1371
  * @param {Highcharts.Tooltip} tooltip
1327
1372
  * The tooltip instance
1328
1373
  *
1374
+ * @param {Highcharts.Point} [ctx]
1375
+ * Since v12.5.0, the point context passed as an extra argument for arrow
1376
+ * functions.
1377
+ *
1329
1378
  * @return {false|string|Array<(string|null|undefined)>|null|undefined}
1330
1379
  * Formatted text or false
1331
1380
  */
@@ -1346,6 +1395,10 @@ export default Tooltip;
1346
1395
  * @param {Highcharts.TooltipPositionerPointObject} point
1347
1396
  * Point information for positioning a tooltip.
1348
1397
  *
1398
+ * @param {Highcharts.Tooltip} [ctx]
1399
+ * Since v12.5.0, the tooltip context passed as an extra argument for arrow
1400
+ * functions.
1401
+ *
1349
1402
  * @return {Highcharts.PositionObject}
1350
1403
  * New position for the tooltip.
1351
1404
  */