@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,301 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Extend SVG and Chart classes with focus border capabilities.
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 U from '../Core/Utilities.js';
14
+ const { addEvent, pick } = U;
15
+ /* *
16
+ *
17
+ * Composition
18
+ *
19
+ * */
20
+ var FocusBorderComposition;
21
+ (function (FocusBorderComposition) {
22
+ /* *
23
+ *
24
+ * Declarations
25
+ *
26
+ * */
27
+ /* *
28
+ *
29
+ * Constants
30
+ *
31
+ * */
32
+ // Attributes that trigger a focus border update
33
+ const svgElementBorderUpdateTriggers = [
34
+ 'x', 'y', 'transform', 'width', 'height', 'r', 'd', 'stroke-width'
35
+ ];
36
+ /* *
37
+ *
38
+ * Functions
39
+ *
40
+ * */
41
+ /**
42
+ * @private
43
+ */
44
+ function compose(ChartClass, SVGElementClass) {
45
+ const chartProto = ChartClass.prototype, svgElementProto = SVGElementClass.prototype;
46
+ if (!chartProto.renderFocusBorder) {
47
+ chartProto.renderFocusBorder = chartRenderFocusBorder;
48
+ chartProto.setFocusToElement = chartSetFocusToElement;
49
+ }
50
+ if (!svgElementProto.addFocusBorder) {
51
+ svgElementProto.addFocusBorder = svgElementAddFocusBorder;
52
+ svgElementProto.removeFocusBorder = svgElementRemoveFocusBorder;
53
+ }
54
+ }
55
+ FocusBorderComposition.compose = compose;
56
+ /**
57
+ * Redraws the focus border on the currently focused element.
58
+ *
59
+ * @private
60
+ * @function Highcharts.Chart#renderFocusBorder
61
+ */
62
+ function chartRenderFocusBorder() {
63
+ const focusElement = this.focusElement, focusBorderOptions = this.options.accessibility.keyboardNavigation.focusBorder;
64
+ if (focusElement) {
65
+ focusElement.removeFocusBorder();
66
+ if (focusBorderOptions.enabled) {
67
+ focusElement.addFocusBorder(focusBorderOptions.margin, {
68
+ stroke: focusBorderOptions.style.color,
69
+ strokeWidth: focusBorderOptions.style.lineWidth,
70
+ r: focusBorderOptions.style.borderRadius
71
+ });
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * Set chart's focus to an SVGElement. Calls focus() on it, and draws the
77
+ * focus border. This is used by multiple components.
78
+ *
79
+ * @private
80
+ * @function Highcharts.Chart#setFocusToElement
81
+ *
82
+ * @param {Highcharts.SVGElement} svgElement
83
+ * Element to draw the border around.
84
+ *
85
+ * @param {SVGDOMElement|HTMLDOMElement} [focusElement]
86
+ * If supplied, it draws the border around svgElement and sets the focus to
87
+ * focusElement.
88
+ */
89
+ function chartSetFocusToElement(svgElement, focusElement) {
90
+ const focusBorderOptions = this.options.accessibility.keyboardNavigation.focusBorder, browserFocusElement = focusElement || svgElement.element;
91
+ // Set browser focus if possible
92
+ if (browserFocusElement &&
93
+ browserFocusElement.focus) {
94
+ // If there is no focusin-listener, add one to work around Edge
95
+ // where Narrator is not reading out points despite calling focus().
96
+ if (!(browserFocusElement.hcEvents &&
97
+ browserFocusElement.hcEvents.focusin)) {
98
+ addEvent(browserFocusElement, 'focusin', function () { });
99
+ }
100
+ browserFocusElement.focus();
101
+ // Hide default focus ring
102
+ if (focusBorderOptions.hideBrowserFocusOutline) {
103
+ browserFocusElement.style.outline = 'none';
104
+ }
105
+ }
106
+ if (this.focusElement) {
107
+ this.focusElement.removeFocusBorder();
108
+ }
109
+ this.focusElement = svgElement;
110
+ // #22122, focus border should re-render after window is resized
111
+ addEvent(this, 'endResize', function () {
112
+ this.renderFocusBorder();
113
+ });
114
+ this.renderFocusBorder();
115
+ }
116
+ /**
117
+ * Add hook to destroy focus border if SVG element is destroyed, unless
118
+ * hook already exists.
119
+ * @private
120
+ * @param el Element to add destroy hook to
121
+ */
122
+ function svgElementAddDestroyFocusBorderHook(el) {
123
+ if (el.focusBorderDestroyHook) {
124
+ return;
125
+ }
126
+ const origDestroy = el.destroy;
127
+ el.destroy = function () {
128
+ if (el.focusBorder && el.focusBorder.destroy) {
129
+ el.focusBorder.destroy();
130
+ }
131
+ return origDestroy.apply(el, arguments);
132
+ };
133
+ el.focusBorderDestroyHook = origDestroy;
134
+ }
135
+ /**
136
+ * Add focus border functionality to SVGElements. Draws a new rect on top of
137
+ * element around its bounding box. This is used by multiple components.
138
+ *
139
+ * @private
140
+ * @function Highcharts.SVGElement#addFocusBorder
141
+ *
142
+ * @param {number} margin
143
+ *
144
+ * @param {SVGAttributes} attribs
145
+ */
146
+ function svgElementAddFocusBorder(margin, attribs) {
147
+ // Allow updating by just adding new border
148
+ if (this.focusBorder) {
149
+ this.removeFocusBorder();
150
+ }
151
+ // Add the border rect
152
+ const bb = this.getBBox(), pad = pick(margin, 3), parent = this.parentGroup, scaleX = this.scaleX || parent && parent.scaleX, scaleY = this.scaleY || parent && parent.scaleY, oneDefined = scaleX ? !scaleY : scaleY, scaleBoth = oneDefined ? Math.abs(scaleX || scaleY || 1) :
153
+ (Math.abs(scaleX || 1) + Math.abs(scaleY || 1)) / 2, lineHeight = this.renderer.fontMetrics(this).h;
154
+ bb.x += this.translateX ? this.translateX : 0;
155
+ bb.y += this.translateY ? this.translateY : 0;
156
+ let borderPosX = bb.x - pad, borderPosY = bb.y - pad, borderWidth = bb.width + 2 * pad, borderHeight = bb.height + 2 * pad;
157
+ /**
158
+ * For text elements, apply x and y offset, #11397.
159
+ * @private
160
+ */
161
+ function getTextAnchorCorrection(text) {
162
+ let posXCorrection = 0, posYCorrection = 0;
163
+ if (text.attr('text-anchor') === 'middle') {
164
+ posXCorrection = posYCorrection = 0.5;
165
+ }
166
+ else if (!text.rotation) {
167
+ posYCorrection = 0.75;
168
+ }
169
+ else {
170
+ posXCorrection = 0.25;
171
+ }
172
+ return {
173
+ x: posXCorrection,
174
+ y: posYCorrection
175
+ };
176
+ }
177
+ const isLabel = !!this.text;
178
+ if (this.element.nodeName === 'text' || isLabel) {
179
+ const isRotated = !!this.rotation;
180
+ const correction = !isLabel ? getTextAnchorCorrection(this) :
181
+ {
182
+ x: isRotated ? 1 : 0,
183
+ y: 0
184
+ };
185
+ const attrX = +this.attr('x');
186
+ const attrY = +this.attr('y');
187
+ if (!isNaN(attrX)) {
188
+ borderPosX = attrX - (bb.width * correction.x) - pad;
189
+ }
190
+ if (!isNaN(attrY)) {
191
+ // Correct by line height if "text-achor" == "start", #19335.
192
+ const dim = this.attr('text-anchor') === 'start' ?
193
+ lineHeight :
194
+ bb.height;
195
+ borderPosY = attrY - (dim * correction.y) - pad;
196
+ }
197
+ if (isLabel && isRotated) {
198
+ const temp = borderWidth;
199
+ borderWidth = borderHeight;
200
+ borderHeight = temp;
201
+ if (!isNaN(attrX)) {
202
+ borderPosX = attrX - (bb.height * correction.x) - pad;
203
+ }
204
+ if (!isNaN(attrY)) {
205
+ borderPosY = attrY - (bb.width * correction.y) - pad;
206
+ }
207
+ }
208
+ }
209
+ this.focusBorder = this.renderer.rect(borderPosX, borderPosY, borderWidth, borderHeight, parseInt((attribs && attribs.r || 0).toString(), 10) / scaleBoth)
210
+ .addClass('highcharts-focus-border')
211
+ .attr({
212
+ zIndex: 99
213
+ })
214
+ .add(parent);
215
+ if (!this.renderer.styledMode) {
216
+ this.focusBorder.attr({
217
+ stroke: attribs && attribs.stroke,
218
+ 'stroke-width': (attribs && attribs.strokeWidth || 0) / scaleBoth
219
+ });
220
+ }
221
+ avgElementAddUpdateFocusBorderHooks(this, margin, attribs);
222
+ svgElementAddDestroyFocusBorderHook(this);
223
+ }
224
+ /**
225
+ * Add hooks to update the focus border of an element when the element
226
+ * size/position is updated, unless already added.
227
+ * @private
228
+ * @param el Element to add update hooks to
229
+ * @param updateParams Parameters to pass through to addFocusBorder when updating.
230
+ */
231
+ function avgElementAddUpdateFocusBorderHooks(el, ...updateParams) {
232
+ if (el.focusBorderUpdateHooks) {
233
+ return;
234
+ }
235
+ el.focusBorderUpdateHooks = {};
236
+ svgElementBorderUpdateTriggers.forEach((trigger) => {
237
+ const setterKey = trigger + 'Setter';
238
+ const origSetter = el[setterKey] || el._defaultSetter;
239
+ el.focusBorderUpdateHooks[setterKey] = origSetter;
240
+ el[setterKey] = function () {
241
+ const ret = origSetter.apply(el, arguments);
242
+ el.addFocusBorder.apply(el, updateParams);
243
+ return ret;
244
+ };
245
+ });
246
+ }
247
+ /**
248
+ * Remove hook from SVG element added by addDestroyFocusBorderHook, if
249
+ * existing.
250
+ * @private
251
+ * @param el Element to remove destroy hook from
252
+ */
253
+ function svgElementRemoveDestroyFocusBorderHook(el) {
254
+ if (!el.focusBorderDestroyHook) {
255
+ return;
256
+ }
257
+ el.destroy = el.focusBorderDestroyHook;
258
+ delete el.focusBorderDestroyHook;
259
+ }
260
+ /**
261
+ * Add focus border functionality to SVGElements. Draws a new rect on top of
262
+ * element around its bounding box. This is used by multiple components.
263
+ * @private
264
+ * @function Highcharts.SVGElement#removeFocusBorder
265
+ */
266
+ function svgElementRemoveFocusBorder() {
267
+ svgElementRemoveUpdateFocusBorderHooks(this);
268
+ svgElementRemoveDestroyFocusBorderHook(this);
269
+ if (this.focusBorder) {
270
+ this.focusBorder.destroy();
271
+ delete this.focusBorder;
272
+ }
273
+ }
274
+ /**
275
+ * Remove hooks from SVG element added by addUpdateFocusBorderHooks, if
276
+ * existing.
277
+ * @private
278
+ * @param el Element to remove update hooks from
279
+ */
280
+ function svgElementRemoveUpdateFocusBorderHooks(el) {
281
+ if (!el.focusBorderUpdateHooks) {
282
+ return;
283
+ }
284
+ Object.keys(el.focusBorderUpdateHooks).forEach((setterKey) => {
285
+ const origSetter = el.focusBorderUpdateHooks[setterKey];
286
+ if (origSetter === el._defaultSetter) {
287
+ delete el[setterKey];
288
+ }
289
+ else {
290
+ el[setterKey] = origSetter;
291
+ }
292
+ });
293
+ delete el.focusBorderUpdateHooks;
294
+ }
295
+ })(FocusBorderComposition || (FocusBorderComposition = {}));
296
+ /* *
297
+ *
298
+ * Default Export
299
+ *
300
+ * */
301
+ export default FocusBorderComposition;
@@ -0,0 +1,35 @@
1
+ import type Accessibility from './Accessibility';
2
+ import type ColorType from '../Core/Color/ColorType';
3
+ declare module '../Core/Chart/ChartBase' {
4
+ interface ChartBase {
5
+ highContrastModeActive?: boolean;
6
+ }
7
+ }
8
+ declare module '../Core/Series/PointBase' {
9
+ interface PointBase {
10
+ borderColor?: ColorType;
11
+ }
12
+ }
13
+ /**
14
+ * Detect WHCM in the browser.
15
+ *
16
+ * @function Highcharts#isHighContrastModeActive
17
+ * @private
18
+ * @return {boolean} Returns true if the browser is in High Contrast mode.
19
+ */
20
+ declare function isHighContrastModeActive(): boolean;
21
+ /**
22
+ * Force high contrast theme for the chart. The default theme is defined in
23
+ * a separate file.
24
+ *
25
+ * @function Highcharts#setHighContrastTheme
26
+ * @private
27
+ * @param {Highcharts.AccessibilityChart} chart The chart to set the theme of.
28
+ * @return {void}
29
+ */
30
+ declare function setHighContrastTheme(chart: Accessibility.ChartComposition): void;
31
+ declare const whcm: {
32
+ isHighContrastModeActive: typeof isHighContrastModeActive;
33
+ setHighContrastTheme: typeof setHighContrastTheme;
34
+ };
35
+ export default whcm;
@@ -0,0 +1,100 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Handling for Windows High Contrast Mode.
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, isMS, win } = H;
15
+ /* *
16
+ *
17
+ * Functions
18
+ *
19
+ * */
20
+ /**
21
+ * Detect WHCM in the browser.
22
+ *
23
+ * @function Highcharts#isHighContrastModeActive
24
+ * @private
25
+ * @return {boolean} Returns true if the browser is in High Contrast mode.
26
+ */
27
+ function isHighContrastModeActive() {
28
+ // Test BG image for IE
29
+ if (isMS && win.getComputedStyle) {
30
+ const testDiv = doc.createElement('div');
31
+ const imageSrc = 'data:image/gif;base64,' +
32
+ 'R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
33
+ testDiv.style.backgroundImage = `url(${imageSrc})`; // #13071
34
+ doc.body.appendChild(testDiv);
35
+ const bi = (testDiv.currentStyle ||
36
+ win.getComputedStyle(testDiv)).backgroundImage;
37
+ doc.body.removeChild(testDiv);
38
+ return bi === 'none';
39
+ }
40
+ // Other browsers use the forced-colors standard
41
+ return win.matchMedia && win.matchMedia('(forced-colors: active)').matches;
42
+ }
43
+ /**
44
+ * Force high contrast theme for the chart. The default theme is defined in
45
+ * a separate file.
46
+ *
47
+ * @function Highcharts#setHighContrastTheme
48
+ * @private
49
+ * @param {Highcharts.AccessibilityChart} chart The chart to set the theme of.
50
+ * @return {void}
51
+ */
52
+ function setHighContrastTheme(chart) {
53
+ // We might want to add additional functionality here in the future for
54
+ // storing the old state so that we can reset the theme if HC mode is
55
+ // disabled. For now, the user will have to reload the page.
56
+ chart.highContrastModeActive = true;
57
+ // Apply theme to chart
58
+ const theme = (chart.options.accessibility.highContrastTheme);
59
+ chart.update(theme, false);
60
+ const hasCustomColors = theme.colors?.length > 1;
61
+ // Force series colors (plotOptions is not enough)
62
+ chart.series.forEach(function (s) {
63
+ const plotOpts = theme.plotOptions[s.type] || {};
64
+ const fillColor = hasCustomColors && s.colorIndex !== void 0 ?
65
+ theme.colors[s.colorIndex] :
66
+ plotOpts.color || 'window';
67
+ const seriesOptions = {
68
+ color: plotOpts.color || 'windowText',
69
+ colors: hasCustomColors ?
70
+ theme.colors : [plotOpts.color || 'windowText'],
71
+ borderColor: plotOpts.borderColor || 'window',
72
+ fillColor
73
+ };
74
+ s.update(seriesOptions, false);
75
+ if (s.points) {
76
+ // Force point colors if existing
77
+ s.points.forEach(function (p) {
78
+ if (p.options && p.options.color) {
79
+ p.update({
80
+ color: plotOpts.color || 'windowText',
81
+ borderColor: plotOpts.borderColor || 'window'
82
+ }, false);
83
+ }
84
+ });
85
+ }
86
+ });
87
+ // The redraw for each series and after is required for 3D pie
88
+ // (workaround)
89
+ chart.redraw();
90
+ }
91
+ /* *
92
+ *
93
+ * Default Export
94
+ *
95
+ * */
96
+ const whcm = {
97
+ isHighContrastModeActive,
98
+ setHighContrastTheme
99
+ };
100
+ export default whcm;
@@ -0,0 +1,11 @@
1
+ import type ColorType from '../Core/Color/ColorType';
2
+ import type { DeepPartial } from '../Shared/Types';
3
+ import type Options from '../Core/Options';
4
+ declare module '../Core/Series/DataLabelOptions' {
5
+ interface DataLabelOptions {
6
+ connectorColor?: ColorType;
7
+ }
8
+ }
9
+ export type HighContrastThemeOptions = DeepPartial<Options>;
10
+ declare const theme: HighContrastThemeOptions;
11
+ export default theme;
@@ -0,0 +1,212 @@
1
+ /* *
2
+ *
3
+ * (c) 2009-2025 Øystein Moseng
4
+ *
5
+ * Default theme for Windows High Contrast Mode.
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * */
12
+ 'use strict';
13
+ const theme = {
14
+ chart: {
15
+ backgroundColor: 'window'
16
+ },
17
+ title: {
18
+ style: {
19
+ color: 'windowText'
20
+ }
21
+ },
22
+ subtitle: {
23
+ style: {
24
+ color: 'windowText'
25
+ }
26
+ },
27
+ colorAxis: {
28
+ minColor: 'windowText',
29
+ maxColor: 'windowText',
30
+ stops: [],
31
+ dataClasses: []
32
+ },
33
+ colors: ['windowText'],
34
+ xAxis: {
35
+ gridLineColor: 'windowText',
36
+ labels: {
37
+ style: {
38
+ color: 'windowText'
39
+ }
40
+ },
41
+ lineColor: 'windowText',
42
+ minorGridLineColor: 'windowText',
43
+ tickColor: 'windowText',
44
+ title: {
45
+ style: {
46
+ color: 'windowText'
47
+ }
48
+ }
49
+ },
50
+ yAxis: {
51
+ gridLineColor: 'windowText',
52
+ labels: {
53
+ style: {
54
+ color: 'windowText'
55
+ }
56
+ },
57
+ lineColor: 'windowText',
58
+ minorGridLineColor: 'windowText',
59
+ tickColor: 'windowText',
60
+ title: {
61
+ style: {
62
+ color: 'windowText'
63
+ }
64
+ }
65
+ },
66
+ tooltip: {
67
+ backgroundColor: 'window',
68
+ borderColor: 'windowText',
69
+ style: {
70
+ color: 'windowText'
71
+ }
72
+ },
73
+ plotOptions: {
74
+ series: {
75
+ lineColor: 'windowText',
76
+ fillColor: 'window',
77
+ borderColor: 'windowText',
78
+ edgeColor: 'windowText',
79
+ borderWidth: 1,
80
+ dataLabels: {
81
+ connectorColor: 'windowText',
82
+ color: 'windowText',
83
+ style: {
84
+ color: 'windowText',
85
+ textOutline: 'none'
86
+ }
87
+ },
88
+ marker: {
89
+ lineColor: 'windowText',
90
+ fillColor: 'windowText'
91
+ }
92
+ },
93
+ pie: {
94
+ color: 'window',
95
+ colors: ['window'],
96
+ borderColor: 'windowText',
97
+ borderWidth: 1
98
+ },
99
+ boxplot: {
100
+ fillColor: 'window'
101
+ },
102
+ candlestick: {
103
+ lineColor: 'windowText',
104
+ fillColor: 'window'
105
+ },
106
+ errorbar: {
107
+ fillColor: 'window'
108
+ }
109
+ },
110
+ legend: {
111
+ backgroundColor: 'window',
112
+ itemStyle: {
113
+ color: 'windowText'
114
+ },
115
+ itemHoverStyle: {
116
+ color: 'windowText'
117
+ },
118
+ itemHiddenStyle: {
119
+ color: '#555'
120
+ },
121
+ title: {
122
+ style: {
123
+ color: 'windowText'
124
+ }
125
+ }
126
+ },
127
+ credits: {
128
+ style: {
129
+ color: 'windowText'
130
+ }
131
+ },
132
+ drilldown: {
133
+ activeAxisLabelStyle: {
134
+ color: 'windowText'
135
+ },
136
+ activeDataLabelStyle: {
137
+ color: 'windowText'
138
+ }
139
+ },
140
+ navigation: {
141
+ buttonOptions: {
142
+ symbolStroke: 'windowText',
143
+ theme: {
144
+ fill: 'window'
145
+ }
146
+ }
147
+ },
148
+ rangeSelector: {
149
+ buttonTheme: {
150
+ fill: 'window',
151
+ stroke: 'windowText',
152
+ style: {
153
+ color: 'windowText'
154
+ },
155
+ states: {
156
+ hover: {
157
+ fill: 'window',
158
+ stroke: 'windowText',
159
+ style: {
160
+ color: 'windowText'
161
+ }
162
+ },
163
+ select: {
164
+ fill: '#444',
165
+ stroke: 'windowText',
166
+ style: {
167
+ color: 'windowText'
168
+ }
169
+ }
170
+ }
171
+ },
172
+ inputBoxBorderColor: 'windowText',
173
+ inputStyle: {
174
+ backgroundColor: 'window',
175
+ color: 'windowText'
176
+ },
177
+ labelStyle: {
178
+ color: 'windowText'
179
+ }
180
+ },
181
+ navigator: {
182
+ handles: {
183
+ backgroundColor: 'window',
184
+ borderColor: 'windowText'
185
+ },
186
+ outlineColor: 'windowText',
187
+ maskFill: 'transparent',
188
+ series: {
189
+ color: 'windowText',
190
+ lineColor: 'windowText'
191
+ },
192
+ xAxis: {
193
+ gridLineColor: 'windowText'
194
+ }
195
+ },
196
+ scrollbar: {
197
+ barBackgroundColor: '#444',
198
+ barBorderColor: 'windowText',
199
+ buttonArrowColor: 'windowText',
200
+ buttonBackgroundColor: 'window',
201
+ buttonBorderColor: 'windowText',
202
+ rifleColor: 'windowText',
203
+ trackBackgroundColor: 'window',
204
+ trackBorderColor: 'windowText'
205
+ }
206
+ };
207
+ /* *
208
+ *
209
+ * Default Export
210
+ *
211
+ * */
212
+ export default theme;