@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
@@ -0,0 +1,341 @@
1
+ /* *
2
+ *
3
+ * Local Data Provider 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 { DataProvider } from './DataProvider.js';
17
+ import DataTable from '../../../Data/DataTable.js';
18
+ import ChainModifier from '../../../Data/Modifiers/ChainModifier.js';
19
+ import DataConnector from '../../../Data/Connectors/DataConnector.js';
20
+ import DataProviderRegistry from './DataProviderRegistry.js';
21
+ import { uniqueKey } from '../../../Core/Utilities.js';
22
+ import { defined, isNumber, isString } from '../../../Shared/Utilities.js';
23
+ /* *
24
+ *
25
+ * Class
26
+ *
27
+ * */
28
+ /**
29
+ * Local data provider for the Grid.
30
+ *
31
+ * Uses a DataTable instances to serve data to the grid, applying query
32
+ * modifiers and persisting edits locally.
33
+ */
34
+ export class LocalDataProvider extends DataProvider {
35
+ constructor() {
36
+ super(...arguments);
37
+ /**
38
+ * Unbind callbacks for DataTable events.
39
+ */
40
+ this.dataTableEventDestructors = [];
41
+ /**
42
+ * Unbind callbacks for connector events.
43
+ */
44
+ this.connectorEventDestructors = [];
45
+ }
46
+ /* *
47
+ *
48
+ * Methods
49
+ *
50
+ * */
51
+ async init() {
52
+ if (this.dataTable) {
53
+ return;
54
+ }
55
+ await this.initDataTable();
56
+ }
57
+ async initDataTable() {
58
+ this.querying.shouldBeUpdated = true;
59
+ this.clearDataTableEvents();
60
+ this.clearConnector();
61
+ if (this.options.connector) {
62
+ await this.initConnector(this.options.connector);
63
+ return;
64
+ }
65
+ let dataTable = this.options.dataTable;
66
+ if (!dataTable) {
67
+ dataTable = new DataTable({
68
+ columns: this.options.columns ?? {}
69
+ });
70
+ }
71
+ this.setDataTable(dataTable);
72
+ }
73
+ setDataTable(table) {
74
+ this.dataTable = table;
75
+ this.presentationTable = table.getModified();
76
+ this.prePaginationRowCount = this.presentationTable?.rowCount ?? 0;
77
+ for (const eventName of LocalDataProvider.tableChangeEventNames) {
78
+ const fn = table.on(eventName, (e) => {
79
+ void this.handleTableChange(e);
80
+ });
81
+ this.dataTableEventDestructors.push(fn);
82
+ }
83
+ const idColId = this.options.idColumn;
84
+ if (idColId) {
85
+ const idColumn = table.getColumn(idColId, true);
86
+ if (!idColumn) {
87
+ throw new Error(`Column "${idColId}" not found in table.`);
88
+ }
89
+ const map = new Map();
90
+ for (let i = 0, len = idColumn.length; i < len; ++i) {
91
+ const value = idColumn[i];
92
+ if (!isString(value) && !isNumber(value)) {
93
+ throw new Error('idColumn must contain only string or number values.');
94
+ }
95
+ map.set(value, i);
96
+ }
97
+ if (map.size !== idColumn.length) {
98
+ throw new Error('idColumn must contain unique values.');
99
+ }
100
+ this.originalRowIndexesMap = map;
101
+ }
102
+ }
103
+ async handleTableChange(e) {
104
+ this.querying.shouldBeUpdated = true;
105
+ const grid = this.querying.grid;
106
+ if (!grid?.viewport) {
107
+ return;
108
+ }
109
+ if (e.type === 'afterSetCell' && e.detail?.fromGrid) {
110
+ return;
111
+ }
112
+ if (this.options.updateOnChange) {
113
+ await grid.viewport.updateRows();
114
+ }
115
+ // TODO: Handle this when Polling emits proper events.
116
+ // grid.dirtyFlags.add((
117
+ // eventName === 'afterDeleteColumns' ||
118
+ // eventName === 'afterSetColumns'
119
+ // ) ? 'grid' : 'rows');
120
+ // await grid.redraw();
121
+ }
122
+ clearDataTableEvents() {
123
+ this.dataTableEventDestructors.forEach((fn) => fn());
124
+ this.dataTableEventDestructors.length = 0;
125
+ }
126
+ clearConnector() {
127
+ this.connectorEventDestructors.forEach((fn) => fn());
128
+ this.connectorEventDestructors.length = 0;
129
+ this.connector?.stopPolling();
130
+ this.connector = void 0;
131
+ }
132
+ async initConnector(connectorInput) {
133
+ let connector;
134
+ if (LocalDataProvider.isConnectorInstance(connectorInput)) {
135
+ connector = connectorInput;
136
+ }
137
+ else {
138
+ const ConnectorClass = DataConnector.types[connectorInput.type];
139
+ if (!ConnectorClass) {
140
+ throw new Error(`Connector type not found. (${connectorInput.type})`);
141
+ }
142
+ if (!connectorInput.id) {
143
+ connectorInput.id = 'connector-' + uniqueKey();
144
+ }
145
+ connector = new ConnectorClass(connectorInput);
146
+ }
147
+ this.connector = connector;
148
+ this.connectorEventDestructors.push(connector.on('afterLoad', () => {
149
+ this.querying.shouldBeUpdated = true;
150
+ }));
151
+ this.setDataTable(connector.getTable());
152
+ if ('enablePolling' in connector.options &&
153
+ connector.options.enablePolling &&
154
+ !connector.polling &&
155
+ 'dataRefreshRate' in connector.options) {
156
+ connector.startPolling(Math.max(connector.options.dataRefreshRate || 0, 1) * 1000);
157
+ }
158
+ if (!connector.loaded) {
159
+ try {
160
+ await connector.load();
161
+ }
162
+ catch {
163
+ return;
164
+ }
165
+ }
166
+ }
167
+ getColumnIds() {
168
+ return Promise.resolve(this.presentationTable?.getColumnIds() ?? []);
169
+ }
170
+ /**
171
+ * Returns the row ID for a given local row index. If not found, returns
172
+ * `undefined`.
173
+ *
174
+ * If the `data.idColumn` option is set, the row ID is the value of the
175
+ * row in the column with the given ID. Otherwise, the row ID is the
176
+ * original row index.
177
+ *
178
+ * @param rowIndex
179
+ * The local (presentation table) row index to get the row ID for.
180
+ */
181
+ async getRowId(rowIndex) {
182
+ const originalRowIndex = await this.getOriginalRowIndexFromLocal(rowIndex);
183
+ if (!defined(originalRowIndex) || !this.dataTable) {
184
+ return Promise.resolve(void 0);
185
+ }
186
+ const idColId = this.options.idColumn;
187
+ if (!idColId) {
188
+ return Promise.resolve(originalRowIndex);
189
+ }
190
+ const rawId = this.dataTable.getCell(idColId, originalRowIndex);
191
+ if (isString(rawId) || isNumber(rawId)) {
192
+ return Promise.resolve(rawId);
193
+ }
194
+ }
195
+ /**
196
+ * Returns the local (presentation table) row index for a given row ID. If
197
+ * not found, returns `undefined`.
198
+ *
199
+ * @param rowId
200
+ * The row ID to get the row index for. If the `data.idColumn` option is
201
+ * set, the row ID is the value of the row in the column with the given ID.
202
+ * Otherwise, the row ID is the original row index.
203
+ */
204
+ getRowIndex(rowId) {
205
+ if (!this.originalRowIndexesMap && isNumber(rowId)) {
206
+ return this.getLocalRowIndexFromOriginal(rowId);
207
+ }
208
+ const originalRowIndex = this.originalRowIndexesMap?.get(rowId);
209
+ if (!defined(originalRowIndex)) {
210
+ return Promise.resolve(void 0);
211
+ }
212
+ return this.getLocalRowIndexFromOriginal(originalRowIndex);
213
+ }
214
+ /**
215
+ * Returns the original row index for a given local row index.
216
+ *
217
+ * @param localRowIndex
218
+ * The local row index to get the original row index for.
219
+ */
220
+ getOriginalRowIndexFromLocal(localRowIndex) {
221
+ return Promise.resolve(this.presentationTable?.getOriginalRowIndex(localRowIndex));
222
+ }
223
+ /**
224
+ * Returns the local (presentation table) row index for a given original
225
+ * data table row index.
226
+ *
227
+ * @param originalRowIndex
228
+ * The original data table row index to get the presentation table row index
229
+ * for.
230
+ */
231
+ getLocalRowIndexFromOriginal(originalRowIndex) {
232
+ return Promise.resolve(this.presentationTable?.getLocalRowIndex(originalRowIndex));
233
+ }
234
+ getRowObject(rowIndex) {
235
+ return Promise.resolve(this.presentationTable?.getRowObject(rowIndex));
236
+ }
237
+ getPrePaginationRowCount() {
238
+ return Promise.resolve(this.prePaginationRowCount ?? 0);
239
+ }
240
+ getRowCount() {
241
+ return Promise.resolve(this.presentationTable?.getRowCount() ?? 0);
242
+ }
243
+ getValue(columnId, rowIndex) {
244
+ return Promise.resolve(this.presentationTable?.getCell(columnId, rowIndex));
245
+ }
246
+ async setValue(value, columnId, rowId) {
247
+ const localRowIndex = await this.getRowIndex(rowId);
248
+ if (!defined(localRowIndex)) {
249
+ // eslint-disable-next-line no-console
250
+ console.error('[setValue] Wrong row ID:', rowId);
251
+ return;
252
+ }
253
+ const rowIndex = await this.getOriginalRowIndexFromLocal(localRowIndex);
254
+ if (!defined(rowIndex)) {
255
+ // eslint-disable-next-line no-console
256
+ console.error('[setValue] Wrong local row index:', localRowIndex);
257
+ return;
258
+ }
259
+ this.dataTable?.setCell(columnId, rowIndex, value, { fromGrid: true });
260
+ return;
261
+ }
262
+ /**
263
+ * Applies querying modifiers and updates the presentation table.
264
+ */
265
+ async applyQuery() {
266
+ const controller = this.querying;
267
+ const originalDataTable = this.dataTable;
268
+ if (!originalDataTable) {
269
+ return;
270
+ }
271
+ const groupedModifiers = controller.getGroupedModifiers();
272
+ let interTable;
273
+ // Grouped modifiers
274
+ if (groupedModifiers.length > 0) {
275
+ const chainModifier = new ChainModifier({}, ...groupedModifiers);
276
+ const dataTableCopy = originalDataTable.clone();
277
+ await chainModifier.modify(dataTableCopy.getModified());
278
+ interTable = dataTableCopy.getModified();
279
+ }
280
+ else {
281
+ interTable = originalDataTable.getModified();
282
+ }
283
+ this.prePaginationRowCount = interTable.rowCount;
284
+ // Pagination modifier
285
+ const paginationModifier = controller.pagination.createModifier(interTable.rowCount);
286
+ if (paginationModifier) {
287
+ interTable = interTable.clone();
288
+ await paginationModifier.modify(interTable);
289
+ interTable = interTable.getModified();
290
+ }
291
+ this.presentationTable = interTable;
292
+ }
293
+ destroy() {
294
+ this.clearDataTableEvents();
295
+ this.clearConnector();
296
+ }
297
+ getColumnDataType(columnId) {
298
+ const column = this.dataTable?.getColumn(columnId);
299
+ if (!column) {
300
+ return Promise.resolve('string');
301
+ }
302
+ if (!Array.isArray(column)) {
303
+ // Typed array
304
+ return Promise.resolve('number');
305
+ }
306
+ return Promise.resolve(DataProvider.assumeColumnDataType(column.slice(0, 30), columnId));
307
+ }
308
+ /**
309
+ * Returns the current data table. When `presentation` is `true`, returns
310
+ * the presentation table (after modifiers).
311
+ *
312
+ * @param presentation
313
+ * Whether to return the presentation table (after modifiers).
314
+ *
315
+ * @return
316
+ * The data table.
317
+ */
318
+ getDataTable(presentation = false) {
319
+ return presentation ? this.presentationTable : this.dataTable;
320
+ }
321
+ /**
322
+ * Checks if the object is an instance of DataConnector.
323
+ *
324
+ * @param connector
325
+ * The object to check.
326
+ *
327
+ * @returns `true` if the object is an instance of DataConnector, `false`
328
+ * otherwise.
329
+ */
330
+ static isConnectorInstance(connector) {
331
+ return 'getTable' in connector;
332
+ }
333
+ }
334
+ LocalDataProvider.tableChangeEventNames = [
335
+ 'afterDeleteColumns',
336
+ 'afterDeleteRows',
337
+ 'afterSetCell',
338
+ 'afterSetColumns',
339
+ 'afterSetRows'
340
+ ];
341
+ DataProviderRegistry.registerDataProvider('local', LocalDataProvider);
@@ -2,11 +2,11 @@
2
2
  *
