@highcharts/grid-pro 2.1.1 → 2.3.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 (455) hide show
  1. package/LICENSE.txt +6 -0
  2. package/README.md +15 -9
  3. package/css/grid-pro.css +1289 -1153
  4. package/css/modules/grid-base-variables.css +131 -0
  5. package/css/modules/grid-button-variables.css +140 -0
  6. package/css/modules/grid-caption-variables.css +11 -0
  7. package/css/modules/grid-description-variables.css +11 -0
  8. package/css/modules/grid-input-variables.css +114 -0
  9. package/css/modules/grid-link-variables.css +18 -0
  10. package/css/modules/grid-menu-variables.css +50 -0
  11. package/css/modules/grid-pagination-variables.css +12 -0
  12. package/css/modules/grid-popup-variables.css +24 -0
  13. package/css/modules/grid-pro.css +234 -0
  14. package/css/modules/grid-table-variables.css +385 -0
  15. package/css/modules/grid-theme-default.css +55 -0
  16. package/es-modules/Accessibility/A11yI18n.js +4 -5
  17. package/es-modules/Accessibility/Accessibility.js +5 -5
  18. package/es-modules/Accessibility/AccessibilityComponent.d.ts +3 -3
  19. package/es-modules/Accessibility/AccessibilityComponent.js +4 -3
  20. package/es-modules/Accessibility/Components/AnnotationsA11y.js +4 -3
  21. package/es-modules/Accessibility/Components/ContainerComponent.js +4 -3
  22. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -9
  23. package/es-modules/Accessibility/Components/LegendComponent.js +5 -5
  24. package/es-modules/Accessibility/Components/MenuComponent.js +5 -5
  25. package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -7
  26. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -5
  27. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +15 -5
  28. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +7 -7
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +4 -3
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +7 -7
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +5 -5
  32. package/es-modules/Accessibility/Components/ZoomComponent.js +5 -5
  33. package/es-modules/Accessibility/FocusBorder.js +5 -5
  34. package/es-modules/Accessibility/HighContrastMode.js +4 -3
  35. package/es-modules/Accessibility/HighContrastTheme.js +4 -3
  36. package/es-modules/Accessibility/KeyboardNavigation.js +5 -5
  37. package/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
  38. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
  39. package/es-modules/Accessibility/Options/A11yDefaults.js +15 -3
  40. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
  41. package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -5
  42. package/es-modules/Accessibility/Options/LangDefaults.js +13 -3
  43. package/es-modules/Accessibility/ProxyElement.js +6 -8
  44. package/es-modules/Accessibility/ProxyProvider.js +5 -5
  45. package/es-modules/Accessibility/Utils/Announcer.js +6 -6
  46. package/es-modules/Accessibility/Utils/ChartUtilities.js +5 -5
  47. package/es-modules/Accessibility/Utils/DOMElementProvider.js +4 -3
  48. package/es-modules/Accessibility/Utils/EventProvider.d.ts +3 -3
  49. package/es-modules/Accessibility/Utils/EventProvider.js +10 -5
  50. package/es-modules/Accessibility/Utils/HTMLUtilities.js +5 -5
  51. package/es-modules/Core/Animation/AnimationOptions.d.ts +42 -0
  52. package/es-modules/Core/Animation/AnimationOptions.js +10 -0
  53. package/es-modules/Core/Animation/AnimationUtilities.js +40 -5
  54. package/es-modules/Core/Animation/Fx.d.ts +1 -130
  55. package/es-modules/Core/Animation/Fx.js +14 -8
  56. package/es-modules/Core/Animation/FxBase.d.ts +1 -0
  57. package/es-modules/Core/Animation/FxBase.js +11 -0
  58. package/es-modules/Core/Callback.d.ts +56 -0
  59. package/es-modules/Core/Callback.js +10 -0
  60. package/es-modules/Core/Chart/Chart.d.ts +659 -400
  61. package/es-modules/Core/Chart/Chart.js +112 -95
  62. package/es-modules/Core/Chart/Chart3D.d.ts +123 -233
  63. package/es-modules/Core/Chart/Chart3D.js +23 -37
  64. package/es-modules/Core/Chart/ChartBase.d.ts +3 -0
  65. package/es-modules/Core/Chart/ChartBase.js +11 -0
  66. package/es-modules/Core/Chart/ChartDefaults.js +18 -12
  67. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +1 -55
  68. package/es-modules/Core/Chart/ChartNavigationComposition.js +13 -13
  69. package/es-modules/Core/Chart/ChartOptions.d.ts +1225 -0
  70. package/es-modules/Core/Chart/ChartOptions.js +10 -0
  71. package/es-modules/Core/Chart/GanttChart.d.ts +0 -38
  72. package/es-modules/Core/Chart/GanttChart.js +5 -5
  73. package/es-modules/Core/Chart/MapChart.d.ts +9 -4
  74. package/es-modules/Core/Chart/MapChart.js +14 -5
  75. package/es-modules/Core/Chart/StockChart.d.ts +0 -85
  76. package/es-modules/Core/Chart/StockChart.js +35 -18
  77. package/es-modules/Core/Color/Color.d.ts +16 -24
  78. package/es-modules/Core/Color/Color.js +27 -10
  79. package/es-modules/Core/Color/ColorString.d.ts +0 -23
  80. package/es-modules/Core/Color/ColorString.js +11 -0
  81. package/es-modules/Core/Color/ColorType.d.ts +0 -33
  82. package/es-modules/Core/Color/ColorType.js +11 -0
  83. package/es-modules/Core/Color/GradientColor.d.ts +0 -33
  84. package/es-modules/Core/Color/GradientColor.js +11 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +1 -84
  86. package/es-modules/Core/Color/Palettes.js +2 -1
  87. package/es-modules/Core/Defaults.d.ts +6 -0
  88. package/es-modules/Core/Defaults.js +66 -75
  89. package/es-modules/Core/Delaunay.d.ts +52 -0
  90. package/es-modules/Core/Delaunay.js +310 -0
  91. package/es-modules/Core/Foundation.d.ts +1 -19
  92. package/es-modules/Core/Foundation.js +8 -6
  93. package/es-modules/Core/Geometry/CircleObject.d.ts +5 -0
  94. package/es-modules/Core/Geometry/CircleObject.js +10 -0
  95. package/es-modules/Core/Geometry/CircleUtilities.d.ts +1 -189
  96. package/es-modules/Core/Geometry/CircleUtilities.js +18 -17
  97. package/es-modules/Core/Geometry/GeometryObject.d.ts +7 -0
  98. package/es-modules/Core/Geometry/GeometryObject.js +10 -0
  99. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +1 -48
  100. package/es-modules/Core/Geometry/GeometryUtilities.js +9 -7
  101. package/es-modules/Core/Geometry/IntersectionObject.d.ts +7 -0
  102. package/es-modules/Core/Geometry/IntersectionObject.js +10 -0
  103. package/es-modules/Core/Geometry/PolygonClip.d.ts +1 -19
  104. package/es-modules/Core/Geometry/PolygonClip.js +9 -7
  105. package/es-modules/Core/Globals.d.ts +9 -31
  106. package/es-modules/Core/Globals.js +9 -10
  107. package/es-modules/Core/GlobalsBase.d.ts +35 -0
  108. package/es-modules/Core/GlobalsBase.js +11 -0
  109. package/es-modules/Core/HttpUtilities.d.ts +54 -17
  110. package/es-modules/Core/HttpUtilities.js +16 -16
  111. package/es-modules/Core/JSON.d.ts +29 -0
  112. package/es-modules/Core/JSON.js +13 -0
  113. package/es-modules/Core/KeyboardEvent.d.ts +1 -0
  114. package/es-modules/Core/KeyboardEvent.js +11 -0
  115. package/es-modules/Core/MSPointer.d.ts +1 -74
  116. package/es-modules/Core/MSPointer.js +24 -15
  117. package/es-modules/Core/Math3D.d.ts +1 -117
  118. package/es-modules/Core/Math3D.js +14 -12
  119. package/es-modules/Core/Options.d.ts +338 -0
  120. package/es-modules/Core/Options.js +10 -0
  121. package/es-modules/Core/Pointer.d.ts +71 -445
  122. package/es-modules/Core/Pointer.js +74 -69
  123. package/es-modules/Core/PointerEvent.d.ts +20 -0
  124. package/es-modules/Core/PointerEvent.js +11 -0
  125. package/es-modules/Core/Renderer/AlignObject.d.ts +25 -27
  126. package/es-modules/Core/Renderer/AlignObject.js +11 -0
  127. package/es-modules/Core/Renderer/BBoxObject.d.ts +20 -31
  128. package/es-modules/Core/Renderer/BBoxObject.js +11 -0
  129. package/es-modules/Core/Renderer/CSSObject.d.ts +268 -59
  130. package/es-modules/Core/Renderer/CSSObject.js +10 -0
  131. package/es-modules/Core/Renderer/DOMElementType.d.ts +1 -33
  132. package/es-modules/Core/Renderer/DOMElementType.js +11 -0
  133. package/es-modules/Core/Renderer/DashStyleValue.d.ts +1 -27
  134. package/es-modules/Core/Renderer/DashStyleValue.js +11 -0
  135. package/es-modules/Core/Renderer/FontMetricsObject.d.ts +6 -26
  136. package/es-modules/Core/Renderer/FontMetricsObject.js +11 -0
  137. package/es-modules/Core/Renderer/HTML/AST.d.ts +3 -15
  138. package/es-modules/Core/Renderer/HTML/AST.js +24 -15
  139. package/es-modules/Core/Renderer/HTML/HTMLAttributes.d.ts +1 -25
  140. package/es-modules/Core/Renderer/HTML/HTMLAttributes.js +11 -0
  141. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +0 -54
  142. package/es-modules/Core/Renderer/HTML/HTMLElement.js +28 -24
  143. package/es-modules/Core/Renderer/PolygonBoxObject.d.ts +15 -12
  144. package/es-modules/Core/Renderer/PolygonBoxObject.js +11 -0
  145. package/es-modules/Core/Renderer/Position3DObject.d.ts +6 -30
  146. package/es-modules/Core/Renderer/Position3DObject.js +11 -0
  147. package/es-modules/Core/Renderer/PositionObject.d.ts +9 -23
  148. package/es-modules/Core/Renderer/PositionObject.js +11 -0
  149. package/es-modules/Core/Renderer/RectangleObject.d.ts +6 -30
  150. package/es-modules/Core/Renderer/RectangleObject.js +11 -0
  151. package/es-modules/Core/Renderer/RendererRegistry.d.ts +1 -29
  152. package/es-modules/Core/Renderer/RendererRegistry.js +6 -3
  153. package/es-modules/Core/Renderer/RendererType.d.ts +1 -53
  154. package/es-modules/Core/Renderer/RendererType.js +11 -0
  155. package/es-modules/Core/Renderer/RendererUtilities.d.ts +1 -26
  156. package/es-modules/Core/Renderer/RendererUtilities.js +41 -23
  157. package/es-modules/Core/Renderer/SVG/ButtonThemeObject.d.ts +26 -31
  158. package/es-modules/Core/Renderer/SVG/SVGArc3D.d.ts +1 -44
  159. package/es-modules/Core/Renderer/SVG/SVGAttributes.d.ts +15 -51
  160. package/es-modules/Core/Renderer/SVG/SVGAttributes3D.d.ts +1 -42
  161. package/es-modules/Core/Renderer/SVG/SVGCuboid.d.ts +1 -42
  162. package/es-modules/Core/Renderer/SVG/SVGElement.d.ts +459 -0
  163. package/es-modules/Core/Renderer/SVG/SVGElement3D.d.ts +1 -0
  164. package/es-modules/Core/Renderer/SVG/SVGElementBase.d.ts +0 -23
  165. package/es-modules/Core/Renderer/SVG/SVGLabel.d.ts +14 -0
  166. package/es-modules/Core/Renderer/SVG/SVGPath.d.ts +18 -56
  167. package/es-modules/Core/Renderer/SVG/SVGPath3D.d.ts +0 -30
  168. package/es-modules/Core/Renderer/SVG/SVGRenderer.d.ts +652 -0
  169. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.d.ts +1 -0
  170. package/es-modules/Core/Renderer/SVG/SVGRendererBase.d.ts +0 -24
  171. package/es-modules/Core/Renderer/SVG/SymbolOptions.d.ts +3 -26
  172. package/es-modules/Core/Renderer/SVG/SymbolType.d.ts +1 -41
  173. package/es-modules/Core/Renderer/SVG/Symbols.d.ts +146 -0
  174. package/es-modules/Core/Renderer/SVG/TextBuilder.d.ts +1 -0
  175. package/es-modules/Core/Renderer/ShadowOptionsObject.d.ts +21 -30
  176. package/es-modules/Core/Renderer/ShadowOptionsObject.js +11 -0
  177. package/es-modules/Core/Renderer/SizeObject.d.ts +0 -23
  178. package/es-modules/Core/Renderer/SizeObject.js +11 -0
  179. package/es-modules/Core/Responsive.d.ts +94 -29
  180. package/es-modules/Core/Responsive.js +17 -12
  181. package/es-modules/Core/Templating.d.ts +17 -1
  182. package/es-modules/Core/Templating.js +12 -8
  183. package/es-modules/Core/Time.d.ts +18 -1
  184. package/es-modules/Core/Time.js +6 -5
  185. package/es-modules/Core/Tooltip.d.ts +67 -123
  186. package/es-modules/Core/Tooltip.js +161 -108
  187. package/es-modules/Core/TooltipOptions.d.ts +724 -0
  188. package/es-modules/Core/TooltipOptions.js +10 -0
  189. package/es-modules/Core/Utilities.d.ts +32 -703
  190. package/es-modules/Core/Utilities.js +28 -1443
  191. package/es-modules/Data/ColumnUtils.d.ts +83 -80
  192. package/es-modules/Data/ColumnUtils.js +106 -116
  193. package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
  194. package/es-modules/Data/Connectors/CSVConnector.js +6 -7
  195. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +3 -3
  196. package/es-modules/Data/Connectors/DataConnector.d.ts +63 -54
  197. package/es-modules/Data/Connectors/DataConnector.js +67 -56
  198. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +3 -3
  199. package/es-modules/Data/Connectors/DataConnectorType.d.ts +3 -3
  200. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
  201. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +76 -91
  202. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +7 -5
  203. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
  204. package/es-modules/Data/Connectors/HTMLTableConnector.js +6 -7
  205. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +3 -3
  206. package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
  207. package/es-modules/Data/Connectors/JSONConnector.js +6 -7
  208. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +3 -3
  209. package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
  210. package/es-modules/Data/Converters/CSVConverter.js +6 -7
  211. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +5 -5
  212. package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
  213. package/es-modules/Data/Converters/DataConverter.js +29 -56
  214. package/es-modules/Data/Converters/DataConverterType.d.ts +3 -3
  215. package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
  216. package/es-modules/Data/Converters/DataConverterUtils.js +172 -184
  217. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
  218. package/es-modules/Data/Converters/GoogleSheetsConverter.js +6 -6
  219. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +5 -5
  220. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
  221. package/es-modules/Data/Converters/HTMLTableConverter.js +5 -6
  222. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +5 -5
  223. package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
  224. package/es-modules/Data/Converters/JSONConverter.js +9 -9
  225. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +5 -5
  226. package/es-modules/Data/DataCursor.d.ts +65 -70
  227. package/es-modules/Data/DataCursor.js +122 -142
  228. package/es-modules/Data/DataEvent.d.ts +55 -57
  229. package/es-modules/Data/DataEvent.js +3 -3
  230. package/es-modules/Data/DataPool.d.ts +10 -17
  231. package/es-modules/Data/DataPool.js +23 -12
  232. package/es-modules/Data/DataPoolOptions.d.ts +3 -3
  233. package/es-modules/Data/DataTable.d.ts +115 -117
  234. package/es-modules/Data/DataTable.js +67 -33
  235. package/es-modules/Data/DataTableCore.d.ts +11 -11
  236. package/es-modules/Data/DataTableCore.js +7 -7
  237. package/es-modules/Data/DataTableOptions.js +3 -3
  238. package/es-modules/Data/Formula/Formula.js +3 -3
  239. package/es-modules/Data/Formula/FormulaParser.js +4 -5
  240. package/es-modules/Data/Formula/FormulaProcessor.js +4 -5
  241. package/es-modules/Data/Formula/FormulaTypes.js +3 -3
  242. package/es-modules/Data/Formula/Functions/ABS.js +3 -3
  243. package/es-modules/Data/Formula/Functions/AND.js +3 -3
  244. package/es-modules/Data/Formula/Functions/AVERAGE.js +3 -3
  245. package/es-modules/Data/Formula/Functions/AVERAGEA.js +3 -3
  246. package/es-modules/Data/Formula/Functions/COUNT.js +3 -3
  247. package/es-modules/Data/Formula/Functions/COUNTA.js +3 -3
  248. package/es-modules/Data/Formula/Functions/IF.js +3 -3
  249. package/es-modules/Data/Formula/Functions/ISNA.js +3 -3
  250. package/es-modules/Data/Formula/Functions/MAX.js +3 -3
  251. package/es-modules/Data/Formula/Functions/MEDIAN.js +3 -3
  252. package/es-modules/Data/Formula/Functions/MIN.js +3 -3
  253. package/es-modules/Data/Formula/Functions/MOD.js +3 -3
  254. package/es-modules/Data/Formula/Functions/MODE.js +3 -3
  255. package/es-modules/Data/Formula/Functions/NOT.js +3 -3
  256. package/es-modules/Data/Formula/Functions/OR.js +3 -3
  257. package/es-modules/Data/Formula/Functions/PRODUCT.js +3 -3
  258. package/es-modules/Data/Formula/Functions/SUM.js +3 -3
  259. package/es-modules/Data/Formula/Functions/XOR.js +3 -3
  260. package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
  261. package/es-modules/Data/Modifiers/ChainModifier.js +10 -11
  262. package/es-modules/Data/Modifiers/ChainModifierOptions.js +3 -3
  263. package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
  264. package/es-modules/Data/Modifiers/DataModifier.js +34 -56
  265. package/es-modules/Data/Modifiers/DataModifierEvent.js +3 -3
  266. package/es-modules/Data/Modifiers/DataModifierOptions.js +3 -3
  267. package/es-modules/Data/Modifiers/DataModifierType.d.ts +3 -3
  268. package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
  269. package/es-modules/Data/Modifiers/FilterModifier.js +6 -7
  270. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
  271. package/es-modules/Data/Modifiers/FilterModifierOptions.js +3 -3
  272. package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
  273. package/es-modules/Data/Modifiers/InvertModifier.js +6 -7
  274. package/es-modules/Data/Modifiers/InvertModifierOptions.js +3 -3
  275. package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
  276. package/es-modules/Data/Modifiers/MathModifier.js +3 -3
  277. package/es-modules/Data/Modifiers/MathModifierOptions.js +3 -3
  278. package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
  279. package/es-modules/Data/Modifiers/RangeModifier.js +6 -7
  280. package/es-modules/Data/Modifiers/RangeModifierOptions.js +3 -3
  281. package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
  282. package/es-modules/Data/Modifiers/SortModifier.js +35 -10
  283. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +43 -6
  284. package/es-modules/Data/Modifiers/SortModifierOptions.js +3 -3
  285. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +77 -0
  286. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +4 -3
  287. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +68 -1
  288. package/es-modules/Grid/Core/Accessibility/Accessibility.js +179 -7
  289. package/es-modules/Grid/Core/Credits.js +3 -3
  290. package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
  291. package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
  292. package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
  293. package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
  294. package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
  295. package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
  296. package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
  297. package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
  298. package/es-modules/Grid/Core/Defaults.js +21 -7
  299. package/es-modules/Grid/Core/Globals.d.ts +20 -16
  300. package/es-modules/Grid/Core/Globals.js +13 -11
  301. package/es-modules/Grid/Core/Grid.d.ts +43 -23
  302. package/es-modules/Grid/Core/Grid.js +316 -136
  303. package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
  304. package/es-modules/Grid/Core/GridUtils.js +53 -6
  305. package/es-modules/Grid/Core/Options.d.ts +162 -5
  306. package/es-modules/Grid/Core/Options.js +3 -3
  307. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
  308. package/es-modules/Grid/Core/Pagination/Pagination.js +66 -26
  309. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -40
  310. package/es-modules/Grid/Core/Pagination/PaginationOptions.js +11 -0
  311. package/es-modules/Grid/Core/Querying/FilteringController.js +4 -5
  312. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
  313. package/es-modules/Grid/Core/Querying/PaginationController.js +6 -6
  314. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
  315. package/es-modules/Grid/Core/Querying/QueryingController.js +5 -29
  316. package/es-modules/Grid/Core/Querying/SortingController.d.ts +15 -0
  317. package/es-modules/Grid/Core/Querying/SortingController.js +89 -51
  318. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
  319. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
  320. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
  321. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
  322. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +5 -6
  323. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +3 -3
  324. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +6 -7
  325. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
  326. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +5 -5
  327. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +3 -3
  328. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +29 -3
  329. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +136 -26
  330. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +4 -6
  331. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +94 -3
  332. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +481 -91
  333. package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
  334. package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
  335. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +36 -15
  336. package/es-modules/Grid/Core/Table/Body/TableCell.js +89 -33
  337. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +15 -5
  338. package/es-modules/Grid/Core/Table/Body/TableRow.js +70 -19
  339. package/es-modules/Grid/Core/Table/Cell.d.ts +16 -10
  340. package/es-modules/Grid/Core/Table/Cell.js +41 -6
  341. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +3 -3
  342. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +7 -12
  343. package/es-modules/Grid/Core/Table/Column.d.ts +11 -5
  344. package/es-modules/Grid/Core/Table/Column.js +26 -37
  345. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +3 -3
  346. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +3 -3
  347. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +3 -3
  348. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +12 -11
  349. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +7 -6
  350. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
  351. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +21 -7
  352. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +4 -5
  353. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +4 -5
  354. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +9 -0
  355. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +37 -9
  356. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +5 -4
  357. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +11 -7
  358. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +4 -5
  359. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +4 -5
  360. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +4 -1
  361. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +88 -15
  362. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +8 -3
  363. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +36 -15
  364. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +7 -8
  365. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
  366. package/es-modules/Grid/Core/Table/Header/TableHeader.js +6 -6
  367. package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
  368. package/es-modules/Grid/Core/Table/Row.js +5 -5
  369. package/es-modules/Grid/Core/Table/Table.d.ts +68 -12
  370. package/es-modules/Grid/Core/Table/Table.js +296 -92
  371. package/es-modules/Grid/Core/UI/Button.js +3 -3
  372. package/es-modules/Grid/Core/UI/ContextMenu.js +3 -3
  373. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
  374. package/es-modules/Grid/Core/UI/ContextMenuButton.js +8 -6
  375. package/es-modules/Grid/Core/UI/Popup.js +10 -12
  376. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
  377. package/es-modules/Grid/Core/UI/SvgIcons.js +209 -36
  378. package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
  379. package/es-modules/Grid/Core/UI/Toolbar.js +3 -3
  380. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
  381. package/es-modules/Grid/Core/UI/ToolbarButton.js +11 -29
  382. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +4 -45
  383. package/es-modules/Grid/Pro/CellEditing/CellEditMode.js +16 -0
  384. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +13 -13
  385. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +4 -5
  386. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +3 -3
  387. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +3 -3
  388. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +3 -3
  389. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +1 -34
  390. package/es-modules/Grid/Pro/CellRendering/CellRendererType.js +15 -0
  391. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
  392. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +7 -5
  393. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
  394. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +3 -3
  395. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +3 -3
  396. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +3 -3
  397. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +3 -3
  398. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +4 -5
  399. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
  400. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +3 -3
  401. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +7 -5
  402. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +4 -5
  403. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
  404. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +4 -5
  405. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +3 -3
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +4 -5
  407. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +4 -5
  408. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +3 -3
  409. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +4 -5
  410. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +4 -5
  411. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +4 -5
  412. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +4 -4
  413. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +4 -5
  414. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +4 -5
  415. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +4 -5
  416. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +4 -5
  417. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +10 -1
  418. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +56 -12
  419. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
  420. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +6 -7
  421. package/es-modules/Grid/Pro/Credits/CreditsPro.js +3 -3
  422. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +4 -6
  423. package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
  424. package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
  425. package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
  426. package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
  427. package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
  428. package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
  429. package/es-modules/Grid/Pro/Export/Exporting.js +5 -7
  430. package/es-modules/Grid/Pro/Export/ExportingComposition.js +4 -5
  431. package/es-modules/Grid/Pro/GridEvents.d.ts +1 -0
  432. package/es-modules/Grid/Pro/GridEvents.js +4 -5
  433. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
  434. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +4 -5
  435. package/es-modules/Grid/index.js +3 -3
  436. package/es-modules/Shared/BaseForm.js +4 -5
  437. package/es-modules/Shared/DownloadURL.d.ts +1 -85
  438. package/es-modules/Shared/DownloadURL.js +15 -13
  439. package/es-modules/Shared/LangOptionsCore.d.ts +4 -3
  440. package/es-modules/Shared/TimeBase.d.ts +1 -46
  441. package/es-modules/Shared/TimeBase.js +11 -10
  442. package/es-modules/Shared/Types.d.ts +11 -3
  443. package/es-modules/Shared/Utilities.d.ts +576 -0
  444. package/es-modules/Shared/Utilities.js +1368 -0
  445. package/es-modules/masters/grid-pro.src.d.ts +18 -19
  446. package/es-modules/masters/grid-pro.src.js +24 -9
  447. package/grid-pro.d.ts +18 -19
  448. package/grid-pro.js +6 -5
  449. package/grid-pro.js.map +1 -1
  450. package/grid-pro.src.d.ts +18 -19
  451. package/grid-pro.src.js +8132 -4531
  452. package/package.json +1 -1
  453. package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
  454. package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
  455. package/es-modules/Grid/Pro/highcharts.d.ts +0 -7
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Grid Cell abstract class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -15,8 +15,7 @@
15
15
  * */
