@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,214 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2025 Christer Vasseng, Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import G from '../Core/Globals.js';
12
+ const { win } = G;
13
+ import U from '../Core/Utilities.js';
14
+ const { discardElement, objectEach } = U;
15
+ /* *
16
+ *
17
+ * Functions
18
+ *
19
+ * */
20
+ /**
21
+ * Perform an Ajax call.
22
+ *
23
+ * @function Highcharts.ajax
24
+ *
25
+ * @param {Highcharts.AjaxSettingsObject} settings
26
+ * The Ajax settings to use.
27
+ *
28
+ * @return {false | undefined}
29
+ * Returns false, if error occurred.
30
+ */
31
+ function ajax(settings) {
32
+ const headers = {
33
+ json: 'application/json',
34
+ xml: 'application/xml',
35
+ text: 'text/plain',
36
+ octet: 'application/octet-stream'
37
+ }, r = new XMLHttpRequest();
38
+ /**
39
+ * Private error handler.
40
+ *
41
+ * @private
42
+ *
43
+ * @param {XMLHttpRequest} xhr
44
+ * Internal request object.
45
+ * @param {string | Error} err
46
+ * Occurred error.
47
+ */
48
+ function handleError(xhr, err) {
49
+ if (settings.error) {
50
+ settings.error(xhr, err);
51
+ }
52
+ else {
53
+ // @todo Maybe emit a highcharts error event here
54
+ }
55
+ }
56
+ if (!settings.url) {
57
+ return false;
58
+ }
59
+ r.open((settings.type || 'get').toUpperCase(), settings.url, true);
60
+ if (!settings.headers?.['Content-Type']) {
61
+ r.setRequestHeader('Content-Type', headers[settings.dataType || 'json'] || headers.text);
62
+ }
63
+ objectEach(settings.headers, function (val, key) {
64
+ r.setRequestHeader(key, val);
65
+ });
66
+ if (settings.responseType) {
67
+ r.responseType = settings.responseType;
68
+ }
69
+ // @todo lacking timeout handling
70
+ r.onreadystatechange = function () {
71
+ let res;
72
+ if (r.readyState === 4) {
73
+ if (r.status === 200) {
74
+ if (settings.responseType !== 'blob') {
75
+ res = r.responseText;
76
+ if (settings.dataType === 'json') {
77
+ try {
78
+ res = JSON.parse(res);
79
+ }
80
+ catch (e) {
81
+ if (e instanceof Error) {
82
+ return handleError(r, e);
83
+ }
84
+ }
85
+ }
86
+ }
87
+ return settings.success?.(res, r);
88
+ }
89
+ handleError(r, r.responseText);
90
+ }
91
+ };
92
+ if (settings.data && typeof settings.data !== 'string') {
93
+ settings.data = JSON.stringify(settings.data);
94
+ }
95
+ r.send(settings.data);
96
+ }
97
+ /**
98
+ * Get a JSON resource over XHR, also supporting CORS without preflight.
99
+ *
100
+ * @function Highcharts.getJSON
101
+ *
102
+ * @param {string} url
103
+ * The URL to load.
104
+ * @param {Function} success
105
+ * The success callback. For error handling, use the `Highcharts.ajax` function
106
+ * instead.
107
+ */
108
+ function getJSON(url, success) {
109
+ HttpUtilities.ajax({
110
+ url: url,
111
+ success: success,
112
+ dataType: 'json',
113
+ headers: {
114
+ // Override the Content-Type to avoid preflight problems with CORS
115
+ // in the Highcharts demos
116
+ 'Content-Type': 'text/plain'
117
+ }
118
+ });
119
+ }
120
+ /**
121
+ * The post utility.
122
+ *
123
+ * @private
124
+ * @function Highcharts.post
125
+ *
126
+ * @param {string} url
127
+ * Post URL.
128
+ * @param {Object} data
129
+ * Post data.
130
+ * @param {RequestInit} [fetchOptions]
131
+ * Additional attributes for the post request.
132
+ */
133
+ async function post(url, data, fetchOptions) {
134
+ // Prepare a form to send the data
135
+ const formData = new win.FormData();
136
+ // Add the data to the form
137
+ objectEach(data, function (value, name) {
138
+ formData.append(name, value);
139
+ });
140
+ formData.append('b64', 'true');
141
+ // Send the POST
142
+ const response = await win.fetch(url, {
143
+ method: 'POST',
144
+ body: formData,
145
+ ...fetchOptions
146
+ });
147
+ // Check the response
148
+ if (response.ok) {
149
+ // Get the text from the response
150
+ const text = await response.text();
151
+ // Prepare self-click link with the Base64 representation
152
+ const link = document.createElement('a');
153
+ link.href = `data:${data.type};base64,${text}`;
154
+ link.download = data.filename;
155
+ link.click();
156
+ // Remove the link
157
+ discardElement(link);
158
+ }
159
+ }
160
+ /* *
161
+ *
162
+ * Default Export
163
+ *
164
+ * */
165
+ const HttpUtilities = {
166
+ ajax,
167
+ getJSON,
168
+ post
169
+ };
170
+ export default HttpUtilities;
171
+ /* *
172
+ *
173
+ * API Declarations
174
+ *
175
+ * */
176
+ /**
177
+ * @interface Highcharts.AjaxSettingsObject
178
+ */ /**
179
+ * The payload to send.
180
+ *
181
+ * @name Highcharts.AjaxSettingsObject#data
182
+ * @type {string | Highcharts.Dictionary<any> | undefined}
183
+ */ /**
184
+ * The data type expected.
185
+ *
186
+ * @name Highcharts.AjaxSettingsObject#dataType
187
+ * @type {"json" | "xml" | "text" | "octet" | undefined}
188
+ */ /**
189
+ * Function to call on error.
190
+ *
191
+ * @name Highcharts.AjaxSettingsObject#error
192
+ * @type {Function | undefined}
193
+ */ /**
194
+ * The headers; keyed on header name.
195
+ *
196
+ * @name Highcharts.AjaxSettingsObject#headers
197
+ * @type {Highcharts.Dictionary<string> | undefined}
198
+ */ /**
199
+ * Function to call on success.
200
+ *
201
+ * @name Highcharts.AjaxSettingsObject#success
202
+ * @type {Function | undefined}
203
+ */ /**
204
+ * The HTTP method to use. For example GET or POST.
205
+ *
206
+ * @name Highcharts.AjaxSettingsObject#type
207
+ * @type {string | undefined}
208
+ */ /**
209
+ * The URL to call.
210
+ *
211
+ * @name Highcharts.AjaxSettingsObject#url
212
+ * @type {string}
213
+ */
214
+ (''); // Keeps doclets above in JS file
@@ -0,0 +1,74 @@
1
+ import type Chart from './Chart/Chart';
2
+ import type Options from './Options';
3
+ import type PointerEvent from './PointerEvent';
4
+ import Pointer from './Pointer.js';
5
+ import DOMElementType from './Renderer/DOMElementType';
6
+ declare global {
7
+ /** @deprecated */
8
+ interface MSPointerEvent extends Partial<PointerEvent> {
9
+ /** @deprecated */
10
+ readonly MSPOINTER_TYPE_TOUCH: string;
11
+ readonly currentTarget?: EventTarget;
12
+ readonly pointerId: number;
13
+ readonly pointerType?: undefined;
14
+ /** @deprecated */
15
+ readonly toElement: Element;
16
+ }
17
+ interface Window {
18
+ /** @deprecated */
19
+ MSPointerEvent?: Class<MSPointerEvent>;
20
+ }
21
+ }
22
+ /** @private */
23
+ declare class MSPointer extends Pointer {
24
+ static isRequired(): boolean;
25
+ /**
26
+ * Add or remove the MS Pointer specific events
27
+ * @private
28
+ * @function Highcharts.Pointer#batchMSEvents
29
+ */
30
+ private batchMSEvents;
31
+ destroy(): void;
32
+ constructor(chart: Chart, options: Options);
33
+ /**
34
+ * Utility to detect whether an element has, or has a parent with, a
35
+ * specific class name. Used on detection of tracker objects and on deciding
36
+ * whether hovering the tooltip should cause the active series to mouse out.
37
+ *
38
+ * @function Highcharts.Pointer#inClass
39
+ *
40
+ * @param {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement} element
41
+ * The element to investigate.
42
+ *
43
+ * @param {string} className
44
+ * The class name to look for.
45
+ *
46
+ * @return {boolean|undefined}
47
+ * True if either the element or one of its parents has the given class
48
+ * name.
49
+ */
50
+ inClass(element: DOMElementType, className: string): (boolean | undefined);
51
+ /**
52
+ * @private
53
+ * @function Highcharts.Pointer#onContainerPointerDown
54
+ */
55
+ private onContainerPointerDown;
56
+ /**
57
+ * @private
58
+ * @function Highcharts.Pointer#onContainerPointerMove
59
+ */
60
+ private onContainerPointerMove;
61
+ /**
62
+ * @private
63
+ * @function Highcharts.Pointer#onDocumentPointerUp
64
+ */
65
+ private onDocumentPointerUp;
66
+ setDOMEvents(): void;
67
+ }
68
+ declare namespace MSPointer {
69
+ /**
70
+ * @private
71
+ */
72
+ function compose(ChartClass: typeof Chart): void;
73
+ }
74
+ export default MSPointer;
@@ -0,0 +1,218 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2025 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import H from './Globals.js';
12
+ const { charts, composed, doc, noop, win } = H;
13
+ import Pointer from './Pointer.js';
14
+ import U from './Utilities.js';
15
+ const { addEvent, attr, css, defined, objectEach, pick, pushUnique, removeEvent } = U;
16
+ /* *
17
+ *
18
+ * Constants
19
+ *
20
+ * */
21
+ // The touches object keeps track of the points being touched at all times
22
+ const touches = {};
23
+ const hasPointerEvent = !!win.PointerEvent;
24
+ /* *
25
+ *
26
+ * Functions
27
+ *
28
+ * */
29
+ /* eslint-disable valid-jsdoc */
30
+ /** @private */
31
+ function getWebkitTouches() {
32
+ const fake = [];
33
+ fake.item = function (i) {
34
+ return this[i];
35
+ };
36
+ objectEach(touches, function (touch) {
37
+ fake.push({
38
+ pageX: touch.pageX,
39
+ pageY: touch.pageY,
40
+ target: touch.target
41
+ });
42
+ });
43
+ return fake;
44
+ }
45
+ /** @private */
46
+ function translateMSPointer(e, method, wktype, func) {
47
+ const pointer = charts[Pointer.hoverChartIndex ?? -1]?.pointer;
48
+ if (pointer &&
49
+ (e.pointerType === 'touch' ||
50
+ e.pointerType === e.MSPOINTER_TYPE_TOUCH)) {
51
+ func(e);
52
+ pointer[method]({
53
+ type: wktype,
54
+ target: e.currentTarget,
55
+ preventDefault: noop,
56
+ touches: getWebkitTouches()
57
+ });
58
+ }
59
+ }
60
+ /* *
61
+ *
62
+ * Class
63
+ *
64
+ * */
65
+ /** @private */
66
+ class MSPointer extends Pointer {
67
+ /* *
68
+ *
69
+ * Static Functions
70
+ *
71
+ * */
72
+ static isRequired() {
73
+ return !!(!win.TouchEvent && (win.PointerEvent || win.MSPointerEvent));
74
+ }
75
+ /* *
76
+ *
77
+ * Functions
78
+ *
79
+ * */
80
+ /**
81
+ * Add or remove the MS Pointer specific events
82
+ * @private
83
+ * @function Highcharts.Pointer#batchMSEvents
84
+ */
85
+ batchMSEvents(fn) {
86
+ fn(this.chart.container, hasPointerEvent ? 'pointerdown' : 'MSPointerDown', this.onContainerPointerDown);
87
+ fn(this.chart.container, hasPointerEvent ? 'pointermove' : 'MSPointerMove', this.onContainerPointerMove);
88
+ fn(doc, hasPointerEvent ? 'pointerup' : 'MSPointerUp', this.onDocumentPointerUp);
89
+ }
90
+ // Destroy MS events also
91
+ destroy() {
92
+ this.batchMSEvents(removeEvent);
93
+ super.destroy();
94
+ }
95
+ // Disable default IE actions for pinch and such on chart element
96
+ constructor(chart, options) {
97
+ super(chart, options);
98
+ if (this.hasZoom) { // #4014
99
+ css(chart.container, {
100
+ '-ms-touch-action': 'none',
101
+ 'touch-action': 'none'
102
+ });
103
+ }
104
+ }
105
+ /**
106
+ * Utility to detect whether an element has, or has a parent with, a
107
+ * specific class name. Used on detection of tracker objects and on deciding
108
+ * whether hovering the tooltip should cause the active series to mouse out.
109
+ *
110
+ * @function Highcharts.Pointer#inClass
111
+ *
112
+ * @param {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement} element
113
+ * The element to investigate.
114
+ *
115
+ * @param {string} className
116
+ * The class name to look for.
117
+ *
118
+ * @return {boolean|undefined}
119
+ * True if either the element or one of its parents has the given class
120
+ * name.
121
+ */
122
+ inClass(element, className) {
123
+ let elem = element, elemClassName;
124
+ while (elem) {
125
+ elemClassName = attr(elem, 'class');
126
+ if (elemClassName) {
127
+ if (elemClassName.indexOf(className) !== -1) {
128
+ return true;
129
+ }
130
+ if (elemClassName.indexOf('highcharts-container') !== -1) {
131
+ return false;
132
+ }
133
+ }
134
+ // #21098 IE11 compatibility
135
+ elem = elem.parentNode;
136
+ if (elem && (
137
+ // HTMLElement
138
+ elem === document.documentElement ||
139
+ // Document
140
+ defined(elem.nodeType) &&
141
+ elem.nodeType === document.nodeType)) {
142
+ elem = null;
143
+ }
144
+ }
145
+ }
146
+ /**
147
+ * @private
148
+ * @function Highcharts.Pointer#onContainerPointerDown
149
+ */
150
+ onContainerPointerDown(e) {
151
+ translateMSPointer(e, 'onContainerTouchStart', 'touchstart', function (e) {
152
+ touches[e.pointerId] = {
153
+ pageX: e.pageX,
154
+ pageY: e.pageY,
155
+ target: e.currentTarget
156
+ };
157
+ });
158
+ }
159
+ /**
160
+ * @private
161
+ * @function Highcharts.Pointer#onContainerPointerMove
162
+ */
163
+ onContainerPointerMove(e) {
164
+ translateMSPointer(e, 'onContainerTouchMove', 'touchmove', function (e) {
165
+ touches[e.pointerId] = ({ pageX: e.pageX, pageY: e.pageY });
166
+ if (!touches[e.pointerId].target) {
167
+ touches[e.pointerId].target = e.currentTarget;
168
+ }
169
+ });
170
+ }
171
+ /**
172
+ * @private
173
+ * @function Highcharts.Pointer#onDocumentPointerUp
174
+ */
175
+ onDocumentPointerUp(e) {
176
+ translateMSPointer(e, 'onDocumentTouchEnd', 'touchend', function (e) {
177
+ delete touches[e.pointerId];
178
+ });
179
+ }
180
+ // Add IE specific touch events to chart
181
+ setDOMEvents() {
182
+ const tooltip = this.chart.tooltip;
183
+ super.setDOMEvents();
184
+ if (this.hasZoom ||
185
+ pick((tooltip?.options.followTouchMove), true)) {
186
+ this.batchMSEvents(addEvent);
187
+ }
188
+ }
189
+ }
190
+ /* *
191
+ *
192
+ * Class Namespace
193
+ *
194
+ * */
195
+ (function (MSPointer) {
196
+ /* *
197
+ *
198
+ * Functions
199
+ *
200
+ * */
201
+ /**
202
+ * @private
203
+ */
204
+ function compose(ChartClass) {
205
+ if (pushUnique(composed, 'Core.MSPointer')) {
206
+ addEvent(ChartClass, 'beforeRender', function () {
207
+ this.pointer = new MSPointer(this, this.options);
208
+ });
209
+ }
210
+ }
211
+ MSPointer.compose = compose;
212
+ })(MSPointer || (MSPointer = {}));
213
+ /* *
214
+ *
215
+ * Default Export
216
+ *
217
+ * */
218
+ export default MSPointer;
@@ -0,0 +1,117 @@
1
+ import type Chart from './Chart/Chart';
2
+ import type Position3DObject from './Renderer/Position3DObject';
3
+ import type PositionObject from './Renderer/PositionObject';
4
+ declare module './Chart/ChartBase' {
5
+ interface ChartBase {
6
+ scale3d?: number;
7
+ }
8
+ }
9
+ /**
10
+ * Transforms a given array of points according to the angles in chart.options.
11
+ *
12
+ * @private
13
+ * @function Highcharts.perspective
14
+ *
15
+ * @param {Array<Highcharts.Position3DObject>} points
16
+ * The array of points
17
+ *
18
+ * @param {Highcharts.Chart} chart
19
+ * The chart
20
+ *
21
+ * @param {boolean} [insidePlotArea]
22
+ * Whether to verify that the points are inside the plotArea
23
+ *
24
+ * @param {boolean} [useInvertedPersp]
25
+ * Whether to use inverted perspective in calculations
26
+ *
27
+ * @return {Array<Highcharts.Position3DObject>}
28
+ * An array of transformed points
29
+ *
30
+ * @requires highcharts-3d
31
+ */
32
+ declare function perspective(points: Array<Position3DObject>, chart: Chart, insidePlotArea?: boolean, useInvertedPersp?: boolean): Array<Position3DObject>;
33
+ /**
34
+ * Perspective3D function is available in global Highcharts scope because is
35
+ * needed also outside of perspective() function (#8042).
36
+ * @private
37
+ * @function Highcharts.perspective3D
38
+ *
39
+ * @param {Highcharts.Position3DObject} coordinate
40
+ * 3D position
41
+ *
42
+ * @param {Highcharts.Position3DObject} origin
43
+ * 3D root position
44
+ *
45
+ * @param {number} distance
46
+ * Perspective distance
47
+ *
48
+ * @return {Highcharts.PositionObject}
49
+ * Perspective 3D Position
50
+ *
51
+ * @requires highcharts-3d
52
+ */
53
+ declare function perspective3D(coordinate: Position3DObject, origin: Position3DObject, distance: number): PositionObject;
54
+ /**
55
+ * Calculate a distance from camera to points - made for calculating zIndex of
56
+ * scatter points.
57
+ *
58
+ * @private
59
+ * @function Highcharts.pointCameraDistance
60
+ *
61
+ * @param {Highcharts.Dictionary<number>} coordinates
62
+ * Coordinates of the specific point
63
+ *
64
+ * @param {Highcharts.Chart} chart
65
+ * Related chart
66
+ *
67
+ * @return {number}
68
+ * Distance from camera to point
69
+ *
70
+ * @requires highcharts-3d
71
+ */
72
+ declare function pointCameraDistance(coordinates: Record<string, number>, chart: Chart): number;
73
+ /**
74
+ * Calculate area of a 2D polygon using Shoelace algorithm
75
+ * https://en.wikipedia.org/wiki/Shoelace_formula
76
+ *
77
+ * @private
78
+ * @function Highcharts.shapeArea
79
+ *
80
+ * @param {Array<Highcharts.PositionObject>} vertexes
81
+ * 2D Polygon
82
+ *
83
+ * @return {number}
84
+ * Calculated area
85
+ *
86
+ * @requires highcharts-3d
87
+ */
88
+ declare function shapeArea(vertexes: Array<PositionObject>): number;
89
+ /**
90
+ * Calculate area of a 3D polygon after perspective projection
91
+ *
92
+ * @private
93
+ * @function Highcharts.shapeArea3d
94
+ *
95
+ * @param {Array<Highcharts.Position3DObject>} vertexes
96
+ * 3D Polygon
97
+ *
98
+ * @param {Highcharts.Chart} chart
99
+ * Related chart
100
+ *
101
+ * @param {boolean} [insidePlotArea]
102
+ * Whether to verify that the points are inside the plotArea
103
+ *
104
+ * @return {number}
105
+ * Calculated area
106
+ *
107
+ * @requires highcharts-3d
108
+ */
109
+ declare function shapeArea3D(vertexes: Array<Position3DObject>, chart: Chart, insidePlotArea?: boolean): number;
110
+ declare const Math3D: {
111
+ perspective: typeof perspective;
112
+ perspective3D: typeof perspective3D;
113
+ pointCameraDistance: typeof pointCameraDistance;
114
+ shapeArea: typeof shapeArea;
115
+ shapeArea3D: typeof shapeArea3D;
116
+ };
117
+ export default Math3D;