@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,98 @@
1
+ /* *
2
+ *
3
+ * Text Cell Content 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
+ import AST from '../../../../Core/Renderer/HTML/AST.js';
17
+ import CellContent from './CellContent.js';
18
+ import GridUtils from '../../GridUtils.js';
19
+ const { setHTMLContent } = GridUtils;
20
+ import Utils from '../../../../Core/Utilities.js';
21
+ const { defined } = Utils;
22
+ /* *
23
+ *
24
+ * Class
25
+ *
26
+ * */
27
+ /**
28
+ * Represents a text type of content.
29
+ */
30
+ class TextContent extends CellContent {
31
+ constructor(cell) {
32
+ super(cell);
33
+ this.add();
34
+ }
35
+ add() {
36
+ this.update();
37
+ }
38
+ destroy() {
39
+ this.cell.htmlElement.innerHTML = AST.emptyHTML;
40
+ }
41
+ update() {
42
+ setHTMLContent(this.cell.htmlElement, this.format());
43
+ }
44
+ /**
45
+ * Returns the formatted value of the cell.
46
+ *
47
+ * @internal
48
+ */
49
+ format() {
50
+ const { cell } = this;
51
+ const cellsDefaults = cell.row.viewport.grid.options?.columnDefaults?.cells || {};
52
+ const { format, formatter } = cell.column.options.cells || {};
53
+ let value = cell.value;
54
+ if (!defined(value)) {
55
+ value = '';
56
+ }
57
+ let cellContent = '';
58
+ if (!format && !formatter) {
59
+ return cell.format(TextContent.defaultFormatsForDataTypes[cell.column.dataType]);
60
+ }
61
+ const isDefaultFormat = cellsDefaults.format === format;
62
+ const isDefaultFormatter = cellsDefaults.formatter === formatter;
63
+ if (isDefaultFormat && isDefaultFormatter) {
64
+ cellContent = formatter ?
65
+ formatter.call(cell).toString() :
66
+ (format ? cell.format(format) : value + '');
67
+ }
68
+ else if (isDefaultFormat) {
69
+ cellContent = formatter?.call(cell).toString() || value + '';
70
+ }
71
+ else if (isDefaultFormatter) {
72
+ cellContent = format ? cell.format(format) : value + '';
73
+ }
74
+ return cellContent;
75
+ }
76
+ }
77
+ /* *
78
+ *
79
+ * Namespace
80
+ *
81
+ * */
82
+ (function (TextContent) {
83
+ /**
84
+ * Default formats for data types.
85
+ */
86
+ TextContent.defaultFormatsForDataTypes = {
87
+ string: '{value}',
88
+ number: '{value}',
89
+ 'boolean': '{value}',
90
+ datetime: '{value:%Y-%m-%d %H:%M:%S}'
91
+ };
92
+ })(TextContent || (TextContent = {}));
93
+ /* *
94
+ *
95
+ * Default Export
96
+ *
97
+ * */
98
+ export default TextContent;
@@ -0,0 +1,136 @@
1
+ import type { IndividualColumnOptions } from '../Options';
2
+ import type Cell from './Cell';
3
+ import type CellContent from './CellContent/CellContent';
4
+ import type HeaderCell from './Header/HeaderCell';
5
+ import Table from './Table.js';
6
+ import DataTable from '../../../Data/DataTable.js';
7
+ import ColumnSorting from './Actions/ColumnSorting';
8
+ import ColumnFiltering from './Actions/ColumnFiltering/ColumnFiltering.js';
9
+ import TableCell from './Body/TableCell';
10
+ /**
11
+ * Represents a column in the data grid.
12
+ */
13
+ declare class Column {
14
+ /**
15
+ * The viewport (table) the column belongs to.
16
+ */
17
+ readonly viewport: Table;
18
+ /**
19
+ * Type of the data in the column.
20
+ */
21
+ readonly dataType: Column.DataType;
22
+ /**
23
+ * The cells of the column.
24
+ */
25
+ cells: Cell[];
26
+ /**
27
+ * The id of the column (`name` in the Data Table).
28
+ */
29
+ id: string;
30
+ /**
31
+ * The data of the column.
32
+ */
33
+ data?: DataTable.Column;
34
+ /**
35
+ * The options of the column as a proxy that provides merged access to
36
+ * original options and defaults if not defined in the individual options.
37
+ */
38
+ readonly options: Column.Options;
39
+ /**
40
+ * The index of the column in the viewport.
41
+ */
42
+ readonly index: number;
43
+ /**
44
+ * The wrapper for content of head.
45
+ */
46
+ header?: HeaderCell;
47
+ /**
48
+ * Sorting column module.
49
+ */
50
+ sorting?: ColumnSorting;
51
+ /**
52
+ * Filtering column module.
53
+ */
54
+ filtering?: ColumnFiltering;
55
+ /**
56
+ * Constructs a column in the data grid.
57
+ *
58
+ * @param viewport
59
+ * The viewport (table) the column belongs to.
60
+ *
61
+ * @param id
62
+ * The id of the column (`name` in the Data Table).
63
+ *
64
+ * @param index
65
+ * The index of the column.
66
+ */
67
+ constructor(viewport: Table, id: string, index: number);
68
+ /**
69
+ * Loads the data of the column from the viewport's data table.
70
+ */
71
+ loadData(): void;
72
+ /**
73
+ * Creates a cell content instance.
74
+ *
75
+ * @param cell
76
+ * The cell that is to be edited.
77
+ *
78
+ */
79
+ createCellContent(cell: TableCell): CellContent;
80
+ /**
81
+ * Assumes the data type of the column based on the options or data in the
82
+ * column if not specified.
83
+ */
84
+ private assumeDataType;
85
+ /**
86
+ * Registers a cell in the column.
87
+ *
88
+ * @param cell
89
+ * The cell to register.
90
+ */
91
+ registerCell(cell: Cell): void;
92
+ /**
93
+ * Unregister a cell from the column.
94
+ *
95
+ * @param cell
96
+ * The cell to unregister.
97
+ */
98
+ unregisterCell(cell: Cell): void;
99
+ /**
100
+ * Returns the width of the column in pixels.
101
+ */
102
+ getWidth(): number;
103
+ /**
104
+ * Adds or removes the hovered CSS class to the column element
105
+ * and its cells.
106
+ *
107
+ * @param hovered
108
+ * Whether the column should be hovered.
109
+ */
110
+ setHoveredState(hovered: boolean): void;
111
+ /**
112
+ * Adds or removes the synced CSS class to the column element
113
+ * and its cells.
114
+ *
115
+ * @param synced
116
+ * Whether the column should have synced state.
117
+ */
118
+ setSyncedState(synced: boolean): void;
119
+ /**
120
+ * Returns the formatted string where the templating context is the column.
121
+ *
122
+ * @param template
123
+ * The template string.
124
+ *
125
+ * @return
126
+ * The formatted string.
127
+ */
128
+ format(template: string): string;
129
+ update(options: Column.Options, render?: boolean): void;
130
+ update(options: Column.Options, render?: true): Promise<void>;
131
+ }
132
+ declare namespace Column {
133
+ type Options = Omit<IndividualColumnOptions, 'id'>;
134
+ type DataType = 'string' | 'number' | 'boolean' | 'datetime';
135
+ }
136
+ export default Column;
@@ -0,0 +1,230 @@
1
+ /* *
2
+ *
3
+ * Grid Column 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 Utils from '../../../Core/Utilities.js';
18
+ import ColumnFiltering from './Actions/ColumnFiltering/ColumnFiltering.js';
19
+ import Templating from '../../../Core/Templating.js';
20
+ import TextContent from './CellContent/TextContent.js';
21
+ import Globals from '../Globals.js';
22
+ import GridUtils from '../GridUtils.js';
23
+ const { defined, fireEvent } = Utils;
24
+ const { createOptionsProxy } = GridUtils;
25
+ /* *
26
+ *
27
+ * Class
28
+ *
29
+ * */
30
+ /**
31
+ * Represents a column in the data grid.
32
+ */
33
+ class Column {
34
+ /* *
35
+ *
36
+ * Constructor
37
+ *
38
+ * */
39
+ /**
40
+ * Constructs a column in the data grid.
41
+ *
42
+ * @param viewport
43
+ * The viewport (table) the column belongs to.
44
+ *
45
+ * @param id
46
+ * The id of the column (`name` in the Data Table).
47
+ *
48
+ * @param index
49
+ * The index of the column.
50
+ */
51
+ constructor(viewport, id, index) {
52
+ var _a;
53
+ /**
54
+ * The cells of the column.
55
+ */
56
+ this.cells = [];
57
+ const { grid } = viewport;
58
+ this.id = id;
59
+ this.index = index;
60
+ this.viewport = viewport;
61
+ this.loadData();
62
+ this.dataType = this.assumeDataType();
63
+ // Populate column options map if not exists, to prepare option
64
+ // references for each column.
65
+ if (grid.options && !grid.columnOptionsMap?.[id]) {
66
+ const columnOptions = { id };
67
+ ((_a = grid.options).columns ?? (_a.columns = [])).push(columnOptions);
68
+ grid.columnOptionsMap[id] = {
69
+ index: grid.options.columns.length - 1,
70
+ options: columnOptions
71
+ };
72
+ }
73
+ this.options = createOptionsProxy(grid.columnOptionsMap?.[id]?.options ?? {}, grid.options?.columnDefaults);
74
+ if (this.options.filtering?.enabled) {
75
+ this.filtering = new ColumnFiltering(this);
76
+ }
77
+ fireEvent(this, 'afterInit');
78
+ }
79
+ /* *
80
+ *
81
+ * Methods
82
+ *
83
+ * */
84
+ /**
85
+ * Loads the data of the column from the viewport's data table.
86
+ */
87
+ loadData() {
88
+ this.data = this.viewport.dataTable.getColumn(this.id, true);
89
+ }
90
+ /**
91
+ * Creates a cell content instance.
92
+ *
93
+ * @param cell
94
+ * The cell that is to be edited.
95
+ *
96
+ */
97
+ createCellContent(cell) {
98
+ return new TextContent(cell);
99
+ }
100
+ /**
101
+ * Assumes the data type of the column based on the options or data in the
102
+ * column if not specified.
103
+ */
104
+ assumeDataType() {
105
+ const { grid } = this.viewport;
106
+ const type = grid.columnOptionsMap?.[this.id]?.options.dataType ??
107
+ grid.options?.columnDefaults?.dataType;
108
+ if (type) {
109
+ return type;
110
+ }
111
+ if (!this.data) {
112
+ return 'string';
113
+ }
114
+ if (!Array.isArray(this.data)) {
115
+ // Typed array
116
+ return 'number';
117
+ }
118
+ for (let i = 0, iEnd = Math.min(this.data.length, 30); i < iEnd; ++i) {
119
+ if (!defined(this.data[i])) {
120
+ // If the data is null or undefined, we should look
121
+ // at the next value to determine the type.
122
+ continue;
123
+ }
124
+ switch (typeof this.data[i]) {
125
+ case 'number':
126
+ return 'number';
127
+ case 'boolean':
128
+ return 'boolean';
129
+ default:
130
+ return 'string';
131
+ }
132
+ }
133
+ // eslint-disable-next-line no-console
134
+ console.warn(`Column "${this.id}" contains too few data points with ` +
135
+ 'unambiguous types to correctly determine its dataType. It\'s ' +
136
+ 'recommended to set the `dataType` option for it.');
137
+ return 'string';
138
+ }
139
+ /**
140
+ * Registers a cell in the column.
141
+ *
142
+ * @param cell
143
+ * The cell to register.
144
+ */
145
+ registerCell(cell) {
146
+ cell.htmlElement.setAttribute('data-column-id', this.id);
147
+ if (this.options.className) {
148
+ cell.htmlElement.classList.add(...this.options.className.split(/\s+/g));
149
+ }
150
+ if (this.viewport.grid.hoveredColumnId === this.id) {
151
+ cell.htmlElement.classList.add(Globals.getClassName('hoveredColumn'));
152
+ }
153
+ this.cells.push(cell);
154
+ }
155
+ /**
156
+ * Unregister a cell from the column.
157
+ *
158
+ * @param cell
159
+ * The cell to unregister.
160
+ */
161
+ unregisterCell(cell) {
162
+ const index = this.cells.indexOf(cell);
163
+ if (index > -1) {
164
+ this.cells.splice(index, 1);
165
+ }
166
+ }
167
+ /**
168
+ * Returns the width of the column in pixels.
169
+ */
170
+ getWidth() {
171
+ return this.viewport.columnResizing.getColumnWidth(this);
172
+ }
173
+ /**
174
+ * Adds or removes the hovered CSS class to the column element
175
+ * and its cells.
176
+ *
177
+ * @param hovered
178
+ * Whether the column should be hovered.
179
+ */
180
+ setHoveredState(hovered) {
181
+ this.header?.htmlElement?.classList[hovered ? 'add' : 'remove'](Globals.getClassName('hoveredColumn'));
182
+ for (let i = 0, iEnd = this.cells.length; i < iEnd; ++i) {
183
+ this.cells[i].htmlElement.classList[hovered ? 'add' : 'remove'](Globals.getClassName('hoveredColumn'));
184
+ }
185
+ }
186
+ /**
187
+ * Adds or removes the synced CSS class to the column element
188
+ * and its cells.
189
+ *
190
+ * @param synced
191
+ * Whether the column should have synced state.
192
+ */
193
+ setSyncedState(synced) {
194
+ this.header?.htmlElement?.classList[synced ? 'add' : 'remove'](Globals.getClassName('syncedColumn'));
195
+ for (let i = 0, iEnd = this.cells.length; i < iEnd; ++i) {
196
+ this.cells[i].htmlElement.classList[synced ? 'add' : 'remove'](Globals.getClassName('syncedColumn'));
197
+ }
198
+ }
199
+ /**
200
+ * Returns the formatted string where the templating context is the column.
201
+ *
202
+ * @param template
203
+ * The template string.
204
+ *
205
+ * @return
206
+ * The formatted string.
207
+ */
208
+ format(template) {
209
+ return Templating.format(template, this, this.viewport.grid);
210
+ }
211
+ /**
212
+ * Updates the column with new options.
213
+ *
214
+ * @param newOptions
215
+ * The new options for the column.
216
+ *
217
+ * @param render
218
+ * Whether to re-render after the update. If `false`, the update will just
219
+ * extend the options object. Defaults to `true`.
220
+ */
221
+ async update(newOptions, render = true) {
222
+ await this.viewport.grid.updateColumn(this.id, newOptions, render);
223
+ }
224
+ }
225
+ /* *
226
+ *
227
+ * Default Export
228
+ *
229
+ * */
230
+ export default Column;
@@ -0,0 +1,7 @@
1
+ import type ColumnsResizer from '../Actions/ColumnsResizer';
2
+ import ResizingMode from './ResizingMode.js';
3
+ declare class AdjacentResizingMode extends ResizingMode {
4
+ readonly type: "adjacent";
5
+ resize(resizer: ColumnsResizer, diff: number): void;
6
+ }
7
+ export default AdjacentResizingMode;
@@ -0,0 +1,62 @@
1
+ /* *
2
+ *
3
+ * Adjacent Resizing Mode 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
+ import ResizingMode from './ResizingMode.js';
17
+ /* *
18
+ *
19
+ * Class
20
+ *
21
+ * */
22
+ class AdjacentResizingMode extends ResizingMode {
23
+ constructor() {
24
+ /* *
25
+ *
26
+ * Properties
27
+ *
28
+ * */
29
+ super(...arguments);
30
+ this.type = 'adjacent';
31
+ }
32
+ /* *
33
+ *
34
+ * Methods
35
+ *
36
+ * */
37
+ resize(resizer, diff) {
38
+ const vp = this.viewport;
39
+ const column = resizer.draggedColumn;
40
+ if (!column) {
41
+ return;
42
+ }
43
+ const colW = resizer.columnStartWidth ?? 0;
44
+ const minWidth = ResizingMode.getMinWidth(column);
45
+ const nextCol = vp.columns[column.index + 1];
46
+ const newW = Math.round(Math.max(colW + diff, minWidth) * 10) / 10;
47
+ this.columnWidths[column.id] = newW;
48
+ this.columnWidthUnits[column.id] = 0; // Always save in px
49
+ column.update({ width: newW }, false);
50
+ if (nextCol) {
51
+ const newNextW = this.columnWidths[nextCol.id] = Math.round(Math.max((resizer.nextColumnStartWidth ?? 0) + colW - newW, minWidth) * 10) / 10;
52
+ this.columnWidthUnits[nextCol.id] = 0; // Always save in px
53
+ nextCol.update({ width: newNextW }, false);
54
+ }
55
+ }
56
+ }
57
+ /* *
58
+ *
59
+ * Default Export
60
+ *
61
+ * */
62
+ export default AdjacentResizingMode;
@@ -0,0 +1,32 @@
1
+ import type Table from '../Table';
2
+ import ResizingMode from './ResizingMode.js';
3
+ import AdjacentResizingMode from './AdjacentResizingMode.js';
4
+ import IndependentResizingMode from './IndependentResizingMode.js';
5
+ import DistributedResizingMode from './DistributedResizingMode.js';
6
+ declare namespace ColumnResizing {
7
+ /**
8
+ * Abstract class representing a column resizing mode.
9
+ */
10
+ const AbstractStrategy: typeof ResizingMode;
11
+ /**
12
+ * Registry of column resizing modes.
13
+ */
14
+ const types: {
15
+ adjacent: typeof AdjacentResizingMode;
16
+ distributed: typeof DistributedResizingMode;
17
+ independent: typeof IndependentResizingMode;
18
+ };
19
+ type ModeType = keyof typeof types;
20
+ /**
21
+ * Creates a new column resizing mode instance based on the
22
+ * viewport's options.
23
+ *
24
+ * @param viewport
25
+ * The table that the column resizing mode is applied to.
26
+ *
27
+ * @returns
28
+ * The proper column resizing mode.
29
+ */
30
+ function initMode(viewport: Table): ResizingMode;
31
+ }
32
+ export default ColumnResizing;
@@ -0,0 +1,68 @@
1
+ /* *
2
+ *
3
+ * Column Resizing namespace
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
+ import ResizingMode from './ResizingMode.js';
17
+ import AdjacentResizingMode from './AdjacentResizingMode.js';
18
+ import IndependentResizingMode from './IndependentResizingMode.js';
19
+ import DistributedResizingMode from './DistributedResizingMode.js';
20
+ /* *
21
+ *
22
+ * Namespace
23
+ *
24
+ * */
25
+ var ColumnResizing;
26
+ (function (ColumnResizing) {
27
+ /**
28
+ * Abstract class representing a column resizing mode.
29
+ */
30
+ ColumnResizing.AbstractStrategy = ResizingMode;
31
+ /**
32
+ * Registry of column resizing modes.
33
+ */
34
+ ColumnResizing.types = {
35
+ adjacent: AdjacentResizingMode,
36
+ distributed: DistributedResizingMode,
37
+ independent: IndependentResizingMode
38
+ };
39
+ /**
40
+ * Creates a new column resizing mode instance based on the
41
+ * viewport's options.
42
+ *
43
+ * @param viewport
44
+ * The table that the column resizing mode is applied to.
45
+ *
46
+ * @returns
47
+ * The proper column resizing mode.
48
+ */
49
+ function initMode(viewport) {
50
+ const modeName = viewport.grid.options?.rendering?.columns?.resizing?.mode ||
51
+ 'adjacent';
52
+ let ModeConstructor = ColumnResizing.types[modeName];
53
+ if (!ModeConstructor) {
54
+ // eslint-disable-next-line no-console
55
+ console.warn(`Unknown column resizing mode: '${modeName}'. Applied ` +
56
+ 'default \'adjacent\' mode.');
57
+ ModeConstructor = ColumnResizing.types.adjacent;
58
+ }
59
+ return new ModeConstructor(viewport);
60
+ }
61
+ ColumnResizing.initMode = initMode;
62
+ })(ColumnResizing || (ColumnResizing = {}));
63
+ /* *
64
+ *
65
+ * Default Export
66
+ *
67
+ * */
68
+ export default ColumnResizing;
@@ -0,0 +1,7 @@
1
+ import type ColumnsResizer from '../Actions/ColumnsResizer.js';
2
+ import ResizingMode from './ResizingMode.js';
3
+ declare class DistributedResizingMode extends ResizingMode {
4
+ readonly type: "distributed";
5
+ resize(resizer: ColumnsResizer, diff: number): void;
6
+ }
7
+ export default DistributedResizingMode;
@@ -0,0 +1,53 @@
1
+ /* *
2
+ *
3
+ * Distributed Resizing Mode 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
+ import ResizingMode from './ResizingMode.js';
17
+ /* *
18
+ *
19
+ * Class
20
+ *
21
+ * */
22
+ class DistributedResizingMode extends ResizingMode {
23
+ constructor() {
24
+ /* *
25
+ *
26
+ * Properties
27
+ *
28
+ * */
29
+ super(...arguments);
30
+ this.type = 'distributed';
31
+ }
32
+ /* *
33
+ *
34
+ * Methods
35
+ *
36
+ * */
37
+ resize(resizer, diff) {
38
+ const column = resizer.draggedColumn;
39
+ if (!column) {
40
+ return;
41
+ }
42
+ // Set the width of the resized column.
43
+ const width = this.columnWidths[column.id] = Math.round(Math.max((resizer.columnStartWidth || 0) + diff, ResizingMode.getMinWidth(column)) * 10) / 10;
44
+ this.columnWidthUnits[column.id] = 0; // Set to px
45
+ column.update({ width }, false);
46
+ }
47
+ }
48
+ /* *
49
+ *
50
+ * Default Export
51
+ *
52
+ * */
53
+ export default DistributedResizingMode;
@@ -0,0 +1,7 @@
1
+ import type ColumnsResizer from '../Actions/ColumnsResizer.js';
2
+ import ResizingMode from './ResizingMode.js';
3
+ declare class IndependentResizingMode extends ResizingMode {
4
+ readonly type: "independent";
5
+ resize(resizer: ColumnsResizer, diff: number): void;
6
+ }
7
+ export default IndependentResizingMode;