@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,79 @@
1
+ import type Cell from '../Cell';
2
+ import type Column from '../Column';
3
+ import type DataTable from '../../../../Data/DataTable';
4
+ import Row from '../Row.js';
5
+ import Table from '../Table.js';
6
+ /**
7
+ * Represents a row in the data grid.
8
+ */
9
+ declare class TableRow extends Row {
10
+ /**
11
+ * The row values from the data table in the original column order.
12
+ */
13
+ data: DataTable.RowObject;
14
+ /**
15
+ * The local index of the row in the presentation data table.
16
+ */
17
+ index: number;
18
+ /**
19
+ * The index of the row in the original data table (ID).
20
+ */
21
+ id?: number;
22
+ /**
23
+ * The vertical translation of the row.
24
+ */
25
+ translateY: number;
26
+ /**
27
+ * Constructs a row in the data grid.
28
+ *
29
+ * @param viewport
30
+ * The Grid Table instance which the row belongs to.
31
+ *
32
+ * @param index
33
+ * The index of the row in the data table.
34
+ */
35
+ constructor(viewport: Table, index: number);
36
+ createCell(column: Column): Cell;
37
+ /**
38
+ * Loads the row data from the data table.
39
+ */
40
+ private loadData;
41
+ /**
42
+ * Updates the row data and its cells with the latest values from the data
43
+ * table.
44
+ */
45
+ update(): void;
46
+ /**
47
+ * Adds or removes the hovered CSS class to the row element.
48
+ *
49
+ * @param hovered
50
+ * Whether the row should be hovered.
51
+ */
52
+ setHoveredState(hovered: boolean): void;
53
+ /**
54
+ * Adds or removes the synced CSS class to the row element.
55
+ *
56
+ * @param synced
57
+ * Whether the row should be synced.
58
+ */
59
+ setSyncedState(synced: boolean): void;
60
+ /**
61
+ * Sets the row HTML element attributes and additional classes.
62
+ */
63
+ setRowAttributes(): void;
64
+ /**
65
+ * Sets the row HTML element attributes that are updateable in the row
66
+ * lifecycle.
67
+ */
68
+ updateRowAttributes(): void;
69
+ /**
70
+ * Sets the vertical translation of the row. Used for virtual scrolling.
71
+ *
72
+ * @param value
73
+ * The vertical translation of the row.
74
+ */
75
+ setTranslateY(value: number): void;
76
+ }
77
+ declare namespace TableRow {
78
+ }
79
+ export default TableRow;
@@ -0,0 +1,177 @@
1
+ /* *
2
+ *
3
+ * Grid TableRow 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 TableCell from './TableCell.js';
19
+ import Globals from '../../Globals.js';
20
+ /* *
21
+ *
22
+ * Class
23
+ *
24
+ * */
25
+ /**
26
+ * Represents a row in the data grid.
27
+ */
28
+ class TableRow extends Row {
29
+ /* *
30
+ *
31
+ * Constructor
32
+ *
33
+ * */
34
+ /**
35
+ * Constructs a row in the data grid.
36
+ *
37
+ * @param viewport
38
+ * The Grid Table instance which the row belongs to.
39
+ *
40
+ * @param index
41
+ * The index of the row in the data table.
42
+ */
43
+ constructor(viewport, index) {
44
+ super(viewport);
45
+ /* *
46
+ *
47
+ * Properties
48
+ *
49
+ * */
50
+ /**
51
+ * The row values from the data table in the original column order.
52
+ */
53
+ this.data = {};
54
+ /**
55
+ * The vertical translation of the row.
56
+ */
57
+ this.translateY = 0;
58
+ this.index = index;
59
+ this.id = viewport.dataTable.getOriginalRowIndex(index);
60
+ this.loadData();
61
+ this.setRowAttributes();
62
+ }
63
+ /* *
64
+ *
65
+ * Methods
66
+ *
67
+ * */
68
+ createCell(column) {
69
+ return new TableCell(this, column);
70
+ }
71
+ /**
72
+ * Loads the row data from the data table.
73
+ */
74
+ loadData() {
75
+ const data = this.viewport.dataTable.getRowObject(this.index);
76
+ if (!data) {
77
+ return;
78
+ }
79
+ this.data = data;
80
+ }
81
+ /**
82
+ * Updates the row data and its cells with the latest values from the data
83
+ * table.
84
+ */
85
+ update() {
86
+ this.id = this.viewport.dataTable.getOriginalRowIndex(this.index);
87
+ this.updateRowAttributes();
88
+ this.loadData();
89
+ for (let i = 0, iEnd = this.cells.length; i < iEnd; ++i) {
90
+ const cell = this.cells[i];
91
+ void cell.setValue();
92
+ }
93
+ this.reflow();
94
+ }
95
+ /**
96
+ * Adds or removes the hovered CSS class to the row element.
97
+ *
98
+ * @param hovered
99
+ * Whether the row should be hovered.
100
+ */
101
+ setHoveredState(hovered) {
102
+ this.htmlElement.classList[hovered ? 'add' : 'remove'](Globals.getClassName('hoveredRow'));
103
+ if (hovered) {
104
+ this.viewport.grid.hoveredRowIndex = this.index;
105
+ }
106
+ }
107
+ /**
108
+ * Adds or removes the synced CSS class to the row element.
109
+ *
110
+ * @param synced
111
+ * Whether the row should be synced.
112
+ */
113
+ setSyncedState(synced) {
114
+ this.htmlElement.classList[synced ? 'add' : 'remove'](Globals.getClassName('syncedRow'));
115
+ if (synced) {
116
+ this.viewport.grid.syncedRowIndex = this.index;
117
+ }
118
+ }
119
+ /**
120
+ * Sets the row HTML element attributes and additional classes.
121
+ */
122
+ setRowAttributes() {
123
+ const idx = this.index;
124
+ const el = this.htmlElement;
125
+ el.classList.add(Globals.getClassName('rowElement'));
126
+ // Index of the row in the presentation data table
127
+ el.setAttribute('data-row-index', idx);
128
+ this.updateRowAttributes();
129
+ // Indexing from 0, so rows with even index are odd.
130
+ el.classList.add(Globals.getClassName(idx % 2 ? 'rowEven' : 'rowOdd'));
131
+ if (this.viewport.grid.hoveredRowIndex === idx) {
132
+ el.classList.add(Globals.getClassName('hoveredRow'));
133
+ }
134
+ if (this.viewport.grid.syncedRowIndex === idx) {
135
+ el.classList.add(Globals.getClassName('syncedRow'));
136
+ }
137
+ }
138
+ /**
139
+ * Sets the row HTML element attributes that are updateable in the row
140
+ * lifecycle.
141
+ */
142
+ updateRowAttributes() {
143
+ const vp = this.viewport;
144
+ const a11y = vp.grid.accessibility;
145
+ const idx = this.index;
146
+ const el = this.htmlElement;
147
+ // Index of the row in the original data table (ID)
148
+ if (this.id !== void 0) {
149
+ el.setAttribute('data-row-id', this.id);
150
+ }
151
+ // Calculate levels of header, 1 to avoid indexing from 0
152
+ a11y?.setRowIndex(el, idx + (vp.header?.rows.length ?? 0) + 1);
153
+ }
154
+ /**
155
+ * Sets the vertical translation of the row. Used for virtual scrolling.
156
+ *
157
+ * @param value
158
+ * The vertical translation of the row.
159
+ */
160
+ setTranslateY(value) {
161
+ this.translateY = value;
162
+ this.htmlElement.style.transform = `translateY(${value}px)`;
163
+ }
164
+ /**
165
+ * Returns the default top offset of the row (before adjusting row heights).
166
+ * @internal
167
+ */
168
+ getDefaultTopOffset() {
169
+ return this.index * this.viewport.rowsVirtualizer.defaultRowHeight;
170
+ }
171
+ }
172
+ /* *
173
+ *
174
+ * Default Export
175
+ *
176
+ * */
177
+ export default TableRow;
@@ -0,0 +1,92 @@
1
+ import type DataTable from '../../../Data/DataTable';
2
+ import Column from './Column';
3
+ import Row from './Row';
4
+ declare abstract class Cell {
5
+ /**
6
+ * The HTML element of the cell.
7
+ */
8
+ htmlElement: HTMLTableCellElement;
9
+ /**
10
+ * The column of the cell.
11
+ */
12
+ column?: Column;
13
+ /**
14
+ * The row of the cell.
15
+ */
16
+ row: Row;
17
+ /**
18
+ * The raw value of the cell.
19
+ */
20
+ value: DataTable.CellType;
21
+ /**
22
+ * An additional, custom class name that can be changed dynamically.
23
+ */
24
+ private customClassName?;
25
+ /**
26
+ * Array of cell events to be removed when the cell is destroyed.
27
+ */
28
+ protected cellEvents: Array<[
29
+ keyof HTMLElementEventMap,
30
+ (e: Event) => void
31
+ ]>;
32
+ /**
33
+ * Constructs a cell in the data grid.
34
+ *
35
+ * @param row
36
+ * The row of the cell.
37
+ *
38
+ * @param column
39
+ * The column of the cell.
40
+ */
41
+ constructor(row: Row, column?: Column);
42
+ /**
43
+ * Initialize event listeners. Events added to the `cellEvents` array will
44
+ * be registered now and unregistered when the cell is destroyed.
45
+ */
46
+ protected initEvents(): void;
47
+ /**
48
+ * Handles the focus event on the cell.
49
+ */
50
+ protected onFocus(): void;
51
+ /**
52
+ * Handles the blur event on the cell.
53
+ */
54
+ protected onBlur(): void;
55
+ /**
56
+ * Handles user keydown on the cell.
57
+ *
58
+ * @param e
59
+ * Keyboard event object.
60
+ */
61
+ protected onKeyDown(e: KeyboardEvent): void;
62
+ /**
63
+ * Renders the cell by appending the HTML element to the row.
64
+ */
65
+ render(): void;
66
+ /**
67
+ * Reflows the cell dimensions.
68
+ */
69
+ reflow(): void;
70
+ /**
71
+ * Returns the formatted string where the templating context is the cell.
72
+ *
73
+ * @param template
74
+ * The template string.
75
+ *
76
+ * @return
77
+ * The formatted string.
78
+ */
79
+ format(template: string): string;
80
+ /**
81
+ * Sets the custom class name of the cell based on the template.
82
+ *
83
+ * @param template
84
+ * The template string.
85
+ */
86
+ protected setCustomClassName(template?: string): void;
87
+ /**
88
+ * Destroys the cell.
89
+ */
90
+ destroy(): void;
91
+ }
92
+ export default Cell;
@@ -0,0 +1,223 @@
1
+ /* *
2
+ *
3
+ * Grid Cell abstract 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 Templating from '../../../Core/Templating.js';
18
+ /* *
19
+ *
20
+ * Abstract Class of Cell
21
+ *
22
+ * */
23
+ class Cell {
24
+ /* *
25
+ *
26
+ * Constructor
27
+ *
28
+ * */
29
+ /**
30
+ * Constructs a cell in the data grid.
31
+ *
32
+ * @param row
33
+ * The row of the cell.
34
+ *
35
+ * @param column
36
+ * The column of the cell.
37
+ */
38
+ constructor(row, column) {
39
+ /**
40
+ * Array of cell events to be removed when the cell is destroyed.
41
+ */
42
+ this.cellEvents = [];
43
+ this.column = column;
44
+ this.row = row;
45
+ this.row.registerCell(this);
46
+ this.htmlElement = this.init();
47
+ this.htmlElement.setAttribute('tabindex', '-1');
48
+ if (!this.column?.options.cells?.editMode?.enabled) {
49
+ this.htmlElement.setAttribute('aria-readonly', 'true');
50
+ }
51
+ this.initEvents();
52
+ }
53
+ /* *
54
+ *
55
+ * Methods
56
+ *
57
+ * */
58
+ /**
59
+ * Init element.
60
+ * @internal
61
+ */
62
+ init() {
63
+ const cell = document.createElement('td', {});
64
+ cell.setAttribute('role', 'gridcell');
65
+ return cell;
66
+ }
67
+ /**
68
+ * Initialize event listeners. Events added to the `cellEvents` array will
69
+ * be registered now and unregistered when the cell is destroyed.
70
+ */
71
+ initEvents() {
72
+ this.cellEvents.push(['blur', () => this.onBlur()]);
73
+ this.cellEvents.push(['focus', () => this.onFocus()]);
74
+ this.cellEvents.push(['click', (e) => {
75
+ this.onClick(e);
76
+ }]);
77
+ this.cellEvents.push(['keydown', (e) => {
78
+ this.onKeyDown(e);
79
+ }]);
80
+ this.cellEvents.forEach((pair) => {
81
+ this.htmlElement.addEventListener(pair[0], pair[1]);
82
+ });
83
+ }
84
+ /**
85
+ * Handles the focus event on the cell.
86
+ */
87
+ onFocus() {
88
+ this.row.viewport.setFocusAnchorCell(this);
89
+ }
90
+ /**
91
+ * Handles the blur event on the cell.
92
+ */
93
+ onBlur() {
94
+ delete this.row.viewport.focusCursor;
95
+ }
96
+ /**
97
+ * Handles user keydown on the cell.
98
+ *
99
+ * @param e
100
+ * Keyboard event object.
101
+ */
102
+ onKeyDown(e) {
103
+ const { row, column } = this;
104
+ if (!column) {
105
+ return;
106
+ }
107
+ const vp = row.viewport;
108
+ const { header } = vp;
109
+ const getVerticalPos = () => {
110
+ if (row.index !== void 0) {
111
+ return row.index - vp.rows[0].index;
112
+ }
113
+ const level = row.level;
114
+ if (!header || level === void 0) {
115
+ return 0;
116
+ }
117
+ return Math.max(level, header.levels) - header.rows.length - 1;
118
+ };
119
+ const changeFocusKeys = {
120
+ ArrowDown: [1, 0],
121
+ ArrowUp: [-1, 0],
122
+ ArrowLeft: [0, -1],
123
+ ArrowRight: [0, 1]
124
+ };
125
+ const dir = changeFocusKeys[e.key];
126
+ if (e.key === 'Enter') {
127
+ this.onClick(e);
128
+ }
129
+ if (dir) {
130
+ e.preventDefault();
131
+ e.stopPropagation();
132
+ const { header } = vp;
133
+ const localRowIndex = getVerticalPos();
134
+ const nextVerticalDir = localRowIndex + dir[0];
135
+ if (nextVerticalDir < 0 && header) {
136
+ const extraRowIdx = header.rows.length + nextVerticalDir;
137
+ if (extraRowIdx + 1 > header.levels) {
138
+ header.rows[extraRowIdx]
139
+ .cells[column.index + dir[1]]?.htmlElement.focus();
140
+ }
141
+ else {
142
+ vp.columns[column.index + dir[1]]
143
+ ?.header?.htmlElement.focus();
144
+ }
145
+ return;
146
+ }
147
+ const nextRow = vp.rows[nextVerticalDir];
148
+ if (nextRow) {
149
+ nextRow.cells[column.index + dir[1]]?.htmlElement.focus();
150
+ }
151
+ }
152
+ }
153
+ /**
154
+ * Renders the cell by appending the HTML element to the row.
155
+ */
156
+ render() {
157
+ this.row.htmlElement.appendChild(this.htmlElement);
158
+ this.reflow();
159
+ }
160
+ /**
161
+ * Reflows the cell dimensions.
162
+ */
163
+ reflow() {
164
+ const column = this.column;
165
+ if (!column) {
166
+ return;
167
+ }
168
+ const elementStyle = this.htmlElement.style;
169
+ elementStyle.width = elementStyle.maxWidth = column.getWidth() + 'px';
170
+ }
171
+ /**
172
+ * Returns the formatted string where the templating context is the cell.
173
+ *
174
+ * @param template
175
+ * The template string.
176
+ *
177
+ * @return
178
+ * The formatted string.
179
+ */
180
+ format(template) {
181
+ return Templating.format(template, this, this.row.viewport.grid);
182
+ }
183
+ /**
184
+ * Sets the custom class name of the cell based on the template.
185
+ *
186
+ * @param template
187
+ * The template string.
188
+ */
189
+ setCustomClassName(template) {
190
+ const element = this.htmlElement;
191
+ if (this.customClassName) {
192
+ element.classList.remove(...this.customClassName.split(/\s+/g));
193
+ }
194
+ if (!template) {
195
+ delete this.customClassName;
196
+ return;
197
+ }
198
+ const newClassName = this.format(template);
199
+ if (!newClassName) {
200
+ delete this.customClassName;
201
+ return;
202
+ }
203
+ element.classList.add(...newClassName.split(/\s+/g));
204
+ this.customClassName = newClassName;
205
+ }
206
+ /**
207
+ * Destroys the cell.
208
+ */
209
+ destroy() {
210
+ this.cellEvents.forEach((pair) => {
211
+ this.htmlElement.removeEventListener(pair[0], pair[1]);
212
+ });
213
+ this.column?.unregisterCell(this);
214
+ this.row.unregisterCell(this);
215
+ this.htmlElement.remove();
216
+ }
217
+ }
218
+ /* *
219
+ *
220
+ * Default Export
221
+ *
222
+ * */
223
+ export default Cell;
@@ -0,0 +1,30 @@
1
+ import type TableCell from '../Body/TableCell';
2
+ /**
3
+ * Represents a cell content in the grid.
4
+ */
5
+ declare abstract class CellContent {
6
+ /**
7
+ * The cell to which the content belongs.
8
+ */
9
+ readonly cell: TableCell;
10
+ /**
11
+ * Creates and renders the cell content.
12
+ *
13
+ * @param cell
14
+ * The cell to which the content belongs.
15
+ */
16
+ constructor(cell: TableCell);
17
+ /**
18
+ * Renders the cell content.
19
+ */
20
+ protected abstract add(): void;
21
+ /**
22
+ * Destroy the cell content.
23
+ */
24
+ abstract destroy(): void;
25
+ /**
26
+ * Updates the cell content without re-rendering it.
27
+ */
28
+ abstract update(): void;
29
+ }
30
+ export default CellContent;
@@ -0,0 +1,40 @@
1
+ /* *
2
+ *
3
+ * Cell Content abstract 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
+ *
14
+ * */
15
+ 'use strict';
16
+ /* *
17
+ *
18
+ * Class
19
+ *
20
+ * */
21
+ /**
22
+ * Represents a cell content in the grid.
23
+ */
24
+ class CellContent {
25
+ /**
26
+ * Creates and renders the cell content.
27
+ *
28
+ * @param cell
29
+ * The cell to which the content belongs.
30
+ */
31
+ constructor(cell) {
32
+ this.cell = cell;
33
+ }
34
+ }
35
+ /* *
36
+ *
37
+ * Default Export
38
+ *
39
+ * */
40
+ export default CellContent;
@@ -0,0 +1,19 @@
1
+ import type Column from '../Column';
2
+ import CellContent from './CellContent.js';
3
+ import TableCell from '../Body/TableCell';
4
+ /**
5
+ * Represents a text type of content.
6
+ */
7
+ declare class TextContent extends CellContent {
8
+ constructor(cell: TableCell);
9
+ protected add(): void;
10
+ destroy(): void;
11
+ update(): void;
12
+ }
13
+ declare namespace TextContent {
14
+ /**
15
+ * Default formats for data types.
16
+ */
17
+ const defaultFormatsForDataTypes: Record<Column.DataType, string>;
18
+ }
19
+ export default TextContent;