@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,90 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Create announcer to speak messages to screen readers and other AT.
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 AST from '../../Core/Renderer/HTML/AST.js';
14
+ import DOMElementProvider from './DOMElementProvider.js';
15
+ import H from '../../Core/Globals.js';
16
+ const { doc } = H;
17
+ import HU from './HTMLUtilities.js';
18
+ const { addClass, visuallyHideElement } = HU;
19
+ import U from '../../Core/Utilities.js';
20
+ const { attr } = U;
21
+ /* *
22
+ *
23
+ * Class
24
+ *
25
+ * */
26
+ class Announcer {
27
+ /* *
28
+ *
29
+ * Constructor
30
+ *
31
+ * */
32
+ constructor(chart, type) {
33
+ this.chart = chart;
34
+ this.domElementProvider = new DOMElementProvider();
35
+ this.announceRegion = this.addAnnounceRegion(type);
36
+ }
37
+ /* *
38
+ *
39
+ * Functions
40
+ *
41
+ * */
42
+ destroy() {
43
+ this.domElementProvider.destroyCreatedElements();
44
+ }
45
+ announce(message) {
46
+ AST.setElementHTML(this.announceRegion, message);
47
+ // Delete contents after a little while to avoid user finding the live
48
+ // region in the DOM.
49
+ if (this.clearAnnouncementRegionTimer) {
50
+ clearTimeout(this.clearAnnouncementRegionTimer);
51
+ }
52
+ this.clearAnnouncementRegionTimer = setTimeout(() => {
53
+ this.announceRegion.innerHTML = AST.emptyHTML;
54
+ delete this.clearAnnouncementRegionTimer;
55
+ }, 3000);
56
+ }
57
+ addAnnounceRegion(type) {
58
+ const chartContainer = (this.chart.announcerContainer || this.createAnnouncerContainer()), div = this.domElementProvider.createElement('div');
59
+ attr(div, {
60
+ 'aria-hidden': false,
61
+ 'aria-live': type,
62
+ 'aria-atomic': true
63
+ });
64
+ if (this.chart.styledMode) {
65
+ addClass(div, 'highcharts-visually-hidden');
66
+ }
67
+ else {
68
+ visuallyHideElement(div);
69
+ }
70
+ chartContainer.appendChild(div);
71
+ return div;
72
+ }
73
+ createAnnouncerContainer() {
74
+ const chart = this.chart, container = doc.createElement('div');
75
+ attr(container, {
76
+ 'aria-hidden': false,
77
+ 'class': 'highcharts-announcer-container'
78
+ });
79
+ container.style.position = 'relative';
80
+ chart.renderTo.insertBefore(container, chart.renderTo.firstChild);
81
+ chart.announcerContainer = container;
82
+ return container;
83
+ }
84
+ }
85
+ /* *
86
+ *
87
+ * Default Export
88
+ *
89
+ * */
90
+ export default Announcer;
@@ -0,0 +1,90 @@
1
+ import type Accessibility from '../Accessibility';
2
+ import type Axis from '../../Core/Axis/Axis';
3
+ import type Chart from '../../Core/Chart/Chart';
4
+ import type { DOMElementType } from '../../Core/Renderer/DOMElementType';
5
+ import type Point from '../../Core/Series/Point';
6
+ import type Series from '../../Core/Series/Series';
7
+ import type HTMLElement from '../../Core/Renderer/HTML/HTMLElement';
8
+ import type SVGElement from '../../Core/Renderer/SVG/SVGElement';
9
+ /**
10
+ * Fire an event on an element that is either wrapped by Highcharts,
11
+ * or a DOM element.
12
+ * @private
13
+ */
14
+ declare function fireEventOnWrappedOrUnwrappedElement(el: (HTMLElement | SVGElement | DOMElementType), eventObject: Event): void;
15
+ /**
16
+ * @private
17
+ */
18
+ declare function getChartTitle(chart: Accessibility.ChartComposition): string;
19
+ /**
20
+ * Return string with the axis name/title.
21
+ * @private
22
+ */
23
+ declare function getAxisDescription(axis: Axis): string;
24
+ /**
25
+ * Return string with text description of the axis range.
26
+ * @private
27
+ * @param {Highcharts.Axis} axis
28
+ * The axis to get range desc of.
29
+ * @return {string}
30
+ * A string with the range description for the axis.
31
+ */
32
+ declare function getAxisRangeDescription(axis: Axis): string;
33
+ /**
34
+ * Get the DOM element for the first point in the series.
35
+ * @private
36
+ * @param {Highcharts.Series} series
37
+ * The series to get element for.
38
+ * @return {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement|undefined}
39
+ * The DOM element for the point.
40
+ */
41
+ declare function getSeriesFirstPointElement(series: Series): (DOMElementType | undefined);
42
+ /**
43
+ * Get the DOM element for the series that we put accessibility info on.
44
+ * @private
45
+ * @param {Highcharts.Series} series
46
+ * The series to get element for.
47
+ * @return {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement|undefined}
48
+ * The DOM element for the series
49
+ */
50
+ declare function getSeriesA11yElement(series: Series): (DOMElementType | undefined);
51
+ /**
52
+ * Remove aria-hidden from element. Also unhides parents of the element, and
53
+ * hides siblings that are not explicitly unhidden.
54
+ * @private
55
+ */
56
+ declare function unhideChartElementFromAT(chart: Chart, element: DOMElementType): void;
57
+ /**
58
+ * Hide series from screen readers.
59
+ * @private
60
+ */
61
+ declare function hideSeriesFromAT(series: Series): void;
62
+ /**
63
+ * Get series objects by series name.
64
+ * @private
65
+ */
66
+ declare function getSeriesFromName<T extends Chart>(chart: T, name: string): T['series'];
67
+ /**
68
+ * Get point in a series from x/y values.
69
+ * @private
70
+ */
71
+ declare function getPointFromXY<T extends Series>(series: Array<T>, x: number, y: number): (T['points'][0] | undefined);
72
+ /**
73
+ * Get relative position of point on an x/y axis from 0 to 1.
74
+ * @private
75
+ */
76
+ declare function scrollAxisToPoint(point: Point): void;
77
+ declare const ChartUtilities: {
78
+ fireEventOnWrappedOrUnwrappedElement: typeof fireEventOnWrappedOrUnwrappedElement;
79
+ getChartTitle: typeof getChartTitle;
80
+ getAxisDescription: typeof getAxisDescription;
81
+ getAxisRangeDescription: typeof getAxisRangeDescription;
82
+ getPointFromXY: typeof getPointFromXY;
83
+ getSeriesFirstPointElement: typeof getSeriesFirstPointElement;
84
+ getSeriesFromName: typeof getSeriesFromName;
85
+ getSeriesA11yElement: typeof getSeriesA11yElement;
86
+ unhideChartElementFromAT: typeof unhideChartElementFromAT;
87
+ hideSeriesFromAT: typeof hideSeriesFromAT;
88
+ scrollAxisToPoint: typeof scrollAxisToPoint;
89
+ };
90
+ export default ChartUtilities;
@@ -0,0 +1,298 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Utils for dealing with charts.
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 { doc } = H;
15
+ import HU from './HTMLUtilities.js';
16
+ const { stripHTMLTagsFromString: stripHTMLTags } = HU;
17
+ import U from '../../Core/Utilities.js';
18
+ const { defined, find, fireEvent } = U;
19
+ /* *
20
+ *
21
+ * Functions
22
+ *
23
+ * */
24
+ /* eslint-disable valid-jsdoc */
25
+ /**
26
+ * Fire an event on an element that is either wrapped by Highcharts,
27
+ * or a DOM element.
28
+ * @private
29
+ */
30
+ function fireEventOnWrappedOrUnwrappedElement(el, eventObject) {
31
+ const type = eventObject.type;
32
+ const hcEvents = el.hcEvents;
33
+ if (!!doc?.createEvent &&
34
+ (el.dispatchEvent || el.fireEvent)) {
35
+ if (el.dispatchEvent) {
36
+ el.dispatchEvent(eventObject);
37
+ }
38
+ else {
39
+ el.fireEvent(type, eventObject);
40
+ }
41
+ }
42
+ else if (hcEvents && hcEvents[type]) {
43
+ fireEvent(el, type, eventObject);
44
+ }
45
+ else if (el.element) {
46
+ fireEventOnWrappedOrUnwrappedElement(el.element, eventObject);
47
+ }
48
+ }
49
+ /**
50
+ * @private
51
+ */
52
+ function getChartTitle(chart) {
53
+ return stripHTMLTags(chart.options.title.text ||
54
+ chart.langFormat('accessibility.defaultChartTitle', { chart: chart }), chart.renderer.forExport);
55
+ }
56
+ /**
57
+ * Return string with the axis name/title.
58
+ * @private
59
+ */
60
+ function getAxisDescription(axis) {
61
+ return axis && (axis.options.accessibility?.description ||
62
+ axis.axisTitle?.textStr ||
63
+ axis.options.id ||
64
+ axis.categories && 'categories' ||
65
+ axis.dateTime && 'Time' ||
66
+ 'values');
67
+ }
68
+ /**
69
+ * Return string with text description of the axis range.
70
+ * @private
71
+ * @param {Highcharts.Axis} axis
72
+ * The axis to get range desc of.
73
+ * @return {string}
74
+ * A string with the range description for the axis.
75
+ */
76
+ function getAxisRangeDescription(axis) {
77
+ const axisOptions = axis.options || {};
78
+ // Handle overridden range description
79
+ if (axisOptions.accessibility &&
80
+ typeof axisOptions.accessibility.rangeDescription !== 'undefined') {
81
+ return axisOptions.accessibility.rangeDescription;
82
+ }
83
+ // Handle category axes
84
+ if (axis.categories) {
85
+ return getCategoryAxisRangeDesc(axis);
86
+ }
87
+ // Use time range, not from-to?
88
+ if (axis.dateTime && (axis.min === 0 || axis.dataMin === 0)) {
89
+ return getAxisTimeLengthDesc(axis);
90
+ }
91
+ // Just use from and to.
92
+ // We have the range and the unit to use, find the desc format
93
+ return getAxisFromToDescription(axis);
94
+ }
95
+ /**
96
+ * Describe the range of a category axis.
97
+ * @private
98
+ */
99
+ function getCategoryAxisRangeDesc(axis) {
100
+ const chart = axis.chart;
101
+ if (axis.dataMax && axis.dataMin) {
102
+ return chart.langFormat('accessibility.axis.rangeCategories', {
103
+ chart: chart,
104
+ axis: axis,
105
+ numCategories: axis.dataMax - axis.dataMin + 1
106
+ });
107
+ }
108
+ return '';
109
+ }
110
+ /**
111
+ * Describe the length of the time window shown on an axis.
112
+ * @private
113
+ */
114
+ function getAxisTimeLengthDesc(axis) {
115
+ const chart = axis.chart, range = {}, min = axis.dataMin || axis.min || 0, max = axis.dataMax || axis.max || 0;
116
+ let rangeUnit = 'Seconds';
117
+ range.Seconds = (max - min) / 1000;
118
+ range.Minutes = range.Seconds / 60;
119
+ range.Hours = range.Minutes / 60;
120
+ range.Days = range.Hours / 24;
121
+ ['Minutes', 'Hours', 'Days'].forEach(function (unit) {
122
+ if (range[unit] > 2) {
123
+ rangeUnit = unit;
124
+ }
125
+ });
126
+ const rangeValue = range[rangeUnit].toFixed(rangeUnit !== 'Seconds' &&
127
+ rangeUnit !== 'Minutes' ? 1 : 0 // Use decimals for days/hours
128
+ );
129
+ // We have the range and the unit to use, find the desc format
130
+ return chart.langFormat('accessibility.axis.timeRange' + rangeUnit, {
131
+ chart: chart,
132
+ axis: axis,
133
+ range: rangeValue.replace('.0', '')
134
+ });
135
+ }
136
+ /**
137
+ * Describe an axis from-to range.
138
+ * @private
139
+ */
140
+ function getAxisFromToDescription(axis) {
141
+ const chart = axis.chart, options = chart.options, dateRangeFormat = (options &&
142
+ options.accessibility &&
143
+ options.accessibility.screenReaderSection.axisRangeDateFormat ||
144
+ ''), extremes = {
145
+ min: axis.dataMin || axis.min || 0,
146
+ max: axis.dataMax || axis.max || 0
147
+ }, format = function (key) {
148
+ return axis.dateTime ?
149
+ chart.time.dateFormat(dateRangeFormat, extremes[key]) :
150
+ extremes[key].toString();
151
+ };
152
+ return chart.langFormat('accessibility.axis.rangeFromTo', {
153
+ chart: chart,
154
+ axis: axis,
155
+ rangeFrom: format('min'),
156
+ rangeTo: format('max')
157
+ });
158
+ }
159
+ /**
160
+ * Get the DOM element for the first point in the series.
161
+ * @private
162
+ * @param {Highcharts.Series} series
163
+ * The series to get element for.
164
+ * @return {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement|undefined}
165
+ * The DOM element for the point.
166
+ */
167
+ function getSeriesFirstPointElement(series) {
168
+ if (series.points && series.points.length) {
169
+ const firstPointWithGraphic = find(series.points, (p) => !!p.graphic);
170
+ return (firstPointWithGraphic &&
171
+ firstPointWithGraphic.graphic &&
172
+ firstPointWithGraphic.graphic.element);
173
+ }
174
+ }
175
+ /**
176
+ * Get the DOM element for the series that we put accessibility info on.
177
+ * @private
178
+ * @param {Highcharts.Series} series
179
+ * The series to get element for.
180
+ * @return {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement|undefined}
181
+ * The DOM element for the series
182
+ */
183
+ function getSeriesA11yElement(series) {
184
+ const firstPointEl = getSeriesFirstPointElement(series);
185
+ return (firstPointEl &&
186
+ firstPointEl.parentNode || series.graph &&
187
+ series.graph.element || series.group &&
188
+ series.group.element); // Could be tracker series depending on series type
189
+ }
190
+ /**
191
+ * Remove aria-hidden from element. Also unhides parents of the element, and
192
+ * hides siblings that are not explicitly unhidden.
193
+ * @private
194
+ */
195
+ function unhideChartElementFromAT(chart, element) {
196
+ element.setAttribute('aria-hidden', false);
197
+ if (element === chart.renderTo ||
198
+ !element.parentNode ||
199
+ element.parentNode === doc.body // #16126: Full screen printing
200
+ ) {
201
+ return;
202
+ }
203
+ // Hide siblings unless their hidden state is already explicitly set
204
+ Array.prototype.forEach.call(element.parentNode.childNodes, function (node) {
205
+ if (!node.hasAttribute('aria-hidden')) {
206
+ node.setAttribute('aria-hidden', true);
207
+ }
208
+ });
209
+ // Repeat for parent
210
+ unhideChartElementFromAT(chart, element.parentNode);
211
+ }
212
+ /**
213
+ * Hide series from screen readers.
214
+ * @private
215
+ */
216
+ function hideSeriesFromAT(series) {
217
+ const seriesEl = getSeriesA11yElement(series);
218
+ if (seriesEl) {
219
+ seriesEl.setAttribute('aria-hidden', true);
220
+ }
221
+ }
222
+ /**
223
+ * Get series objects by series name.
224
+ * @private
225
+ */
226
+ function getSeriesFromName(chart, name) {
227
+ if (!name) {
228
+ return chart.series;
229
+ }
230
+ return (chart.series || []).filter(function (s) {
231
+ return s.name === name;
232
+ });
233
+ }
234
+ /**
235
+ * Get point in a series from x/y values.
236
+ * @private
237
+ */
238
+ function getPointFromXY(series, x, y) {
239
+ let i = series.length, res;
240
+ while (i--) {
241
+ res = find(series[i].points || [], function (p) {
242
+ return p.x === x && p.y === y;
243
+ });
244
+ if (res) {
245
+ return res;
246
+ }
247
+ }
248
+ }
249
+ /**
250
+ * Get relative position of point on an x/y axis from 0 to 1.
251
+ * @private
252
+ */
253
+ function getRelativePointAxisPosition(axis, point) {
254
+ if (!defined(axis.dataMin) || !defined(axis.dataMax)) {
255
+ return 0;
256
+ }
257
+ const axisStart = axis.toPixels(axis.dataMin), axisEnd = axis.toPixels(axis.dataMax),
258
+ // We have to use pixel position because of axis breaks, log axis etc.
259
+ positionProp = axis.coll === 'xAxis' ? 'x' : 'y', pointPos = axis.toPixels(point[positionProp] || 0);
260
+ return (pointPos - axisStart) / (axisEnd - axisStart);
261
+ }
262
+ /**
263
+ * Get relative position of point on an x/y axis from 0 to 1.
264
+ * @private
265
+ */
266
+ function scrollAxisToPoint(point) {
267
+ const xAxis = point.series.xAxis, yAxis = point.series.yAxis, axis = (xAxis && xAxis.scrollbar ? xAxis : yAxis), scrollbar = (axis && axis.scrollbar);
268
+ if (scrollbar && defined(scrollbar.to) && defined(scrollbar.from)) {
269
+ const range = scrollbar.to - scrollbar.from;
270
+ const pos = getRelativePointAxisPosition(axis, point);
271
+ scrollbar.updatePosition(pos - range / 2, pos + range / 2);
272
+ fireEvent(scrollbar, 'changed', {
273
+ from: scrollbar.from,
274
+ to: scrollbar.to,
275
+ trigger: 'scrollbar',
276
+ DOMEvent: null
277
+ });
278
+ }
279
+ }
280
+ /* *
281
+ *
282
+ * Default Export
283
+ *
284
+ * */
285
+ const ChartUtilities = {
286
+ fireEventOnWrappedOrUnwrappedElement,
287
+ getChartTitle,
288
+ getAxisDescription,
289
+ getAxisRangeDescription,
290
+ getPointFromXY,
291
+ getSeriesFirstPointElement,
292
+ getSeriesFromName,
293
+ getSeriesA11yElement,
294
+ unhideChartElementFromAT,
295
+ hideSeriesFromAT,
296
+ scrollAxisToPoint
297
+ };
298
+ export default ChartUtilities;
@@ -0,0 +1,20 @@
1
+ import type { HTMLDOMElement } from '../../Core/Renderer/DOMElementType';
2
+ /**
3
+ * @private
4
+ */
5
+ declare class DOMElementProvider {
6
+ constructor();
7
+ elements: Array<HTMLDOMElement>;
8
+ createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];
9
+ /**
10
+ * Destroy created element, removing it from the DOM.
11
+ * @private
12
+ */
13
+ removeElement(element: HTMLDOMElement): void;
14
+ /**
15
+ * Destroy all created elements, removing them from the DOM.
16
+ * @private
17
+ */
18
+ destroyCreatedElements(): void;
19
+ }
20
+ export default DOMElementProvider;
@@ -0,0 +1,69 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Class that can keep track of elements added to DOM and clean them up on
6
+ * destroy.
7
+ *
8
+ * License: www.highcharts.com/license
9
+ *
10
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
11
+ *
12
+ * */
13
+ 'use strict';
14
+ import H from '../../Core/Globals.js';
15
+ const { doc } = H;
16
+ import HU from './HTMLUtilities.js';
17
+ const { removeElement } = HU;
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * @private
25
+ */
26
+ class DOMElementProvider {
27
+ /* *
28
+ *
29
+ * Constructor
30
+ *
31
+ * */
32
+ constructor() {
33
+ this.elements = [];
34
+ }
35
+ /**
36
+ * Create an element and keep track of it for later removal.
37
+ * Same args as document.createElement
38
+ * @private
39
+ */
40
+ createElement() {
41
+ const el = doc.createElement.apply(doc, arguments);
42
+ this.elements.push(el);
43
+ return el;
44
+ }
45
+ /**
46
+ * Destroy created element, removing it from the DOM.
47
+ * @private
48
+ */
49
+ removeElement(element) {
50
+ removeElement(element);
51
+ this.elements.splice(this.elements.indexOf(element), 1);
52
+ }
53
+ /**
54
+ * Destroy all created elements, removing them from the DOM.
55
+ * @private
56
+ */
57
+ destroyCreatedElements() {
58
+ this.elements.forEach(function (element) {
59
+ removeElement(element);
60
+ });
61
+ this.elements = [];
62
+ }
63
+ }
64
+ /* *
65
+ *
66
+ * Default Export
67
+ *
68
+ * */
69
+ export default DOMElementProvider;
@@ -0,0 +1,26 @@
1
+ import type EventCallback from '../../Core/EventCallback';
2
+ import DOMElementType from '../../Core/Renderer/DOMElementType';
3
+ import U from '../../Core/Utilities.js';
4
+ interface ElementsFocusEventRemovers {
5
+ element: DOMElementType;
6
+ remover: Function;
7
+ }
8
+ /**
9
+ * @private
10
+ */
11
+ declare class EventProvider {
12
+ constructor();
13
+ eventRemovers: Array<ElementsFocusEventRemovers>;
14
+ addEvent<T>(el: (Class<T> | T), type: string, fn: (EventCallback<T> | Function), options?: U.EventOptions): Function;
15
+ /**
16
+ * Remove added event.
17
+ * @private
18
+ */
19
+ removeEvent(event: Function): void;
20
+ /**
21
+ * Remove all added events.
22
+ * @private
23
+ */
24
+ removeAddedEvents(): void;
25
+ }
26
+ export default EventProvider;
@@ -0,0 +1,65 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Class that can keep track of events added, and clean them up on destroy.
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
+ import U from '../../Core/Utilities.js';
15
+ const { addEvent } = U;
16
+ /**
17
+ * @private
18
+ */
19
+ class EventProvider {
20
+ /* *
21
+ *
22
+ * Constructor
23
+ *
24
+ * */
25
+ constructor() {
26
+ this.eventRemovers = [];
27
+ }
28
+ /**
29
+ * Add an event to an element and keep track of it for later removal.
30
+ * Same args as Highcharts.addEvent.
31
+ * @private
32
+ */
33
+ addEvent() {
34
+ const remover = addEvent.apply(H, arguments);
35
+ this.eventRemovers.push({
36
+ element: arguments[0], // HTML element
37
+ remover
38
+ });
39
+ return remover;
40
+ }
41
+ /**
42
+ * Remove added event.
43
+ * @private
44
+ */
45
+ removeEvent(event) {
46
+ const pos = this.eventRemovers.map((e) => e.remover).indexOf(event);
47
+ this.eventRemovers[pos].remover();
48
+ this.eventRemovers.splice(pos, 1);
49
+ }
50
+ /**
51
+ * Remove all added events.
52
+ * @private
53
+ */
54
+ removeAddedEvents() {
55
+ this.eventRemovers.map((e) => e.remover)
56
+ .forEach((remover) => remover());
57
+ this.eventRemovers = [];
58
+ }
59
+ }
60
+ /* *
61
+ *
62
+ * Default Export
63
+ *
64
+ * */
65
+ export default EventProvider;