@highcharts/grid-pro 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +35 -0
  2. package/css/grid-pro.css +1756 -0
  3. package/es-modules/Accessibility/A11yI18n.d.ts +95 -0
  4. package/es-modules/Accessibility/A11yI18n.js +290 -0
  5. package/es-modules/Accessibility/Accessibility.d.ts +116 -0
  6. package/es-modules/Accessibility/Accessibility.js +402 -0
  7. package/es-modules/Accessibility/AccessibilityComponent.d.ts +97 -0
  8. package/es-modules/Accessibility/AccessibilityComponent.js +147 -0
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.d.ts +43 -0
  10. package/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
  11. package/es-modules/Accessibility/Components/ContainerComponent.d.ts +48 -0
  12. package/es-modules/Accessibility/Components/ContainerComponent.js +142 -0
  13. package/es-modules/Accessibility/Components/InfoRegionsComponent.d.ts +144 -0
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +555 -0
  15. package/es-modules/Accessibility/Components/LegendComponent.d.ts +124 -0
  16. package/es-modules/Accessibility/Components/LegendComponent.js +474 -0
  17. package/es-modules/Accessibility/Components/MenuComponent.d.ts +93 -0
  18. package/es-modules/Accessibility/Components/MenuComponent.js +430 -0
  19. package/es-modules/Accessibility/Components/NavigatorComponent.d.ts +57 -0
  20. package/es-modules/Accessibility/Components/NavigatorComponent.js +235 -0
  21. package/es-modules/Accessibility/Components/RangeSelectorComponent.d.ts +126 -0
  22. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +473 -0
  23. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.d.ts +18 -0
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +234 -0
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.d.ts +87 -0
  26. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +309 -0
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.d.ts +53 -0
  28. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +130 -0
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.d.ts +28 -0
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +415 -0
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.d.ts +114 -0
  32. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +721 -0
  33. package/es-modules/Accessibility/Components/ZoomComponent.d.ts +96 -0
  34. package/es-modules/Accessibility/Components/ZoomComponent.js +314 -0
  35. package/es-modules/Accessibility/FocusBorder.d.ts +40 -0
  36. package/es-modules/Accessibility/FocusBorder.js +301 -0
  37. package/es-modules/Accessibility/HighContrastMode.d.ts +35 -0
  38. package/es-modules/Accessibility/HighContrastMode.js +100 -0
  39. package/es-modules/Accessibility/HighContrastTheme.d.ts +11 -0
  40. package/es-modules/Accessibility/HighContrastTheme.js +212 -0
  41. package/es-modules/Accessibility/KeyboardNavigation.d.ts +133 -0
  42. package/es-modules/Accessibility/KeyboardNavigation.js +450 -0
  43. package/es-modules/Accessibility/KeyboardNavigationHandler.d.ts +48 -0
  44. package/es-modules/Accessibility/KeyboardNavigationHandler.js +126 -0
  45. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +68 -0
  46. package/es-modules/Accessibility/Options/A11yDefaults.js +971 -0
  47. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +22 -0
  48. package/es-modules/Accessibility/Options/DeprecatedOptions.js +265 -0
  49. package/es-modules/Accessibility/Options/LangDefaults.d.ts +4 -0
  50. package/es-modules/Accessibility/Options/LangDefaults.js +440 -0
  51. package/es-modules/Accessibility/ProxyElement.d.ts +78 -0
  52. package/es-modules/Accessibility/ProxyElement.js +223 -0
  53. package/es-modules/Accessibility/ProxyProvider.d.ts +90 -0
  54. package/es-modules/Accessibility/ProxyProvider.js +315 -0
  55. package/es-modules/Accessibility/Utils/Announcer.d.ts +26 -0
  56. package/es-modules/Accessibility/Utils/Announcer.js +90 -0
  57. package/es-modules/Accessibility/Utils/ChartUtilities.d.ts +90 -0
  58. package/es-modules/Accessibility/Utils/ChartUtilities.js +298 -0
  59. package/es-modules/Accessibility/Utils/DOMElementProvider.d.ts +20 -0
  60. package/es-modules/Accessibility/Utils/DOMElementProvider.js +69 -0
  61. package/es-modules/Accessibility/Utils/EventProvider.d.ts +26 -0
  62. package/es-modules/Accessibility/Utils/EventProvider.js +65 -0
  63. package/es-modules/Accessibility/Utils/HTMLUtilities.d.ts +108 -0
  64. package/es-modules/Accessibility/Utils/HTMLUtilities.js +319 -0
  65. package/es-modules/Core/Animation/AnimationUtilities.d.ts +107 -0
  66. package/es-modules/Core/Animation/AnimationUtilities.js +200 -0
  67. package/es-modules/Core/Animation/Fx.d.ts +130 -0
  68. package/es-modules/Core/Animation/Fx.js +388 -0
  69. package/es-modules/Core/Chart/Chart.d.ts +1009 -0
  70. package/es-modules/Core/Chart/Chart.js +3008 -0
  71. package/es-modules/Core/Chart/Chart3D.d.ts +276 -0
  72. package/es-modules/Core/Chart/Chart3D.js +1686 -0
  73. package/es-modules/Core/Chart/ChartDefaults.d.ts +8 -0
  74. package/es-modules/Core/Chart/ChartDefaults.js +1304 -0
  75. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +55 -0
  76. package/es-modules/Core/Chart/ChartNavigationComposition.js +90 -0
  77. package/es-modules/Core/Chart/GanttChart.d.ts +74 -0
  78. package/es-modules/Core/Chart/GanttChart.js +189 -0
  79. package/es-modules/Core/Chart/MapChart.d.ts +132 -0
  80. package/es-modules/Core/Chart/MapChart.js +232 -0
  81. package/es-modules/Core/Chart/StockChart.d.ts +117 -0
  82. package/es-modules/Core/Chart/StockChart.js +641 -0
  83. package/es-modules/Core/Color/Color.d.ts +112 -0
  84. package/es-modules/Core/Color/Color.js +418 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +84 -0
  86. package/es-modules/Core/Color/Palettes.js +23 -0
  87. package/es-modules/Core/Defaults.d.ts +42 -0
  88. package/es-modules/Core/Defaults.js +2977 -0
  89. package/es-modules/Core/Foundation.d.ts +19 -0
  90. package/es-modules/Core/Foundation.js +63 -0
  91. package/es-modules/Core/Geometry/CircleUtilities.d.ts +189 -0
  92. package/es-modules/Core/Geometry/CircleUtilities.js +388 -0
  93. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +48 -0
  94. package/es-modules/Core/Geometry/GeometryUtilities.js +105 -0
  95. package/es-modules/Core/Geometry/PolygonClip.d.ts +19 -0
  96. package/es-modules/Core/Geometry/PolygonClip.js +96 -0
  97. package/es-modules/Core/Globals.d.ts +110 -0
  98. package/es-modules/Core/Globals.js +127 -0
  99. package/es-modules/Core/HttpUtilities.d.ts +61 -0
  100. package/es-modules/Core/HttpUtilities.js +214 -0
  101. package/es-modules/Core/MSPointer.d.ts +74 -0
  102. package/es-modules/Core/MSPointer.js +218 -0
  103. package/es-modules/Core/Math3D.d.ts +117 -0
  104. package/es-modules/Core/Math3D.js +250 -0
  105. package/es-modules/Core/Pointer.d.ts +590 -0
  106. package/es-modules/Core/Pointer.js +1631 -0
  107. package/es-modules/Core/Renderer/HTML/AST.d.ts +163 -0
  108. package/es-modules/Core/Renderer/HTML/AST.js +562 -0
  109. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +76 -0
  110. package/es-modules/Core/Renderer/HTML/HTMLElement.js +471 -0
  111. package/es-modules/Core/Renderer/RendererRegistry.d.ts +29 -0
  112. package/es-modules/Core/Renderer/RendererRegistry.js +76 -0
  113. package/es-modules/Core/Renderer/RendererUtilities.d.ts +26 -0
  114. package/es-modules/Core/Renderer/RendererUtilities.js +172 -0
  115. package/es-modules/Core/Responsive.d.ts +55 -0
  116. package/es-modules/Core/Responsive.js +260 -0
  117. package/es-modules/Core/Templating.d.ts +125 -0
  118. package/es-modules/Core/Templating.js +428 -0
  119. package/es-modules/Core/Time.d.ts +69 -0
  120. package/es-modules/Core/Time.js +172 -0
  121. package/es-modules/Core/Tooltip.d.ts +297 -0
  122. package/es-modules/Core/Tooltip.js +1377 -0
  123. package/es-modules/Core/Utilities.d.ts +770 -0
  124. package/es-modules/Core/Utilities.js +1989 -0
  125. package/es-modules/Data/ColumnUtils.d.ts +87 -0
  126. package/es-modules/Data/ColumnUtils.js +140 -0
  127. package/es-modules/Data/Connectors/CSVConnector.d.ts +63 -0
  128. package/es-modules/Data/Connectors/CSVConnector.js +149 -0
  129. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +149 -0
  130. package/es-modules/Data/Connectors/DataConnector.d.ts +204 -0
  131. package/es-modules/Data/Connectors/DataConnector.js +345 -0
  132. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +87 -0
  133. package/es-modules/Data/Connectors/DataConnectorType.d.ts +45 -0
  134. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +65 -0
  135. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +226 -0
  136. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +167 -0
  137. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +77 -0
  138. package/es-modules/Data/Connectors/HTMLTableConnector.js +119 -0
  139. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +49 -0
  140. package/es-modules/Data/Connectors/JSONConnector.d.ts +64 -0
  141. package/es-modules/Data/Connectors/JSONConnector.js +156 -0
  142. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +185 -0
  143. package/es-modules/Data/Converters/CSVConverter.d.ts +64 -0
  144. package/es-modules/Data/Converters/CSVConverter.js +374 -0
  145. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +53 -0
  146. package/es-modules/Data/Converters/DataConverter.d.ts +168 -0
  147. package/es-modules/Data/Converters/DataConverter.js +387 -0
  148. package/es-modules/Data/Converters/DataConverterType.d.ts +40 -0
  149. package/es-modules/Data/Converters/DataConverterUtils.d.ts +82 -0
  150. package/es-modules/Data/Converters/DataConverterUtils.js +216 -0
  151. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +46 -0
  152. package/es-modules/Data/Converters/GoogleSheetsConverter.js +135 -0
  153. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +52 -0
  154. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +72 -0
  155. package/es-modules/Data/Converters/HTMLTableConverter.js +362 -0
  156. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +51 -0
  157. package/es-modules/Data/Converters/JSONConverter.d.ts +99 -0
  158. package/es-modules/Data/Converters/JSONConverter.js +239 -0
  159. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +52 -0
  160. package/es-modules/Data/DataCursor.d.ts +176 -0
  161. package/es-modules/Data/DataCursor.js +379 -0
  162. package/es-modules/Data/DataEvent.d.ts +81 -0
  163. package/es-modules/Data/DataEvent.js +14 -0
  164. package/es-modules/Data/DataPool.d.ts +130 -0
  165. package/es-modules/Data/DataPool.js +257 -0
  166. package/es-modules/Data/DataPoolOptions.d.ts +66 -0
  167. package/es-modules/Data/DataTable.d.ts +563 -0
  168. package/es-modules/Data/DataTable.js +930 -0
  169. package/es-modules/Data/DataTableCore.d.ts +165 -0
  170. package/es-modules/Data/DataTableCore.js +316 -0
  171. package/es-modules/Data/DataTableOptions.d.ts +25 -0
  172. package/es-modules/Data/DataTableOptions.js +15 -0
  173. package/es-modules/Data/Formula/Formula.d.ts +21 -0
  174. package/es-modules/Data/Formula/Formula.js +54 -0
  175. package/es-modules/Data/Formula/FormulaParser.d.ts +31 -0
  176. package/es-modules/Data/Formula/FormulaParser.js +488 -0
  177. package/es-modules/Data/Formula/FormulaProcessor.d.ts +155 -0
  178. package/es-modules/Data/Formula/FormulaProcessor.js +529 -0
  179. package/es-modules/Data/Formula/FormulaTypes.d.ts +138 -0
  180. package/es-modules/Data/Formula/FormulaTypes.js +135 -0
  181. package/es-modules/Data/Formula/Functions/ABS.d.ts +19 -0
  182. package/es-modules/Data/Formula/Functions/ABS.js +67 -0
  183. package/es-modules/Data/Formula/Functions/AND.d.ts +20 -0
  184. package/es-modules/Data/Formula/Functions/AND.js +59 -0
  185. package/es-modules/Data/Formula/Functions/AVERAGE.d.ts +20 -0
  186. package/es-modules/Data/Formula/Functions/AVERAGE.js +74 -0
  187. package/es-modules/Data/Formula/Functions/AVERAGEA.d.ts +20 -0
  188. package/es-modules/Data/Formula/Functions/AVERAGEA.js +90 -0
  189. package/es-modules/Data/Formula/Functions/COUNT.d.ts +20 -0
  190. package/es-modules/Data/Formula/Functions/COUNT.js +65 -0
  191. package/es-modules/Data/Formula/Functions/COUNTA.d.ts +20 -0
  192. package/es-modules/Data/Formula/Functions/COUNTA.js +71 -0
  193. package/es-modules/Data/Formula/Functions/IF.d.ts +21 -0
  194. package/es-modules/Data/Formula/Functions/IF.js +54 -0
  195. package/es-modules/Data/Formula/Functions/ISNA.d.ts +20 -0
  196. package/es-modules/Data/Formula/Functions/ISNA.js +52 -0
  197. package/es-modules/Data/Formula/Functions/MAX.d.ts +20 -0
  198. package/es-modules/Data/Formula/Functions/MAX.js +69 -0
  199. package/es-modules/Data/Formula/Functions/MEDIAN.d.ts +20 -0
  200. package/es-modules/Data/Formula/Functions/MEDIAN.js +78 -0
  201. package/es-modules/Data/Formula/Functions/MIN.d.ts +20 -0
  202. package/es-modules/Data/Formula/Functions/MIN.js +69 -0
  203. package/es-modules/Data/Formula/Functions/MOD.d.ts +20 -0
  204. package/es-modules/Data/Formula/Functions/MOD.js +63 -0
  205. package/es-modules/Data/Formula/Functions/MODE.d.ts +41 -0
  206. package/es-modules/Data/Formula/Functions/MODE.js +149 -0
  207. package/es-modules/Data/Formula/Functions/NOT.d.ts +20 -0
  208. package/es-modules/Data/Formula/Functions/NOT.js +60 -0
  209. package/es-modules/Data/Formula/Functions/OR.d.ts +20 -0
  210. package/es-modules/Data/Formula/Functions/OR.js +62 -0
  211. package/es-modules/Data/Formula/Functions/PRODUCT.d.ts +20 -0
  212. package/es-modules/Data/Formula/Functions/PRODUCT.js +68 -0
  213. package/es-modules/Data/Formula/Functions/SUM.d.ts +20 -0
  214. package/es-modules/Data/Formula/Functions/SUM.js +65 -0
  215. package/es-modules/Data/Formula/Functions/XOR.d.ts +20 -0
  216. package/es-modules/Data/Formula/Functions/XOR.js +81 -0
  217. package/es-modules/Data/Modifiers/ChainModifier.d.ts +128 -0
  218. package/es-modules/Data/Modifiers/ChainModifier.js +231 -0
  219. package/es-modules/Data/Modifiers/ChainModifierOptions.d.ts +20 -0
  220. package/es-modules/Data/Modifiers/ChainModifierOptions.js +14 -0
  221. package/es-modules/Data/Modifiers/DataModifier.d.ts +117 -0
  222. package/es-modules/Data/Modifiers/DataModifier.js +202 -0
  223. package/es-modules/Data/Modifiers/DataModifierEvent.d.ts +28 -0
  224. package/es-modules/Data/Modifiers/DataModifierEvent.js +15 -0
  225. package/es-modules/Data/Modifiers/DataModifierOptions.d.ts +11 -0
  226. package/es-modules/Data/Modifiers/DataModifierOptions.js +15 -0
  227. package/es-modules/Data/Modifiers/DataModifierType.d.ts +44 -0
  228. package/es-modules/Data/Modifiers/FilterModifier.d.ts +53 -0
  229. package/es-modules/Data/Modifiers/FilterModifier.js +172 -0
  230. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +110 -0
  231. package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
  232. package/es-modules/Data/Modifiers/InvertModifier.d.ts +48 -0
  233. package/es-modules/Data/Modifiers/InvertModifier.js +116 -0
  234. package/es-modules/Data/Modifiers/InvertModifierOptions.d.ts +11 -0
  235. package/es-modules/Data/Modifiers/InvertModifierOptions.js +15 -0
  236. package/es-modules/Data/Modifiers/MathModifier.d.ts +68 -0
  237. package/es-modules/Data/Modifiers/MathModifier.js +165 -0
  238. package/es-modules/Data/Modifiers/MathModifierOptions.d.ts +50 -0
  239. package/es-modules/Data/Modifiers/MathModifierOptions.js +14 -0
  240. package/es-modules/Data/Modifiers/RangeModifier.d.ts +46 -0
  241. package/es-modules/Data/Modifiers/RangeModifier.js +96 -0
  242. package/es-modules/Data/Modifiers/RangeModifierOptions.d.ts +22 -0
  243. package/es-modules/Data/Modifiers/RangeModifierOptions.js +15 -0
  244. package/es-modules/Data/Modifiers/SortModifier.d.ts +54 -0
  245. package/es-modules/Data/Modifiers/SortModifier.js +144 -0
  246. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +44 -0
  247. package/es-modules/Data/Modifiers/SortModifierOptions.js +14 -0
  248. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +148 -0
  249. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +17 -0
  250. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +115 -0
  251. package/es-modules/Grid/Core/Accessibility/Accessibility.js +231 -0
  252. package/es-modules/Grid/Core/Credits.d.ts +57 -0
  253. package/es-modules/Grid/Core/Credits.js +125 -0
  254. package/es-modules/Grid/Core/Defaults.d.ts +20 -0
  255. package/es-modules/Grid/Core/Defaults.js +148 -0
  256. package/es-modules/Grid/Core/Globals.d.ts +103 -0
  257. package/es-modules/Grid/Core/Globals.js +134 -0
  258. package/es-modules/Grid/Core/Grid.d.ts +295 -0
  259. package/es-modules/Grid/Core/Grid.js +730 -0
  260. package/es-modules/Grid/Core/GridUtils.d.ts +110 -0
  261. package/es-modules/Grid/Core/GridUtils.js +191 -0
  262. package/es-modules/Grid/Core/Options.d.ts +599 -0
  263. package/es-modules/Grid/Core/Options.js +16 -0
  264. package/es-modules/Grid/Core/Pagination/Icons.d.ts +7 -0
  265. package/es-modules/Grid/Core/Pagination/Icons.js +7 -0
  266. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +278 -0
  267. package/es-modules/Grid/Core/Pagination/Pagination.js +842 -0
  268. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +228 -0
  269. package/es-modules/Grid/Core/Querying/FilteringController.d.ts +66 -0
  270. package/es-modules/Grid/Core/Querying/FilteringController.js +256 -0
  271. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +50 -0
  272. package/es-modules/Grid/Core/Querying/PaginationController.js +101 -0
  273. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +58 -0
  274. package/es-modules/Grid/Core/Querying/QueryingController.js +127 -0
  275. package/es-modules/Grid/Core/Querying/SortingController.d.ts +67 -0
  276. package/es-modules/Grid/Core/Querying/SortingController.js +136 -0
  277. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +114 -0
  278. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +351 -0
  279. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +14 -0
  280. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +86 -0
  281. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +19 -0
  282. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +80 -0
  283. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +52 -0
  284. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +81 -0
  285. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +56 -0
  286. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +170 -0
  287. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.d.ts +55 -0
  288. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +182 -0
  289. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +87 -0
  290. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +346 -0
  291. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +88 -0
  292. package/es-modules/Grid/Core/Table/Body/TableCell.js +231 -0
  293. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +79 -0
  294. package/es-modules/Grid/Core/Table/Body/TableRow.js +177 -0
  295. package/es-modules/Grid/Core/Table/Cell.d.ts +92 -0
  296. package/es-modules/Grid/Core/Table/Cell.js +223 -0
  297. package/es-modules/Grid/Core/Table/CellContent/CellContent.d.ts +30 -0
  298. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +40 -0
  299. package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +19 -0
  300. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +98 -0
  301. package/es-modules/Grid/Core/Table/Column.d.ts +136 -0
  302. package/es-modules/Grid/Core/Table/Column.js +230 -0
  303. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.d.ts +7 -0
  304. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +62 -0
  305. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +32 -0
  306. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +68 -0
  307. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.d.ts +7 -0
  308. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +53 -0
  309. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.d.ts +7 -0
  310. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +63 -0
  311. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +92 -0
  312. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +194 -0
  313. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +68 -0
  314. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +187 -0
  315. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +29 -0
  316. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +77 -0
  317. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.d.ts +13 -0
  318. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +79 -0
  319. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +12 -0
  320. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +71 -0
  321. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.d.ts +12 -0
  322. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +66 -0
  323. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +25 -0
  324. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +65 -0
  325. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +12 -0
  326. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +81 -0
  327. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +12 -0
  328. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +80 -0
  329. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +11 -0
  330. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +81 -0
  331. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +70 -0
  332. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +225 -0
  333. package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +53 -0
  334. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +182 -0
  335. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +65 -0
  336. package/es-modules/Grid/Core/Table/Header/TableHeader.js +159 -0
  337. package/es-modules/Grid/Core/Table/Row.d.ts +76 -0
  338. package/es-modules/Grid/Core/Table/Row.js +131 -0
  339. package/es-modules/Grid/Core/Table/Table.d.ts +181 -0
  340. package/es-modules/Grid/Core/Table/Table.js +399 -0
  341. package/es-modules/Grid/Core/UI/Button.d.ts +31 -0
  342. package/es-modules/Grid/Core/UI/Button.js +16 -0
  343. package/es-modules/Grid/Core/UI/ContextMenu.d.ts +38 -0
  344. package/es-modules/Grid/Core/UI/ContextMenu.js +132 -0
  345. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +126 -0
  346. package/es-modules/Grid/Core/UI/ContextMenuButton.js +183 -0
  347. package/es-modules/Grid/Core/UI/Popup.d.ts +149 -0
  348. package/es-modules/Grid/Core/UI/Popup.js +271 -0
  349. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +53 -0
  350. package/es-modules/Grid/Core/UI/SvgIcons.js +158 -0
  351. package/es-modules/Grid/Core/UI/Toolbar.d.ts +16 -0
  352. package/es-modules/Grid/Core/UI/Toolbar.js +16 -0
  353. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +135 -0
  354. package/es-modules/Grid/Core/UI/ToolbarButton.js +191 -0
  355. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +112 -0
  356. package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +80 -0
  357. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +211 -0
  358. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +123 -0
  359. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +198 -0
  360. package/es-modules/Grid/Pro/CellRendering/CellContentPro.d.ts +23 -0
  361. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +45 -0
  362. package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +50 -0
  363. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +41 -0
  364. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +18 -0
  365. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +58 -0
  366. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +48 -0
  367. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +18 -0
  368. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +79 -0
  369. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +30 -0
  370. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +122 -0
  371. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +12 -0
  372. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +39 -0
  373. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +66 -0
  374. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +145 -0
  375. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +12 -0
  376. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +38 -0
  377. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.d.ts +58 -0
  378. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +158 -0
  379. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +58 -0
  380. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +173 -0
  381. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +28 -0
  382. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +157 -0
  383. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +58 -0
  384. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +168 -0
  385. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +13 -0
  386. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +41 -0
  387. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +50 -0
  388. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +65 -0
  389. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +37 -0
  390. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +65 -0
  391. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +26 -0
  392. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +16 -0
  393. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +37 -0
  394. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +64 -0
  395. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +52 -0
  396. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +64 -0
  397. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +74 -0
  398. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +66 -0
  399. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +45 -0
  400. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +89 -0
  401. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +54 -0
  402. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +65 -0
  403. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +43 -0
  404. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +74 -0
  405. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +37 -0
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +64 -0
  407. package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +29 -0
  408. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +118 -0
  409. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +270 -0
  410. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +32 -0
  411. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +63 -0
  412. package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +35 -0
  413. package/es-modules/Grid/Pro/Credits/CreditsPro.js +112 -0
  414. package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +28 -0
  415. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +61 -0
  416. package/es-modules/Grid/Pro/Export/Exporting.d.ts +68 -0
  417. package/es-modules/Grid/Pro/Export/Exporting.js +202 -0
  418. package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +68 -0
  419. package/es-modules/Grid/Pro/Export/ExportingComposition.js +55 -0
  420. package/es-modules/Grid/Pro/GridEvents.d.ts +119 -0
  421. package/es-modules/Grid/Pro/GridEvents.js +107 -0
  422. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +75 -0
  423. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +76 -0
  424. package/es-modules/Grid/Pro/highcharts.d.ts +7 -0
  425. package/es-modules/Grid/index.d.ts +5 -0
  426. package/es-modules/Grid/index.js +19 -0
  427. package/es-modules/Shared/BaseForm.d.ts +49 -0
  428. package/es-modules/Shared/BaseForm.js +126 -0
  429. package/es-modules/Shared/DownloadURL.d.ts +85 -0
  430. package/es-modules/Shared/DownloadURL.js +198 -0
  431. package/es-modules/Shared/LangOptionsCore.d.ts +27 -0
  432. package/es-modules/Shared/TimeBase.d.ts +353 -0
  433. package/es-modules/Shared/TimeBase.js +830 -0
  434. package/es-modules/Shared/Types.d.ts +48 -0
  435. package/es-modules/masters/grid-pro.src.d.ts +99 -0
  436. package/es-modules/masters/grid-pro.src.js +129 -0
  437. package/grid-pro.d.ts +50 -0
  438. package/grid-pro.js +12 -0
  439. package/grid-pro.js.map +1 -0
  440. package/grid-pro.src.d.ts +50 -0
  441. package/grid-pro.src.js +26623 -0
  442. package/package.json +21 -0