3
3
  * Grid default options
4
4
  *
5
- * (c) 2009-2025 Highsoft AS
5
+ * (c) 2009-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 Pagination from './Pagination/Pagination.js';
18
- import Utils from '../../Core/Utilities.js';
19
- const { merge } = Utils;
18
+ import { merge } from '../../Shared/Utilities.js';
20
19
  /**
21
20
  * Default language options for the Grid.
22
21
  */
@@ -28,7 +27,8 @@ export const defaultLangOptions = {
28
27
  ascending: 'Sorted ascending.',
29
28
  descending: 'Sorted descending.',
30
29
  none: 'Not sorted.'
31
- }
30
+ },
31
+ priority: 'Priority {priority}.'
32
32
  },
33
33
  pagination: {
34
34
  announcements: {
@@ -45,6 +45,10 @@ export const defaultLangOptions = {
45
45
  filterCleared: 'Filter cleared for {columnId}. ' +
46
46
  '{rowsCount} results found.'
47
47
  }
48
+ },
49
+ screenReaderSection: {
50
+ beforeRegionLabel: '',
51
+ afterRegionLabel: ''
48
52
  }
49
53
  },
50
54
  loading: 'Loading...',
@@ -95,8 +99,18 @@ export const defaultOptions = {
95
99
  announcements: {
96
100
  sorting: true,
97
101
  filtering: true
102
+ },
103
+ screenReaderSection: {
104
+ beforeGridFormat: '{gridTitle}' +
105
+ '<div>{gridDescription}</div>' +
106
+ '<div>Grid with {rowCount} rows and {columnCount}' +
107
+ ' columns.</div>',
108
+ afterGridFormat: 'End of Grid.'
98
109
  }
99
110
  },
