@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,473 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Accessibility component for the range selector.
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 AccessibilityComponent from '../AccessibilityComponent.js';
14
+ import Announcer from '../Utils/Announcer.js';
15
+ import ChartUtilities from '../Utils/ChartUtilities.js';
16
+ const { unhideChartElementFromAT, getAxisRangeDescription } = ChartUtilities;
17
+ import KeyboardNavigationHandler from '../KeyboardNavigationHandler.js';
18
+ import U from '../../Core/Utilities.js';
19
+ const { addEvent, attr } = U;
20
+ /* *
21
+ *
22
+ * Functions
23
+ *
24
+ * */
25
+ /**
26
+ * Do we want date input navigation
27
+ * @private
28
+ */
29
+ function shouldRunInputNavigation(chart) {
30
+ return Boolean(chart.rangeSelector &&
31
+ chart.rangeSelector.inputGroup &&
32
+ chart.rangeSelector.inputGroup.element.style.visibility !== 'hidden' &&
33
+ chart.options.rangeSelector.inputEnabled !== false &&
34
+ chart.rangeSelector.minInput &&
35
+ chart.rangeSelector.maxInput);
36
+ }
37
+ /* *
38
+ *
39
+ * Class
40
+ *
41
+ * */
42
+ /**
43
+ * The RangeSelectorComponent class
44
+ *
45
+ * @private
46
+ * @class
47
+ * @name Highcharts.RangeSelectorComponent
48
+ */
49
+ class RangeSelectorComponent extends AccessibilityComponent {
50
+ /* *
51
+ *
52
+ * Functions
53
+ *
54
+ * */
55
+ /* eslint-disable valid-jsdoc */
56
+ /**
57
+ * Init the component
58
+ * @private
59
+ */
60
+ init() {
61
+ const chart = this.chart;
62
+ this.announcer = new Announcer(chart, 'polite');
63
+ }
64
+ /**
65
+ * Called on first render/updates to the chart, including options changes.
66
+ */
67
+ onChartUpdate() {
68
+ const chart = this.chart, component = this, rangeSelector = chart.rangeSelector;
69
+ if (!rangeSelector) {
70
+ return;
71
+ }
72
+ this.updateSelectorVisibility();
73
+ this.setDropdownAttrs();
74
+ if (rangeSelector.buttons &&
75
+ rangeSelector.buttons.length) {
76
+ rangeSelector.buttons.forEach((button) => {
77
+ component.setRangeButtonAttrs(button);
78
+ });
79
+ }
80
+ // Make sure input boxes are accessible and focusable
81
+ if (rangeSelector.maxInput && rangeSelector.minInput) {
82
+ ['minInput', 'maxInput'].forEach(function (key, i) {
83
+ const input = rangeSelector[key];
84
+ if (input) {
85
+ unhideChartElementFromAT(chart, input);
86
+ component.setRangeInputAttrs(input, 'accessibility.rangeSelector.' + (i ? 'max' : 'min') +
87
+ 'InputLabel');
88
+ }
89
+ });
90
+ }
91
+ }
92
+ /**
93
+ * Hide buttons from AT when showing dropdown, and vice versa.
94
+ * @private
95
+ */
96
+ updateSelectorVisibility() {
97
+ const chart = this.chart;
98
+ const rangeSelector = chart.rangeSelector;
99
+ const dropdown = (rangeSelector &&
100
+ rangeSelector.dropdown);
101
+ const buttons = (rangeSelector &&
102
+ rangeSelector.buttons ||
103
+ []);
104
+ const hideFromAT = (el) => el.setAttribute('aria-hidden', true);
105
+ if (rangeSelector &&
106
+ rangeSelector.hasVisibleDropdown &&
107
+ dropdown) {
108
+ unhideChartElementFromAT(chart, dropdown);
109
+ buttons.forEach((btn) => hideFromAT(btn.element));
110
+ }
111
+ else {
112
+ if (dropdown) {
113
+ hideFromAT(dropdown);
114
+ }
115
+ buttons.forEach((btn) => unhideChartElementFromAT(chart, btn.element));
116
+ }
117
+ }
118
+ /**
119
+ * Set accessibility related attributes on dropdown element.
120
+ * @private
121
+ */
122
+ setDropdownAttrs() {
123
+ const chart = this.chart;
124
+ const dropdown = (chart.rangeSelector &&
125
+ chart.rangeSelector.dropdown);
126
+ if (dropdown) {
127
+ const label = chart.langFormat('accessibility.rangeSelector.dropdownLabel', { rangeTitle: chart.options.lang.rangeSelectorZoom });
128
+ dropdown.setAttribute('aria-label', label);
129
+ dropdown.setAttribute('tabindex', -1);
130
+ }
131
+ }
132
+ /**
133
+ * Set attrs for a range button
134
+ * @private
135
+ */
136
+ setRangeButtonAttrs(button) {
137
+ attr(button.element, {
138
+ tabindex: -1,
139
+ role: 'button'
140
+ });
141
+ }
142
+ /**
143
+ * Set attrs for a date input
144
+ * @private
145
+ */
146
+ setRangeInputAttrs(input, langKey) {
147
+ const chart = this.chart;
148
+ attr(input, {
149
+ tabindex: -1,
150
+ 'aria-label': chart.langFormat(langKey, { chart: chart })
151
+ });
152
+ }
153
+ /**
154
+ * Handle arrow key nav
155
+ * @private
156
+ */
157
+ onButtonNavKbdArrowKey(keyboardNavigationHandler, keyCode) {
158
+ const response = keyboardNavigationHandler.response, keys = this.keyCodes, chart = this.chart, wrapAround = chart.options.accessibility
159
+ .keyboardNavigation.wrapAround, direction = (keyCode === keys.left || keyCode === keys.up) ? -1 : 1, didHighlight = chart.highlightRangeSelectorButton(chart.highlightedRangeSelectorItemIx + direction);
160
+ if (!didHighlight) {
161
+ if (wrapAround) {
162
+ keyboardNavigationHandler.init(direction);
163
+ return response.success;
164
+ }
165
+ return response[direction > 0 ? 'next' : 'prev'];
166
+ }
167
+ return response.success;
168
+ }
169
+ /**
170
+ * Handle keyboard click
171
+ * @private
172
+ */
173
+ onButtonNavKbdClick(keyboardNavigationHandler) {
174
+ const response = keyboardNavigationHandler.response, chart = this.chart, wasDisabled = chart.oldRangeSelectorItemState === 3;
175
+ if (!wasDisabled) {
176
+ this.fakeClickEvent(chart.rangeSelector.buttons[chart.highlightedRangeSelectorItemIx].element);
177
+ }
178
+ return response.success;
179
+ }
180
+ /**
181
+ * Called whenever a range selector button has been clicked, either by
182
+ * mouse, touch, or kbd/voice/other.
183
+ * @private
184
+ */
185
+ onAfterBtnClick() {
186
+ const chart = this.chart;
187
+ const axisRangeDescription = getAxisRangeDescription(chart.xAxis[0]);
188
+ const announcement = chart.langFormat('accessibility.rangeSelector.clickButtonAnnouncement', { chart, axisRangeDescription });
189
+ if (announcement) {
190
+ this.announcer.announce(announcement);
191
+ }
192
+ }
193
+ /**
194
+ * Handle move between input elements with Tab key
195
+ * @private
196
+ */
197
+ onInputKbdMove(direction) {
198
+ const chart = this.chart;
199
+ const rangeSel = chart.rangeSelector;
200
+ const newIx = chart.highlightedInputRangeIx = (chart.highlightedInputRangeIx || 0) + direction;
201
+ const newIxOutOfRange = newIx > 1 || newIx < 0;
202
+ if (newIxOutOfRange) {
203
+ if (chart.accessibility) {
204
+ // Ignore focus
205
+ chart.accessibility.keyboardNavigation.exiting = true;
206
+ chart.accessibility.keyboardNavigation.tabindexContainer
207
+ .focus();
208
+ return chart.accessibility.keyboardNavigation.move(direction);
209
+ }
210
+ }
211
+ else if (rangeSel) {
212
+ const svgEl = rangeSel[newIx ? 'maxDateBox' : 'minDateBox'];
213
+ const inputEl = rangeSel[newIx ? 'maxInput' : 'minInput'];
214
+ if (svgEl && inputEl) {
215
+ chart.setFocusToElement(svgEl, inputEl);
216
+ }
217
+ }
218
+ return true;
219
+ }
220
+ /**
221
+ * Init date input navigation
222
+ * @private
223
+ */
224
+ onInputNavInit(direction) {
225
+ const component = this;
226
+ const chart = this.chart;
227
+ const buttonIxToHighlight = direction > 0 ? 0 : 1;
228
+ const rangeSel = chart.rangeSelector;
229
+ const svgEl = (rangeSel &&
230
+ rangeSel[buttonIxToHighlight ? 'maxDateBox' : 'minDateBox']);
231
+ const minInput = (rangeSel && rangeSel.minInput);
232
+ const maxInput = (rangeSel && rangeSel.maxInput);
233
+ const inputEl = buttonIxToHighlight ? maxInput : minInput;
234
+ chart.highlightedInputRangeIx = buttonIxToHighlight;
235
+ if (svgEl && minInput && maxInput) {
236
+ chart.setFocusToElement(svgEl, inputEl);
237
+ // Tab-press with the input focused does not propagate to chart
238
+ // automatically, so we manually catch and handle it when relevant.
239
+ if (this.removeInputKeydownHandler) {
240
+ this.removeInputKeydownHandler();
241
+ }
242
+ const keydownHandler = (e) => {
243
+ const isTab = (e.which || e.keyCode) === this.keyCodes.tab;
244
+ if (isTab &&
245
+ component.onInputKbdMove(e.shiftKey ? -1 : 1)) {
246
+ e.preventDefault();
247
+ e.stopPropagation();
248
+ }
249
+ };
250
+ const minRemover = addEvent(minInput, 'keydown', keydownHandler);
251
+ const maxRemover = addEvent(maxInput, 'keydown', keydownHandler);
252
+ this.removeInputKeydownHandler = () => {
253
+ minRemover();
254
+ maxRemover();
255
+ };
256
+ }
257
+ }
258
+ /**
259
+ * Terminate date input nav
260
+ * @private
261
+ */
262
+ onInputNavTerminate() {
263
+ const rangeSel = (this.chart.rangeSelector || {});
264
+ if (rangeSel.maxInput) {
265
+ rangeSel.hideInput('max');
266
+ }
267
+ if (rangeSel.minInput) {
268
+ rangeSel.hideInput('min');
269
+ }
270
+ if (this.removeInputKeydownHandler) {
271
+ this.removeInputKeydownHandler();
272
+ delete this.removeInputKeydownHandler;
273
+ }
274
+ }
275
+ /**
276
+ * Init range selector dropdown nav
277
+ * @private
278
+ */
279
+ initDropdownNav() {
280
+ const chart = this.chart;
281
+ const rangeSelector = chart.rangeSelector;
282
+ const dropdown = (rangeSelector && rangeSelector.dropdown);
283
+ if (rangeSelector && dropdown) {
284
+ chart.setFocusToElement(rangeSelector.buttonGroup, dropdown);
285
+ if (this.removeDropdownKeydownHandler) {
286
+ this.removeDropdownKeydownHandler();
287
+ }
288
+ // Tab-press with dropdown focused does not propagate to chart
289
+ // automatically, so we manually catch and handle it when relevant.
290
+ this.removeDropdownKeydownHandler = addEvent(dropdown, 'keydown', (e) => {
291
+ const isTab = (e.which || e.keyCode) === this.keyCodes.tab, a11y = chart.accessibility;
292
+ if (isTab) {
293
+ e.preventDefault();
294
+ e.stopPropagation();
295
+ if (a11y) {
296
+ a11y.keyboardNavigation.move(e.shiftKey ? -1 : 1);
297
+ }
298
+ }
299
+ });
300
+ }
301
+ }
302
+ /**
303
+ * Get navigation for the range selector buttons.
304
+ * @private
305
+ * @return {Highcharts.KeyboardNavigationHandler} The module object.
306
+ */
307
+ getRangeSelectorButtonNavigation() {
308
+ const chart = this.chart;
309
+ const keys = this.keyCodes;
310
+ const component = this;
311
+ return new KeyboardNavigationHandler(chart, {
312
+ keyCodeMap: [
313
+ [
314
+ [keys.left, keys.right, keys.up, keys.down],
315
+ function (keyCode) {
316
+ return component.onButtonNavKbdArrowKey(this, keyCode);
317
+ }
318
+ ],
319
+ [
320
+ [keys.enter, keys.space],
321
+ function () {
322
+ return component.onButtonNavKbdClick(this);
323
+ }
324
+ ]
325
+ ],
326
+ validate: function () {
327
+ return !!(chart.rangeSelector &&
328
+ chart.rangeSelector.buttons &&
329
+ chart.rangeSelector.buttons.length);
330
+ },
331
+ init: function (direction) {
332
+ const rangeSelector = chart.rangeSelector;
333
+ if (rangeSelector && rangeSelector.hasVisibleDropdown) {
334
+ component.initDropdownNav();
335
+ }
336
+ else if (rangeSelector) {
337
+ const lastButtonIx = rangeSelector.buttons.length - 1;
338
+ chart.highlightRangeSelectorButton(direction > 0 ? 0 : lastButtonIx);
339
+ }
340
+ },
341
+ terminate: function () {
342
+ if (component.removeDropdownKeydownHandler) {
343
+ component.removeDropdownKeydownHandler();
344
+ delete component.removeDropdownKeydownHandler;
345
+ }
346
+ }
347
+ });
348
+ }
349
+ /**
350
+ * Get navigation for the range selector input boxes.
351
+ * @private
352
+ * @return {Highcharts.KeyboardNavigationHandler}
353
+ * The module object.
354
+ */
355
+ getRangeSelectorInputNavigation() {
356
+ const chart = this.chart;
357
+ const component = this;
358
+ return new KeyboardNavigationHandler(chart, {
359
+ keyCodeMap: [],
360
+ validate: function () {
361
+ return shouldRunInputNavigation(chart);
362
+ },
363
+ init: function (direction) {
364
+ component.onInputNavInit(direction);
365
+ },
366
+ terminate: function () {
367
+ component.onInputNavTerminate();
368
+ }
369
+ });
370
+ }
371
+ /**
372
+ * Get keyboard navigation handlers for this component.
373
+ * @return {Array<Highcharts.KeyboardNavigationHandler>}
374
+ * List of module objects.
375
+ */
376
+ getKeyboardNavigation() {
377
+ return [
378
+ this.getRangeSelectorButtonNavigation(),
379
+ this.getRangeSelectorInputNavigation()
380
+ ];
381
+ }
382
+ /**
383
+ * Remove component traces
384
+ */
385
+ destroy() {
386
+ if (this.removeDropdownKeydownHandler) {
387
+ this.removeDropdownKeydownHandler();
388
+ }
389
+ if (this.removeInputKeydownHandler) {
390
+ this.removeInputKeydownHandler();
391
+ }
392
+ if (this.announcer) {
393
+ this.announcer.destroy();
394
+ }
395
+ }
396
+ }
397
+ /* *
398
+ *
399
+ * Class Namespace
400
+ *
401
+ * */
402
+ (function (RangeSelectorComponent) {
403
+ /* *
404
+ *
405
+ * Declarations
406
+ *
407
+ * */
408
+ /* *
409
+ *
410
+ * Functions
411
+ *
412
+ * */
413
+ /**
414
+ * Highlight range selector button by index.
415
+ *
416
+ * @private
417
+ * @function Highcharts.Chart#highlightRangeSelectorButton
418
+ */
419
+ function chartHighlightRangeSelectorButton(ix) {
420
+ const buttons = (this.rangeSelector &&
421
+ this.rangeSelector.buttons ||
422
+ []);
423
+ const curHighlightedIx = this.highlightedRangeSelectorItemIx;
424
+ const curSelectedIx = (this.rangeSelector &&
425
+ this.rangeSelector.selected);
426
+ // Deselect old
427
+ if (typeof curHighlightedIx !== 'undefined' &&
428
+ buttons[curHighlightedIx] &&
429
+ curHighlightedIx !== curSelectedIx) {
430
+ buttons[curHighlightedIx].setState(this.oldRangeSelectorItemState || 0);
431
+ }
432
+ // Select new
433
+ this.highlightedRangeSelectorItemIx = ix;
434
+ if (buttons[ix]) {
435
+ this.setFocusToElement(buttons[ix].box, buttons[ix].element);
436
+ if (ix !== curSelectedIx) {
437
+ this.oldRangeSelectorItemState = buttons[ix].state;
438
+ buttons[ix].setState(1);
439
+ }
440
+ return true;
441
+ }
442
+ return false;
443
+ }
444
+ /**
445
+ * Build compositions
446
+ * @private
447
+ */
448
+ function compose(ChartClass, RangeSelectorClass) {
449
+ const chartProto = ChartClass.prototype;
450
+ if (!chartProto.highlightRangeSelectorButton) {
451
+ chartProto.highlightRangeSelectorButton = (chartHighlightRangeSelectorButton);
452
+ addEvent(RangeSelectorClass, 'afterBtnClick', rangeSelectorAfterBtnClick);
453
+ }
454
+ }
455
+ RangeSelectorComponent.compose = compose;
456
+ /**
457
+ * Range selector does not have destroy-setup for class instance events - so
458
+ * we set it on the class and call the component from here.
459
+ * @private
460
+ */
461
+ function rangeSelectorAfterBtnClick() {
462
+ const a11y = this.chart.accessibility;
463
+ if (a11y && a11y.components.rangeSelector) {
464
+ return a11y.components.rangeSelector.onAfterBtnClick();
465
+ }
466
+ }
467
+ })(RangeSelectorComponent || (RangeSelectorComponent = {}));
468
+ /* *
469
+ *
470
+ * Export Default
471
+ *
472
+ * */
473
+ export default RangeSelectorComponent;
@@ -0,0 +1,18 @@
1
+ import type Accessibility from '../../Accessibility';
2
+ import type { PointMarkerOptions } from '../../../Core/Series/PointOptions';
3
+ import type Series from '../../../Core/Series/Series.js';
4
+ declare namespace ForcedMarkersComposition {
5
+ class PointComposition extends Accessibility.PointComposition {
6
+ hasForcedA11yMarker?: boolean;
7
+ }
8
+ class SeriesComposition extends Accessibility.SeriesComposition {
9
+ a11yMarkersForced?: boolean;
10
+ points: Array<PointComposition>;
11
+ resetA11yMarkerOptions?: PointMarkerOptions;
12
+ }
13
+ /**
14
+ * @private
15
+ */
16
+ function compose<T extends typeof Series>(SeriesClass: T): void;
17
+ }
18
+ export default ForcedMarkersComposition;