@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,402 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Accessibility module for Highcharts
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 D from '../Core/Defaults.js';
14
+ const { defaultOptions } = D;
15
+ import H from '../Core/Globals.js';
16
+ const { doc } = H;
17
+ import U from '../Core/Utilities.js';
18
+ const { addEvent, extend, fireEvent, merge } = U;
19
+ import HU from './Utils/HTMLUtilities.js';
20
+ const { removeElement } = HU;
21
+ import A11yI18n from './A11yI18n.js';
22
+ import ContainerComponent from './Components/ContainerComponent.js';
23
+ import FocusBorderComposition from './FocusBorder.js';
24
+ import InfoRegionsComponent from './Components/InfoRegionsComponent.js';
25
+ import KeyboardNavigation from './KeyboardNavigation.js';
26
+ import LegendComponent from './Components/LegendComponent.js';
27
+ import MenuComponent from './Components/MenuComponent.js';
28
+ import NavigatorComponent from './Components/NavigatorComponent.js';
29
+ import NewDataAnnouncer from './Components/SeriesComponent/NewDataAnnouncer.js';
30
+ import ProxyProvider from './ProxyProvider.js';
31
+ import RangeSelectorComponent from './Components/RangeSelectorComponent.js';
32
+ import SeriesComponent from './Components/SeriesComponent/SeriesComponent.js';
33
+ import ZoomComponent from './Components/ZoomComponent.js';
34
+ import whcm from './HighContrastMode.js';
35
+ import highContrastTheme from './HighContrastTheme.js';
36
+ import defaultOptionsA11Y from './Options/A11yDefaults.js';
37
+ import defaultLangOptions from './Options/LangDefaults.js';
38
+ import copyDeprecatedOptions from './Options/DeprecatedOptions.js';
39
+ /* *
40
+ *
41
+ * Class
42
+ *
43
+ * */
44
+ /**
45
+ * The Accessibility class
46
+ *
47
+ * @private
48
+ * @requires modules/accessibility
49
+ *
50
+ * @class
51
+ * @name Highcharts.Accessibility
52
+ *
53
+ * @param {Highcharts.Chart} chart
54
+ * Chart object
55
+ */
56
+ class Accessibility {
57
+ /* *
58
+ *
59
+ * Constructor
60
+ *
61
+ * */
62
+ constructor(chart) {
63
+ this.init(chart);
64
+ }
65
+ /* *
66
+ *
67
+ * Functions
68
+ *
69
+ * */
70
+ /**
71
+ * Initialize the accessibility class
72
+ * @private
73
+ * @param {Highcharts.Chart} chart
74
+ * Chart object
75
+ */
76
+ init(chart) {
77
+ this.chart = chart;
78
+ // Abort on old browsers
79
+ if (!doc?.addEventListener) {
80
+ this.zombie = true;
81
+ this.components = {};
82
+ chart.renderTo.setAttribute('aria-hidden', true);
83
+ return;
84
+ }
85
+ // Copy over any deprecated options that are used. We could do this on
86
+ // every update, but it is probably not needed.
87
+ copyDeprecatedOptions(chart);
88
+ this.proxyProvider = new ProxyProvider(this.chart);
89
+ this.initComponents();
90
+ this.keyboardNavigation = new KeyboardNavigation(chart, this.components);
91
+ }
92
+ /**
93
+ * @private
94
+ */
95
+ initComponents() {
96
+ const chart = this.chart;
97
+ const proxyProvider = this.proxyProvider;
98
+ const a11yOptions = chart.options.accessibility;
99
+ this.components = {
100
+ container: new ContainerComponent(),
101
+ infoRegions: new InfoRegionsComponent(),
102
+ legend: new LegendComponent(),
103
+ chartMenu: new MenuComponent(),
104
+ rangeSelector: new RangeSelectorComponent(),
105
+ series: new SeriesComponent(),
106
+ zoom: new ZoomComponent(),
107
+ navigator: new NavigatorComponent()
108
+ };
109
+ if (a11yOptions.customComponents) {
110
+ extend(this.components, a11yOptions.customComponents);
111
+ }
112
+ const components = this.components;
113
+ this.getComponentOrder().forEach(function (componentName) {
114
+ components[componentName].initBase(chart, proxyProvider);
115
+ components[componentName].init();
116
+ });
117
+ }
118
+ /**
119
+ * Get order to update components in.
120
+ * @private
121
+ */
122
+ getComponentOrder() {
123
+ if (!this.components) {
124
+ return []; // For zombie accessibility object on old browsers
125
+ }
126
+ if (!this.components.series) {
127
+ return Object.keys(this.components);
128
+ }
129
+ const componentsExceptSeries = Object.keys(this.components)
130
+ .filter((c) => c !== 'series');
131
+ // Update series first, so that other components can read accessibility
132
+ // info on points.
133
+ return ['series'].concat(componentsExceptSeries);
134
+ }
135
+ /**
136
+ * Update all components.
137
+ */
138
+ update() {
139
+ const components = this.components, chart = this.chart, a11yOptions = chart.options.accessibility;
140
+ fireEvent(chart, 'beforeA11yUpdate');
141
+ // Update the chart type list as this is used by multiple modules
142
+ chart.types = this.getChartTypes();
143
+ // Update proxies. We don't update proxy positions since most likely we
144
+ // need to recreate the proxies on update.
145
+ const kbdNavOrder = a11yOptions.keyboardNavigation.order;
146
+ this.proxyProvider.updateGroupOrder(kbdNavOrder);
147
+ // Update markup
148
+ this.getComponentOrder().forEach(function (componentName) {
149
+ components[componentName].onChartUpdate();
150
+ fireEvent(chart, 'afterA11yComponentUpdate', {
151
+ name: componentName,
152
+ component: components[componentName]
153
+ });
154
+ });
155
+ // Update keyboard navigation
156
+ this.keyboardNavigation.update(kbdNavOrder);
157
+ // Handle high contrast mode
158
+ // Should only be applied once, and not if explicitly disabled
159
+ if (!chart.highContrastModeActive &&
160
+ a11yOptions.highContrastMode !== false && (whcm.isHighContrastModeActive() ||
161
+ a11yOptions.highContrastMode === true)) {
162
+ whcm.setHighContrastTheme(chart);
163
+ }
164
+ fireEvent(chart, 'afterA11yUpdate', {
165
+ accessibility: this
166
+ });
167
+ }
168
+ /**
169
+ * Destroy all elements.
170
+ */
171
+ destroy() {
172
+ const chart = this.chart || {};
173
+ // Destroy components
174
+ const components = this.components;
175
+ Object.keys(components).forEach(function (componentName) {
176
+ components[componentName].destroy();
177
+ components[componentName].destroyBase();
178
+ });
179
+ // Destroy proxy provider
180
+ if (this.proxyProvider) {
181
+ this.proxyProvider.destroy();
182
+ }
183
+ // Remove announcer container
184
+ if (chart.announcerContainer) {
185
+ removeElement(chart.announcerContainer);
186
+ }
187
+ // Kill keyboard nav
188
+ if (this.keyboardNavigation) {
189
+ this.keyboardNavigation.destroy();
190
+ }
191
+ // Hide container from screen readers if it exists
192
+ if (chart.renderTo) {
193
+ chart.renderTo.setAttribute('aria-hidden', true);
194
+ }
195
+ // Remove focus border if it exists
196
+ if (chart.focusElement) {
197
+ chart.focusElement.removeFocusBorder();
198
+ }
199
+ }
200
+ /**
201
+ * Return a list of the types of series we have in the chart.
202
+ * @private
203
+ */
204
+ getChartTypes() {
205
+ const types = {};
206
+ this.chart.series.forEach(function (series) {
207
+ types[series.type] = 1;
208
+ });
209
+ return Object.keys(types);
210
+ }
211
+ }
212
+ /* *
213
+ *
214
+ * Class Namespace
215
+ *
216
+ * */
217
+ (function (Accessibility) {
218
+ /* *
219
+ *
220
+ * Declarations
221
+ *
222
+ * */
223
+ /* *
224
+ *
225
+ * Constants
226
+ *
227
+ * */
228
+ Accessibility.i18nFormat = A11yI18n.i18nFormat;
229
+ /* *
230
+ *
231
+ * Functions
232
+ *
233
+ * */
234
+ /**
235
+ * Destroy with chart.
236
+ * @private
237
+ */
238
+ function chartOnDestroy() {
239
+ if (this.accessibility) {
240
+ this.accessibility.destroy();
241
+ }
242
+ }
243
+ /**
244
+ * Handle updates to the module and send render updates to components.
245
+ * @private
246
+ */
247
+ function chartOnRender() {
248
+ // Update/destroy
249
+ if (this.a11yDirty && this.renderTo) {
250
+ delete this.a11yDirty;
251
+ this.updateA11yEnabled();
252
+ }
253
+ const a11y = this.accessibility;
254
+ if (a11y && !a11y.zombie) {
255
+ a11y.proxyProvider.updateProxyElementPositions();
256
+ a11y.getComponentOrder().forEach(function (componentName) {
257
+ a11y.components[componentName].onChartRender();
258
+ });
259
+ }
260
+ }
261
+ /**
262
+ * Update with chart/series/point updates.
263
+ * @private
264
+ */
265
+ function chartOnUpdate(e) {
266
+ // Merge new options
267
+ const newOptions = e.options.accessibility;
268
+ if (newOptions) {
269
+ // Handle custom component updating specifically
270
+ if (newOptions.customComponents) {
271
+ this.options.accessibility.customComponents =
272
+ newOptions.customComponents;
273
+ delete newOptions.customComponents;
274
+ }
275
+ merge(true, this.options.accessibility, newOptions);
276
+ // Recreate from scratch
277
+ if (this.accessibility && this.accessibility.destroy) {
278
+ this.accessibility.destroy();
279
+ delete this.accessibility;
280
+ }
281
+ }
282
+ // Mark dirty for update
283
+ this.a11yDirty = true;
284
+ }
285
+ /**
286
+ * @private
287
+ */
288
+ function chartUpdateA11yEnabled() {
289
+ let a11y = this.accessibility;
290
+ const accessibilityOptions = this.options.accessibility, svg = this.renderer.boxWrapper.element, title = this.title;
291
+ if (accessibilityOptions && accessibilityOptions.enabled) {
292
+ if (a11y && !a11y.zombie) {
293
+ a11y.update();
294
+ }
295
+ else {
296
+ this.accessibility = a11y = new Accessibility(this);
297
+ if (a11y && !a11y.zombie) {
298
+ a11y.update();
299
+ }
300
+ // If a11y has been disabled, and is now enabled
301
+ if (svg.getAttribute('role') === 'img') {
302
+ svg.removeAttribute('role');
303
+ }
304
+ }
305
+ }
306
+ else if (a11y) {
307
+ // Destroy if after update we have a11y and it is disabled
308
+ if (a11y.destroy) {
309
+ a11y.destroy();
310
+ }
311
+ delete this.accessibility;
312
+ }
313
+ else {
314
+ // If a11y has been disabled dynamically or is disabled
315
+ this.renderTo.setAttribute('role', 'img');
316
+ this.renderTo.setAttribute('aria-hidden', false);
317
+ this.renderTo.setAttribute('aria-label', ((title && title.element.textContent) || '').replace(/</g, '&lt;'));
318
+ svg.setAttribute('aria-hidden', true);
319
+ const description = document.getElementsByClassName('highcharts-description')[0];
320
+ if (description) {
321
+ description.setAttribute('aria-hidden', false);
322
+ description.classList.remove('highcharts-linked-description');
323
+ }
324
+ }
325
+ }
326
+ /**
327
+ * @private
328
+ */
329
+ function compose(ChartClass, LegendClass, PointClass, SeriesClass, SVGElementClass, RangeSelectorClass) {
330
+ // Ordered:
331
+ KeyboardNavigation.compose(ChartClass);
332
+ NewDataAnnouncer.compose(SeriesClass);
333
+ LegendComponent.compose(ChartClass, LegendClass);
334
+ MenuComponent.compose(ChartClass);
335
+ SeriesComponent.compose(ChartClass, PointClass, SeriesClass);
336
+ A11yI18n.compose(ChartClass);
337
+ FocusBorderComposition.compose(ChartClass, SVGElementClass);
338
+ // RangeSelector
339
+ if (RangeSelectorClass) {
340
+ RangeSelectorComponent.compose(ChartClass, RangeSelectorClass);
341
+ }
342
+ const chartProto = ChartClass.prototype;
343
+ if (!chartProto.updateA11yEnabled) {
344
+ chartProto.updateA11yEnabled = chartUpdateA11yEnabled;
345
+ addEvent(ChartClass, 'destroy', chartOnDestroy);
346
+ addEvent(ChartClass, 'render', chartOnRender);
347
+ addEvent(ChartClass, 'update', chartOnUpdate);
348
+ // Mark dirty for update
349
+ ['addSeries', 'init'].forEach((event) => {
350
+ addEvent(ChartClass, event, function () {
351
+ this.a11yDirty = true;
352
+ });
353
+ });
354
+ // Direct updates (events happen after render)
355
+ ['afterApplyDrilldown', 'drillupall'].forEach((event) => {
356
+ addEvent(ChartClass, event, function chartOnAfterDrilldown() {
357
+ const a11y = this.accessibility;
358
+ if (a11y && !a11y.zombie) {
359
+ a11y.update();
360
+ }
361
+ });
362
+ });
363
+ addEvent(PointClass, 'update', pointOnUpdate);
364
+ // Mark dirty for update
365
+ ['update', 'updatedData', 'remove'].forEach((event) => {
366
+ addEvent(SeriesClass, event, function () {
367
+ if (this.chart.accessibility) {
368
+ this.chart.a11yDirty = true;
369
+ }
370
+ });
371
+ });
372
+ }
373
+ }
374
+ Accessibility.compose = compose;
375
+ /**
376
+ * Mark dirty for update.
377
+ * @private
378
+ */
379
+ function pointOnUpdate() {
380
+ if (this.series.chart.accessibility) {
381
+ this.series.chart.a11yDirty = true;
382
+ }
383
+ }
384
+ })(Accessibility || (Accessibility = {}));
385
+ /* *
386
+ *
387
+ * Registry
388
+ *
389
+ * */
390
+ // Add default options
391
+ merge(true, defaultOptions, defaultOptionsA11Y, {
392
+ accessibility: {
393
+ highContrastTheme: highContrastTheme
394
+ },
395
+ lang: defaultLangOptions
396
+ });
397
+ /* *
398
+ *
399
+ * Default Export
400
+ *
401
+ * */
402
+ export default Accessibility;
@@ -0,0 +1,97 @@
1
+ import type Accessibility from './Accessibility';
2
+ import type EventCallback from '../Core/EventCallback';
3
+ import type { DOMElementType } from '../Core/Renderer/DOMElementType';
4
+ import type HTMLElement from '../Core/Renderer/HTML/HTMLElement';
5
+ import type KeyboardNavigationHandler from './KeyboardNavigationHandler';
6
+ import type SVGElement from '../Core/Renderer/SVG/SVGElement';
7
+ import type ProxyProvider from './ProxyProvider';
8
+ import DOMElementProvider from './Utils/DOMElementProvider.js';
9
+ import EventProvider from './Utils/EventProvider.js';
10
+ import U from '../Core/Utilities.js';
11
+ /**
12
+ * The AccessibilityComponent base class, representing a part of the chart that
13
+ * has accessibility logic connected to it. This class can be inherited from to
14
+ * create a custom accessibility component for a chart.
15
+ *
16
+ * Components should take care to destroy added elements and unregister event
17
+ * handlers on destroy. This is handled automatically if using `this.addEvent`
18
+ * and `this.createElement`.
19
+ *
20
+ * @sample highcharts/accessibility/custom-component
21
+ * Custom accessibility component
22
+ *
23
+ * @requires modules/accessibility
24
+ * @class
25
+ * @name Highcharts.AccessibilityComponent
26
+ */
27
+ declare class AccessibilityComponent {
28
+ chart: Accessibility.ChartComposition;
29
+ domElementProvider: DOMElementProvider;
30
+ eventProvider: EventProvider;
31
+ keyCodes: Record<string, number>;
32
+ proxyProvider: ProxyProvider;
33
+ /**
34
+ * Called when accessibility is disabled or chart is destroyed.
35
+ *
36
+ * @function Highcharts.AccessibilityComponent#destroy
37
+ */
38
+ destroy(): void;
39
+ /**
40
+ * Get keyboard navigation handler for this component.
41
+ *
42
+ * @function Highcharts.AccessibilityComponent#getKeyboardNavigation
43
+ * @return {Highcharts.KeyboardNavigationHandler|Array<Highcharts.KeyboardNavigationHandler>}
44
+ * The keyboard navigation handler(s) for this component.
45
+ */
46
+ getKeyboardNavigation(): (KeyboardNavigationHandler | Array<KeyboardNavigationHandler>);
47
+ /**
48
+ * Called on component initialization.
49
+ *
50
+ * @function Highcharts.AccessibilityComponent#init
51
+ */
52
+ init(): void;
53
+ /**
54
+ * Called on every chart render.
55
+ *
56
+ * @function Highcharts.AccessibilityComponent#onChartRender
57
+ */
58
+ onChartRender(): void;
59
+ /**
60
+ * Called on updates to the chart, including options changes.
61
+ * Note that this is also called on first render of chart.
62
+ *
63
+ * @function Highcharts.AccessibilityComponent#onChartUpdate
64
+ */
65
+ onChartUpdate(): void;
66
+ /**
67
+ * Initialize the class
68
+ * @private
69
+ * @param {Highcharts.Chart} chart The chart object
70
+ * @param {Highcharts.ProxyProvider} proxyProvider The proxy provider of the accessibility module
71
+ */
72
+ initBase(chart: Accessibility.ChartComposition, proxyProvider: ProxyProvider): void;
73
+ /**
74
+ * Add an event to an element and keep track of it for later removal.
75
+ * See EventProvider for details.
76
+ * @private
77
+ */
78
+ addEvent<T>(el: (T | Class<T>), type: string, fn: (Function | EventCallback<T>), options?: U.EventOptions): Function;
79
+ /**
80
+ * Create an element and keep track of it for later removal.
81
+ * See DOMElementProvider for details.
82
+ * @private
83
+ */
84
+ createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];
85
+ /**
86
+ * Fire a fake click event on an element. It is useful to have this on
87
+ * AccessibilityComponent for users of custom components.
88
+ * @private
89
+ */
90
+ fakeClickEvent(el: (HTMLElement | SVGElement | DOMElementType)): void;
91
+ /**
92
+ * Remove traces of the component.
93
+ * @private
94
+ */
95
+ destroyBase(): void;
96
+ }
97
+ export default AccessibilityComponent;
@@ -0,0 +1,147 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Accessibility component class definition
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 CU from './Utils/ChartUtilities.js';
14
+ const { fireEventOnWrappedOrUnwrappedElement } = CU;
15
+ import DOMElementProvider from './Utils/DOMElementProvider.js';
16
+ import EventProvider from './Utils/EventProvider.js';
17
+ import HU from './Utils/HTMLUtilities.js';
18
+ const { getFakeMouseEvent } = HU;
19
+ /* *
20
+ *
21
+ * Class
22
+ *
23
+ * */
24
+ /**
25
+ * The AccessibilityComponent base class, representing a part of the chart that
26
+ * has accessibility logic connected to it. This class can be inherited from to
27
+ * create a custom accessibility component for a chart.
28
+ *
29
+ * Components should take care to destroy added elements and unregister event
30
+ * handlers on destroy. This is handled automatically if using `this.addEvent`
31
+ * and `this.createElement`.
32
+ *
33
+ * @sample highcharts/accessibility/custom-component
34
+ * Custom accessibility component
35
+ *
36
+ * @requires modules/accessibility
37
+ * @class
38
+ * @name Highcharts.AccessibilityComponent
39
+ */
40
+ class AccessibilityComponent {
41
+ /* *
42
+ *
43
+ * Functions
44
+ *
45
+ * */
46
+ /**
47
+ * Called when accessibility is disabled or chart is destroyed.
48
+ *
49
+ * @function Highcharts.AccessibilityComponent#destroy
50
+ */
51
+ destroy() { }
52
+ /**
53
+ * Get keyboard navigation handler for this component.
54
+ *
55
+ * @function Highcharts.AccessibilityComponent#getKeyboardNavigation
56
+ * @return {Highcharts.KeyboardNavigationHandler|Array<Highcharts.KeyboardNavigationHandler>}
57
+ * The keyboard navigation handler(s) for this component.
58
+ */
59
+ getKeyboardNavigation() {
60
+ return [];
61
+ }
62
+ /**
63
+ * Called on component initialization.
64
+ *
65
+ * @function Highcharts.AccessibilityComponent#init
66
+ */
67
+ init() { }
68
+ /**
69
+ * Called on every chart render.
70
+ *
71
+ * @function Highcharts.AccessibilityComponent#onChartRender
72
+ */
73
+ onChartRender() { }
74
+ /**
75
+ * Called on updates to the chart, including options changes.
76
+ * Note that this is also called on first render of chart.
77
+ *
78
+ * @function Highcharts.AccessibilityComponent#onChartUpdate
79
+ */
80
+ onChartUpdate() { }
81
+ /**
82
+ * Initialize the class
83
+ * @private
84
+ * @param {Highcharts.Chart} chart The chart object
85
+ * @param {Highcharts.ProxyProvider} proxyProvider The proxy provider of the accessibility module
86
+ */
87
+ initBase(chart, proxyProvider) {
88
+ this.chart = chart;
89
+ this.eventProvider = new EventProvider();
90
+ this.domElementProvider = new DOMElementProvider();
91
+ this.proxyProvider = proxyProvider;
92
+ // Key code enum for common keys
93
+ this.keyCodes = {
94
+ left: 37,
95
+ right: 39,
96
+ up: 38,
97
+ down: 40,
98
+ enter: 13,
99
+ space: 32,
100
+ esc: 27,
101
+ tab: 9,
102
+ pageUp: 33,
103
+ pageDown: 34,
104
+ end: 35,
105
+ home: 36
106
+ };
107
+ }
108
+ /**
109
+ * Add an event to an element and keep track of it for later removal.
110
+ * See EventProvider for details.
111
+ * @private
112
+ */
113
+ addEvent(el, type, fn, options) {
114
+ return this.eventProvider.addEvent(el, type, fn, options);
115
+ }
116
+ /**
117
+ * Create an element and keep track of it for later removal.
118
+ * See DOMElementProvider for details.
119
+ * @private
120
+ */
121
+ createElement(tagName, options) {
122
+ return this.domElementProvider.createElement(tagName, options);
123
+ }
124
+ /**
125
+ * Fire a fake click event on an element. It is useful to have this on
126
+ * AccessibilityComponent for users of custom components.
127
+ * @private
128
+ */
129
+ fakeClickEvent(el) {
130
+ const fakeEvent = getFakeMouseEvent('click');
131
+ fireEventOnWrappedOrUnwrappedElement(el, fakeEvent);
132
+ }
133
+ /**
134
+ * Remove traces of the component.
135
+ * @private
136
+ */
137
+ destroyBase() {
138
+ this.domElementProvider.destroyCreatedElements();
139
+ this.eventProvider.removeAddedEvents();
140
+ }
141
+ }
142
+ /* *
143
+ *
144
+ * Default Export
145
+ *
146
+ * */
147
+ export default AccessibilityComponent;
@@ -0,0 +1,43 @@
1
+ import type AnnotationChart from '../../Extensions/Annotations/AnnotationChart';
2
+ import type { AnnotationPoint } from '../../Extensions/Annotations/AnnotationSeries';
3
+ import type { ControllableLabelType } from '../../Extensions/Annotations/Controllables/ControllableType';
4
+ /**
5
+ * Describe an annotation label.
6
+ *
7
+ * @private
8
+ * @param {Object} label The annotation label object to describe
9
+ * @return {string} The description for the label.
10
+ */
11
+ declare function getAnnotationLabelDescription(label: ControllableLabelType): string;
12
+ /**
13
+ * Return array of HTML strings for each annotation label in the chart.
14
+ *
15
+ * @private
16
+ * @param {Highcharts.Chart} chart The chart to get annotation info on.
17
+ * @return {Array<string>} Array of strings with HTML content for each annotation label.
18
+ */
19
+ declare function getAnnotationListItems(chart: AnnotationChart): string[];
20
+ /**
21
+ * Return the annotation info for a chart as string.
22
+ *
23
+ * @private
24
+ * @param {Highcharts.Chart} chart The chart to get annotation info on.
25
+ * @return {string} String with HTML content or empty string if no annotations.
26
+ */
27
+ declare function getAnnotationsInfoHTML(chart: AnnotationChart): string;
28
+ /**
29
+ * Return the texts for the annotation(s) connected to a point, or empty array
30
+ * if none.
31
+ *
32
+ * @private
33
+ * @param {Highcharts.Point} point The data point to get the annotation info from.
34
+ * @return {Array<string>} Annotation texts
35
+ */
36
+ declare function getPointAnnotationTexts(point: AnnotationPoint): Array<string>;
37
+ declare const AnnotationsA11y: {
38
+ getAnnotationsInfoHTML: typeof getAnnotationsInfoHTML;
39
+ getAnnotationLabelDescription: typeof getAnnotationLabelDescription;
40
+ getAnnotationListItems: typeof getAnnotationListItems;
41
+ getPointAnnotationTexts: typeof getPointAnnotationTexts;
42
+ };
43
+ export default AnnotationsA11y;