@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,200 @@
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 Fx from './Fx.js';
12
+ import U from '../Utilities.js';
13
+ const { defined, getStyle, isArray, isNumber, isObject, merge, objectEach, pick } = U;
14
+ /* *
15
+ *
16
+ * Functions
17
+ *
18
+ * */
19
+ /**
20
+ * Set the global animation to either a given value, or fall back to the given
21
+ * chart's animation option.
22
+ *
23
+ * @function Highcharts.setAnimation
24
+ *
25
+ * @param {boolean|Partial<Highcharts.AnimationOptionsObject>|undefined} animation
26
+ * The animation object.
27
+ *
28
+ * @param {Highcharts.Chart} chart
29
+ * The chart instance.
30
+ *
31
+ * @todo
32
+ * This function always relates to a chart, and sets a property on the renderer,
33
+ * so it should be moved to the SVGRenderer.
34
+ */
35
+ function setAnimation(animation, chart) {
36
+ chart.renderer.globalAnimation = pick(animation, chart.options.chart.animation, true);
37
+ }
38
+ /**
39
+ * Get the animation in object form, where a disabled animation is always
40
+ * returned as `{ duration: 0 }`.
41
+ *
42
+ * @function Highcharts.animObject
43
+ *
44
+ * @param {boolean|Highcharts.AnimationOptionsObject} [animation=0]
45
+ * An animation setting. Can be an object with duration, complete and
46
+ * easing properties, or a boolean to enable or disable.
47
+ *
48
+ * @return {Highcharts.AnimationOptionsObject}
49
+ * An object with at least a duration property.
50
+ */
51
+ function animObject(animation) {
52
+ return isObject(animation) ?
53
+ merge({ duration: 500, defer: 0 }, animation) :
54
+ { duration: animation ? 500 : 0, defer: 0 };
55
+ }
56
+ /**
57
+ * Get the defer as a number value from series animation options.
58
+ *
59
+ * @function Highcharts.getDeferredAnimation
60
+ *
61
+ * @param {Highcharts.Chart} chart
62
+ * The chart instance.
63
+ *
64
+ * @param {boolean|Highcharts.AnimationOptionsObject} animation
65
+ * An animation setting. Can be an object with duration, complete and
66
+ * easing properties, or a boolean to enable or disable.
67
+ *
68
+ * @param {Highcharts.Series} [series]
69
+ * Series to defer animation.
70
+ *
71
+ * @return {number}
72
+ * The numeric value.
73
+ */
74
+ function getDeferredAnimation(chart, animation, series) {
75
+ const labelAnimation = animObject(animation), s = series ? [series] : chart.series;
76
+ let defer = 0, duration = 0;
77
+ s.forEach((series) => {
78
+ const seriesAnim = animObject(series.options.animation);
79
+ defer = isObject(animation) && defined(animation.defer) ?
80
+ labelAnimation.defer :
81
+ Math.max(defer, seriesAnim.duration + seriesAnim.defer);
82
+ duration = Math.min(labelAnimation.duration, seriesAnim.duration);
83
+ });
84
+ // Disable defer for exporting
85
+ if (chart.renderer.forExport) {
86
+ defer = 0;
87
+ }
88
+ const anim = {
89
+ defer: Math.max(0, defer - duration),
90
+ duration: Math.min(defer, duration)
91
+ };
92
+ return anim;
93
+ }
94
+ /**
95
+ * The global animate method, which uses Fx to create individual animators.
96
+ *
97
+ * @function Highcharts.animate
98
+ *
99
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el
100
+ * The element to animate.
101
+ *
102
+ * @param {Highcharts.CSSObject|Highcharts.SVGAttributes} params
103
+ * An object containing key-value pairs of the properties to animate.
104
+ * Supports numeric as pixel-based CSS properties for HTML objects and
105
+ * attributes for SVGElements.
106
+ *
107
+ * @param {Partial<Highcharts.AnimationOptionsObject>} [opt]
108
+ * Animation options.
109
+ *
110
+ * @return {void}
111
+ */
112
+ function animate(el, params, opt) {
113
+ let start, unit = '', end, fx, args;
114
+ if (!isObject(opt)) { // Number or undefined/null
115
+ args = arguments;
116
+ opt = {
117
+ duration: args[2],
118
+ easing: args[3],
119
+ complete: args[4]
120
+ };
121
+ }
122
+ if (!isNumber(opt.duration)) {
123
+ opt.duration = 400;
124
+ }
125
+ opt.easing = typeof opt.easing === 'function' ?
126
+ opt.easing :
127
+ (Math[opt.easing] || Math.easeInOutSine);
128
+ opt.curAnim = merge(params);
129
+ objectEach(params, function (val, prop) {
130
+ // Stop current running animation of this property
131
+ stop(el, prop);
132
+ fx = new Fx(el, opt, prop);
133
+ end = void 0;
134
+ if (prop === 'd' && isArray(params.d)) {
135
+ fx.paths = fx.initPath(el, el.pathArray, params.d);
136
+ fx.toD = params.d;
137
+ start = 0;
138
+ end = 1;
139
+ }
140
+ else if (el.attr) {
141
+ start = el.attr(prop);
142
+ }
143
+ else {
144
+ start = parseFloat(getStyle(el, prop)) || 0;
145
+ if (prop !== 'opacity') {
146
+ unit = 'px';
147
+ }
148
+ }
149
+ if (!end) {
150
+ end = val;
151
+ }
152
+ if (typeof end === 'string' && end.match('px')) {
153
+ end = end.replace(/px/g, ''); // #4351
154
+ }
155
+ fx.run(start, end, unit);
156
+ });
157
+ }
158
+ /**
159
+ * Stop running animation.
160
+ *
161
+ * @function Highcharts.stop
162
+ *
163
+ * @param {Highcharts.SVGElement} el
164
+ * The SVGElement to stop animation on.
165
+ *
166
+ * @param {string} [prop]
167
+ * The property to stop animating. If given, the stop method will stop a
168
+ * single property from animating, while others continue.
169
+ *
170
+ * @return {void}
171
+ *
172
+ * @todo
173
+ * A possible extension to this would be to stop a single property, when
174
+ * we want to continue animating others. Then assign the prop to the timer
175
+ * in the Fx.run method, and check for the prop here. This would be an
176
+ * improvement in all cases where we stop the animation from .attr. Instead of
177
+ * stopping everything, we can just stop the actual attributes we're setting.
178
+ */
179
+ function stop(el, prop) {
180
+ let i = Fx.timers.length;
181
+ // Remove timers related to this element (#4519)
182
+ while (i--) {
183
+ if (Fx.timers[i].elem === el && (!prop || prop === Fx.timers[i].prop)) {
184
+ Fx.timers[i].stopped = true; // #4667
185
+ }
186
+ }
187
+ }
188
+ const animationExports = {
189
+ animate,
190
+ animObject,
191
+ getDeferredAnimation,
192
+ setAnimation,
193
+ stop
194
+ };
195
+ /* *
196
+ *
197
+ * Default Export
198
+ *
199
+ * */
200
+ export default animationExports;
@@ -0,0 +1,130 @@
1
+ import type AnimationOptions from './AnimationOptions';
2
+ import type FxBase from './FxBase';
3
+ import type { HTMLDOMElement } from '../Renderer/DOMElementType';
4
+ import type HTMLElement from '../Renderer/HTML/HTMLElement';
5
+ import type SVGElement from '../Renderer/SVG/SVGElement';
6
+ import type SVGPath from '../Renderer/SVG/SVGPath';
7
+ /**
8
+ * An animator object used internally. One instance applies to one property
9
+ * (attribute or style prop) on one element. Animation is always initiated
10
+ * through {@link SVGElement#animate}.
11
+ *
12
+ * @example
13
+ * let rect = renderer.rect(0, 0, 10, 10).add();
14
+ * rect.animate({ width: 100 });
15
+ *
16
+ * @private
17
+ * @class
18
+ * @name Highcharts.Fx
19
+ *
20
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} elem
21
+ * The element to animate.
22
+ *
23
+ * @param {Partial<Highcharts.AnimationOptionsObject>} options
24
+ * Animation options.
25
+ *
26
+ * @param {string} prop
27
+ * The single attribute or CSS property to animate.
28
+ */
29
+ declare class Fx {
30
+ static timers: Array<Fx.Timer>;
31
+ constructor(elem: (HTMLElement | SVGElement), options: Partial<AnimationOptions>, prop: string);
32
+ elem: (HTMLElement | SVGElement);
33
+ end?: number;
34
+ from?: number;
35
+ now?: number;
36
+ options: Partial<AnimationOptions>;
37
+ paths?: [SVGPath, SVGPath];
38
+ pos: number;
39
+ prop: string;
40
+ start?: number;
41
+ startTime?: number;
42
+ toD?: SVGPath;
43
+ unit?: string;
44
+ /**
45
+ * Set the current step of a path definition on SVGElement.
46
+ *
47
+ * @function Highcharts.Fx#dSetter
48
+ *
49
+ */
50
+ dSetter(): void;
51
+ /**
52
+ * Update the element with the current animation step.
53
+ *
54
+ * @function Highcharts.Fx#update
55
+ *
56
+ */
57
+ update(): void;
58
+ /**
59
+ * Run an animation.
60
+ *
61
+ * @function Highcharts.Fx#run
62
+ *
63
+ * @param {number} from
64
+ * The current value, value to start from.
65
+ *
66
+ * @param {number} to
67
+ * The end value, value to land on.
68
+ *
69
+ * @param {string} unit
70
+ * The property unit, for example `px`.
71
+ *
72
+ */
73
+ run(from: number, to: number, unit: string): void;
74
+ /**
75
+ * Run a single step in the animation.
76
+ *
77
+ * @function Highcharts.Fx#step
78
+ *
79
+ * @param {boolean} [gotoEnd]
80
+ * Whether to go to the endpoint of the animation after abort.
81
+ *
82
+ * @return {boolean}
83
+ * Returns `true` if animation continues.
84
+ */
85
+ step(gotoEnd?: boolean): boolean;
86
+ /**
87
+ * Prepare start and end values so that the path can be animated one to one.
88
+ *
89
+ * @function Highcharts.Fx#initPath
90
+ *
91
+ * @param {Highcharts.SVGElement} elem
92
+ * The SVGElement item.
93
+ *
94
+ * @param {Highcharts.SVGPathArray|undefined} fromD
95
+ * Starting path definition.
96
+ *
97
+ * @param {Highcharts.SVGPathArray} toD
98
+ * Ending path definition.
99
+ *
100
+ * @return {Array<Highcharts.SVGPathArray,Highcharts.SVGPathArray>}
101
+ * An array containing start and end paths in array form so that
102
+ * they can be animated in parallel.
103
+ */
104
+ initPath(elem: SVGElement, fromD: SVGPath | undefined, toD: SVGPath): [SVGPath, SVGPath];
105
+ /**
106
+ * Handle animation of the color attributes directly.
107
+ *
108
+ * @function Highcharts.Fx#fillSetter
109
+ *
110
+ */
111
+ fillSetter(): void;
112
+ /**
113
+ * Handle animation of the color attributes directly.
114
+ *
115
+ * @function Highcharts.Fx#strokeSetter
116
+ *
117
+ */
118
+ strokeSetter(): void;
119
+ }
120
+ interface Fx extends FxBase {
121
+ }
122
+ declare namespace Fx {
123
+ interface Timer {
124
+ (gotoEnd?: boolean): boolean;
125
+ elem?: (HTMLDOMElement | SVGElement);
126
+ prop?: string;
127
+ stopped?: boolean;
128
+ }
129
+ }
130
+ export default Fx;
@@ -0,0 +1,388 @@
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 Color from '../Color/Color.js';
12
+ const { parse: color } = Color;
13
+ import H from '../Globals.js';
14
+ const { win } = H;
15
+ import U from '../Utilities.js';
16
+ const { isNumber, objectEach } = U;
17
+ /* eslint-disable no-invalid-this, valid-jsdoc */
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * An animator object used internally. One instance applies to one property
25
+ * (attribute or style prop) on one element. Animation is always initiated
26
+ * through {@link SVGElement#animate}.
27
+ *
28
+ * @example
29
+ * let rect = renderer.rect(0, 0, 10, 10).add();
30
+ * rect.animate({ width: 100 });
31
+ *
32
+ * @private
33
+ * @class
34
+ * @name Highcharts.Fx
35
+ *
36
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} elem
37
+ * The element to animate.
38
+ *
39
+ * @param {Partial<Highcharts.AnimationOptionsObject>} options
40
+ * Animation options.
41
+ *
42
+ * @param {string} prop
43
+ * The single attribute or CSS property to animate.
44
+ */
45
+ class Fx {
46
+ /* *
47
+ *
48
+ * Constructors
49
+ *
50
+ * */
51
+ constructor(elem, options, prop) {
52
+ this.pos = NaN;
53
+ this.options = options;
54
+ this.elem = elem;
55
+ this.prop = prop;
56
+ }
57
+ /* *
58
+ *
59
+ * Functions
60
+ *
61
+ * */
62
+ /**
63
+ * Set the current step of a path definition on SVGElement.
64
+ *
65
+ * @function Highcharts.Fx#dSetter
66
+ *
67
+ */
68
+ dSetter() {
69
+ const paths = this.paths, start = paths?.[0], end = paths?.[1], now = this.now || 0;
70
+ let path = [];
71
+ // Land on the final path without adjustment points appended in the ends
72
+ if (now === 1 || !start || !end) {
73
+ path = this.toD || [];
74
+ }
75
+ else if (start.length === end.length && now < 1) {
76
+ for (let i = 0; i < end.length; i++) {
77
+ // Tween between the start segment and the end segment. Start
78
+ // with a copy of the end segment and tween the appropriate
79
+ // numerics
80
+ const startSeg = start[i];
81
+ const endSeg = end[i];
82
+ const tweenSeg = [];
83
+ for (let j = 0; j < endSeg.length; j++) {
84
+ const startItem = startSeg[j];
85
+ const endItem = endSeg[j];
86
+ // Tween numbers
87
+ if (isNumber(startItem) &&
88
+ isNumber(endItem) &&
89
+ // Arc boolean flags
90
+ !(endSeg[0] === 'A' && (j === 4 || j === 5))) {
91
+ tweenSeg[j] = startItem + now * (endItem - startItem);
92
+ // Strings, take directly from the end segment
93
+ }
94
+ else {
95
+ tweenSeg[j] = endItem;
96
+ }
97
+ }
98
+ path.push(tweenSeg);
99
+ }
100
+ // If animation is finished or length not matching, land on right value
101
+ }
102
+ else {
103
+ path = end;
104
+ }
105
+ this.elem.attr('d', path, void 0, true);
106
+ }
107
+ /**
108
+ * Update the element with the current animation step.
109
+ *
110
+ * @function Highcharts.Fx#update
111
+ *
112
+ */
113
+ update() {
114
+ const elem = this.elem, prop = this.prop, // If destroyed, it is null
115
+ now = this.now, step = this.options.step;
116
+ // Animation setter defined from outside
117
+ if (this[prop + 'Setter']) {
118
+ this[prop + 'Setter']();
119
+ // Other animations on SVGElement
120
+ }
121
+ else if (elem.attr) {
122
+ if (elem.element) {
123
+ elem.attr(prop, now, null, true);
124
+ }
125
+ // HTML styles, raw HTML content like container size
126
+ }
127
+ else {
128
+ elem.style[prop] = now + this.unit;
129
+ }
130
+ if (step) {
131
+ step.call(elem, now, this);
132
+ }
133
+ }
134
+ /**
135
+ * Run an animation.
136
+ *
137
+ * @function Highcharts.Fx#run
138
+ *
139
+ * @param {number} from
140
+ * The current value, value to start from.
141
+ *
142
+ * @param {number} to
143
+ * The end value, value to land on.
144
+ *
145
+ * @param {string} unit
146
+ * The property unit, for example `px`.
147
+ *
148
+ */
149
+ run(from, to, unit) {
150
+ const self = this, options = self.options, timer = function (gotoEnd) {
151
+ return timer.stopped ? false : self.step(gotoEnd);
152
+ }, requestAnimationFrame = win.requestAnimationFrame ||
153
+ function (step) {
154
+ setTimeout(step, 13);
155
+ }, step = function () {
156
+ for (let i = 0; i < Fx.timers.length; i++) {
157
+ if (!Fx.timers[i]()) {
158
+ Fx.timers.splice(i--, 1);
159
+ }
160
+ }
161
+ if (Fx.timers.length) {
162
+ requestAnimationFrame(step);
163
+ }
164
+ };
165
+ if (from === to && !this.elem['forceAnimate:' + this.prop]) {
166
+ delete options.curAnim[this.prop];
167
+ if (options.complete &&
168
+ Object.keys(options.curAnim).length === 0) {
169
+ options.complete.call(this.elem);
170
+ }
171
+ }
172
+ else { // #7166
173
+ this.startTime = +new Date();
174
+ this.start = from;
175
+ this.end = to;
176
+ this.unit = unit;
177
+ this.now = this.start;
178
+ this.pos = 0;
179
+ timer.elem = this.elem;
180
+ timer.prop = this.prop;
181
+ if (timer() && Fx.timers.push(timer) === 1) {
182
+ requestAnimationFrame(step);
183
+ }
184
+ }
185
+ }
186
+ /**
187
+ * Run a single step in the animation.
188
+ *
189
+ * @function Highcharts.Fx#step
190
+ *
191
+ * @param {boolean} [gotoEnd]
192
+ * Whether to go to the endpoint of the animation after abort.
193
+ *
194
+ * @return {boolean}
195
+ * Returns `true` if animation continues.
196
+ */
197
+ step(gotoEnd) {
198
+ const t = +new Date(), options = this.options, elem = this.elem, complete = options.complete, duration = options.duration, curAnim = options.curAnim;
199
+ let ret, done;
200
+ if (!!elem.attr && !elem.element) { // #2616, element is destroyed
201
+ ret = false;
202
+ }
203
+ else if (gotoEnd || t >= duration + this.startTime) {
204
+ this.now = this.end;
205
+ this.pos = 1;
206
+ this.update();
207
+ curAnim[this.prop] = true;
208
+ done = true;
209
+ objectEach(curAnim, function (val) {
210
+ if (val !== true) {
211
+ done = false;
212
+ }
213
+ });
214
+ if (done && complete) {
215
+ complete.call(elem);
216
+ }
217
+ ret = false;
218
+ }
219
+ else {
220
+ this.pos = options.easing((t - this.startTime) / duration);
221
+ this.now = this.start + ((this.end -
222
+ this.start) * this.pos);
223
+ this.update();
224
+ ret = true;
225
+ }
226
+ return ret;
227
+ }
228
+ /**
229
+ * Prepare start and end values so that the path can be animated one to one.
230
+ *
231
+ * @function Highcharts.Fx#initPath
232
+ *
233
+ * @param {Highcharts.SVGElement} elem
234
+ * The SVGElement item.
235
+ *
236
+ * @param {Highcharts.SVGPathArray|undefined} fromD
237
+ * Starting path definition.
238
+ *
239
+ * @param {Highcharts.SVGPathArray} toD
240
+ * Ending path definition.
241
+ *
242
+ * @return {Array<Highcharts.SVGPathArray,Highcharts.SVGPathArray>}
243
+ * An array containing start and end paths in array form so that
244
+ * they can be animated in parallel.
245
+ */
246
+ initPath(elem, fromD, toD) {
247
+ const startX = elem.startX, endX = elem.endX, end = toD.slice(), // Copy
248
+ isArea = elem.isArea, positionFactor = isArea ? 2 : 1, disableAnimation = fromD &&
249
+ toD.length > fromD.length &&
250
+ toD.hasStackedCliffs; // #16925
251
+ let shift, fullLength, i, reverse, start = fromD?.slice(); // Copy
252
+ if (!start || disableAnimation) {
253
+ return [end, end];
254
+ }
255
+ /**
256
+ * If shifting points, prepend a dummy point to the end path.
257
+ * @private
258
+ */
259
+ function prepend(arr, other) {
260
+ while (arr.length < fullLength) {
261
+ // Move to, line to or curve to?
262
+ const moveSegment = arr[0], otherSegment = other[fullLength - arr.length];
263
+ if (otherSegment && moveSegment[0] === 'M') {
264
+ if (otherSegment[0] === 'C') {
265
+ arr[0] = [
266
+ 'C',
267
+ moveSegment[1],
268
+ moveSegment[2],
269
+ moveSegment[1],
270
+ moveSegment[2],
271
+ moveSegment[1],
272
+ moveSegment[2]
273
+ ];
274
+ }
275
+ else {
276
+ arr[0] = ['L', moveSegment[1], moveSegment[2]];
277
+ }
278
+ }
279
+ // Prepend a copy of the first point
280
+ arr.unshift(moveSegment);
281
+ // For areas, the bottom path goes back again to the left, so we
282
+ // need to append a copy of the last point.
283
+ if (isArea) {
284
+ const z = arr.pop();
285
+ arr.push(arr[arr.length - 1], z); // Append point and the Z
286
+ }
287
+ }
288
+ }
289
+ /**
290
+ * Copy and append last point until the length matches the end length.
291
+ * @private
292
+ */
293
+ function append(arr) {
294
+ while (arr.length < fullLength) {
295
+ // Pull out the slice that is going to be appended or inserted.
296
+ // In a line graph, the positionFactor is 1, and the last point
297
+ // is sliced out. In an area graph, the positionFactor is 2,
298
+ // causing the middle two points to be sliced out, since an area
299
+ // path starts at left, follows the upper path then turns and
300
+ // follows the bottom back.
301
+ const segmentToAdd = arr[Math.floor(arr.length / positionFactor) - 1].slice();
302
+ // Disable the first control point of curve segments
303
+ if (segmentToAdd[0] === 'C') {
304
+ segmentToAdd[1] = segmentToAdd[5];
305
+ segmentToAdd[2] = segmentToAdd[6];
306
+ }
307
+ if (!isArea) {
308
+ arr.push(segmentToAdd);
309
+ }
310
+ else {
311
+ const lowerSegmentToAdd = arr[Math.floor(arr.length / positionFactor)].slice();
312
+ arr.splice(arr.length / 2, 0, segmentToAdd, lowerSegmentToAdd);
313
+ }
314
+ }
315
+ }
316
+ // For sideways animation, find out how much we need to shift to get the
317
+ // start path Xs to match the end path Xs.
318
+ if (startX && endX && endX.length) {
319
+ for (i = 0; i < startX.length; i++) {
320
+ // Moving left, new points coming in on right
321
+ if (startX[i] === endX[0]) {
322
+ shift = i;
323
+ break;
324
+ // Moving right
325
+ }
326
+ else if (startX[0] ===
327
+ endX[endX.length - startX.length + i]) {
328
+ shift = i;
329
+ reverse = true;
330
+ break;
331
+ // Fixed from the right side, "scaling" left
332
+ }
333
+ else if (startX[startX.length - 1] ===
334
+ endX[endX.length - startX.length + i]) {
335
+ shift = startX.length - i;
336
+ break;
337
+ }
338
+ }
339
+ if (typeof shift === 'undefined') {
340
+ start = [];
341
+ }
342
+ }
343
+ if (start.length && isNumber(shift)) {
344
+ // The common target length for the start and end array, where both
345
+ // arrays are padded in opposite ends
346
+ fullLength = end.length + shift * positionFactor;
347
+ if (!reverse) {
348
+ prepend(end, start);
349
+ append(start);
350
+ }
351
+ else {
352
+ prepend(start, end);
353
+ append(end);
354
+ }
355
+ }
356
+ return [start, end];
357
+ }
358
+ /**
359
+ * Handle animation of the color attributes directly.
360
+ *
361
+ * @function Highcharts.Fx#fillSetter
362
+ *
363
+ */
364
+ fillSetter() {
365
+ Fx.prototype.strokeSetter.apply(this, arguments);
366
+ }
367
+ /**
368
+ * Handle animation of the color attributes directly.
369
+ *
370
+ * @function Highcharts.Fx#strokeSetter
371
+ *
372
+ */
373
+ strokeSetter() {
374
+ this.elem.attr(this.prop, color(this.start).tweenTo(color(this.end), this.pos), void 0, true);
375
+ }
376
+ }
377
+ /* *
378
+ *
379
+ * Static Properties
380
+ *
381
+ * */
382
+ Fx.timers = [];
383
+ /* *
384
+ *
385
+ * Default Export
386
+ *
387
+ * */
388
+ export default Fx;