@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,172 @@
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
+ /* *
12
+ *
13
+ * Imports
14
+ *
15
+ * */
16
+ import U from '../Utilities.js';
17
+ const { clamp, pick, pushUnique, stableSort } = U;
18
+ /* *
19
+ *
20
+ * Namespace
21
+ *
22
+ * */
23
+ var RendererUtilities;
24
+ (function (RendererUtilities) {
25
+ /* *
26
+ *
27
+ * Declarations
28
+ *
29
+ * */
30
+ /* *
31
+ *
32
+ * Functions
33
+ *
34
+ * */
35
+ /* eslint-disable valid-jsdoc */
36
+ /**
37
+ * General distribution algorithm for distributing labels of differing size
38
+ * along a confined length in two dimensions. The algorithm takes an array
39
+ * of objects containing a size, a target and a rank. It will place the
40
+ * labels as close as possible to their targets, skipping the lowest ranked
41
+ * labels if necessary.
42
+ * @private
43
+ */
44
+ function distribute(boxes, len, maxDistance) {
45
+ // Original array will be altered with added .pos
46
+ const origBoxes = boxes, reducedLen = origBoxes.reducedLen || len, sortByRank = (a, b) => (b.rank || 0) - (a.rank || 0), sortByTarget = (a, b) => a.target - b.target, restBoxes = [], // The outranked overshoot
47
+ boxesLength = boxes.length, forDeletion = [], push = restBoxes.push;
48
+ let i, cursor, step, overlapping = true, box, target, total = 0, equalRank;
49
+ // If the total size exceeds the len, remove those boxes with the lowest
50
+ // rank
51
+ i = boxesLength;
52
+ while (i--) {
53
+ total += boxes[i].size;
54
+ }
55
+ // Sort by rank, then slice away overshoot
56
+ if (total > reducedLen) {
57
+ stableSort(boxes, sortByRank);
58
+ equalRank = boxes[0].rank === boxes[boxes.length - 1].rank;
59
+ step = equalRank ? boxesLength / 2 : -1;
60
+ cursor = equalRank ? step : boxesLength - 1;
61
+ // When the boxes have equal rank (pie data labels, flags - #10073),
62
+ // decimate the boxes by starting in the middle and gradually remove
63
+ // more items inside the array. When they are sorted by rank, just
64
+ // remove the ones with the lowest rank from the end.
65
+ while (step && total > reducedLen) {
66
+ i = Math.floor(cursor);
67
+ box = boxes[i];
68
+ if (pushUnique(forDeletion, i)) {
69
+ total -= box.size;
70
+ }
71
+ cursor += step;
72
+ // Start over the decimation with smaller steps
73
+ if (equalRank && cursor >= boxes.length) {
74
+ step /= 2;
75
+ cursor = step;
76
+ }
77
+ }
78
+ // Clean out the boxes marked for deletion
79
+ forDeletion
80
+ .sort((a, b) => b - a)
81
+ .forEach((i) => push.apply(restBoxes, boxes.splice(i, 1)));
82
+ }
83
+ // Order by target
84
+ stableSort(boxes, sortByTarget);
85
+ // So far we have been mutating the original array. Now
86
+ // create a copy with target arrays
87
+ boxes = boxes.map((box) => ({
88
+ size: box.size,
89
+ targets: [box.target],
90
+ align: pick(box.align, 0.5)
91
+ }));
92
+ while (overlapping) {
93
+ // Initial positions: target centered in box
94
+ i = boxes.length;
95
+ while (i--) {
96
+ box = boxes[i];
97
+ // Composite box, average of targets
98
+ target = (Math.min.apply(0, box.targets) +
99
+ Math.max.apply(0, box.targets)) / 2;
100
+ box.pos = clamp(target - box.size * box.align, 0, len - box.size);
101
+ }
102
+ // Detect overlap and join boxes
103
+ i = boxes.length;
104
+ overlapping = false;
105
+ while (i--) {
106
+ // Overlap
107
+ if (i > 0 &&
108
+ boxes[i - 1].pos + boxes[i - 1].size >
109
+ boxes[i].pos) {
110
+ // Add this size to the previous box
111
+ boxes[i - 1].size += boxes[i].size;
112
+ boxes[i - 1].targets = boxes[i - 1]
113
+ .targets
114
+ .concat(boxes[i].targets);
115
+ boxes[i - 1].align = 0.5;
116
+ // Overlapping right, push left
117
+ if (boxes[i - 1].pos + boxes[i - 1].size > len) {
118
+ boxes[i - 1].pos = len - boxes[i - 1].size;
119
+ }
120
+ boxes.splice(i, 1); // Remove this item
121
+ overlapping = true;
122
+ }
123
+ }
124
+ }
125
+ // Add the rest (hidden boxes)
126
+ push.apply(origBoxes, restBoxes);
127
+ // Now the composite boxes are placed, we need to put the original boxes
128
+ // within them
129
+ i = 0;
130
+ boxes.some((box) => {
131
+ let posInCompositeBox = 0;
132
+ // Exceeded maxDistance => abort
133
+ return (box.targets || []).some(() => {
134
+ origBoxes[i].pos = box.pos + posInCompositeBox;
135
+ // If the distance between the position and the target exceeds
136
+ // maxDistance, abort the loop and decrease the length in
137
+ // increments of 10% to recursively reduce the number of
138
+ // visible boxes by rank. Once all boxes are within the
139
+ // maxDistance, we're good.
140
+ if (typeof maxDistance !== 'undefined' &&
141
+ Math.abs(origBoxes[i].pos - origBoxes[i].target) > maxDistance) {
142
+ // Reset the positions that are already set
143
+ origBoxes
144
+ .slice(0, i + 1)
145
+ .forEach((box) => delete box.pos);
146
+ // Try with a smaller length
147
+ origBoxes.reducedLen =
148
+ (origBoxes.reducedLen || len) - (len * 0.1);
149
+ // Recurse
150
+ if (origBoxes.reducedLen > len * 0.1) {
151
+ distribute(origBoxes, len, maxDistance);
152
+ }
153
+ // Exceeded maxDistance => abort
154
+ return true;
155
+ }
156
+ posInCompositeBox += origBoxes[i].size;
157
+ i++;
158
+ return false;
159
+ });
160
+ });
161
+ // Add the rest (hidden) boxes and sort by target
162
+ stableSort(origBoxes, sortByTarget);
163
+ return origBoxes;
164
+ }
165
+ RendererUtilities.distribute = distribute;
166
+ })(RendererUtilities || (RendererUtilities = {}));
167
+ /* *
168
+ *
169
+ * Default Export
170
+ *
171
+ * */
172
+ export default RendererUtilities;
@@ -0,0 +1,55 @@
1
+ import type Chart from './Chart/Chart.js';
2
+ import type GlobalOptions from './Options';
3
+ declare module './Chart/ChartBase' {
4
+ interface ChartBase {
5
+ /** @requires Core/Responsive */
6
+ setResponsive(redraw?: boolean, reset?: boolean): void;
7
+ }
8
+ }
9
+ declare module './Options' {
10
+ interface Options {
11
+ isResponsiveOptions?: boolean;
12
+ responsive?: Responsive.Options;
13
+ }
14
+ }
15
+ declare namespace Responsive {
16
+ interface CallbackFunction {
17
+ (this: Chart): boolean;
18
+ }
19
+ class Composition extends Chart {
20
+ /** @requires Core/Responsive */
21
+ currentResponsive?: CurrentObject;
22
+ /** @requires Core/Responsive */
23
+ currentOptions(options: Partial<GlobalOptions>): Partial<GlobalOptions>;
24
+ /** @requires Core/Responsive */
25
+ matchResponsiveRule(rule: RuleOptions, matches: Array<string>): void;
26
+ /** @requires Core/Responsive */
27
+ setResponsive(redraw?: boolean, reset?: boolean): void;
28
+ updatingResponsive: boolean;
29
+ }
30
+ interface CurrentObject {
31
+ mergedOptions: Partial<GlobalOptions>;
32
+ ruleIds: string;
33
+ undoOptions: Partial<GlobalOptions>;
34
+ }
35
+ interface Options {
36
+ rules?: Array<RuleOptions>;
37
+ }
38
+ interface RuleConditionOptions {
39
+ callback?: CallbackFunction;
40
+ maxHeight?: number;
41
+ maxWidth?: number;
42
+ minHeight?: number;
43
+ minWidth?: number;
44
+ }
45
+ interface RuleOptions {
46
+ _id?: string;
47
+ chartOptions?: GlobalOptions;
48
+ condition: RuleConditionOptions;
49
+ }
50
+ /**
51
+ * @private
52
+ */
53
+ function compose<T extends typeof Chart>(ChartClass: T): (T & typeof Composition);
54
+ }
55
+ export default Responsive;
@@ -0,0 +1,260 @@
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 U from './Utilities.js';
12
+ const { diffObjects, extend, find, merge, pick, uniqueKey } = U;
13
+ /* *
14
+ *
15
+ * Composition
16
+ *
17
+ * */
18
+ var Responsive;
19
+ (function (Responsive) {
20
+ /* *
21
+ *
22
+ * Declarations
23
+ *
24
+ * */
25
+ /* *
26
+ *
27
+ * Functions
28
+ *
29
+ * */
30
+ /**
31
+ * @private
32
+ */
33
+ function compose(ChartClass) {
34
+ const chartProto = ChartClass.prototype;
35
+ if (!chartProto.matchResponsiveRule) {
36
+ extend(chartProto, {
37
+ matchResponsiveRule,
38
+ setResponsive
39
+ });
40
+ }
41
+ return ChartClass;
42
+ }
43
+ Responsive.compose = compose;
44
+ /**
45
+ * Handle a single responsiveness rule.
46
+ *
47
+ * @private
48
+ * @function Highcharts.Chart#matchResponsiveRule
49
+ * @param {Highcharts.ResponsiveRulesOptions} rule
50
+ * @param {Array<string>} matches
51
+ */
52
+ function matchResponsiveRule(rule, matches) {
53
+ const condition = rule.condition, fn = condition.callback || function () {
54
+ return (this.chartWidth <= pick(condition.maxWidth, Number.MAX_VALUE) &&
55
+ this.chartHeight <= pick(condition.maxHeight, Number.MAX_VALUE) &&
56
+ this.chartWidth >= pick(condition.minWidth, 0) &&
57
+ this.chartHeight >= pick(condition.minHeight, 0));
58
+ };
59
+ if (fn.call(this)) {
60
+ matches.push(rule._id);
61
+ }
62
+ }
63
+ /**
64
+ * Update the chart based on the current chart/document size and options
65
+ * for responsiveness.
66
+ *
67
+ * @private
68
+ * @function Highcharts.Chart#setResponsive
69
+ * @param {boolean} [redraw=true]
70
+ * @param {boolean} [reset=false]
71
+ * Reset by un-applying all rules. Chart.update resets all rules before
72
+ * applying updated options.
73
+ */
74
+ function setResponsive(redraw, reset) {
75
+ const options = this.options.responsive, currentResponsive = this.currentResponsive;
76
+ let ruleIds = [], undoOptions;
77
+ if (!reset && options && options.rules) {
78
+ options.rules.forEach((rule) => {
79
+ if (typeof rule._id === 'undefined') {
80
+ rule._id = uniqueKey();
81
+ }
82
+ this.matchResponsiveRule(rule, ruleIds /* , redraw */);
83
+ }, this);
84
+ }
85
+ // Merge matching rules
86
+ const mergedOptions = merge(...ruleIds
87
+ .map((ruleId) => find(options?.rules || [], (rule) => (rule._id === ruleId)))
88
+ .map((rule) => rule?.chartOptions));
89
+ mergedOptions.isResponsiveOptions = true;
90
+ // Stringified key for the rules that currently apply.
91
+ ruleIds = (ruleIds.toString() || void 0);
92
+ const currentRuleIds = currentResponsive?.ruleIds;
93
+ // Changes in what rules apply
94
+ if (ruleIds !== currentRuleIds) {
95
+ // Undo previous rules. Before we apply a new set of rules, we
96
+ // need to roll back completely to base options (#6291).
97
+ if (currentResponsive) {
98
+ this.currentResponsive = void 0;
99
+ this.updatingResponsive = true;
100
+ this.update(currentResponsive.undoOptions, redraw, true);
101
+ this.updatingResponsive = false;
102
+ }
103
+ if (ruleIds) {
104
+ // Get undo-options for matching rules. The `undoOptions``
105
+ // hold the current values before they are changed by the
106
+ // `mergedOptions`.
107
+ undoOptions = diffObjects(mergedOptions, this.options, true, this.collectionsWithUpdate);
108
+ undoOptions.isResponsiveOptions = true;
109
+ this.currentResponsive = {
110
+ ruleIds: ruleIds,
111
+ mergedOptions: mergedOptions,
112
+ undoOptions: undoOptions
113
+ };
114
+ if (!this.updatingResponsive) {
115
+ this.update(mergedOptions, redraw, true);
116
+ }
117
+ }
118
+ else {
119
+ this.currentResponsive = void 0;
120
+ }
121
+ }
122
+ }
123
+ })(Responsive || (Responsive = {}));
124
+ /* *
125
+ *
126
+ * Default Export
127
+ *
128
+ * */
129
+ export default Responsive;
130
+ /* *
131
+ *
132
+ * API Declarations
133
+ *
134
+ * */
135
+ /**
136
+ * A callback function to gain complete control on when the responsive rule
137
+ * applies.
138
+ *
139
+ * @callback Highcharts.ResponsiveCallbackFunction
140
+ *
141
+ * @param {Highcharts.Chart} this
142
+ * Chart context.
143
+ *
144
+ * @return {boolean}
145
+ * Return `true` if it applies.
146
+ */
147
+ (''); // Keeps doclets above in JS file
148
+ /* *
149
+ *
150
+ * API Options
151
+ *
152
+ * */
153
+ /**
154
+ * Allows setting a set of rules to apply for different screen or chart
155
+ * sizes. Each rule specifies additional chart options.
156
+ *
157
+ * @sample {highstock} stock/demo/responsive/
158
+ * Stock chart
159
+ * @sample highcharts/responsive/axis/
160
+ * Axis
161
+ * @sample highcharts/responsive/legend/
162
+ * Legend
163
+ * @sample highcharts/responsive/classname/
164
+ * Class name
165
+ *
166
+ * @since 5.0.0
167
+ * @apioption responsive
168
+ */
169
+ /**
170
+ * A set of rules for responsive settings. The rules are executed from
171
+ * the top down.
172
+ *
173
+ * @sample {highcharts} highcharts/responsive/axis/
174
+ * Axis changes
175
+ * @sample {highstock} highcharts/responsive/axis/
176
+ * Axis changes
177
+ * @sample {highmaps} highcharts/responsive/axis/
178
+ * Axis changes
179
+ *
180
+ * @type {Array<*>}
181
+ * @since 5.0.0
182
+ * @apioption responsive.rules
183
+ */
184
+ /**
185
+ * A full set of chart options to apply as overrides to the general
186
+ * chart options. The chart options are applied when the given rule
187
+ * is active.
188
+ *
189
+ * A special case is configuration objects that take arrays, for example
190
+ * [xAxis](#xAxis), [yAxis](#yAxis) or [series](#series). For these
191
+ * collections, an `id` option is used to map the new option set to
192
+ * an existing object. If an existing object of the same id is not found,
193
+ * the item of the same index updated. So for example, setting `chartOptions`
194
+ * with two series items without an `id`, will cause the existing chart's
195
+ * two series to be updated with respective options.
196
+ *
197
+ * @sample {highstock} stock/demo/responsive/
198
+ * Stock chart
199
+ * @sample highcharts/responsive/axis/
200
+ * Axis
201
+ * @sample highcharts/responsive/legend/
202
+ * Legend
203
+ * @sample highcharts/responsive/classname/
204
+ * Class name
205
+ *
206
+ * @type {Highcharts.Options}
207
+ * @since 5.0.0
208
+ * @apioption responsive.rules.chartOptions
209
+ */
210
+ /**
211
+ * Under which conditions the rule applies.
212
+ *
213
+ * @since 5.0.0
214
+ * @apioption responsive.rules.condition
215
+ */
216
+ /**
217
+ * A callback function to gain complete control on when the responsive
218
+ * rule applies. Return `true` if it applies. This opens for checking
219
+ * against other metrics than the chart size, for example the document
220
+ * size or other elements.
221
+ *
222
+ * @type {Highcharts.ResponsiveCallbackFunction}
223
+ * @since 5.0.0
224
+ * @context Highcharts.Chart
225
+ * @apioption responsive.rules.condition.callback
226
+ */
227
+ /**
228
+ * The responsive rule applies if the chart height is less than this.
229
+ *
230
+ * @type {number}
231
+ * @since 5.0.0
232
+ * @apioption responsive.rules.condition.maxHeight
233
+ */
234
+ /**
235
+ * The responsive rule applies if the chart width is less than this.
236
+ *
237
+ * @sample highcharts/responsive/axis/
238
+ * Max width is 500
239
+ *
240
+ * @type {number}
241
+ * @since 5.0.0
242
+ * @apioption responsive.rules.condition.maxWidth
243
+ */
244
+ /**
245
+ * The responsive rule applies if the chart height is greater than this.
246
+ *
247
+ * @type {number}
248
+ * @default 0
249
+ * @since 5.0.0
250
+ * @apioption responsive.rules.condition.minHeight
251
+ */
252
+ /**
253
+ * The responsive rule applies if the chart width is greater than this.
254
+ *
255
+ * @type {number}
256
+ * @default 0
257
+ * @since 5.0.0
258
+ * @apioption responsive.rules.condition.minWidth
259
+ */
260
+ (''); // Keeps doclets above in JS file
@@ -0,0 +1,125 @@
1
+ import type TimeBase from '../Shared/TimeBase';
2
+ import type { LangOptionsCore } from '../Shared/LangOptionsCore';
3
+ /**
4
+ * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
5
+ * human readable date string. The format is a subset of the formats for PHP's
6
+ * [strftime](https://www.php.net/manual/en/function.strftime.php) function.
7
+ * Additional formats can be given in the {@link Highcharts.dateFormats} hook.
8
+ *
9
+ * Since v6.0.5, all internal dates are formatted through the
10
+ * {@link Highcharts.Chart#time} instance to respect chart-level time settings.
11
+ * The `Highcharts.dateFormat` function only reflects global time settings set
12
+ * with `setOptions`.
13
+ *
14
+ * Supported format keys:
15
+ * - `%a`: Short weekday, like 'Mon'
16
+ * - `%A`: Long weekday, like 'Monday'
17
+ * - `%d`: Two digit day of the month, 01 to 31
18
+ * - `%e`: Day of the month, 1 through 31
19
+ * - `%w`: Day of the week, 0 through 6
20
+ * - `%b`: Short month, like 'Jan'
21
+ * - `%B`: Long month, like 'January'
22
+ * - `%m`: Two digit month number, 01 through 12
23
+ * - `%y`: Two digits year, like 09 for 2009
24
+ * - `%Y`: Four digits year, like 2009
25
+ * - `%H`: Two digits hours in 24h format, 00 through 23
26
+ * - `%k`: Hours in 24h format, 0 through 23
27
+ * - `%I`: Two digits hours in 12h format, 00 through 11
28
+ * - `%l`: Hours in 12h format, 1 through 12
29
+ * - `%M`: Two digits minutes, 00 through 59
30
+ * - `%p`: Upper case AM or PM
31
+ * - `%P`: Lower case AM or PM
32
+ * - `%S`: Two digits seconds, 00 through 59
33
+ * - `%L`: Milliseconds (naming from Ruby)
34
+ *
35
+ * @function Highcharts.dateFormat
36
+ *
37
+ * @param {string} format
38
+ * The desired format where various time representations are prefixed
39
+ * with `%`.
40
+ *
41
+ * @param {number} timestamp
42
+ * The JavaScript timestamp.
43
+ *
44
+ * @param {boolean} [upperCaseFirst=false]
45
+ * Upper case first letter in the return.
46
+ *
47
+ * @return {string}
48
+ * The formatted date.
49
+ */
50
+ declare function dateFormat(format: string, timestamp: number, upperCaseFirst?: boolean): string;
51
+ /**
52
+ * Format a string according to a subset of the rules of Python's String.format
53
+ * method.
54
+ *
55
+ * @example
56
+ * let s = Highcharts.format(
57
+ * 'The {color} fox was {len:.2f} feet long',
58
+ * { color: 'red', len: Math.PI }
59
+ * );
60
+ * // => The red fox was 3.14 feet long
61
+ *
62
+ * @function Highcharts.format
63
+ *
64
+ * @param {string} str
65
+ * The string to format.
66
+ *
67
+ * @param {Record<string, *>} ctx
68
+ * The context, a collection of key-value pairs where each key is
69
+ * replaced by its value.
70
+ *
71
+ * @param {Highcharts.Chart} [owner]
72
+ * A `Chart` or `Grid` instance used to get numberFormatter and time.
73
+ *
74
+ * @return {string}
75
+ * The formatted string.
76
+ */
77
+ declare function format(str: string | undefined, ctx: any, owner?: Templating.Owner): string;
78
+ /**
79
+ * Format a number and return a string based on input settings.
80
+ *
81
+ * @sample highcharts/members/highcharts-numberformat/
82
+ * Custom number format
83
+ *
84
+ * @function Highcharts.numberFormat
85
+ *
86
+ * @param {number} number
87
+ * The input number to format.
88
+ *
89
+ * @param {number} decimals
90
+ * The amount of decimals. A value of -1 preserves the amount in the
91
+ * input number.
92
+ *
93
+ * @param {string} [decimalPoint]
94
+ * The decimal point, defaults to the one given in the lang options, or
95
+ * a dot.
96
+ *
97
+ * @param {string} [thousandsSep]
98
+ * The thousands separator, defaults to the one given in the lang
99
+ * options, or a space character.
100
+ *
101
+ * @return {string}
102
+ * The formatted number.
103
+ */
104
+ declare function numberFormat(this: Templating.Owner | void, number: number, decimals: number, decimalPoint?: string, thousandsSep?: string): string;
105
+ declare const Templating: {
106
+ dateFormat: typeof dateFormat;
107
+ format: typeof format;
108
+ helpers: Record<string, Function>;
109
+ numberFormat: typeof numberFormat;
110
+ };
111
+ declare namespace Templating {
112
+ interface FormatterCallback<T> {
113
+ (this: T): string;
114
+ }
115
+ interface OwnerOptions {
116
+ lang?: LangOptionsCore;
117
+ }
118
+ interface Owner {
119
+ options?: OwnerOptions;
120
+ time?: TimeBase;
121
+ numberFormatter?: Function;
122
+ locale?: string | string[];
123
+ }
124
+ }
125
+ export default Templating;