16
16
  'use strict';
17
17
  import Templating from '../../../Core/Templating.js';
18
- import U from '../../../Core/Utilities.js';
19
- const { fireEvent } = U;
18
+ import { fireEvent } from '../../../Shared/Utilities.js';
20
19
  /* *
21
20
  *
22
21
  * Abstract Class of Cell
@@ -106,6 +105,8 @@ class Cell {
106
105
  *
107
106
  * @param e
108
107
  * Keyboard event object.
108
+ *
109
+ * @internal
109
110
  */
110
111
  onKeyDown(e) {
111
112
  const { row, column } = this;
@@ -183,9 +184,10 @@ class Cell {
183
184
  /**
184
185
  * Renders the cell by appending the HTML element to the row.
185
186
  */
186
- render() {
187
+ async render() {
187
188
  this.row.htmlElement.appendChild(this.htmlElement);
188
189
  this.reflow();
190
+ return Promise.resolve();
189
191
  }
190
192
  /**
191
193
  * Reflows the cell dimensions.
@@ -233,6 +235,39 @@ class Cell {
233
235
  element.classList.add(...newClassName.split(/\s+/g));
234
236
  this.customClassName = newClassName;
235
237
  }
238
+ /**
239
+ * Sets custom inline styles from options and removes the previously applied
240
+ * custom styles to keep updates deterministic.
241
+ *
242
+ * @param styles
243
+ * A style object to apply.
244
+ */
245
+ setCustomStyles(styles) {
246
+ const elementStyle = this.htmlElement.style;
247
+ const getCSSPropertyName = (property) => (property.indexOf('-') > -1 ?
248
+ property :
249
+ property.replace(/[A-Z]/g, '-$&').toLowerCase());
250
+ if (this.customStyleProperties) {
251
+ for (const property of this.customStyleProperties) {
252
+ elementStyle.removeProperty(property);
253
+ }
254
+ }
255
+ if (!styles) {
256
+ delete this.customStyleProperties;
257
+ return;
258
+ }
259
+ const appliedProperties = [];
260
+ for (const key of Object.keys(styles)) {
261
+ const value = styles[key];
262
+ if (value === void 0 || value === null) {
263
+ continue;
264
+ }
265
+ const property = getCSSPropertyName(String(key));
266
+ elementStyle.setProperty(property, String(value));
267
+ appliedProperties.push(property);
268
+ }
269
+ this.customStyleProperties = appliedProperties;
270
+ }
236
271
  /**
237
272
  * Destroys the cell.
238
273
  */
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Cell Content abstract class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Text Cell Content class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -17,8 +17,7 @@ import AST from '../../../../Core/Renderer/HTML/AST.js';
17
17
  import CellContent from './CellContent.js';
18
18
  import GridUtils from '../../GridUtils.js';
19
19
  const { setHTMLContent } = GridUtils;
20
- import Utils from '../../../../Core/Utilities.js';
21
- const { defined, isString } = Utils;
20
+ import { defined } from '../../../../Shared/Utilities.js';
22
21
  /* *
23
22
  *
24
23
  * Class
@@ -77,12 +76,8 @@ class TextContent extends CellContent {
77
76
  }
78
77
  else if (isDefaultFormat) {
79
78
  const formattedValue = formatter?.call(cell);
80
- if (isString(formattedValue)) {
81
- cellContent = formattedValue;
82
- }
83
- else {
84
- cellContent = value + '';
85
- }
79
+ cellContent = defined(formattedValue) ?
80
+ String(formattedValue) : value + '';
86
81
  }
87
82
  else if (isDefaultFormatter) {
88
83
  cellContent = format ? cell.format(format) : value + '';
@@ -97,7 +92,7 @@ class TextContent extends CellContent {
97
92
  * */
98
93
  TextContent.defaultFormatsForDataTypes = {
99
94
  string: '{value}',
100
- number: '{value}',
95
+ number: '{value:,.f}',
101
96
  'boolean': '{value}',
102
97
  datetime: '{value:%Y-%m-%d %H:%M:%S}'
103
98
  };
@@ -2,8 +2,8 @@ import type { IndividualColumnOptions } from '../Options';
2
2
  import type Cell from './Cell';
3
3
  import type CellContent from './CellContent/CellContent';
4
4
  import type HeaderCell from './Header/HeaderCell';
5
+ import type { Column as DataTableColumn } from '../../../Data/DataTable';
5
6
  import Table from './Table.js';
6
- import DataTable from '../../../Data/DataTable.js';
7
7
  import ColumnSorting from './Actions/ColumnSorting';
8
8
  import ColumnFiltering from './Actions/ColumnFiltering/ColumnFiltering.js';
9
9
  import TableCell from './Body/TableCell';
@@ -18,7 +18,7 @@ export declare class Column {
18
18
  /**
19
19
  * Type of the data in the column.
20
20
  */
21
- readonly dataType: ColumnDataType;
21
+ dataType: ColumnDataType;
22
22
  /**
23
23
  * The cells of the column.
24
24
  */
@@ -28,14 +28,16 @@ export declare class Column {
28
28
  */
29
29
  id: string;
30
30
  /**
31
- * The data of the column.
31
+ * The data of the column. Shouldn't be used directly in all cases, because
32
+ * it's not guaranteed to be defined (e.g. when using the lazy loading,
33
+ * `RemoteDataProvider`).
32
34
  */
33
- data?: DataTable.Column;
35
+ data?: DataTableColumn;
34
36
  /**
35
37
  * The options of the column as a proxy that provides merged access to
36
38
  * original options and defaults if not defined in the individual options.
37
39
  */
38
- readonly options: NoIdColumnOptions;
40
+ options: NoIdColumnOptions;
39
41
  /**
40
42
  * The index of the column in the viewport.
41
43
  */
@@ -65,6 +67,10 @@ export declare class Column {
65
67
  * The index of the column.
66
68
  */
67
69
  constructor(viewport: Table, id: string, index: number);
70
+ /**
71
+ * Initializes the column data-related properties.
72
+ */
73
+ init(): Promise<void>;
68
74
  /**
69
75
  * Loads the data of the column from the viewport's data table.
70
76
  */
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Grid Column class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -14,13 +14,12 @@
14
14
  *
15
15
  * */
16
16
  'use strict';
17
- import Utils from '../../../Core/Utilities.js';
18
17
  import ColumnFiltering from './Actions/ColumnFiltering/ColumnFiltering.js';
19
18
  import Templating from '../../../Core/Templating.js';
20
19
  import TextContent from './CellContent/TextContent.js';
21
20
  import Globals from '../Globals.js';
22
21
  import GridUtils from '../GridUtils.js';
23
- const { defined, fireEvent } = Utils;
22
+ import { fireEvent } from '../../../Shared/Utilities.js';
24
23
  const { createOptionsProxy } = GridUtils;
25
24
  /* *
26
25
  *
@@ -50,6 +49,10 @@ export class Column {
50
49
  */
51
50
  constructor(viewport, id, index) {
52
51
  var _a;
52
+ /**
53
+ * Type of the data in the column.
54
+ */
55
+ this.dataType = 'string';
53
56
  /**
54
57
  * The cells of the column.
55
58
  */
@@ -58,8 +61,6 @@ export class Column {
58
61
  this.id = id;
59
62
  this.index = index;
60
63
  this.viewport = viewport;
61
- this.loadData();
62
- this.dataType = this.assumeDataType();
63
64
  // Populate column options map if not exists, to prepare option
64
65
  // references for each column.
65
66
  if (grid.options && !grid.columnOptionsMap?.[id]) {
@@ -74,18 +75,31 @@ export class Column {
74
75
  if (this.options.filtering?.enabled) {
75
76
  this.filtering = new ColumnFiltering(this);
76
77
  }
77
- fireEvent(this, 'afterInit');
78
78
  }
79
79
  /* *
80
80
  *
81
81
  * Methods
82
82
  *
83
83
  * */
84
+ /**
85
+ * Initializes the column data-related properties.
86
+ */
87
+ async init() {
88
+ this.loadData();
89
+ this.dataType = await this.assumeDataType();
90
+ fireEvent(this, 'afterInit');
91
+ }
84
92
  /**
85
93
  * Loads the data of the column from the viewport's data table.
86
94
  */
87
95
  loadData() {
88
- this.data = this.viewport.dataTable.getColumn(this.id, true);
96
+ const dp = this.viewport.grid.dataProvider;
97
+ if (dp && 'getDataTable' in dp) {
98
+ this.data = dp.getDataTable(true)?.getColumn(this.id, true);
99
+ }
100
+ else {
101
+ delete this.data;
102
+ }
89
103
  }
90
104
  /**
91
105
  * Creates a cell content instance.
@@ -101,40 +115,15 @@ export class Column {
101
115
  * Assumes the data type of the column based on the options or data in the
102
116
  * column if not specified.
103
117
  */
104
- assumeDataType() {
118
+ async assumeDataType() {
105
119
  const { grid } = this.viewport;
120
+ const dp = grid.dataProvider;
106
121
  const type = grid.columnOptionsMap?.[this.id]?.options.dataType ??
107
122
  grid.options?.columnDefaults?.dataType;
108
123
  if (type) {
109
124
  return type;
110
125
  }
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';
126
+ return (await dp?.getColumnDataType(this.id)) ?? 'string';
138
127
  }
139
128
  /**
140
129
  * Registers a cell in the column.
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Adjacent Resizing Mode class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Column Resizing namespace
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Distributed Resizing Mode class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Independent Resizing Mode class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -42,15 +42,16 @@ class IndependentResizingMode extends ResizingMode {
42
42
  // Set the width of the resized column.
43
43
  const width = this.columnWidths[column.id] = Math.round(Math.max((resizer.columnStartWidth || 0) + diff, ResizingMode.getMinWidth(column)) * 10) / 10;
44
44
  this.columnWidthUnits[column.id] = 0; // Set to px
45
- // Change width units of all columns on the right to px.
45
+ // Change width units of all columns to px.
46
46
  const vp = this.viewport;
47
- const colIndex = column.index;
48
- for (let i = colIndex; i < vp.columns.length; ++i) {
49
- const rightCol = vp.columns[i];
50
- const rcWidth = this.columnWidths[rightCol.id] =
51
- rightCol.getWidth();
52
- this.columnWidthUnits[rightCol.id] = 0; // Set to px
53
- rightCol.setOptions({ width: rcWidth });
47
+ for (let i = 0; i < vp.columns.length; ++i) {
48
+ const col = vp.columns[i];
49
+ if (col.id === column.id) {
50
+ continue;
51
+ }
52
+ const colWidth = this.columnWidths[col.id] = col.getWidth();
53
+ this.columnWidthUnits[col.id] = 0; // Set to px
54
+ col.setOptions({ width: colWidth });
54
55
  }
55
56
  column.setOptions({ width });
56
57
  }
@@ -2,19 +2,18 @@
2
2
  *
3
3
  * Resizing Mode abstract class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
13
13
  *
14
14
  * */
15
15
  'use strict';
16
- import U from '../../../../Core/Utilities.js';
17
- const { getStyle, defined } = U;
16
+ import { defined, getStyle } from '../../../../Shared/Utilities.js';
18
17
  /* *
19
18
  *
20
19
  * Class
@@ -86,7 +85,9 @@ class ResizingMode {
86
85
  */
87
86
  loadColumn(column) {
88
87
  const rawWidth = column.options.width;
89
- if (!rawWidth) {
88
+ if (!defined(rawWidth) || rawWidth === 'auto') {
89
+ delete this.columnWidths[column.id];
90
+ delete this.columnWidthUnits[column.id];
90
91
  return;
91
92
  }
92
93
  let value;
@@ -1,3 +1,4 @@
1
+ import type Grid from '../../../Grid';
1
2
  import type Toolbar from '../../../UI/Toolbar';
2
3
  import type Column from '../../Column';
3
4
  import ToolbarButton from '../../../UI/ToolbarButton.js';
@@ -10,6 +11,10 @@ declare class HeaderCellToolbar implements Toolbar {
10
11
  * The column that this toolbar belongs to.
11
12
  */
12
13
  column: Column;
14
+ /**
15
+ * Reference to the Grid instance for icon registry and options.
16
+ */
17
+ get grid(): Grid;
13
18
  buttons: ToolbarButton[];
14
19
  container?: HTMLDivElement;
15
20
  focusCursor: number;
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Grid Header Cell Toolbar class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -18,15 +18,20 @@ import Globals from '../../../Globals.js';
18
18
  import SortToolbarButton from './ToolbarButtons/SortToolbarButton.js';
19
19
  import FilterToolbarButton from './ToolbarButtons/FilterToolbarButton.js';
20
20
  import MenuToolbarButton from './ToolbarButtons/MenuToolbarButton.js';
21
- import U from '../../../../../Core/Utilities.js';
21
+ import { getStyle } from '../../../../../Shared/Utilities.js';
22
22
  const { makeHTMLElement } = GridUtils;
23
- const { getStyle } = U;
24
23
  /* *
25
24
  *
26
25
  * Class
27
26
  *
28
27
  * */
29
28
  class HeaderCellToolbar {
29
+ /**
30
+ * Reference to the Grid instance for icon registry and options.
31
+ */
32
+ get grid() {
33
+ return this.column.viewport.grid;
34
+ }
30
35
  /* *
31
36
  *
32
37
  * Constructor
@@ -51,7 +56,9 @@ class HeaderCellToolbar {
51
56
  */
52
57
  renderFull() {
53
58
  const columnOptions = this.column.options;
54
- if (columnOptions.sorting?.sortable) {
59
+ const sortingEnabled = columnOptions.sorting?.enabled ??
60
+ columnOptions.sorting?.sortable;
61
+ if (sortingEnabled) {
55
62
  new SortToolbarButton().add(this);
56
63
  }
57
64
  if (columnOptions.filtering?.enabled &&
@@ -61,7 +68,9 @@ class HeaderCellToolbar {
61
68
  }
62
69
  renderMinimized() {
63
70
  const columnOptions = this.column.options;
64
- if (columnOptions.sorting?.sortable || (columnOptions.filtering?.enabled &&
71
+ const sortingEnabled = columnOptions.sorting?.enabled ??
72
+ columnOptions.sorting?.sortable;
73
+ if (sortingEnabled || (columnOptions.filtering?.enabled &&
65
74
  !columnOptions.filtering.inline)) {
66
75
  new MenuToolbarButton().add(this);
67
76
  }
@@ -127,6 +136,11 @@ class HeaderCellToolbar {
127
136
  }
128
137
  }
129
138
  if (!shouldBeMinimized) {
139
+ // Ensure we reset any "minimized only" header state. This can
140
+ // happen if the grid was initialized in a hidden container
141
+ // (e.g. display:none) where widths measure as 0. (#24002)
142
+ this.isMenuCentered = void 0;
143
+ this.column.header?.container?.classList.remove(Globals.getClassName('noWidth'));
130
144
  return;
131
145
  }
132
146
  const parent = this.column.header?.htmlElement;
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Grid Filter Popup class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -14,8 +14,7 @@
14
14
  * */
15
15
  'use strict';
16
16
  import Popup from '../../../UI/Popup.js';
17
- import U from '../../../../../Core/Utilities.js';
18
- const { merge } = U;
17
+ import { merge } from '../../../../../Shared/Utilities.js';
19
18
  /* *
20
19
  *
21
20
  * Class
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Grid Filter Context Menu Button class
4
4
  *
5
- * (c) 2020-2025 Highsoft AS
5
+ * (c) 2020-2026 Highsoft AS
6
6
  *
7
- * License: www.highcharts.com/license
7
+ * A commercial license may be required depending on use.
8
+ * See www.highcharts.com/license
8
9
  *
9
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
10
  *
11
11
  * Authors:
12
12
  * - Dawid Dragula
@@ -16,8 +16,7 @@
16
16
  import FilterPopup from '../FilterPopup.js';
17
17
  import StateHelpers from '../StateHelpers.js';
18
18
  import ContextMenuButton from '../../../../UI/ContextMenuButton.js';
19
- import U from '../../../../../../Core/Utilities.js';
20
- const { addEvent } = U;
19
+ import { addEvent } from '../../../../../../Shared/Utilities.js';
21
20
  /* *
22
21
  *
23
22
  * Class
@@ -4,8 +4,17 @@ import ContextMenuButton from '../../../../UI/ContextMenuButton.js';
4
4
  declare class SortMenuButton extends ContextMenuButton {
5
5
  contextMenu?: MenuPopup;
6
6
  private direction;
7
+ private baseLabel;
7
8
  constructor(langOptions: LangOptions, direction: typeof SortMenuButton.prototype.direction);
8
9
  protected refreshState(): void;
10
+ /**
11
+ * Updates the label to include the sort priority when multi-column
12
+ * sorting is active.
13
+ *
14
+ * @param column
15
+ * The column to get the priority from, or undefined to reset the label.
16
+ */
17
+ private updateLabelWithPriority;
9
18
  protected addEventListeners(): void;
10
19
  protected clickHandler(event: MouseEvent): void;
11
20
  }