@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,70 @@
1
+ import type { GroupedHeaderOptions } from '../../Options';
2
+ import Cell from '../Cell.js';
3
+ import Column from '../Column';
4
+ import Row from '../Row';
5
+ import TableHeader from './TableHeader.js';
6
+ import ColumnToolbar from './ColumnToolbar/ColumnToolbar.js';
7
+ /**
8
+ * Represents a cell in the data grid header.
9
+ */
10
+ declare class HeaderCell extends Cell {
11
+ /**
12
+ * The HTML element of the header cell content.
13
+ */
14
+ headerContent?: HTMLElement;
15
+ /**
16
+ * The container element of the header cell.
17
+ */
18
+ container?: HTMLDivElement;
19
+ /**
20
+ * List of columns that are subordinated to the header cell.
21
+ */
22
+ readonly columns: Column[];
23
+ /**
24
+ * Content value of the header cell.
25
+ */
26
+ value: string;
27
+ /**
28
+ * The table header that this header cell belongs to.
29
+ */
30
+ tableHeader: TableHeader;
31
+ /**
32
+ * The toolbar of the header cell.
33
+ */
34
+ toolbar?: ColumnToolbar;
35
+ /**
36
+ * Constructs a cell in the data grid header.
37
+ *
38
+ * @param row
39
+ * The row of the cell.
40
+ *
41
+ * @param column
42
+ * The column of the cell.
43
+ *
44
+ * @param columnsTree
45
+ * If the cell is a wider than one column, this property contains the
46
+ * structure of the columns that are subordinated to the header cell.
47
+ */
48
+ constructor(row: Row, column?: Column, columnsTree?: GroupedHeaderOptions[]);
49
+ /**
50
+ * Init element.
51
+ */
52
+ init(): HTMLTableCellElement;
53
+ /**
54
+ * Render the cell container.
55
+ */
56
+ render(): void;
57
+ reflow(): void;
58
+ protected onKeyDown(e: KeyboardEvent): void;
59
+ protected onClick(e: MouseEvent): void;
60
+ /**
61
+ * Add sorting option to the column.
62
+ */
63
+ private initColumnSorting;
64
+ /**
65
+ * Check if the cell is part of the last cell in the header.
66
+ */
67
+ isLastColumn(): boolean;
68
+ destroy(): void;
69
+ }
70
+ export default HeaderCell;
@@ -0,0 +1,225 @@
1
+ /* *
2
+ *
3
+ * Grid HeaderCell class
4
+ *
5
+ * (c) 2020-2025 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ * - Sebastian Bochan
14
+ *
15
+ * */
16
+ 'use strict';
17
+ import Cell from '../Cell.js';
18
+ import GridUtils from '../../GridUtils.js';
19
+ import ColumnSorting from '../Actions/ColumnSorting.js';
20
+ import Globals from '../../Globals.js';
21
+ import Utilities from '../../../../Core/Utilities.js';
22
+ import ColumnToolbar from './ColumnToolbar/ColumnToolbar.js';
23
+ const { makeHTMLElement, setHTMLContent, createOptionsProxy } = GridUtils;
24
+ const { fireEvent, isString } = Utilities;
25
+ /* *
26
+ *
27
+ * Class
28
+ *
29
+ * */
30
+ /**
31
+ * Represents a cell in the data grid header.
32
+ */
33
+ class HeaderCell extends Cell {
34
+ /* *
35
+ *
36
+ * Constructor
37
+ *
38
+ * */
39
+ /**
40
+ * Constructs a cell in the data grid header.
41
+ *
42
+ * @param row
43
+ * The row of the cell.
44
+ *
45
+ * @param column
46
+ * The column of the cell.
47
+ *
48
+ * @param columnsTree
49
+ * If the cell is a wider than one column, this property contains the
50
+ * structure of the columns that are subordinated to the header cell.
51
+ */
52
+ constructor(row, column, columnsTree) {
53
+ super(row, column);
54
+ /**
55
+ * Reference to options taken from the header settings, that will override
56
+ * the column options.
57
+ * @internal
58
+ */
59
+ this.superColumnOptions = {};
60
+ /**
61
+ * List of columns that are subordinated to the header cell.
62
+ */
63
+ this.columns = [];
64
+ /**
65
+ * Content value of the header cell.
66
+ */
67
+ this.value = '';
68
+ const header = this.row.viewport.header;
69
+ if (!header) {
70
+ throw new Error('No header found.');
71
+ }
72
+ this.tableHeader = header;
73
+ if (column) {
74
+ column.header = this;
75
+ this.columns.push(column);
76
+ }
77
+ else if (columnsTree) {
78
+ const vp = this.row.viewport;
79
+ const columnIds = vp.grid.getColumnIds(columnsTree, true);
80
+ for (const columnId of columnIds) {
81
+ const column = vp.getColumn(columnId);
82
+ if (column) {
83
+ this.columns.push(column);
84
+ }
85
+ }
86
+ }
87
+ }
88
+ /* *
89
+ *
90
+ * Methods
91
+ *
92
+ * */
93
+ /**
94
+ * Init element.
95
+ */
96
+ init() {
97
+ const elem = document.createElement('th', {});
98
+ elem.classList.add(Globals.getClassName('headerCell'));
99
+ elem.setAttribute('role', 'columnheader');
100
+ return elem;
101
+ }
102
+ /**
103
+ * Render the cell container.
104
+ */
105
+ render() {
106
+ const { column } = this;
107
+ const options = createOptionsProxy(this.superColumnOptions, column?.options);
108
+ const headerCellOptions = options.header || {};
109
+ if (headerCellOptions.formatter) {
110
+ this.value = headerCellOptions.formatter.call(this).toString();
111
+ }
112
+ else if (isString(headerCellOptions.format)) {
113
+ this.value = column ?
114
+ column.format(headerCellOptions.format) :
115
+ headerCellOptions.format;
116
+ }
117
+ else {
118
+ this.value = column?.id || '';
119
+ }
120
+ // Render content of th element
121
+ this.row.htmlElement.appendChild(this.htmlElement);
122
+ // Create flex container for header content and icons
123
+ const container = this.container = makeHTMLElement('div', {
124
+ className: Globals.getClassName('headerCellContainer')
125
+ }, this.htmlElement);
126
+ this.headerContent = makeHTMLElement('span', {
127
+ className: Globals.getClassName('headerCellContent')
128
+ }, container);
129
+ // Render the header cell element content.
130
+ setHTMLContent(this.headerContent, this.value);
131
+ this.htmlElement.setAttribute('scope', 'col');
132
+ if (this.superColumnOptions.className) {
133
+ this.htmlElement.classList.add(...this.superColumnOptions.className.split(/\s+/g));
134
+ }
135
+ if (column) {
136
+ this.htmlElement.setAttribute('data-column-id', column.id);
137
+ this.htmlElement.setAttribute('aria-label', column.id);
138
+ // Add user column classname
139
+ if (column.options.className) {
140
+ this.htmlElement.classList.add(...column.options.className.split(/\s+/g));
141
+ }
142
+ // Add resizing
143
+ column.viewport.columnsResizer?.renderColumnDragHandles(column, this);
144
+ // Add toolbar
145
+ this.toolbar = new ColumnToolbar(column);
146
+ this.toolbar.add();
147
+ // Add sorting
148
+ this.initColumnSorting();
149
+ }
150
+ this.setCustomClassName(options.header?.className);
151
+ // Add alignment to number column
152
+ if (column?.dataType === 'number') {
153
+ this.setCustomClassName(Globals.getClassName('rightAlign'));
154
+ }
155
+ fireEvent(this, 'afterRender', { column });
156
+ }
157
+ reflow() {
158
+ const th = this.htmlElement;
159
+ if (!th) {
160
+ return;
161
+ }
162
+ let width = 0;
163
+ for (const column of this.columns) {
164
+ width += column.getWidth() || 0;
165
+ }
166
+ // Set the width of the column. Max width is needed for the
167
+ // overflow: hidden to work.
168
+ th.style.width = th.style.maxWidth = width + 'px';
169
+ this.toolbar?.reflow();
170
+ }
171
+ onKeyDown(e) {
172
+ if (!this.column || e.target !== this.htmlElement) {
173
+ return;
174
+ }
175
+ if (e.key === 'Enter') {
176
+ this.toolbar?.focus();
177
+ e.preventDefault();
178
+ return;
179
+ }
180
+ super.onKeyDown(e);
181
+ }
182
+ onClick(e) {
183
+ const column = this.column;
184
+ if (!column || (e.target !== this.htmlElement &&
185
+ e.target !== column.header?.headerContent) || column.viewport.columnsResizer?.isResizing) {
186
+ return;
187
+ }
188
+ if (column.options.sorting?.sortable) {
189
+ column.sorting?.toggle();
190
+ }
191
+ fireEvent(this, 'click', {
192
+ originalEvent: e,
193
+ column: this.column
194
+ });
195
+ }
196
+ /**
197
+ * Add sorting option to the column.
198
+ */
199
+ initColumnSorting() {
200
+ const { column } = this;
201
+ if (!column) {
202
+ return;
203
+ }
204
+ column.sorting = new ColumnSorting(column, this.htmlElement);
205
+ }
206
+ /**
207
+ * Check if the cell is part of the last cell in the header.
208
+ */
209
+ isLastColumn() {
210
+ const vp = this.row.viewport;
211
+ const lastViewportColumn = vp.columns[vp.columns.length - 1];
212
+ const lastCellColumn = this.columns?.[this.columns.length - 1];
213
+ return lastViewportColumn === lastCellColumn;
214
+ }
215
+ destroy() {
216
+ this.toolbar?.destroy();
217
+ super.destroy();
218
+ }
219
+ }
220
+ /* *
221
+ *
222
+ * Default Export
223
+ *
224
+ * */
225
+ export default HeaderCell;
@@ -0,0 +1,53 @@
1
+ import type { GroupedHeaderOptions } from '../../Options';
2
+ import Table from '../Table.js';
3
+ import Row from '../Row.js';
4
+ import HeaderCell from './HeaderCell.js';
5
+ import Column from '../Column.js';
6
+ /**
7
+ * Represents a row in the data grid header.
8
+ */
9
+ declare class HeaderRow extends Row {
10
+ /**
11
+ * The level in the header.
12
+ */
13
+ level: number;
14
+ /**
15
+ * Constructs a row in the data grid.
16
+ *
17
+ * @param viewport
18
+ * The Grid Table instance which the row belongs to.
19
+ *
20
+ * @param level
21
+ * The current level of header that is rendered.
22
+ */
23
+ constructor(viewport: Table, level: number);
24
+ createCell(column?: Column, columnsTree?: GroupedHeaderOptions[]): HeaderCell;
25
+ reflow(): void;
26
+ /**
27
+ * Sets a specific class to the last cell in the row.
28
+ */
29
+ protected setLastCellClass(): void;
30
+ /**
31
+ * Get all headers that should be rendered in a level.
32
+ *
33
+ * @param scope
34
+ * Level that we start from
35
+ *
36
+ * @param targetLevel
37
+ * Max level
38
+ *
39
+ * @param currentLevel
40
+ * Current level
41
+ *
42
+ * @return
43
+ * Array of headers that should be rendered in a level
44
+ */
45
+ private getColumnsAtLevel;
46
+ /**
47
+ * Sets the row HTML element attributes and additional classes.
48
+ */
49
+ private setRowAttributes;
50
+ }
51
+ declare namespace HeaderRow {
52
+ }
53
+ export default HeaderRow;
@@ -0,0 +1,182 @@
1
+ /* *
2
+ *
3
+ * Grid HeaderRow class
4
+ *
5
+ * (c) 2020-2025 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ * - Sebastian Bochan
14
+ *
15
+ * */
16
+ 'use strict';
17
+ import Row from '../Row.js';
18
+ import HeaderCell from './HeaderCell.js';
19
+ import Globals from '../../Globals.js';
20
+ import Utils from '../../../../Core/Utilities.js';
21
+ const { isString } = Utils;
22
+ /* *
23
+ *
24
+ * Class
25
+ *
26
+ * */
27
+ /**
28
+ * Represents a row in the data grid header.
29
+ */
30
+ class HeaderRow extends Row {
31
+ /* *
32
+ *
33
+ * Constructor
34
+ *
35
+ * */
36
+ /**
37
+ * Constructs a row in the data grid.
38
+ *
39
+ * @param viewport
40
+ * The Grid Table instance which the row belongs to.
41
+ *
42
+ * @param level
43
+ * The current level of header that is rendered.
44
+ */
45
+ constructor(viewport, level) {
46
+ super(viewport);
47
+ this.level = level;
48
+ this.setRowAttributes();
49
+ }
50
+ /* *
51
+ *
52
+ * Methods
53
+ *
54
+ * */
55
+ createCell(column, columnsTree) {
56
+ return new HeaderCell(this, column, columnsTree);
57
+ }
58
+ /**
59
+ * Renders the row's content in the header.
60
+ *
61
+ * @param level
62
+ * The current level in the header tree
63
+ *
64
+ * @internal
65
+ */
66
+ renderContent(level) {
67
+ const headerOpt = this.viewport.grid.options?.header;
68
+ const vp = this.viewport;
69
+ const enabledColumns = vp.grid.enabledColumns || [];
70
+ // Render element
71
+ vp.theadElement?.appendChild(this.htmlElement);
72
+ this.htmlElement.classList.add(Globals.getClassName('headerRow'));
73
+ if (!headerOpt) {
74
+ super.render();
75
+ }
76
+ else {
77
+ const columnsOnLevel = this.getColumnsAtLevel(headerOpt, level);
78
+ for (let i = 0, iEnd = columnsOnLevel.length; i < iEnd; i++) {
79
+ const columnOnLevel = columnsOnLevel[i];
80
+ const colIsString = typeof columnOnLevel === 'string';
81
+ const colSpan = (!colIsString && columnOnLevel.columns) ?
82
+ vp.grid.getColumnIds(columnOnLevel.columns).length : 0;
83
+ const columnId = colIsString ?
84
+ columnOnLevel : columnOnLevel.columnId;
85
+ const dataColumn = columnId ?
86
+ vp.getColumn(columnId || '') : void 0;
87
+ const headerFormat = !colIsString ?
88
+ columnOnLevel.format : void 0;
89
+ const className = !colIsString ?
90
+ columnOnLevel.className : void 0;
91
+ // Skip hidden column or header when all columns are hidden.
92
+ if ((columnId && enabledColumns &&
93
+ enabledColumns.indexOf(columnId) < 0) || (!dataColumn && colSpan === 0)) {
94
+ continue;
95
+ }
96
+ const headerCell = this.createCell(dataColumn, !colIsString ? columnOnLevel.columns : void 0);
97
+ if (!colIsString) {
98
+ vp.grid.accessibility?.addHeaderCellDescription(headerCell.htmlElement, columnOnLevel.accessibility?.description);
99
+ }
100
+ if (isString(headerFormat)) {
101
+ if (!headerCell.superColumnOptions.header) {
102
+ headerCell.superColumnOptions.header = {};
103
+ }
104
+ headerCell.superColumnOptions.header.format = headerFormat;
105
+ }
106
+ if (className) {
107
+ headerCell.superColumnOptions.className = className;
108
+ }
109
+ // Add class to disable left border on first column
110
+ if (dataColumn?.index === 0 && i === 0) {
111
+ headerCell.htmlElement.classList.add(Globals.getClassName('columnFirst'));
112
+ }
113
+ headerCell.render();
114
+ if (columnId) {
115
+ headerCell.htmlElement.setAttribute('rowSpan', (this.viewport.header?.levels || 1) - level);
116
+ }
117
+ else {
118
+ if (colSpan > 1) {
119
+ headerCell.htmlElement.setAttribute('colSpan', colSpan);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ this.setLastCellClass();
125
+ }
126
+ reflow() {
127
+ const row = this;
128
+ for (let i = 0, iEnd = row.cells.length; i < iEnd; i++) {
129
+ const cell = row.cells[i];
130
+ cell.reflow();
131
+ }
132
+ }
133
+ /**
134
+ * Sets a specific class to the last cell in the row.
135
+ */
136
+ setLastCellClass() {
137
+ const lastCell = this.cells[this.cells.length - 1];
138
+ if (lastCell.isLastColumn()) {
139
+ lastCell.htmlElement.classList.add(Globals.getClassName('lastHeaderCellInRow'));
140
+ }
141
+ }
142
+ /**
143
+ * Get all headers that should be rendered in a level.
144
+ *
145
+ * @param scope
146
+ * Level that we start from
147
+ *
148
+ * @param targetLevel
149
+ * Max level
150
+ *
151
+ * @param currentLevel
152
+ * Current level
153
+ *
154
+ * @return
155
+ * Array of headers that should be rendered in a level
156
+ */
157
+ getColumnsAtLevel(scope, targetLevel, currentLevel = 0) {
158
+ let result = [];
159
+ for (const column of scope) {
160
+ if (currentLevel === targetLevel) {
161
+ result.push(column);
162
+ }
163
+ if (typeof column !== 'string' && column.columns) {
164
+ result = result.concat(this.getColumnsAtLevel(column.columns, targetLevel, currentLevel + 1));
165
+ }
166
+ }
167
+ return result;
168
+ }
169
+ /**
170
+ * Sets the row HTML element attributes and additional classes.
171
+ */
172
+ setRowAttributes() {
173
+ this.viewport.grid.accessibility?.setRowIndex(this.htmlElement, this.level // Level (1-based)
174
+ );
175
+ }
176
+ }
177
+ /* *
178
+ *
179
+ * Default Export
180
+ *
181
+ * */
182
+ export default HeaderRow;
@@ -0,0 +1,65 @@
1
+ import Column from '../Column.js';
2
+ import Table from '../Table.js';
3
+ import HeaderRow from './HeaderRow.js';
4
+ /**
5
+ * Represents a table header row containing the cells (headers) with
6
+ * column names.
7
+ */
8
+ declare class TableHeader {
9
+ /**
10
+ * The visible columns of the table.
11
+ */
12
+ columns: Column[];
13
+ /**
14
+ * The container of the table head.
15
+ */
16
+ rows: HeaderRow[];
17
+ /**
18
+ * The viewport (table) the table head belongs to.
19
+ */
20
+ viewport: Table;
21
+ /**
22
+ * Amount of levels in the header, that is used in creating correct rows.
23
+ * Excludes any extra levels, like filtering row.
24
+ */
25
+ levels: number;
26
+ /**
27
+ * Constructs a new table head.
28
+ *
29
+ * @param viewport
30
+ * The viewport (table) the table head belongs to.
31
+ */
32
+ constructor(viewport: Table);
33
+ /**
34
+ * Renders the table head content.
35
+ */
36
+ render(): void;
37
+ /**
38
+ * Reflows the table head's content dimensions.
39
+ */
40
+ reflow(): void;
41
+ /**
42
+ * Returns amount of rows for the current cell in header tree.
43
+ *
44
+ * @param scope
45
+ * Structure of header
46
+ *
47
+ * @returns
48
+ */
49
+ private getRowLevels;
50
+ /**
51
+ * Scrolls the table head horizontally, only when the virtualization
52
+ * is enabled.
53
+ *
54
+ * @param scrollLeft
55
+ * The left scroll position.
56
+ */
57
+ scrollHorizontally(scrollLeft: number): void;
58
+ /**
59
+ * Destroys the table header and all its associated components.
60
+ */
61
+ destroy(): void;
62
+ }
63
+ declare namespace TableHeader {
64
+ }
65
+ export default TableHeader;