@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,641 @@
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 Chart from '../Chart/Chart.js';
12
+ import F from '../Templating.js';
13
+ const { format } = F;
14
+ import D from '../Defaults.js';
15
+ const { getOptions } = D;
16
+ import NavigatorDefaults from '../../Stock/Navigator/NavigatorDefaults.js';
17
+ import RangeSelectorDefaults from '../../Stock/RangeSelector/RangeSelectorDefaults.js';
18
+ import ScrollbarDefaults from '../../Stock/Scrollbar/ScrollbarDefaults.js';
19
+ import StockUtilities from '../../Stock/Utilities/StockUtilities.js';
20
+ const { setFixedRange } = StockUtilities;
21
+ import U from '../Utilities.js';
22
+ const { addEvent, clamp, crisp, defined, extend, find, isNumber, isString, merge, pick, splat } = U;
23
+ /* *
24
+ *
25
+ * Functions
26
+ *
27
+ * */
28
+ /**
29
+ * Get stock-specific default axis options.
30
+ *
31
+ * @private
32
+ * @function getDefaultAxisOptions
33
+ */
34
+ function getDefaultAxisOptions(coll, options, defaultOptions) {
35
+ if (coll === 'xAxis') {
36
+ return {
37
+ minPadding: 0,
38
+ maxPadding: 0,
39
+ overscroll: 0,
40
+ ordinal: true
41
+ };
42
+ }
43
+ if (coll === 'yAxis') {
44
+ return {
45
+ labels: {
46
+ y: -2
47
+ },
48
+ opposite: defaultOptions.opposite ?? options.opposite ?? true,
49
+ showLastLabel: !!(
50
+ // #6104, show last label by default for category axes
51
+ options.categories ||
52
+ options.type === 'category'),
53
+ title: {
54
+ text: void 0
55
+ }
56
+ };
57
+ }
58
+ return {};
59
+ }
60
+ /**
61
+ * Get stock-specific forced axis options.
62
+ *
63
+ * @private
64
+ * @function getForcedAxisOptions
65
+ */
66
+ function getForcedAxisOptions(type, chartOptions) {
67
+ if (type === 'xAxis') {
68
+ // Always disable startOnTick:true on the main axis when the navigator
69
+ // is enabled (#1090)
70
+ const navigatorEnabled = pick(chartOptions.navigator?.enabled, NavigatorDefaults.enabled, true);
71
+ const axisOptions = {
72
+ type: 'datetime',
73
+ categories: void 0
74
+ };
75
+ if (navigatorEnabled) {
76
+ axisOptions.startOnTick = false;
77
+ axisOptions.endOnTick = false;
78
+ }
79
+ return axisOptions;
80
+ }
81
+ return {};
82
+ }
83
+ /* *
84
+ *
85
+ * Class
86
+ *
87
+ * */
88
+ /**
89
+ * Stock-optimized chart. Use {@link Highcharts.Chart|Chart} for common charts.
90
+ *
91
+ * @requires modules/stock
92
+ *
93
+ * @class
94
+ * @name Highcharts.StockChart
95
+ * @extends Highcharts.Chart
96
+ */
97
+ class StockChart extends Chart {
98
+ /* *
99
+ *
100
+ * Functions
101
+ *
102
+ * */
103
+ /**
104
+ * Initializes the chart. The constructor's arguments are passed on
105
+ * directly.
106
+ *
107
+ * @function Highcharts.StockChart#init
108
+ *
109
+ * @param {Highcharts.Options} userOptions
110
+ * Custom options.
111
+ *
112
+ * @param {Function} [callback]
113
+ * Function to run when the chart has loaded and all external
114
+ * images are loaded.
115
+ *
116
+ *
117
+ * @emits Highcharts.StockChart#event:init
118
+ * @emits Highcharts.StockChart#event:afterInit
119
+ */
120
+ init(userOptions, callback) {
121
+ const defaultOptions = getOptions(), xAxisOptions = userOptions.xAxis, yAxisOptions = userOptions.yAxis,
122
+ // Always disable startOnTick:true on the main axis when the
123
+ // navigator is enabled (#1090)
124
+ navigatorEnabled = pick(userOptions.navigator?.enabled, NavigatorDefaults.enabled, true);
125
+ // Avoid doing these twice
126
+ userOptions.xAxis = userOptions.yAxis = void 0;
127
+ const options = merge({
128
+ chart: {
129
+ panning: {
130
+ enabled: true,
131
+ type: 'x'
132
+ },
133
+ zooming: {
134
+ pinchType: 'x',
135
+ mouseWheel: {
136
+ type: 'x'
137
+ }
138
+ }
139
+ },
140
+ navigator: {
141
+ enabled: navigatorEnabled
142
+ },
143
+ scrollbar: {
144
+ // #4988 - check if setOptions was called
145
+ enabled: pick(ScrollbarDefaults.enabled, true)
146
+ },
147
+ rangeSelector: {
148
+ // #4988 - check if setOptions was called
149
+ enabled: pick(RangeSelectorDefaults.rangeSelector.enabled, true)
150
+ },
151
+ title: {
152
+ text: null
153
+ },
154
+ tooltip: {
155
+ split: pick(defaultOptions.tooltip?.split, true),
156
+ crosshairs: true
157
+ },
158
+ legend: {
159
+ enabled: false
160
+ }
161
+ }, userOptions, // User's options
162
+ {
163
+ isStock: true // Internal flag
164
+ });
165
+ userOptions.xAxis = xAxisOptions;
166
+ userOptions.yAxis = yAxisOptions;
167
+ // Apply X axis options to both single and multi y axes
168
+ options.xAxis = splat(userOptions.xAxis || {}).map((xAxisOptions) => merge(getDefaultAxisOptions('xAxis', xAxisOptions, defaultOptions.xAxis),
169
+ // #7690
170
+ xAxisOptions, // User options
171
+ getForcedAxisOptions('xAxis', userOptions)));
172
+ // Apply Y axis options to both single and multi y axes
173
+ options.yAxis = splat(userOptions.yAxis || {}).map((yAxisOptions) => merge(getDefaultAxisOptions('yAxis', yAxisOptions, defaultOptions.yAxis),
174
+ // #7690
175
+ yAxisOptions // User options
176
+ ));
177
+ super.init(options, callback);
178
+ }
179
+ /**
180
+ * Factory for creating different axis types.
181
+ * Extended to add stock defaults.
182
+ *
183
+ * @private
184
+ * @function Highcharts.StockChart#createAxis
185
+ * @param {string} coll
186
+ * An axis type.
187
+ * @param {Chart.CreateAxisOptionsObject} options
188
+ * The axis creation options.
189
+ */
190
+ createAxis(coll, options) {
191
+ options.axis = merge(getDefaultAxisOptions(coll, options.axis, getOptions()[coll]), options.axis, getForcedAxisOptions(coll, this.userOptions));
192
+ return super.createAxis(coll, options);
193
+ }
194
+ }
195
+ addEvent(Chart, 'update', function (e) {
196
+ const chart = this, options = e.options;
197
+ // Use case: enabling scrollbar from a disabled state.
198
+ // Scrollbar needs to be initialized from a controller, Navigator in this
199
+ // case (#6615)
200
+ if ('scrollbar' in options && chart.navigator) {
201
+ merge(true, chart.options.scrollbar, options.scrollbar);
202
+ chart.navigator.update({ enabled: !!chart.navigator.navigatorEnabled });
203
+ delete options.scrollbar;
204
+ }
205
+ });
206
+ /* *
207
+ *
208
+ * Composition
209
+ *
210
+ * */
211
+ (function (StockChart) {
212
+ /* *
213
+ *
214
+ * Functions
215
+ *
216
+ * */
217
+ /** @private */
218
+ function compose(ChartClass, AxisClass, SeriesClass, SVGRendererClass) {
219
+ const seriesProto = SeriesClass.prototype;
220
+ if (!seriesProto.forceCropping) {
221
+ addEvent(AxisClass, 'afterDrawCrosshair', onAxisAfterDrawCrosshair);
222
+ addEvent(AxisClass, 'afterHideCrosshair', onAxisAfterHideCrosshair);
223
+ addEvent(AxisClass, 'autoLabelAlign', onAxisAutoLabelAlign);
224
+ addEvent(AxisClass, 'destroy', onAxisDestroy);
225
+ addEvent(AxisClass, 'getPlotLinePath', onAxisGetPlotLinePath);
226
+ ChartClass.prototype.setFixedRange = setFixedRange;
227
+ seriesProto.forceCropping = seriesForceCropping;
228
+ addEvent(SeriesClass, 'setOptions', onSeriesSetOptions);
229
+ SVGRendererClass.prototype.crispPolyLine = svgRendererCrispPolyLine;
230
+ }
231
+ }
232
+ StockChart.compose = compose;
233
+ /**
234
+ * Extend crosshairs to also draw the label.
235
+ * @private
236
+ */
237
+ function onAxisAfterDrawCrosshair(event) {
238
+ const axis = this;
239
+ // Check if the label has to be drawn
240
+ if (!(axis.crosshair?.label?.enabled &&
241
+ axis.cross &&
242
+ isNumber(axis.min) &&
243
+ isNumber(axis.max))) {
244
+ return;
245
+ }
246
+ const chart = axis.chart, log = axis.logarithmic, options = axis.crosshair.label, // The label's options
247
+ horiz = axis.horiz, // Axis orientation
248
+ opposite = axis.opposite, // Axis position
249
+ left = axis.left, // Left position
250
+ top = axis.top, // Top position
251
+ width = axis.width, tickInside = axis.options.tickPosition === 'inside', snap = axis.crosshair.snap !== false, e = event.e || (axis.cross?.e), point = event.point;
252
+ let crossLabel = axis.crossLabel, // The svgElement
253
+ posx, posy, formatOption = options.format, formatFormat = '', limit, offset = 0,
254
+ // Use last available event (#5287)
255
+ min = axis.min, max = axis.max;
256
+ if (log) {
257
+ min = log.lin2log(axis.min);
258
+ max = log.lin2log(axis.max);
259
+ }
260
+ const align = (horiz ? 'center' : opposite ?
261
+ (axis.labelAlign === 'right' ? 'right' : 'left') :
262
+ (axis.labelAlign === 'left' ? 'left' : 'center'));
263
+ // If the label does not exist yet, create it.
264
+ if (!crossLabel) {
265
+ crossLabel = axis.crossLabel = chart.renderer
266
+ .label('', 0, void 0, options.shape || 'callout')
267
+ .addClass('highcharts-crosshair-label highcharts-color-' + (point?.series ?
268
+ point.series.colorIndex :
269
+ axis.series[0] && this.series[0].colorIndex))
270
+ .attr({
271
+ align: options.align || align,
272
+ padding: pick(options.padding, 8),
273
+ r: pick(options.borderRadius, 3),
274
+ zIndex: 2
275
+ })
276
+ .add(axis.labelGroup);
277
+ // Presentational
278
+ if (!chart.styledMode) {
279
+ crossLabel
280
+ .attr({
281
+ fill: options.backgroundColor ||
282
+ point?.series?.color || // #14888
283
+ "#666666" /* Palette.neutralColor60 */,
284
+ stroke: options.borderColor || '',
285
+ 'stroke-width': options.borderWidth || 0
286
+ })
287
+ .css(extend({
288
+ color: "#ffffff" /* Palette.backgroundColor */,
289
+ fontWeight: 'normal',
290
+ fontSize: '0.7em',
291
+ textAlign: 'center'
292
+ }, options.style || {}));
293
+ }
294
+ }
295
+ if (horiz) {
296
+ posx = snap ? (point.plotX || 0) + left : e.chartX;
297
+ posy = top + (opposite ? 0 : axis.height);
298
+ }
299
+ else {
300
+ posx = left + axis.offset + (opposite ? width : 0);
301
+ posy = snap ? (point.plotY || 0) + top : e.chartY;
302
+ }
303
+ if (!formatOption && !options.formatter) {
304
+ if (axis.dateTime) {
305
+ formatFormat = '%b %d, %Y';
306
+ }
307
+ formatOption =
308
+ '{value' + (formatFormat ? ':' + formatFormat : '') + '}';
309
+ }
310
+ // Show the label
311
+ const value = snap ?
312
+ (axis.isXAxis ? point.x : point.y) :
313
+ axis.toValue(horiz ? e.chartX : e.chartY);
314
+ // Crosshair should be rendered within Axis range (#7219) and the point
315
+ // of currentPriceIndicator should be inside the plot area (#14879).
316
+ const isInside = point?.series ?
317
+ point.series.isPointInside(point) :
318
+ (isNumber(value) && value > min && value < max);
319
+ let text = '';
320
+ if (formatOption) {
321
+ text = format(formatOption, { value }, chart);
322
+ }
323
+ else if (options.formatter && isNumber(value)) {
324
+ text = options.formatter.call(axis, value);
325
+ }
326
+ crossLabel.attr({
327
+ text,
328
+ x: posx,
329
+ y: posy,
330
+ visibility: isInside ? 'inherit' : 'hidden'
331
+ });
332
+ const crossBox = crossLabel.getBBox();
333
+ // Now it is placed we can correct its position
334
+ if (isNumber(crossLabel.x) && !horiz && !opposite) {
335
+ posx = crossLabel.x - (crossBox.width / 2);
336
+ }
337
+ if (isNumber(crossLabel.y)) {
338
+ if (horiz) {
339
+ if ((tickInside && !opposite) || (!tickInside && opposite)) {
340
+ posy = crossLabel.y - crossBox.height;
341
+ }
342
+ }
343
+ else {
344
+ posy = crossLabel.y - (crossBox.height / 2);
345
+ }
346
+ }
347
+ // Check the edges
348
+ if (horiz) {
349
+ limit = {
350
+ left,
351
+ right: left + axis.width
352
+ };
353
+ }
354
+ else {
355
+ limit = {
356
+ left: axis.labelAlign === 'left' ? left : 0,
357
+ right: axis.labelAlign === 'right' ?
358
+ left + axis.width :
359
+ chart.chartWidth
360
+ };
361
+ }
362
+ const translateX = crossLabel.translateX || 0;
363
+ // Left edge
364
+ if (translateX < limit.left) {
365
+ offset = limit.left - translateX;
366
+ }
367
+ // Right edge
368
+ if (translateX + crossBox.width >= limit.right) {
369
+ offset = -(translateX + crossBox.width - limit.right);
370
+ }
371
+ // Show the crosslabel
372
+ crossLabel.attr({
373
+ x: Math.max(0, posx + offset),
374
+ y: Math.max(0, posy),
375
+ // First set x and y, then anchorX and anchorY, when box is actually
376
+ // calculated, #5702
377
+ anchorX: horiz ?
378
+ posx :
379
+ (axis.opposite ? 0 : chart.chartWidth),
380
+ anchorY: horiz ?
381
+ (axis.opposite ? chart.chartHeight : 0) :
382
+ posy + crossBox.height / 2
383
+ });
384
+ }
385
+ /**
386
+ * Wrapper to hide the label.
387
+ * @private
388
+ */
389
+ function onAxisAfterHideCrosshair() {
390
+ const axis = this;
391
+ if (axis.crossLabel) {
392
+ axis.crossLabel = axis.crossLabel.hide();
393
+ }
394
+ }
395
+ /**
396
+ * Override the automatic label alignment so that the first Y axis' labels
397
+ * are drawn on top of the grid line, and subsequent axes are drawn outside.
398
+ * @private
399
+ */
400
+ function onAxisAutoLabelAlign(e) {
401
+ const axis = this, chart = axis.chart, options = axis.options, panes = chart._labelPanes = chart._labelPanes || {}, labelOptions = options.labels;
402
+ if (chart.options.isStock && axis.coll === 'yAxis') {
403
+ const key = options.top + ',' + options.height;
404
+ // Do it only for the first Y axis of each pane
405
+ if (!panes[key] && labelOptions.enabled) {
406
+ if (labelOptions.distance === 15 && // Default
407
+ axis.side === 1) {
408
+ labelOptions.distance = 0;
409
+ }
410
+ if (typeof labelOptions.align === 'undefined') {
411
+ labelOptions.align = 'right';
412
+ }
413
+ panes[key] = axis;
414
+ e.align = 'right';
415
+ e.preventDefault();
416
+ }
417
+ }
418
+ }
419
+ /**
420
+ * Clear axis from label panes. (#6071)
421
+ * @private
422
+ */
423
+ function onAxisDestroy() {
424
+ const axis = this, chart = axis.chart, key = (axis.options &&
425
+ (axis.options.top + ',' + axis.options.height));
426
+ if (key && chart._labelPanes && chart._labelPanes[key] === axis) {
427
+ delete chart._labelPanes[key];
428
+ }
429
+ }
430
+ /**
431
+ * Override getPlotLinePath to allow for multipane charts.
432
+ * @private
433
+ */
434
+ function onAxisGetPlotLinePath(e) {
435
+ const axis = this, series = (axis.isLinked && !axis.series && axis.linkedParent ?
436
+ axis.linkedParent.series :
437
+ axis.series), { chart, horiz } = axis, renderer = chart.renderer, result = [], { acrossPanes = true, force, translatedValue, value } = e, allPerpendicularAxes = (axis.isXAxis ? chart.yAxis : chart.xAxis) || [],
438
+ /**
439
+ * Return the other axis based on either the axis option or on
440
+ * related series.
441
+ * @private
442
+ */
443
+ getAxis = (coll) => {
444
+ const otherColl = coll === 'xAxis' ? 'yAxis' : 'xAxis', opt = axis.options[otherColl];
445
+ if (acrossPanes && !axis.options.isInternal) {
446
+ return allPerpendicularAxes.filter((a) => !a.options.isInternal);
447
+ }
448
+ // Other axis indexed by number
449
+ if (isNumber(opt)) {
450
+ return [chart[otherColl][opt]];
451
+ }
452
+ // Other axis indexed by id (like navigator)
453
+ if (isString(opt)) {
454
+ return [chart.get(opt)];
455
+ }
456
+ // Auto detect based on existing series
457
+ return series.map((s) => s[otherColl]);
458
+ };
459
+ /**
460
+ * Push a segment to the result SVGPath array
461
+ */
462
+ function pushSegment(pos, crossingPos1, crossingPos2) {
463
+ result.push(['M', horiz ? pos : crossingPos1, horiz ? crossingPos1 : pos], ['L', horiz ? pos : crossingPos2, horiz ? crossingPos2 : pos]);
464
+ }
465
+ let axes = [], // #3416 need a default array
466
+ uniqueAxes, transVal;
467
+ if (chart.options.isStock &&
468
+ // Ignore in case of colorAxis or zAxis. #3360, #3524, #6720
469
+ (axis.coll === 'xAxis' || axis.coll === 'yAxis')) {
470
+ e.preventDefault();
471
+ // Get the related axes based on series
472
+ axes = getAxis(axis.coll);
473
+ // Get the related axes based options.*Axis setting #2810
474
+ for (const A of allPerpendicularAxes) {
475
+ if (!A.options.isInternal) {
476
+ const a = (A.isXAxis ? 'yAxis' : 'xAxis'), relatedAxis = (defined(A.options[a]) &&
477
+ chart[a][A.options[a]]);
478
+ if (axis === relatedAxis) {
479
+ axes.push(A);
480
+ }
481
+ }
482
+ }
483
+ // Remove duplicates in the axes array. If there are no axes in the
484
+ // axes array, we are adding an axis without data, so we need to
485
+ // populate this with grid lines (#2796).
486
+ uniqueAxes = axes.length ?
487
+ [] :
488
+ [axis.isXAxis ? chart.yAxis[0] : chart.xAxis[0]]; // #3742
489
+ for (const axis2 of axes) {
490
+ if (uniqueAxes.indexOf(axis2) === -1 &&
491
+ // Do not draw on axis which overlap completely. #5424
492
+ !find(uniqueAxes, (unique) => (unique.pos === axis2.pos &&
493
+ unique.len === axis2.len))) {
494
+ uniqueAxes.push(axis2);
495
+ }
496
+ }
497
+ transVal = pick(translatedValue, axis.translate(value || 0, void 0, void 0, e.old));
498
+ if (isNumber(transVal)) {
499
+ let skip, pos = horiz ?
500
+ transVal + axis.pos :
501
+ axis.pos + axis.len - transVal;
502
+ // Outside plot area
503
+ if (force !== 'pass' &&
504
+ (pos < axis.pos || pos > axis.pos + axis.len)) {
505
+ if (force) {
506
+ pos = clamp(pos, axis.pos, axis.pos + axis.len);
507
+ }
508
+ else {
509
+ skip = true;
510
+ }
511
+ }
512
+ if (!skip) {
513
+ const crossingPosName = horiz ? 'top' : 'left', crossingLenName = horiz ? 'height' : 'width';
514
+ if (!acrossPanes &&
515
+ // If the perpendicular position is set explicitly on
516
+ // the axis, use it. For example, if `top` and `height`
517
+ // options are set on a horizontal x-axis, the grid
518
+ // lines should conform to that position.
519
+ (axis.options[crossingPosName] ||
520
+ axis.options[crossingLenName])) {
521
+ pushSegment(pos, axis[crossingPosName], axis[crossingPosName] + axis[crossingLenName]);
522
+ }
523
+ else {
524
+ for (const perpendicularAxis of uniqueAxes) {
525
+ pushSegment(pos, perpendicularAxis.pos, perpendicularAxis.pos + perpendicularAxis.len);
526
+ }
527
+ }
528
+ }
529
+ }
530
+ e.path = result.length > 0 ?
531
+ renderer.crispPolyLine(result, e.lineWidth || 1) :
532
+ // #3557 getPlotLinePath in regular Highcharts also returns null
533
+ void 0;
534
+ }
535
+ }
536
+ /**
537
+ * Handle som Stock-specific series defaults, override the plotOptions
538
+ * before series options are handled.
539
+ * @private
540
+ */
541
+ function onSeriesSetOptions(e) {
542
+ const series = this;
543
+ if (series.chart.options.isStock) {
544
+ let overrides;
545
+ if (series.is('column') || series.is('columnrange')) {
546
+ overrides = {
547
+ borderWidth: 0,
548
+ shadow: false
549
+ };
550
+ }
551
+ else if (!series.is('scatter') && !series.is('sma')) {
552
+ overrides = {
553
+ marker: {
554
+ enabled: false,
555
+ radius: 2
556
+ }
557
+ };
558
+ }
559
+ if (overrides) {
560
+ e.plotOptions[series.type] = merge(e.plotOptions[series.type], overrides);
561
+ }
562
+ }
563
+ }
564
+ /**
565
+ * Based on the data grouping options decides whether
566
+ * the data should be cropped while processing.
567
+ *
568
+ * @ignore
569
+ * @function Highcharts.Series#forceCropping
570
+ */
571
+ function seriesForceCropping() {
572
+ const series = this, chart = series.chart, options = series.options, dataGroupingOptions = options.dataGrouping, groupingEnabled = (series.allowDG !== false &&
573
+ dataGroupingOptions &&
574
+ pick(dataGroupingOptions.enabled, chart.options.isStock));
575
+ return groupingEnabled;
576
+ }
577
+ /* eslint-disable jsdoc/check-param-names */
578
+ /**
579
+ * Factory function for creating new stock charts. Creates a new
580
+ * {@link Highcharts.StockChart|StockChart} object with different default
581
+ * options than the basic Chart.
582
+ *
583
+ * @example
584
+ * let chart = Highcharts.stockChart('container', {
585
+ * series: [{
586
+ * data: [1, 2, 3, 4, 5, 6, 7, 8, 9],
587
+ * pointInterval: 24 * 60 * 60 * 1000
588
+ * }]
589
+ * });
590
+ *
591
+ * @function Highcharts.stockChart
592
+ *
593
+ * @param {string|Highcharts.HTMLDOMElement} [renderTo]
594
+ * The DOM element to render to, or its id.
595
+ *
596
+ * @param {Highcharts.Options} options
597
+ * The chart options structure as described in the
598
+ * [options reference](https://api.highcharts.com/highstock).
599
+ *
600
+ * @param {Highcharts.ChartCallbackFunction} [callback]
601
+ * A function to execute when the chart object is finished
602
+ * rendering and all external image files (`chart.backgroundImage`,
603
+ * `chart.plotBackgroundImage` etc) are loaded. Defining a
604
+ * [chart.events.load](https://api.highcharts.com/highstock/chart.events.load)
605
+ * handler is equivalent.
606
+ *
607
+ * @return {Highcharts.StockChart}
608
+ * The chart object.
609
+ */
610
+ function stockChart(a, b, c) {
611
+ return new StockChart(a, b, c);
612
+ }
613
+ StockChart.stockChart = stockChart;
614
+ /* eslint-enable jsdoc/check-param-names */
615
+ /**
616
+ * Function to crisp a line with multiple segments
617
+ *
618
+ * @private
619
+ * @function Highcharts.SVGRenderer#crispPolyLine
620
+ */
621
+ function svgRendererCrispPolyLine(points, width) {
622
+ // Points format: [['M', 0, 0], ['L', 100, 0]]
623
+ // normalize to a crisp line
624
+ for (let i = 0; i < points.length; i = i + 2) {
625
+ const start = points[i], end = points[i + 1];
626
+ if (defined(start[1]) && start[1] === end[1]) {
627
+ start[1] = end[1] = crisp(start[1], width);
628
+ }
629
+ if (defined(start[2]) && start[2] === end[2]) {
630
+ start[2] = end[2] = crisp(start[2], width);
631
+ }
632
+ }
633
+ return points;
634
+ }
635
+ })(StockChart || (StockChart = {}));
636
+ /* *
637
+ *
638
+ * Default Export
639
+ *
640
+ * */
641
+ export default StockChart;