@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,562 @@
1
+ /* *
2
+ *
3
+ * (c) 2010-2025 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import H from '../../Globals.js';
12
+ const { SVG_NS, win } = H;
13
+ import U from '../../Utilities.js';
14
+ const { attr, createElement, css, error, isFunction, isString, objectEach, splat } = U;
15
+ const { trustedTypes } = win;
16
+ /* *
17
+ *
18
+ * Constants
19
+ *
20
+ * */
21
+ // Create the trusted type policy. This should not be exposed.
22
+ const trustedTypesPolicy = (trustedTypes &&
23
+ isFunction(trustedTypes.createPolicy) &&
24
+ trustedTypes.createPolicy('highcharts', {
25
+ createHTML: (s) => s
26
+ }));
27
+ const emptyHTML = trustedTypesPolicy ?
28
+ trustedTypesPolicy.createHTML('') :
29
+ '';
30
+ /* *
31
+ *
32
+ * Class
33
+ *
34
+ * */
35
+ /**
36
+ * The AST class represents an abstract syntax tree of HTML or SVG content. It
37
+ * can take HTML as an argument, parse it, optionally transform it to SVG, then
38
+ * perform sanitation before inserting it into the DOM.
39
+ *
40
+ * @class
41
+ * @name Highcharts.AST
42
+ *
43
+ * @param {string|Array<Highcharts.ASTNode>} source
44
+ * Either an HTML string or an ASTNode list to populate the tree.
45
+ */
46
+ class AST {
47
+ /* *
48
+ *
49
+ * Static Functions
50
+ *
51
+ * */
52
+ /**
53
+ * Filter an object of SVG or HTML attributes against the allow list.
54
+ *
55
+ * @static
56
+ *
57
+ * @function Highcharts.AST#filterUserAttributes
58
+ *
59
+ * @param {Highcharts.SVGAttributes} attributes The attributes to filter
60
+ *
61
+ * @return {Highcharts.SVGAttributes}
62
+ * The filtered attributes
63
+ */
64
+ static filterUserAttributes(attributes) {
65
+ objectEach(attributes, (val, key) => {
66
+ let valid = true;
67
+ if (AST.allowedAttributes.indexOf(key) === -1) {
68
+ valid = false;
69
+ }
70
+ if (['background', 'dynsrc', 'href', 'lowsrc', 'src']
71
+ .indexOf(key) !== -1) {
72
+ valid = isString(val) && AST.allowedReferences.some((ref) => val.indexOf(ref) === 0);
73
+ }
74
+ if (!valid) {
75
+ error(33, false, void 0, {
76
+ 'Invalid attribute in config': `${key}`
77
+ });
78
+ delete attributes[key];
79
+ }
80
+ // #17753, < is not allowed in SVG attributes
81
+ if (isString(val) && attributes[key]) {
82
+ attributes[key] = val.replace(/</g, '&lt;');
83
+ }
84
+ });
85
+ return attributes;
86
+ }
87
+ static parseStyle(style) {
88
+ return style
89
+ .split(';')
90
+ .reduce((styles, line) => {
91
+ const pair = line.split(':').map((s) => s.trim()), key = pair.shift();
92
+ if (key && pair.length) {
93
+ styles[key.replace(/-([a-z])/g, (g) => g[1].toUpperCase())] = pair.join(':'); // #17146
94
+ }
95
+ return styles;
96
+ }, {});
97
+ }
98
+ /**
99
+ * Utility function to set html content for an element by passing in a
100
+ * markup string. The markup is safely parsed by the AST class to avoid
101
+ * XSS vulnerabilities. This function should be used instead of setting
102
+ * `innerHTML` in all cases where the content is not fully trusted.
103
+ *
104
+ * @static
105
+ * @function Highcharts.AST#setElementHTML
106
+ *
107
+ * @param {SVGDOMElement|HTMLDOMElement} el
108
+ * Node to set content of.
109
+ *
110
+ * @param {string} html
111
+ * Markup string
112
+ */
113
+ static setElementHTML(el, html) {
114
+ el.innerHTML = AST.emptyHTML; // Clear previous
115
+ if (html) {
116
+ const ast = new AST(html);
117
+ ast.addToDOM(el);
118
+ }
119
+ }
120
+ /* *
121
+ *
122
+ * Constructor
123
+ *
124
+ * */
125
+ // Construct an AST from HTML markup, or wrap an array of existing AST nodes
126
+ constructor(source) {
127
+ this.nodes = typeof source === 'string' ?
128
+ this.parseMarkup(source) : source;
129
+ }
130
+ /* *
131
+ *
132
+ * Functions
133
+ *
134
+ * */
135
+ /**
136
+ * Add the tree defined as a hierarchical JS structure to the DOM
137
+ *
138
+ * @function Highcharts.AST#addToDOM
139
+ *
140
+ * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} parent
141
+ * The node where it should be added
142
+ *
143
+ * @return {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement}
144
+ * The inserted node.
145
+ */
146
+ addToDOM(parent) {
147
+ /**
148
+ * @private
149
+ * @param {Highcharts.ASTNode} subtree
150
+ * HTML/SVG definition
151
+ * @param {Element} [subParent]
152
+ * parent node
153
+ * @return {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement}
154
+ * The inserted node.
155
+ */
156
+ function recurse(subtree, subParent) {
157
+ let ret;
158
+ splat(subtree).forEach(function (item) {
159
+ const tagName = item.tagName;
160
+ const textNode = item.textContent ?
161
+ H.doc.createTextNode(item.textContent) :
162
+ void 0;
163
+ // Whether to ignore the AST filtering totally, #15345
164
+ const bypassHTMLFiltering = AST.bypassHTMLFiltering;
165
+ let node;
166
+ if (tagName) {
167
+ if (tagName === '#text') {
168
+ node = textNode;
169
+ }
170
+ else if (AST.allowedTags.indexOf(tagName) !== -1 ||
171
+ bypassHTMLFiltering) {
172
+ const NS = tagName === 'svg' ?
173
+ SVG_NS :
174
+ (subParent.namespaceURI || SVG_NS);
175
+ const element = H.doc.createElementNS(NS, tagName);
176
+ const attributes = item.attributes || {};
177
+ // Apply attributes from root of AST node, legacy from
178
+ // from before TextBuilder
179
+ objectEach(item, function (val, key) {
180
+ if (key !== 'tagName' &&
181
+ key !== 'attributes' &&
182
+ key !== 'children' &&
183
+ key !== 'style' &&
184
+ key !== 'textContent') {
185
+ attributes[key] = val;
186
+ }
187
+ });
188
+ attr(element, bypassHTMLFiltering ?
189
+ attributes :
190
+ AST.filterUserAttributes(attributes));
191
+ if (item.style) {
192
+ css(element, item.style);
193
+ }
194
+ // Add text content
195
+ if (textNode) {
196
+ element.appendChild(textNode);
197
+ }
198
+ // Recurse
199
+ recurse(item.children || [], element);
200
+ node = element;
201
+ }
202
+ else {
203
+ error(33, false, void 0, {
204
+ 'Invalid tagName in config': tagName
205
+ });
206
+ }
207
+ }
208
+ // Add to the tree
209
+ if (node) {
210
+ subParent.appendChild(node);
211
+ }
212
+ ret = node;
213
+ });
214
+ // Return last node added (on top level it's the only one)
215
+ return ret;
216
+ }
217
+ return recurse(this.nodes, parent);
218
+ }
219
+ /**
220
+ * Parse HTML/SVG markup into AST Node objects. Used internally from the
221
+ * constructor.
222
+ *
223
+ * @private
224
+ *
225
+ * @function Highcharts.AST#getNodesFromMarkup
226
+ *
227
+ * @param {string} markup The markup string.
228
+ *
229
+ * @return {Array<Highcharts.ASTNode>} The parsed nodes.
230
+ */
231
+ parseMarkup(markup) {
232
+ const nodes = [];
233
+ markup = markup
234
+ .trim()
235
+ // The style attribute throws a warning when parsing when CSP is
236
+ // enabled (#6884), so use an alias and pick it up below
237
+ // Make all quotation marks parse correctly to DOM (#17627)
238
+ .replace(/ style=(["'])/g, ' data-style=$1');
239
+ let doc;
240
+ try {
241
+ doc = new DOMParser().parseFromString(trustedTypesPolicy ?
242
+ trustedTypesPolicy.createHTML(markup) :
243
+ markup, 'text/html');
244
+ }
245
+ catch {
246
+ // There are two cases where this fails:
247
+ // 1. IE9 and PhantomJS, where the DOMParser only supports parsing
248
+ // XML
249
+ // 2. Due to a Chromium issue where chart redraws are triggered by
250
+ // a `beforeprint` event (#16931),
251
+ // https://issues.chromium.org/issues/40222135
252
+ }
253
+ if (!doc) {
254
+ const body = createElement('div');
255
+ body.innerHTML = markup;
256
+ doc = { body };
257
+ }
258
+ const appendChildNodes = (node, addTo) => {
259
+ const tagName = node.nodeName.toLowerCase();
260
+ // Add allowed tags
261
+ const astNode = {
262
+ tagName
263
+ };
264
+ if (tagName === '#text') {
265
+ astNode.textContent = node.textContent || '';
266
+ }
267
+ const parsedAttributes = node.attributes;
268
+ // Add attributes
269
+ if (parsedAttributes) {
270
+ const attributes = {};
271
+ [].forEach.call(parsedAttributes, (attrib) => {
272
+ if (attrib.name === 'data-style') {
273
+ astNode.style = AST.parseStyle(attrib.value);
274
+ }
275
+ else {
276
+ attributes[attrib.name] = attrib.value;
277
+ }
278
+ });
279
+ astNode.attributes = attributes;
280
+ }
281
+ // Handle children
282
+ if (node.childNodes.length) {
283
+ const children = [];
284
+ [].forEach.call(node.childNodes, (childNode) => {
285
+ appendChildNodes(childNode, children);
286
+ });
287
+ if (children.length) {
288
+ astNode.children = children;
289
+ }
290
+ }
291
+ addTo.push(astNode);
292
+ };
293
+ [].forEach.call(doc.body.childNodes, (childNode) => appendChildNodes(childNode, nodes));
294
+ return nodes;
295
+ }
296
+ }
297
+ /* *
298
+ *
299
+ * Static Properties
300
+ *
301
+ * */
302
+ /**
303
+ * The list of allowed SVG or HTML attributes, used for sanitizing
304
+ * potentially harmful content from the chart configuration before adding to
305
+ * the DOM.
306
+ *
307
+ * @see [Source code with default values](
308
+ * https://github.com/highcharts/highcharts/blob/master/ts/Core/Renderer/HTML/AST.ts#:~:text=public%20static%20allowedAttributes)
309
+ *
310
+ * @example
311
+ * // Allow a custom, trusted attribute
312
+ * Highcharts.AST.allowedAttributes.push('data-value');
313
+ *
314
+ * @name Highcharts.AST.allowedAttributes
315
+ * @type {Array<string>}
316
+ */
317
+ AST.allowedAttributes = [
318
+ 'alt',
319
+ 'aria-controls',
320
+ 'aria-describedby',
321
+ 'aria-expanded',
322
+ 'aria-haspopup',
323
+ 'aria-hidden',
324
+ 'aria-label',
325
+ 'aria-labelledby',
326
+ 'aria-live',
327
+ 'aria-pressed',
328
+ 'aria-readonly',
329
+ 'aria-roledescription',
330
+ 'aria-selected',
331
+ 'class',
332
+ 'clip-path',
333
+ 'color',
334
+ 'colspan',
335
+ 'cx',
336
+ 'cy',
337
+ 'd',
338
+ 'disabled',
339
+ 'dx',
340
+ 'dy',
341
+ 'fill',
342
+ 'filterUnits',
343
+ 'flood-color',
344
+ 'flood-opacity',
345
+ 'height',
346
+ 'href',
347
+ 'id',
348
+ 'in',
349
+ 'in2',
350
+ 'markerHeight',
351
+ 'markerWidth',
352
+ 'offset',
353
+ 'opacity',
354
+ 'operator',
355
+ 'orient',
356
+ 'padding',
357
+ 'paddingLeft',
358
+ 'paddingRight',
359
+ 'patternUnits',
360
+ 'r',
361
+ 'radius',
362
+ 'refX',
363
+ 'refY',
364
+ 'result',
365
+ 'role',
366
+ 'rowspan',
367
+ 'scope',
368
+ 'slope',
369
+ 'src',
370
+ 'startOffset',
371
+ 'stdDeviation',
372
+ 'stroke-linecap',
373
+ 'stroke-width',
374
+ 'stroke',
375
+ 'style',
376
+ 'summary',
377
+ 'tabindex',
378
+ 'tableValues',
379
+ 'target',
380
+ 'text-align',
381
+ 'text-anchor',
382
+ 'textAnchor',
383
+ 'textLength',
384
+ 'title',
385
+ 'type',
386
+ 'valign',
387
+ 'width',
388
+ 'x',
389
+ 'x1',
390
+ 'x2',
391
+ 'xlink:href',
392
+ 'y',
393
+ 'y1',
394
+ 'y2',
395
+ 'zIndex'
396
+ ];
397
+ /**
398
+ * The list of allowed references for referring attributes like `href` and
399
+ * `src`. Attribute values will only be allowed if they start with one of
400
+ * these strings.
401
+ *
402
+ * @see [Source code with default values](
403
+ * https://github.com/highcharts/highcharts/blob/master/ts/Core/Renderer/HTML/AST.ts#:~:text=public%20static%20allowedReferences)
404
+ *
405
+ * @example
406
+ * // Allow tel:
407
+ * Highcharts.AST.allowedReferences.push('tel:');
408
+ *
409
+ * @name Highcharts.AST.allowedReferences
410
+ * @type {Array<string>}
411
+ */
412
+ AST.allowedReferences = [
413
+ 'https://',
414
+ 'http://',
415
+ 'mailto:',
416
+ '/',
417
+ '../',
418
+ './',
419
+ '#'
420
+ ];
421
+ /**
422
+ * The list of allowed SVG or HTML tags, used for sanitizing potentially
423
+ * harmful content from the chart configuration before adding to the DOM.
424
+ *
425
+ * @see [Source code with default values](
426
+ * https://github.com/highcharts/highcharts/blob/master/ts/Core/Renderer/HTML/AST.ts#:~:text=public%20static%20allowedTags)
427
+ *
428
+ * @example
429
+ * // Allow a custom, trusted tag
430
+ * Highcharts.AST.allowedTags.push('blink'); // ;)
431
+ *
432
+ * @name Highcharts.AST.allowedTags
433
+ * @type {Array<string>}
434
+ */
435
+ AST.allowedTags = [
436
+ '#text',
437
+ 'a',
438
+ 'abbr',
439
+ 'b',
440
+ 'br',
441
+ 'button',
442
+ 'caption',
443
+ 'circle',
444
+ 'clipPath',
445
+ 'code',
446
+ 'dd',
447
+ 'defs',
448
+ 'div',
449
+ 'dl',
450
+ 'dt',
451
+ 'em',
452
+ 'feComponentTransfer',
453
+ 'feComposite',
454
+ 'feDropShadow',
455
+ 'feFlood',
456
+ 'feFuncA',
457
+ 'feFuncB',
458
+ 'feFuncG',
459
+ 'feFuncR',
460
+ 'feGaussianBlur',
461
+ 'feMerge',
462
+ 'feMergeNode',
463
+ 'feMorphology',
464
+ 'feOffset',
465
+ 'filter',
466
+ 'h1',
467
+ 'h2',
468
+ 'h3',
469
+ 'h4',
470
+ 'h5',
471
+ 'h6',
472
+ 'hr',
473
+ 'i',
474
+ 'img',
475
+ 'li',
476
+ 'linearGradient',
477
+ 'marker',
478
+ 'ol',
479
+ 'p',
480
+ 'path',
481
+ 'pattern',
482
+ 'pre',
483
+ 'rect',
484
+ 'small',
485
+ 'span',
486
+ 'stop',
487
+ 'strong',
488
+ 'style',
489
+ 'sub',
490
+ 'sup',
491
+ 'svg',
492
+ 'table',
493
+ 'tbody',
494
+ 'td',
495
+ 'text',
496
+ 'textPath',
497
+ 'th',
498
+ 'thead',
499
+ 'title',
500
+ 'tr',
501
+ 'tspan',
502
+ 'u',
503
+ 'ul'
504
+ ];
505
+ AST.emptyHTML = emptyHTML;
506
+ /**
507
+ * Allow all custom SVG and HTML attributes, references and tags (together
508
+ * with potentially harmful ones) to be added to the DOM from the chart
509
+ * configuration. In other words, disable the allow-listing which is the
510
+ * primary functionality of the AST.
511
+ *
512
+ * WARNING: Setting this property to `true` while allowing untrusted user
513
+ * data in the chart configuration will expose your application to XSS
514
+ * security risks!
515
+ *
516
+ * Note that in case you want to allow a known set of tags or attributes,
517
+ * you should allow-list them instead of disabling the filtering totally.
518
+ * See [allowedAttributes](Highcharts.AST#.allowedAttributes),
519
+ * [allowedReferences](Highcharts.AST#.allowedReferences) and
520
+ * [allowedTags](Highcharts.AST#.allowedTags). The `bypassHTMLFiltering`
521
+ * setting is intended only for those cases where allow-listing is not
522
+ * practical, and the chart configuration already comes from a secure
523
+ * source.
524
+ *
525
+ * @example
526
+ * // Allow all custom attributes, references and tags (disable DOM XSS
527
+ * // filtering)
528
+ * Highcharts.AST.bypassHTMLFiltering = true;
529
+ *
530
+ * @name Highcharts.AST.bypassHTMLFiltering
531
+ * @static
532
+ */
533
+ AST.bypassHTMLFiltering = false;
534
+ /* *
535
+ *
536
+ * Default Export
537
+ *
538
+ * */
539
+ export default AST;
540
+ /* *
541
+ *
542
+ * API Declarations
543
+ *
544
+ * */
545
+ /**
546
+ * Serialized form of an SVG/HTML definition, including children.
547
+ *
548
+ * @interface Highcharts.ASTNode
549
+ */ /**
550
+ * @name Highcharts.ASTNode#attributes
551
+ * @type {Highcharts.SVGAttributes|undefined}
552
+ */ /**
553
+ * @name Highcharts.ASTNode#children
554
+ * @type {Array<Highcharts.ASTNode>|undefined}
555
+ */ /**
556
+ * @name Highcharts.ASTNode#tagName
557
+ * @type {string|undefined}
558
+ */ /**
559
+ * @name Highcharts.ASTNode#textContent
560
+ * @type {string|undefined}
561
+ */
562
+ (''); // Keeps doclets above in file
@@ -0,0 +1,76 @@
1
+ import type BBoxObject from '../BBoxObject';
2
+ import type CSSObject from '../CSSObject';
3
+ import type { HTMLDOMElement } from '../DOMElementType';
4
+ import type SVGRenderer from '../SVG/SVGRenderer.js';
5
+ import SVGElement from '../SVG/SVGElement.js';
6
+ declare module '../SVG/SVGRendererBase' {
7
+ interface SVGRendererBase {
8
+ /** @requires Core/Renderer/HTML/HTMLElement */
9
+ html(str: string, x: number, y: number): HTMLElement;
10
+ }
11
+ }
12
+ declare class HTMLElement extends SVGElement {
13
+ static useForeignObject: boolean | undefined;
14
+ /**
15
+ * Compose
16
+ * @private
17
+ */
18
+ static compose<T extends typeof SVGRenderer>(SVGRendererClass: T): void;
19
+ div?: HTMLDOMElement;
20
+ foreignObject?: SVGElement;
21
+ parentGroup?: SVGElement;
22
+ xCorr?: number;
23
+ yCorr?: number;
24
+ constructor(renderer: SVGRenderer, nodeName: 'span');
25
+ /**
26
+ * Get the correction in X and Y positioning as the element is rotated.
27
+ * @private
28
+ */
29
+ private getSpanCorrection;
30
+ /**
31
+ * Apply CSS to HTML elements. This is used in text within SVG rendering.
32
+ * @private
33
+ */
34
+ css(styles: CSSObject): this;
35
+ /**
36
+ * The useHTML method for calculating the bounding box based on offsets.
37
+ * Called internally from the `SVGElement.getBBox` function and subsequently
38
+ * rotated.
39
+ *
40
+ * @private
41
+ */
42
+ htmlGetBBox(): BBoxObject;
43
+ /**
44
+ * Batch update styles and attributes related to transform
45
+ *
46
+ * @private
47
+ */
48
+ updateTransform(): void;
49
+ /**
50
+ * Add the element to a group wrapper. For HTML elements, a parallel div
51
+ * will be created for each ancenstor SVG `g` element.
52
+ *
53
+ * @private
54
+ */
55
+ add(parentGroup?: SVGElement): this;
56
+ /**
57
+ * Text setter
58
+ * @private
59
+ */
60
+ textSetter(value: string): void;
61
+ /**
62
+ * Align setter
63
+ *
64
+ * @private
65
+ */
66
+ alignSetter(value: 'left' | 'center' | 'right'): void;
67
+ /**
68
+ * Various setters which rely on update transform
69
+ * @private
70
+ */
71
+ xSetter(value: number, key: string): void;
72
+ }
73
+ interface HTMLElement {
74
+ element: HTMLDOMElement;
75
+ }
76
+ export default HTMLElement;