111
+ data: {
112
+ providerType: 'local'
113
+ },
100
114
  time: {
101
115
  timezone: 'UTC'
102
116
  },
@@ -120,7 +134,7 @@ export const defaultOptions = {
120
134
  },
121
135
  columnDefaults: {
122
136
  sorting: {
123
- sortable: true
137
+ enabled: true
124
138
  },
125
139
  filtering: {
126
140
  inline: false
@@ -3,7 +3,7 @@ export type DeepRequired<T> = {
3
3
  };
4
4
  export type ClassNameKey = keyof typeof rawClassNames;
5
5
  export declare const classNamePrefix: string;
6
- export declare const version = "2.1.1";
6
+ export declare const version = "2.3.0";
7
7
  export declare const rawClassNames: {
8
8
  readonly container: "container";
9
9
  readonly tableElement: "table";
@@ -15,7 +15,6 @@ export declare const rawClassNames: {
15
15
  readonly rowEven: "row-even";
16
16
  readonly rowOdd: "row-odd";
17
17
  readonly hoveredRow: "hovered-row";
18
- readonly columnElement: "column";
19
18
  readonly hoveredCell: "hovered-cell";
20
19
  readonly hoveredColumn: "hovered-column";
21
20
  readonly syncedRow: "synced-row";
@@ -55,12 +54,12 @@ export declare const rawClassNames: {
55
54
  readonly popup: "popup";
56
55
  readonly button: "button";
57
56
  readonly buttonSelected: "button-selected";
57
+ readonly buttonHighlighted: "button-highlighted";
58
58
  readonly input: "input";
59
59
  readonly icon: "icon";
60
60
  readonly iconSearch: "icon-search";
61
61
  readonly popupContent: "popup-content";
62
62
  readonly columnFilterWrapper: "column-filter-wrapper";
63
- readonly toolbarButtonActiveIndicator: "active-indicator";
64
63
  readonly menuContainer: "menu-container";
65
64
  readonly menuItem: "menu-item";
66
65
  readonly menuHeader: "menu-header";
@@ -70,13 +69,16 @@ export declare const rawClassNames: {
70
69
  readonly menuItemLabel: "menu-item-label";
71
70
  readonly menuDivider: "menu-divider";
72
71
  readonly clearFilterButton: "clear-filter-button";
73
- readonly paginationWrapper: "pagination-wrapper";
74
- readonly paginationContainer: "pagination-container";
72
+ readonly pagination: "pagination";
75
73
  readonly paginationPageInfo: "pagination-info";
76
- readonly paginationControlsContainer: "pagination-controls-container";
77
- readonly paginationNavButtonsContainer: "pagination-nav-buttons-container";
78
- readonly paginationNavDropdown: "pagination-nav-dropdown";
74
+ readonly paginationControls: "pagination-controls";
79
75
  readonly paginationPageSize: "pagination-page-size";
76
+ readonly paginationPages: "pagination-pages";
77
+ readonly paginationNavDropdown: "pagination-nav-dropdown";
78
+ readonly paginationLeft: "pagination-left";
79
+ readonly paginationCenter: "pagination-center";
80
+ readonly paginationRight: "pagination-right";
81
+ readonly paginationDistributed: "pagination-distributed";
80
82
  readonly noWidth: "no-width";
81
83
  readonly rightAlign: "right";
82
84
  readonly centerAlign: "center";
@@ -90,7 +92,7 @@ export declare const isSafari: boolean;
90
92
  export declare const getClassName: (classNameKey: ClassNameKey) => string;
91
93
  declare const _default: {
92
94
  readonly classNamePrefix: string;
93
- readonly version: "2.1.1";
95
+ readonly version: "2.3.0";
94
96
  readonly rawClassNames: {
95
97
  readonly container: "container";
96
98
  readonly tableElement: "table";
@@ -102,7 +104,6 @@ declare const _default: {
102
104
  readonly rowEven: "row-even";
103
105
  readonly rowOdd: "row-odd";
104
106
  readonly hoveredRow: "hovered-row";
105
- readonly columnElement: "column";
106
107
  readonly hoveredCell: "hovered-cell";
107
108
  readonly hoveredColumn: "hovered-column";
108
109
  readonly syncedRow: "synced-row";
@@ -142,12 +143,12 @@ declare const _default: {
142
143
  readonly popup: "popup";
143
144
  readonly button: "button";
144
145
  readonly buttonSelected: "button-selected";
146
+ readonly buttonHighlighted: "button-highlighted";
145
147
  readonly input: "input";
146
148
  readonly icon: "icon";
147
149
  readonly iconSearch: "icon-search";
148
150
  readonly popupContent: "popup-content";
149
151
  readonly columnFilterWrapper: "column-filter-wrapper";
150
- readonly toolbarButtonActiveIndicator: "active-indicator";
151
152
  readonly menuContainer: "menu-container";
152
153
  readonly menuItem: "menu-item";
153
154
  readonly menuHeader: "menu-header";
@@ -157,13 +158,16 @@ declare const _default: {
157
158
  readonly menuItemLabel: "menu-item-label";
158
159
  readonly menuDivider: "menu-divider";
159
160
  readonly clearFilterButton: "clear-filter-button";
160
- readonly paginationWrapper: "pagination-wrapper";
161
- readonly paginationContainer: "pagination-container";
161
+ readonly pagination: "pagination";
162
162
  readonly paginationPageInfo: "pagination-info";
163
- readonly paginationControlsContainer: "pagination-controls-container";
164
- readonly paginationNavButtonsContainer: "pagination-nav-buttons-container";
165
- readonly paginationNavDropdown: "pagination-nav-dropdown";
163
+ readonly paginationControls: "pagination-controls";
166
164
  readonly paginationPageSize: "pagination-page-size";
165
+ readonly paginationPages: "pagination-pages";
166
+ readonly paginationNavDropdown: "pagination-nav-dropdown";
167
+ readonly paginationLeft: "pagination-left";
168
+ readonly paginationCenter: "pagination-center";
169
+ readonly paginationRight: "pagination-right";
170
+ readonly paginationDistributed: "pagination-distributed";
167
171
  readonly noWidth: "no-width";
168
172
  readonly rightAlign: "right";
169
173
  readonly centerAlign: "center";
@@ -1,10 +1,10 @@
1
1
  /* *
2
2
  *
3
- * (c) 2009-2025 Highsoft AS
3
+ * (c) 2009-2026 Highsoft AS
4
4
  *
5
- * License: www.highcharts.com/license
5
+ * A commercial license may be required depending on use.
6
+ * See www.highcharts.com/license
6
7
  *
7
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
8
  *
9
9
  * Authors:
10
10
  * - Dawid Dragula
@@ -18,7 +18,7 @@
18
18
  *
19
19
  * */
20
20
  export const classNamePrefix = 'hcg-';
21
- export const version = '2.1.1';
21
+ export const version = '2.3.0';
22
22
  export const rawClassNames = {
23
23
  container: 'container',
24
24
  tableElement: 'table',
@@ -30,7 +30,6 @@ export const rawClassNames = {
30
30
  rowEven: 'row-even',
31
31
  rowOdd: 'row-odd',
32
32
  hoveredRow: 'hovered-row',
33
- columnElement: 'column',
34
33
  hoveredCell: 'hovered-cell',
35
34
  hoveredColumn: 'hovered-column',
36
35
  syncedRow: 'synced-row',
@@ -70,12 +69,12 @@ export const rawClassNames = {
70
69
  popup: 'popup',
71
70
  button: 'button',
72
71
  buttonSelected: 'button-selected',
72
+ buttonHighlighted: 'button-highlighted',
73
73
  input: 'input',
74
74
  icon: 'icon',
75
75
  iconSearch: 'icon-search',
76
76
  popupContent: 'popup-content',
77
77
  columnFilterWrapper: 'column-filter-wrapper',
78
- toolbarButtonActiveIndicator: 'active-indicator',
79
78
  menuContainer: 'menu-container',
80
79
  menuItem: 'menu-item',
81
80
  menuHeader: 'menu-header',
@@ -85,13 +84,16 @@ export const rawClassNames = {
85
84
  menuItemLabel: 'menu-item-label',
86
85
  menuDivider: 'menu-divider',
87
86
  clearFilterButton: 'clear-filter-button',
88
- paginationWrapper: 'pagination-wrapper',
89
- paginationContainer: 'pagination-container',
87
+ pagination: 'pagination',
90
88
  paginationPageInfo: 'pagination-info',
91
- paginationControlsContainer: 'pagination-controls-container',
92
- paginationNavButtonsContainer: 'pagination-nav-buttons-container',
93
- paginationNavDropdown: 'pagination-nav-dropdown',
89
+ paginationControls: 'pagination-controls',
94
90
  paginationPageSize: 'pagination-page-size',
91
+ paginationPages: 'pagination-pages',
92
+ paginationNavDropdown: 'pagination-nav-dropdown',
93
+ paginationLeft: 'pagination-left',
94
+ paginationCenter: 'pagination-center',
95
+ paginationRight: 'pagination-right',
96
+ paginationDistributed: 'pagination-distributed',
95
97
  noWidth: 'no-width',
96
98
  rightAlign: 'right',
97
99
  centerAlign: 'center',