@@ -0,0 +1,234 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Handle forcing series markers.
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * */
12
+ 'use strict';
13
+ import H from '../../../Core/Globals.js';
14
+ const { composed } = H;
15
+ import U from '../../../Core/Utilities.js';
16
+ const { addEvent, merge, pushUnique } = U;
17
+ /* *
18
+ *
19
+ * Composition
20
+ *
21
+ * */
22
+ var ForcedMarkersComposition;
23
+ (function (ForcedMarkersComposition) {
24
+ /* *
25
+ *
26
+ * Declarations
27
+ *
28
+ * */
29
+ /* *
30
+ *
31
+ * Functions
32
+ *
33
+ * */
34
+ /**
35
+ * @private
36
+ */
37
+ function compose(SeriesClass) {
38
+ if (pushUnique(composed, 'A11y.FM')) {
39
+ addEvent(SeriesClass, 'afterSetOptions', seriesOnAfterSetOptions);
40
+ addEvent(SeriesClass, 'render', seriesOnRender);
41
+ addEvent(SeriesClass, 'afterRender', seriesOnAfterRender);
42
+ addEvent(SeriesClass, 'renderCanvas', seriesOnRenderCanvas);
43
+ }
44
+ }
45
+ ForcedMarkersComposition.compose = compose;
46
+ /**
47
+ * @private
48
+ */
49
+ function forceZeroOpacityMarkerOptions(options) {
50
+ merge(true, options, {
51
+ marker: {
52
+ enabled: true,
53
+ states: {
54
+ normal: {
55
+ opacity: 0
56
+ }
57
+ }
58
+ }
59
+ });
60
+ }
61
+ /**
62
+ * @private
63
+ */
64
+ function getPointMarkerOpacity(pointOptions) {
65
+ return pointOptions.marker.states &&
66
+ pointOptions.marker.states.normal &&
67
+ pointOptions.marker.states.normal.opacity;
68
+ }
69
+ /**
70
+ * @private
71
+ */
72
+ function handleForcePointMarkers(series) {
73
+ let i = series.points.length;
74
+ while (i--) {
75
+ const point = series.points[i];
76
+ const pointOptions = point.options;
77
+ const hadForcedMarker = point.hasForcedA11yMarker;
78
+ delete point.hasForcedA11yMarker;
79
+ if (pointOptions.marker) {
80
+ const isStillForcedMarker = hadForcedMarker &&
81
+ getPointMarkerOpacity(pointOptions) === 0;
82
+ if (pointOptions.marker.enabled && !isStillForcedMarker) {
83
+ unforcePointMarkerOptions(pointOptions);
84
+ point.hasForcedA11yMarker = false;
85
+ }
86
+ else if (pointOptions.marker.enabled === false) {
87
+ forceZeroOpacityMarkerOptions(pointOptions);
88
+ point.hasForcedA11yMarker = true;
89
+ }
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * @private
95
+ */
96
+ function hasIndividualPointMarkerOptions(series) {
97
+ return !!(series._hasPointMarkers &&
98
+ series.points &&
99
+ series.points.length);
100
+ }
101
+ /**
102
+ * @private
103
+ */
104
+ function isWithinDescriptionThreshold(series) {
105
+ const a11yOptions = series.chart.options.accessibility;
106
+ return series.points.length <
107
+ a11yOptions.series.pointDescriptionEnabledThreshold ||
108
+ a11yOptions.series
109
+ .pointDescriptionEnabledThreshold === false;
110
+ }
111
+ /**
112
+ * Process marker graphics after render
113
+ * @private
114
+ */
115
+ function seriesOnAfterRender() {
116
+ const series = this;
117
+ // For styled mode the rendered graphic does not reflect the style
118
+ // options, and we need to add/remove classes to achieve the same.
119
+ if (series.chart.styledMode) {
120
+ if (series.markerGroup) {
121
+ series.markerGroup[series.a11yMarkersForced ? 'addClass' : 'removeClass']('highcharts-a11y-markers-hidden');
122
+ }
123
+ // Do we need to handle individual points?
124
+ if (hasIndividualPointMarkerOptions(series)) {
125
+ series.points.forEach((point) => {
126
+ if (point.graphic) {
127
+ point.graphic[point.hasForcedA11yMarker ?
128
+ 'addClass' : 'removeClass']('highcharts-a11y-marker-hidden');
129
+ point.graphic[point.hasForcedA11yMarker === false ?
130
+ 'addClass' :
131
+ 'removeClass']('highcharts-a11y-marker-visible');
132
+ }
133
+ });
134
+ }
135
+ }
136
+ }
137
+ /**
138
+ * Keep track of options to reset markers to if no longer forced.
139
+ * @private
140
+ */
141
+ function seriesOnAfterSetOptions(e) {
142
+ this.resetA11yMarkerOptions = merge(e.options.marker || {}, this.userOptions.marker || {});
143
+ }
144
+ /**
145
+ * Keep track of forcing markers.
146
+ * @private
147
+ */
148
+ function seriesOnRender() {
149
+ const series = this, options = series.options;
150
+ if (shouldForceMarkers(series)) {
151
+ if (options.marker && options.marker.enabled === false) {
152
+ series.a11yMarkersForced = true;
153
+ forceZeroOpacityMarkerOptions(series.options);
154
+ }
155
+ if (hasIndividualPointMarkerOptions(series)) {
156
+ handleForcePointMarkers(series);
157
+ }
158
+ }
159
+ else if (series.a11yMarkersForced) {
160
+ delete series.a11yMarkersForced;
161
+ unforceSeriesMarkerOptions(series);
162
+ if (options.marker && options.marker.enabled === false) { // #23329
163
+ delete series.resetA11yMarkerOptions; // #16624
164
+ }
165
+ }
166
+ }
167
+ /**
168
+ * @private
169
+ */
170
+ function shouldForceMarkers(series) {
171
+ const chart = series.chart, chartA11yEnabled = chart.options.accessibility.enabled, seriesA11yEnabled = (series.options.accessibility &&
172
+ series.options.accessibility.enabled) !== false;
173
+ return (chartA11yEnabled &&
174
+ seriesA11yEnabled &&
175
+ isWithinDescriptionThreshold(series));
176
+ }
177
+ /**
178
+ * @private
179
+ */
180
+ function unforcePointMarkerOptions(pointOptions) {
181
+ merge(true, pointOptions.marker, {
182
+ states: {
183
+ normal: {
184
+ opacity: getPointMarkerOpacity(pointOptions) || 1
185
+ }
186
+ }
187
+ });
188
+ }
189
+ /**
190
+ * Reset markers to normal
191
+ * @private
192
+ */
193
+ function unforceSeriesMarkerOptions(series) {
194
+ const resetMarkerOptions = series.resetA11yMarkerOptions;
195
+ if (resetMarkerOptions) {
196
+ const originalOpacity = resetMarkerOptions.states &&
197
+ resetMarkerOptions.states.normal &&
198
+ resetMarkerOptions.states.normal.opacity;
199
+ // Temporarily set the old marker options to enabled in order to
200
+ // trigger destruction of the markers in Series.update.
201
+ if (series.userOptions && series.userOptions.marker) {
202
+ series.userOptions.marker.enabled = true;
203
+ }
204
+ series.update({
205
+ marker: {
206
+ enabled: resetMarkerOptions.enabled,
207
+ states: {
208
+ normal: { opacity: originalOpacity }
209
+ }
210
+ }
211
+ });
212
+ }
213
+ }
214
+ /**
215
+ * Reset markers if series is boosted and had forced markers (#17320).
216
+ * @private
217
+ */
218
+ function seriesOnRenderCanvas() {
219
+ if (this.boosted && this.a11yMarkersForced) {
220
+ merge(true, this.options, {
221
+ marker: {
222
+ enabled: false
223
+ }
224
+ });
225
+ delete this.a11yMarkersForced;
226
+ }
227
+ }
228
+ })(ForcedMarkersComposition || (ForcedMarkersComposition = {}));
229
+ /* *
230
+ *
231
+ * Default Export
232
+ *
233
+ * */
234
+ export default ForcedMarkersComposition;
@@ -0,0 +1,87 @@
1
+ import type Accessibility from '../../Accessibility';
2
+ import type Series from '../../../Core/Series/Series';
3
+ import Announcer from '../../Utils/Announcer.js';
4
+ import EventProvider from '../../Utils/EventProvider.js';
5
+ /**
6
+ * @private
7
+ * @class
8
+ */
9
+ declare class NewDataAnnouncer {
10
+ constructor(chart: Accessibility.ChartComposition);
11
+ announcer: Announcer;
12
+ chart: Accessibility.ChartComposition;
13
+ dirty: NewDataAnnouncer.DirtyObject;
14
+ eventProvider: EventProvider;
15
+ lastAnnouncementTime: number;
16
+ queuedAnnouncement?: NewDataAnnouncer.QueuedAnnouncementObject;
17
+ queuedAnnouncementTimer?: number;
18
+ /**
19
+ * Initialize the new data announcer.
20
+ * @private
21
+ */
22
+ init(): void;
23
+ /**
24
+ * Remove traces of announcer.
25
+ * @private
26
+ */
27
+ destroy(): void;
28
+ /**
29
+ * Add event listeners for the announcer
30
+ * @private
31
+ */
32
+ addEventListeners(): void;
33
+ /**
34
+ * On new data series added, update dirty list.
35
+ * @private
36
+ * @param {Highcharts.Series} series
37
+ */
38
+ onSeriesAdded(series: Accessibility.SeriesComposition): void;
39
+ /**
40
+ * Gather what we know and announce the data to user.
41
+ * @private
42
+ */
43
+ announceDirtyData(): void;
44
+ /**
45
+ * Announce to user that there is new data.
46
+ * @private
47
+ * @param {Array<Highcharts.Series>} dirtySeries
48
+ * Array of series with new data.
49
+ * @param {Highcharts.Series} [newSeries]
50
+ * If a single new series was added, a reference to this series.
51
+ * @param {Highcharts.Point} [newPoint]
52
+ * If a single point was added, a reference to this point.
53
+ */
54
+ queueAnnouncement(dirtySeries: Array<Accessibility.SeriesComposition>, newSeries?: Accessibility.SeriesComposition, newPoint?: Accessibility.PointComposition): void;
55
+ /**
56
+ * Get announcement message for new data.
57
+ * @private
58
+ * @param {Array<Highcharts.Series>} dirtySeries
59
+ * Array of series with new data.
60
+ * @param {Highcharts.Series} [newSeries]
61
+ * If a single new series was added, a reference to this series.
62
+ * @param {Highcharts.Point} [newPoint]
63
+ * If a single point was added, a reference to this point.
64
+ *
65
+ * @return {string|null}
66
+ * The announcement message to give to user.
67
+ */
68
+ buildAnnouncementMessage(dirtySeries: Array<Accessibility.SeriesComposition>, newSeries?: Accessibility.SeriesComposition, newPoint?: Accessibility.PointComposition): (string | null);
69
+ }
70
+ declare namespace NewDataAnnouncer {
71
+ interface DirtyObject {
72
+ allSeries: Record<string, Accessibility.SeriesComposition>;
73
+ hasDirty?: boolean;
74
+ newPoint?: Accessibility.PointComposition;
75
+ newSeries?: Accessibility.SeriesComposition;
76
+ }
77
+ interface QueuedAnnouncementObject {
78
+ message: string;
79
+ series: Array<Accessibility.SeriesComposition>;
80
+ time: number;
81
+ }
82
+ /**
83
+ * @private
84
+ */
85
+ function compose(SeriesClass: typeof Series): void;
86
+ }
87
+ export default NewDataAnnouncer;
@@ -0,0 +1,309 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Handle announcing new data for a chart.
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * */
12
+ 'use strict';
13
+ import H from '../../../Core/Globals.js';
14
+ const { composed } = H;
15
+ import U from '../../../Core/Utilities.js';
16
+ const { addEvent, defined, pushUnique } = U;
17
+ import Announcer from '../../Utils/Announcer.js';
18
+ import ChartUtilities from '../../Utils/ChartUtilities.js';
19
+ const { getChartTitle } = ChartUtilities;
20
+ import EventProvider from '../../Utils/EventProvider.js';
21
+ import SeriesDescriber from './SeriesDescriber.js';
22
+ const { defaultPointDescriptionFormatter, defaultSeriesDescriptionFormatter } = SeriesDescriber;
23
+ /* *
24
+ *
25
+ * Functions
26
+ *
27
+ * */
28
+ /* eslint-disable valid-jsdoc */
29
+ /**
30
+ * @private
31
+ */
32
+ function chartHasAnnounceEnabled(chart) {
33
+ return !!chart.options.accessibility.announceNewData.enabled;
34
+ }
35
+ /**
36
+ * @private
37
+ */
38
+ function findPointInDataArray(point) {
39
+ const candidates = point.series.data.filter((candidate) => (point.x === candidate.x && point.y === candidate.y));
40
+ return candidates.length === 1 ? candidates[0] : point;
41
+ }
42
+ /**
43
+ * Get array of unique series from two arrays
44
+ * @private
45
+ */
46
+ function getUniqueSeries(arrayA, arrayB) {
47
+ const uniqueSeries = (arrayA || []).concat(arrayB || []).reduce((acc, cur) => {
48
+ acc[cur.name + cur.index] = cur;
49
+ return acc;
50
+ }, {});
51
+ return Object
52
+ .keys(uniqueSeries)
53
+ .map((ix) => uniqueSeries[ix]);
54
+ }
55
+ /* *
56
+ *
57
+ * Class
58
+ *
59
+ * */
60
+ /**
61
+ * @private
62
+ * @class
63
+ */
64
+ class NewDataAnnouncer {
65
+ /* *
66
+ *
67
+ * Constructor
68
+ *
69
+ * */
70
+ constructor(chart) {
71
+ this.dirty = {
72
+ allSeries: {}
73
+ };
74
+ this.lastAnnouncementTime = 0;
75
+ this.chart = chart;
76
+ }
77
+ /* *
78
+ *
79
+ * Functions
80
+ *
81
+ * */
82
+ /* eslint-disable valid-jsdoc */
83
+ /**
84
+ * Initialize the new data announcer.
85
+ * @private
86
+ */
87
+ init() {
88
+ const chart = this.chart;
89
+ const announceOptions = (chart.options.accessibility.announceNewData);
90
+ const announceType = announceOptions.interruptUser ?
91
+ 'assertive' : 'polite';
92
+ this.lastAnnouncementTime = 0;
93
+ this.dirty = {
94
+ allSeries: {}
95
+ };
96
+ this.eventProvider = new EventProvider();
97
+ this.announcer = new Announcer(chart, announceType);
98
+ this.addEventListeners();
99
+ }
100
+ /**
101
+ * Remove traces of announcer.
102
+ * @private
103
+ */
104
+ destroy() {
105
+ this.eventProvider.removeAddedEvents();
106
+ this.announcer.destroy();
107
+ }
108
+ /**
109
+ * Add event listeners for the announcer
110
+ * @private
111
+ */
112
+ addEventListeners() {
113
+ const announcer = this, chart = this.chart, e = this.eventProvider;
114
+ e.addEvent(chart, 'afterApplyDrilldown', function () {
115
+ announcer.lastAnnouncementTime = 0;
116
+ });
117
+ e.addEvent(chart, 'afterAddSeries', function (e) {
118
+ announcer.onSeriesAdded(e.series);
119
+ });
120
+ e.addEvent(chart, 'redraw', function () {
121
+ announcer.announceDirtyData();
122
+ });
123
+ }
124
+ /**
125
+ * On new data series added, update dirty list.
126
+ * @private
127
+ * @param {Highcharts.Series} series
128
+ */
129
+ onSeriesAdded(series) {
130
+ if (chartHasAnnounceEnabled(this.chart)) {
131
+ this.dirty.hasDirty = true;
132
+ this.dirty.allSeries[series.name + series.index] = series;
133
+ // Add it to newSeries storage unless we already have one
134
+ this.dirty.newSeries = defined(this.dirty.newSeries) ?
135
+ void 0 : series;
136
+ }
137
+ }
138
+ /**
139
+ * Gather what we know and announce the data to user.
140
+ * @private
141
+ */
142
+ announceDirtyData() {
143
+ const chart = this.chart, announcer = this;
144
+ if (chart.options.accessibility.announceNewData &&
145
+ this.dirty.hasDirty) {
146
+ let newPoint = this.dirty.newPoint;
147
+ // If we have a single new point, see if we can find it in the
148
+ // data array. Otherwise we can only pass through options to
149
+ // the description builder, and it is a bit sparse in info.
150
+ if (newPoint) {
151
+ newPoint = findPointInDataArray(newPoint);
152
+ }
153
+ this.queueAnnouncement(Object
154
+ .keys(this.dirty.allSeries)
155
+ .map((ix) => announcer.dirty.allSeries[ix]), this.dirty.newSeries, newPoint);
156
+ // Reset
157
+ this.dirty = {
158
+ allSeries: {}
159
+ };
160
+ }
161
+ }
162
+ /**
163
+ * Announce to user that there is new data.
164
+ * @private
165
+ * @param {Array<Highcharts.Series>} dirtySeries
166
+ * Array of series with new data.
167
+ * @param {Highcharts.Series} [newSeries]
168
+ * If a single new series was added, a reference to this series.
169
+ * @param {Highcharts.Point} [newPoint]
170
+ * If a single point was added, a reference to this point.
171
+ */
172
+ queueAnnouncement(dirtySeries, newSeries, newPoint) {
173
+ const chart = this.chart;
174
+ const annOptions = chart.options.accessibility.announceNewData;
175
+ if (annOptions.enabled) {
176
+ const now = +new Date();
177
+ const dTime = now - this.lastAnnouncementTime;
178
+ const time = Math.max(0, annOptions.minAnnounceInterval - dTime);
179
+ // Add series from previously queued announcement.
180
+ const allSeries = getUniqueSeries(this.queuedAnnouncement && this.queuedAnnouncement.series, dirtySeries);
181
+ // Build message and announce
182
+ const message = this.buildAnnouncementMessage(allSeries, newSeries, newPoint);
183
+ if (message) {
184
+ // Is there already one queued?
185
+ if (this.queuedAnnouncement) {
186
+ clearTimeout(this.queuedAnnouncementTimer);
187
+ }
188
+ // Build the announcement
189
+ this.queuedAnnouncement = {
190
+ time: now,
191
+ message: message,
192
+ series: allSeries
193
+ };
194
+ // Queue the announcement
195
+ this.queuedAnnouncementTimer = setTimeout(() => {
196
+ if (this && this.announcer) {
197
+ this.lastAnnouncementTime = +new Date();
198
+ this.announcer.announce(this.queuedAnnouncement.message);
199
+ delete this.queuedAnnouncement;
200
+ delete this.queuedAnnouncementTimer;
201
+ }
202
+ }, time);
203
+ }
204
+ }
205
+ }
206
+ /**
207
+ * Get announcement message for new data.
208
+ * @private
209
+ * @param {Array<Highcharts.Series>} dirtySeries
210
+ * Array of series with new data.
211
+ * @param {Highcharts.Series} [newSeries]
212
+ * If a single new series was added, a reference to this series.
213
+ * @param {Highcharts.Point} [newPoint]
214
+ * If a single point was added, a reference to this point.
215
+ *
216
+ * @return {string|null}
217
+ * The announcement message to give to user.
218
+ */
219
+ buildAnnouncementMessage(dirtySeries, newSeries, newPoint) {
220
+ const chart = this.chart, annOptions = chart.options.accessibility.announceNewData;
221
+ // User supplied formatter?
222
+ if (annOptions.announcementFormatter) {
223
+ const formatterRes = annOptions.announcementFormatter(dirtySeries, newSeries, newPoint);
224
+ if (formatterRes !== false) {
225
+ return formatterRes.length ? formatterRes : null;
226
+ }
227
+ }
228
+ // Default formatter - use lang options
229
+ const multiple = H.charts && H.charts.length > 1 ?
230
+ 'Multiple' : 'Single', langKey = newSeries ? 'newSeriesAnnounce' + multiple :
231
+ newPoint ? 'newPointAnnounce' + multiple : 'newDataAnnounce', chartTitle = getChartTitle(chart);
232
+ return chart.langFormat('accessibility.announceNewData.' + langKey, {
233
+ chartTitle: chartTitle,
234
+ seriesDesc: newSeries ?
235
+ defaultSeriesDescriptionFormatter(newSeries) :
236
+ null,
237
+ pointDesc: newPoint ?
238
+ defaultPointDescriptionFormatter(newPoint) :
239
+ null,
240
+ point: newPoint,
241
+ series: newSeries
242
+ });
243
+ }
244
+ }
245
+ /* *
246
+ *
247
+ * Class Namespace
248
+ *
249
+ * */
250
+ (function (NewDataAnnouncer) {
251
+ /* *
252
+ *
253
+ * Declarations
254
+ *
255
+ * */
256
+ /* *
257
+ *
258
+ * Static Functions
259
+ *
260
+ * */
261
+ /**
262
+ * @private
263
+ */
264
+ function compose(SeriesClass) {
265
+ if (pushUnique(composed, 'A11y.NDA')) {
266
+ addEvent(SeriesClass, 'addPoint', seriesOnAddPoint);
267
+ addEvent(SeriesClass, 'updatedData', seriesOnUpdatedData);
268
+ }
269
+ }
270
+ NewDataAnnouncer.compose = compose;
271
+ /**
272
+ * On new point added, update dirty list.
273
+ * @private
274
+ * @param {Highcharts.Point} point
275
+ */
276
+ function seriesOnAddPoint(e) {
277
+ const chart = this.chart, newDataAnnouncer = chart.accessibility?.components
278
+ .series.newDataAnnouncer;
279
+ if (newDataAnnouncer &&
280
+ newDataAnnouncer.chart === chart &&
281
+ chartHasAnnounceEnabled(chart)) {
282
+ // Add it to newPoint storage unless we already have one
283
+ newDataAnnouncer.dirty.newPoint = (defined(newDataAnnouncer.dirty.newPoint) ?
284
+ void 0 :
285
+ e.point);
286
+ }
287
+ }
288
+ /**
289
+ * On new data in the series, make sure we add it to the dirty list.
290
+ * @private
291
+ * @param {Highcharts.Series} series
292
+ */
293
+ function seriesOnUpdatedData() {
294
+ const chart = this.chart, newDataAnnouncer = chart.accessibility?.components
295
+ .series.newDataAnnouncer;
296
+ if (newDataAnnouncer &&
297
+ newDataAnnouncer.chart === chart &&
298
+ chartHasAnnounceEnabled(chart)) {
299
+ newDataAnnouncer.dirty.hasDirty = true;
300
+ newDataAnnouncer.dirty.allSeries[this.name + this.index] = this;
301
+ }
302
+ }
303
+ })(NewDataAnnouncer || (NewDataAnnouncer = {}));
304
+ /* *
305
+ *
306
+ * Default Export
307
+ *
308
+ * */
309
+ export default NewDataAnnouncer;
@@ -0,0 +1,53 @@
1
+ import type Chart from '../../../Core/Chart/Chart';
2
+ import type KeyboardNavigationHandler from '../../KeyboardNavigationHandler';
3
+ import type Point from '../../../Core/Series/Point';
4
+ import AccessibilityComponent from '../../AccessibilityComponent.js';
5
+ import NewDataAnnouncer from './NewDataAnnouncer.js';
6
+ import Series from '../../../Core/Series/Series.js';
7
+ import SeriesKeyboardNavigation from './SeriesKeyboardNavigation.js';
8
+ /**
9
+ * The SeriesComponent class
10
+ *
11
+ * @private
12
+ * @class
13
+ * @name Highcharts.SeriesComponent
14
+ */
15
+ declare class SeriesComponent extends AccessibilityComponent {
16
+ /**
17
+ * @private
18
+ */
19
+ static compose(ChartClass: typeof Chart, PointClass: typeof Point, SeriesClass: typeof Series): void;
20
+ keyboardNavigation?: SeriesKeyboardNavigation;
21
+ newDataAnnouncer?: NewDataAnnouncer;
22
+ /**
23
+ * Init the component.
24
+ */
25
+ init(): void;
26
+ /**
27
+ * @private
28
+ */
29
+ hideTooltipFromATWhenShown(): void;
30
+ /**
31
+ * @private
32
+ */
33
+ hideSeriesLabelsFromATWhenShown(): void;
34
+ /**
35
+ * Called on chart render. It is necessary to do this for render in case
36
+ * markers change on zoom/pixel density.
37
+ */
38
+ onChartRender(): void;
39
+ /**
40
+ * Get keyboard navigation handler for this component.
41
+ * @private
42
+ */
43
+ getKeyboardNavigation(): KeyboardNavigationHandler;
44
+ /**
45
+ * Remove traces
46
+ * @private
47
+ */
48
+ destroy(): void;
49
+ }
50
+ interface SeriesComponent {
51
+ chart: SeriesKeyboardNavigation.ChartComposition;
52
+ }
53
+ export default SeriesComponent;