@highcharts/grid-pro 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +35 -0
  2. package/css/grid-pro.css +1756 -0
  3. package/es-modules/Accessibility/A11yI18n.d.ts +95 -0
  4. package/es-modules/Accessibility/A11yI18n.js +290 -0
  5. package/es-modules/Accessibility/Accessibility.d.ts +116 -0
  6. package/es-modules/Accessibility/Accessibility.js +402 -0
  7. package/es-modules/Accessibility/AccessibilityComponent.d.ts +97 -0
  8. package/es-modules/Accessibility/AccessibilityComponent.js +147 -0
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.d.ts +43 -0
  10. package/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
  11. package/es-modules/Accessibility/Components/ContainerComponent.d.ts +48 -0
  12. package/es-modules/Accessibility/Components/ContainerComponent.js +142 -0
  13. package/es-modules/Accessibility/Components/InfoRegionsComponent.d.ts +144 -0
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +555 -0
  15. package/es-modules/Accessibility/Components/LegendComponent.d.ts +124 -0
  16. package/es-modules/Accessibility/Components/LegendComponent.js +474 -0
  17. package/es-modules/Accessibility/Components/MenuComponent.d.ts +93 -0
  18. package/es-modules/Accessibility/Components/MenuComponent.js +430 -0
  19. package/es-modules/Accessibility/Components/NavigatorComponent.d.ts +57 -0
  20. package/es-modules/Accessibility/Components/NavigatorComponent.js +235 -0
  21. package/es-modules/Accessibility/Components/RangeSelectorComponent.d.ts +126 -0
  22. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +473 -0
  23. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.d.ts +18 -0
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +234 -0
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.d.ts +87 -0
  26. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +309 -0
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.d.ts +53 -0
  28. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +130 -0
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.d.ts +28 -0
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +415 -0
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.d.ts +114 -0
  32. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +721 -0
  33. package/es-modules/Accessibility/Components/ZoomComponent.d.ts +96 -0
  34. package/es-modules/Accessibility/Components/ZoomComponent.js +314 -0
  35. package/es-modules/Accessibility/FocusBorder.d.ts +40 -0
  36. package/es-modules/Accessibility/FocusBorder.js +301 -0
  37. package/es-modules/Accessibility/HighContrastMode.d.ts +35 -0
  38. package/es-modules/Accessibility/HighContrastMode.js +100 -0
  39. package/es-modules/Accessibility/HighContrastTheme.d.ts +11 -0
  40. package/es-modules/Accessibility/HighContrastTheme.js +212 -0
  41. package/es-modules/Accessibility/KeyboardNavigation.d.ts +133 -0
  42. package/es-modules/Accessibility/KeyboardNavigation.js +450 -0
  43. package/es-modules/Accessibility/KeyboardNavigationHandler.d.ts +48 -0
  44. package/es-modules/Accessibility/KeyboardNavigationHandler.js +126 -0
  45. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +68 -0
  46. package/es-modules/Accessibility/Options/A11yDefaults.js +971 -0
  47. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +22 -0
  48. package/es-modules/Accessibility/Options/DeprecatedOptions.js +265 -0
  49. package/es-modules/Accessibility/Options/LangDefaults.d.ts +4 -0
  50. package/es-modules/Accessibility/Options/LangDefaults.js +440 -0
  51. package/es-modules/Accessibility/ProxyElement.d.ts +78 -0
  52. package/es-modules/Accessibility/ProxyElement.js +223 -0
  53. package/es-modules/Accessibility/ProxyProvider.d.ts +90 -0
  54. package/es-modules/Accessibility/ProxyProvider.js +315 -0
  55. package/es-modules/Accessibility/Utils/Announcer.d.ts +26 -0
  56. package/es-modules/Accessibility/Utils/Announcer.js +90 -0
  57. package/es-modules/Accessibility/Utils/ChartUtilities.d.ts +90 -0
  58. package/es-modules/Accessibility/Utils/ChartUtilities.js +298 -0
  59. package/es-modules/Accessibility/Utils/DOMElementProvider.d.ts +20 -0
  60. package/es-modules/Accessibility/Utils/DOMElementProvider.js +69 -0
  61. package/es-modules/Accessibility/Utils/EventProvider.d.ts +26 -0
  62. package/es-modules/Accessibility/Utils/EventProvider.js +65 -0
  63. package/es-modules/Accessibility/Utils/HTMLUtilities.d.ts +108 -0
  64. package/es-modules/Accessibility/Utils/HTMLUtilities.js +319 -0
  65. package/es-modules/Core/Animation/AnimationUtilities.d.ts +107 -0
  66. package/es-modules/Core/Animation/AnimationUtilities.js +200 -0
  67. package/es-modules/Core/Animation/Fx.d.ts +130 -0
  68. package/es-modules/Core/Animation/Fx.js +388 -0
  69. package/es-modules/Core/Chart/Chart.d.ts +1009 -0
  70. package/es-modules/Core/Chart/Chart.js +3008 -0
  71. package/es-modules/Core/Chart/Chart3D.d.ts +276 -0
  72. package/es-modules/Core/Chart/Chart3D.js +1686 -0
  73. package/es-modules/Core/Chart/ChartDefaults.d.ts +8 -0
  74. package/es-modules/Core/Chart/ChartDefaults.js +1304 -0
  75. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +55 -0
  76. package/es-modules/Core/Chart/ChartNavigationComposition.js +90 -0
  77. package/es-modules/Core/Chart/GanttChart.d.ts +74 -0
  78. package/es-modules/Core/Chart/GanttChart.js +189 -0
  79. package/es-modules/Core/Chart/MapChart.d.ts +132 -0
  80. package/es-modules/Core/Chart/MapChart.js +232 -0
  81. package/es-modules/Core/Chart/StockChart.d.ts +117 -0
  82. package/es-modules/Core/Chart/StockChart.js +641 -0
  83. package/es-modules/Core/Color/Color.d.ts +112 -0
  84. package/es-modules/Core/Color/Color.js +418 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +84 -0
  86. package/es-modules/Core/Color/Palettes.js +23 -0
  87. package/es-modules/Core/Defaults.d.ts +42 -0
  88. package/es-modules/Core/Defaults.js +2977 -0
  89. package/es-modules/Core/Foundation.d.ts +19 -0
  90. package/es-modules/Core/Foundation.js +63 -0
  91. package/es-modules/Core/Geometry/CircleUtilities.d.ts +189 -0
  92. package/es-modules/Core/Geometry/CircleUtilities.js +388 -0
  93. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +48 -0
  94. package/es-modules/Core/Geometry/GeometryUtilities.js +105 -0
  95. package/es-modules/Core/Geometry/PolygonClip.d.ts +19 -0
  96. package/es-modules/Core/Geometry/PolygonClip.js +96 -0
  97. package/es-modules/Core/Globals.d.ts +110 -0
  98. package/es-modules/Core/Globals.js +127 -0
  99. package/es-modules/Core/HttpUtilities.d.ts +61 -0
  100. package/es-modules/Core/HttpUtilities.js +214 -0
  101. package/es-modules/Core/MSPointer.d.ts +74 -0
  102. package/es-modules/Core/MSPointer.js +218 -0
  103. package/es-modules/Core/Math3D.d.ts +117 -0
  104. package/es-modules/Core/Math3D.js +250 -0
  105. package/es-modules/Core/Pointer.d.ts +590 -0
  106. package/es-modules/Core/Pointer.js +1631 -0
  107. package/es-modules/Core/Renderer/HTML/AST.d.ts +163 -0
  108. package/es-modules/Core/Renderer/HTML/AST.js +562 -0
  109. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +76 -0
  110. package/es-modules/Core/Renderer/HTML/HTMLElement.js +471 -0
  111. package/es-modules/Core/Renderer/RendererRegistry.d.ts +29 -0
  112. package/es-modules/Core/Renderer/RendererRegistry.js +76 -0
  113. package/es-modules/Core/Renderer/RendererUtilities.d.ts +26 -0
  114. package/es-modules/Core/Renderer/RendererUtilities.js +172 -0
  115. package/es-modules/Core/Responsive.d.ts +55 -0
  116. package/es-modules/Core/Responsive.js +260 -0
  117. package/es-modules/Core/Templating.d.ts +125 -0
  118. package/es-modules/Core/Templating.js +428 -0
  119. package/es-modules/Core/Time.d.ts +69 -0
  120. package/es-modules/Core/Time.js +172 -0
  121. package/es-modules/Core/Tooltip.d.ts +297 -0
  122. package/es-modules/Core/Tooltip.js +1377 -0
  123. package/es-modules/Core/Utilities.d.ts +770 -0
  124. package/es-modules/Core/Utilities.js +1989 -0
  125. package/es-modules/Data/ColumnUtils.d.ts +87 -0
  126. package/es-modules/Data/ColumnUtils.js +140 -0
  127. package/es-modules/Data/Connectors/CSVConnector.d.ts +63 -0
  128. package/es-modules/Data/Connectors/CSVConnector.js +149 -0
  129. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +149 -0
  130. package/es-modules/Data/Connectors/DataConnector.d.ts +204 -0
  131. package/es-modules/Data/Connectors/DataConnector.js +345 -0
  132. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +87 -0
  133. package/es-modules/Data/Connectors/DataConnectorType.d.ts +45 -0
  134. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +65 -0
  135. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +226 -0
  136. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +167 -0
  137. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +77 -0
  138. package/es-modules/Data/Connectors/HTMLTableConnector.js +119 -0
  139. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +49 -0
  140. package/es-modules/Data/Connectors/JSONConnector.d.ts +64 -0
  141. package/es-modules/Data/Connectors/JSONConnector.js +156 -0
  142. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +185 -0
  143. package/es-modules/Data/Converters/CSVConverter.d.ts +64 -0
  144. package/es-modules/Data/Converters/CSVConverter.js +374 -0
  145. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +53 -0
  146. package/es-modules/Data/Converters/DataConverter.d.ts +168 -0
  147. package/es-modules/Data/Converters/DataConverter.js +387 -0
  148. package/es-modules/Data/Converters/DataConverterType.d.ts +40 -0
  149. package/es-modules/Data/Converters/DataConverterUtils.d.ts +82 -0
  150. package/es-modules/Data/Converters/DataConverterUtils.js +216 -0
  151. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +46 -0
  152. package/es-modules/Data/Converters/GoogleSheetsConverter.js +135 -0
  153. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +52 -0
  154. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +72 -0
  155. package/es-modules/Data/Converters/HTMLTableConverter.js +362 -0
  156. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +51 -0
  157. package/es-modules/Data/Converters/JSONConverter.d.ts +99 -0
  158. package/es-modules/Data/Converters/JSONConverter.js +239 -0
  159. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +52 -0
  160. package/es-modules/Data/DataCursor.d.ts +176 -0
  161. package/es-modules/Data/DataCursor.js +379 -0
  162. package/es-modules/Data/DataEvent.d.ts +81 -0
  163. package/es-modules/Data/DataEvent.js +14 -0
  164. package/es-modules/Data/DataPool.d.ts +130 -0
  165. package/es-modules/Data/DataPool.js +257 -0
  166. package/es-modules/Data/DataPoolOptions.d.ts +66 -0
  167. package/es-modules/Data/DataTable.d.ts +563 -0
  168. package/es-modules/Data/DataTable.js +930 -0
  169. package/es-modules/Data/DataTableCore.d.ts +165 -0
  170. package/es-modules/Data/DataTableCore.js +316 -0
  171. package/es-modules/Data/DataTableOptions.d.ts +25 -0
  172. package/es-modules/Data/DataTableOptions.js +15 -0
  173. package/es-modules/Data/Formula/Formula.d.ts +21 -0
  174. package/es-modules/Data/Formula/Formula.js +54 -0
  175. package/es-modules/Data/Formula/FormulaParser.d.ts +31 -0
  176. package/es-modules/Data/Formula/FormulaParser.js +488 -0
  177. package/es-modules/Data/Formula/FormulaProcessor.d.ts +155 -0
  178. package/es-modules/Data/Formula/FormulaProcessor.js +529 -0
  179. package/es-modules/Data/Formula/FormulaTypes.d.ts +138 -0
  180. package/es-modules/Data/Formula/FormulaTypes.js +135 -0
  181. package/es-modules/Data/Formula/Functions/ABS.d.ts +19 -0
  182. package/es-modules/Data/Formula/Functions/ABS.js +67 -0
  183. package/es-modules/Data/Formula/Functions/AND.d.ts +20 -0
  184. package/es-modules/Data/Formula/Functions/AND.js +59 -0
  185. package/es-modules/Data/Formula/Functions/AVERAGE.d.ts +20 -0
  186. package/es-modules/Data/Formula/Functions/AVERAGE.js +74 -0
  187. package/es-modules/Data/Formula/Functions/AVERAGEA.d.ts +20 -0
  188. package/es-modules/Data/Formula/Functions/AVERAGEA.js +90 -0
  189. package/es-modules/Data/Formula/Functions/COUNT.d.ts +20 -0
  190. package/es-modules/Data/Formula/Functions/COUNT.js +65 -0
  191. package/es-modules/Data/Formula/Functions/COUNTA.d.ts +20 -0
  192. package/es-modules/Data/Formula/Functions/COUNTA.js +71 -0
  193. package/es-modules/Data/Formula/Functions/IF.d.ts +21 -0
  194. package/es-modules/Data/Formula/Functions/IF.js +54 -0
  195. package/es-modules/Data/Formula/Functions/ISNA.d.ts +20 -0
  196. package/es-modules/Data/Formula/Functions/ISNA.js +52 -0
  197. package/es-modules/Data/Formula/Functions/MAX.d.ts +20 -0
  198. package/es-modules/Data/Formula/Functions/MAX.js +69 -0
  199. package/es-modules/Data/Formula/Functions/MEDIAN.d.ts +20 -0
  200. package/es-modules/Data/Formula/Functions/MEDIAN.js +78 -0
  201. package/es-modules/Data/Formula/Functions/MIN.d.ts +20 -0
  202. package/es-modules/Data/Formula/Functions/MIN.js +69 -0
  203. package/es-modules/Data/Formula/Functions/MOD.d.ts +20 -0
  204. package/es-modules/Data/Formula/Functions/MOD.js +63 -0
  205. package/es-modules/Data/Formula/Functions/MODE.d.ts +41 -0
  206. package/es-modules/Data/Formula/Functions/MODE.js +149 -0
  207. package/es-modules/Data/Formula/Functions/NOT.d.ts +20 -0
  208. package/es-modules/Data/Formula/Functions/NOT.js +60 -0
  209. package/es-modules/Data/Formula/Functions/OR.d.ts +20 -0
  210. package/es-modules/Data/Formula/Functions/OR.js +62 -0
  211. package/es-modules/Data/Formula/Functions/PRODUCT.d.ts +20 -0
  212. package/es-modules/Data/Formula/Functions/PRODUCT.js +68 -0
  213. package/es-modules/Data/Formula/Functions/SUM.d.ts +20 -0
  214. package/es-modules/Data/Formula/Functions/SUM.js +65 -0
  215. package/es-modules/Data/Formula/Functions/XOR.d.ts +20 -0
  216. package/es-modules/Data/Formula/Functions/XOR.js +81 -0
  217. package/es-modules/Data/Modifiers/ChainModifier.d.ts +128 -0
  218. package/es-modules/Data/Modifiers/ChainModifier.js +231 -0
  219. package/es-modules/Data/Modifiers/ChainModifierOptions.d.ts +20 -0
  220. package/es-modules/Data/Modifiers/ChainModifierOptions.js +14 -0
  221. package/es-modules/Data/Modifiers/DataModifier.d.ts +117 -0
  222. package/es-modules/Data/Modifiers/DataModifier.js +202 -0
  223. package/es-modules/Data/Modifiers/DataModifierEvent.d.ts +28 -0
  224. package/es-modules/Data/Modifiers/DataModifierEvent.js +15 -0
  225. package/es-modules/Data/Modifiers/DataModifierOptions.d.ts +11 -0
  226. package/es-modules/Data/Modifiers/DataModifierOptions.js +15 -0
  227. package/es-modules/Data/Modifiers/DataModifierType.d.ts +44 -0
  228. package/es-modules/Data/Modifiers/FilterModifier.d.ts +53 -0
  229. package/es-modules/Data/Modifiers/FilterModifier.js +172 -0
  230. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +110 -0
  231. package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
  232. package/es-modules/Data/Modifiers/InvertModifier.d.ts +48 -0
  233. package/es-modules/Data/Modifiers/InvertModifier.js +116 -0
  234. package/es-modules/Data/Modifiers/InvertModifierOptions.d.ts +11 -0
  235. package/es-modules/Data/Modifiers/InvertModifierOptions.js +15 -0
  236. package/es-modules/Data/Modifiers/MathModifier.d.ts +68 -0
  237. package/es-modules/Data/Modifiers/MathModifier.js +165 -0
  238. package/es-modules/Data/Modifiers/MathModifierOptions.d.ts +50 -0
  239. package/es-modules/Data/Modifiers/MathModifierOptions.js +14 -0
  240. package/es-modules/Data/Modifiers/RangeModifier.d.ts +46 -0
  241. package/es-modules/Data/Modifiers/RangeModifier.js +96 -0
  242. package/es-modules/Data/Modifiers/RangeModifierOptions.d.ts +22 -0
  243. package/es-modules/Data/Modifiers/RangeModifierOptions.js +15 -0
  244. package/es-modules/Data/Modifiers/SortModifier.d.ts +54 -0
  245. package/es-modules/Data/Modifiers/SortModifier.js +144 -0
  246. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +44 -0
  247. package/es-modules/Data/Modifiers/SortModifierOptions.js +14 -0
  248. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +148 -0
  249. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +17 -0
  250. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +115 -0
  251. package/es-modules/Grid/Core/Accessibility/Accessibility.js +231 -0
  252. package/es-modules/Grid/Core/Credits.d.ts +57 -0
  253. package/es-modules/Grid/Core/Credits.js +125 -0
  254. package/es-modules/Grid/Core/Defaults.d.ts +20 -0
  255. package/es-modules/Grid/Core/Defaults.js +148 -0
  256. package/es-modules/Grid/Core/Globals.d.ts +103 -0
  257. package/es-modules/Grid/Core/Globals.js +134 -0
  258. package/es-modules/Grid/Core/Grid.d.ts +295 -0
  259. package/es-modules/Grid/Core/Grid.js +730 -0
  260. package/es-modules/Grid/Core/GridUtils.d.ts +110 -0
  261. package/es-modules/Grid/Core/GridUtils.js +191 -0
  262. package/es-modules/Grid/Core/Options.d.ts +599 -0
  263. package/es-modules/Grid/Core/Options.js +16 -0
  264. package/es-modules/Grid/Core/Pagination/Icons.d.ts +7 -0
  265. package/es-modules/Grid/Core/Pagination/Icons.js +7 -0
  266. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +278 -0
  267. package/es-modules/Grid/Core/Pagination/Pagination.js +842 -0
  268. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +228 -0
  269. package/es-modules/Grid/Core/Querying/FilteringController.d.ts +66 -0
  270. package/es-modules/Grid/Core/Querying/FilteringController.js +256 -0
  271. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +50 -0
  272. package/es-modules/Grid/Core/Querying/PaginationController.js +101 -0
  273. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +58 -0
  274. package/es-modules/Grid/Core/Querying/QueryingController.js +127 -0
  275. package/es-modules/Grid/Core/Querying/SortingController.d.ts +67 -0
  276. package/es-modules/Grid/Core/Querying/SortingController.js +136 -0
  277. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +114 -0
  278. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +351 -0
  279. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +14 -0
  280. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +86 -0
  281. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +19 -0
  282. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +80 -0
  283. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +52 -0
  284. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +81 -0
  285. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +56 -0
  286. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +170 -0
  287. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.d.ts +55 -0
  288. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +182 -0
  289. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +87 -0
  290. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +346 -0
  291. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +88 -0
  292. package/es-modules/Grid/Core/Table/Body/TableCell.js +231 -0
  293. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +79 -0
  294. package/es-modules/Grid/Core/Table/Body/TableRow.js +177 -0
  295. package/es-modules/Grid/Core/Table/Cell.d.ts +92 -0
  296. package/es-modules/Grid/Core/Table/Cell.js +223 -0
  297. package/es-modules/Grid/Core/Table/CellContent/CellContent.d.ts +30 -0
  298. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +40 -0
  299. package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +19 -0
  300. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +98 -0
  301. package/es-modules/Grid/Core/Table/Column.d.ts +136 -0
  302. package/es-modules/Grid/Core/Table/Column.js +230 -0
  303. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.d.ts +7 -0
  304. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +62 -0
  305. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +32 -0
  306. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +68 -0
  307. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.d.ts +7 -0
  308. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +53 -0
  309. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.d.ts +7 -0
  310. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +63 -0
  311. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +92 -0
  312. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +194 -0
  313. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +68 -0
  314. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +187 -0
  315. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +29 -0
  316. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +77 -0
  317. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.d.ts +13 -0
  318. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +79 -0
  319. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +12 -0
  320. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +71 -0
  321. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.d.ts +12 -0
  322. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +66 -0
  323. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +25 -0
  324. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +65 -0
  325. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +12 -0
  326. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +81 -0
  327. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +12 -0
  328. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +80 -0
  329. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +11 -0
  330. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +81 -0
  331. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +70 -0
  332. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +225 -0
  333. package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +53 -0
  334. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +182 -0
  335. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +65 -0
  336. package/es-modules/Grid/Core/Table/Header/TableHeader.js +159 -0
  337. package/es-modules/Grid/Core/Table/Row.d.ts +76 -0
  338. package/es-modules/Grid/Core/Table/Row.js +131 -0
  339. package/es-modules/Grid/Core/Table/Table.d.ts +181 -0
  340. package/es-modules/Grid/Core/Table/Table.js +399 -0
  341. package/es-modules/Grid/Core/UI/Button.d.ts +31 -0
  342. package/es-modules/Grid/Core/UI/Button.js +16 -0
  343. package/es-modules/Grid/Core/UI/ContextMenu.d.ts +38 -0
  344. package/es-modules/Grid/Core/UI/ContextMenu.js +132 -0
  345. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +126 -0
  346. package/es-modules/Grid/Core/UI/ContextMenuButton.js +183 -0
  347. package/es-modules/Grid/Core/UI/Popup.d.ts +149 -0
  348. package/es-modules/Grid/Core/UI/Popup.js +271 -0
  349. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +53 -0
  350. package/es-modules/Grid/Core/UI/SvgIcons.js +158 -0
  351. package/es-modules/Grid/Core/UI/Toolbar.d.ts +16 -0
  352. package/es-modules/Grid/Core/UI/Toolbar.js +16 -0
  353. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +135 -0
  354. package/es-modules/Grid/Core/UI/ToolbarButton.js +191 -0
  355. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +112 -0
  356. package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +80 -0
  357. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +211 -0
  358. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +123 -0
  359. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +198 -0
  360. package/es-modules/Grid/Pro/CellRendering/CellContentPro.d.ts +23 -0
  361. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +45 -0
  362. package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +50 -0
  363. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +41 -0
  364. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +18 -0
  365. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +58 -0
  366. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +48 -0
  367. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +18 -0
  368. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +79 -0
  369. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +30 -0
  370. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +122 -0
  371. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +12 -0
  372. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +39 -0
  373. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +66 -0
  374. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +145 -0
  375. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +12 -0
  376. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +38 -0
  377. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.d.ts +58 -0
  378. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +158 -0
  379. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +58 -0
  380. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +173 -0
  381. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +28 -0
  382. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +157 -0
  383. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +58 -0
  384. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +168 -0
  385. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +13 -0
  386. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +41 -0
  387. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +50 -0
  388. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +65 -0
  389. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +37 -0
  390. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +65 -0
  391. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +26 -0
  392. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +16 -0
  393. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +37 -0
  394. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +64 -0
  395. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +52 -0
  396. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +64 -0
  397. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +74 -0
  398. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +66 -0
  399. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +45 -0
  400. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +89 -0
  401. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +54 -0
  402. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +65 -0
  403. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +43 -0
  404. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +74 -0
  405. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +37 -0
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +64 -0
  407. package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +29 -0
  408. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +118 -0
  409. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +270 -0
  410. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +32 -0
  411. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +63 -0
  412. package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +35 -0
  413. package/es-modules/Grid/Pro/Credits/CreditsPro.js +112 -0
  414. package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +28 -0
  415. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +61 -0
  416. package/es-modules/Grid/Pro/Export/Exporting.d.ts +68 -0
  417. package/es-modules/Grid/Pro/Export/Exporting.js +202 -0
  418. package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +68 -0
  419. package/es-modules/Grid/Pro/Export/ExportingComposition.js +55 -0
  420. package/es-modules/Grid/Pro/GridEvents.d.ts +119 -0
  421. package/es-modules/Grid/Pro/GridEvents.js +107 -0
  422. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +75 -0
  423. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +76 -0
  424. package/es-modules/Grid/Pro/highcharts.d.ts +7 -0
  425. package/es-modules/Grid/index.d.ts +5 -0
  426. package/es-modules/Grid/index.js +19 -0
  427. package/es-modules/Shared/BaseForm.d.ts +49 -0
  428. package/es-modules/Shared/BaseForm.js +126 -0
  429. package/es-modules/Shared/DownloadURL.d.ts +85 -0
  430. package/es-modules/Shared/DownloadURL.js +198 -0
  431. package/es-modules/Shared/LangOptionsCore.d.ts +27 -0
  432. package/es-modules/Shared/TimeBase.d.ts +353 -0
  433. package/es-modules/Shared/TimeBase.js +830 -0
  434. package/es-modules/Shared/Types.d.ts +48 -0
  435. package/es-modules/masters/grid-pro.src.d.ts +99 -0
  436. package/es-modules/masters/grid-pro.src.js +129 -0
  437. package/grid-pro.d.ts +50 -0
  438. package/grid-pro.js +12 -0
  439. package/grid-pro.js.map +1 -0
  440. package/grid-pro.src.d.ts +50 -0
  441. package/grid-pro.src.js +26623 -0
  442. package/package.json +21 -0
@@ -0,0 +1,56 @@
1
+ import type { ColumnSortingOrder } from '../../Options.js';
2
+ import Column from '../Column.js';
3
+ /**
4
+ * Class that manages sorting for a dedicated column.
5
+ */
6
+ declare class ColumnSorting {
7
+ /**
8
+ * The sorted column of the table.
9
+ */
10
+ column: Column;
11
+ /**
12
+ * The head element of the column.
13
+ */
14
+ headerCellElement: HTMLElement;
15
+ /**
16
+ * Constructs sorting for a dedicated column.
17
+ *
18
+ * @param column
19
+ * The column that be sorted.
20
+ *
21
+ * @param headerCellElement
22
+ * The head element of the column.
23
+ */
24
+ constructor(column: Column, headerCellElement: HTMLElement);
25
+ /**
26
+ * Adds attributes to the column header.
27
+ */
28
+ private addHeaderElementAttributes;
29
+ /**
30
+ * Updates the column options with the new sorting state.
31
+ *
32
+ * @param col
33
+ * The column to update.
34
+ */
35
+ private updateColumnOptions;
36
+ /**
37
+ * Set sorting order for the column. It will modify the presentation data
38
+ * and rerender the rows.
39
+ *
40
+ * @param order
41
+ * The order of sorting. It can be `'asc'`, `'desc'` or `null` if the
42
+ * sorting should be disabled.
43
+ */
44
+ setOrder(order: ColumnSortingOrder): Promise<void>;
45
+ /**
46
+ * Toggle sorting order for the column in the order: asc -> desc -> none
47
+ */
48
+ toggle: () => void;
49
+ }
50
+ declare namespace ColumnSorting {
51
+ interface Event {
52
+ target: Column;
53
+ order: ColumnSortingOrder;
54
+ }
55
+ }
56
+ export default ColumnSorting;
@@ -0,0 +1,170 @@
1
+ /* *
2
+ *
3
+ * Grid ColumnSorting class
4
+ *
5
+ * (c) 2020-2025 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ * - Sebastian Bochan
14
+ *
15
+ * */
16
+ 'use strict';
17
+ import Globals from '../../Globals.js';
18
+ import U from '../../../../Core/Utilities.js';
19
+ const { fireEvent } = U;
20
+ /* *
21
+ *
22
+ * Class
23
+ *
24
+ * */
25
+ /**
26
+ * Class that manages sorting for a dedicated column.
27
+ */
28
+ class ColumnSorting {
29
+ /* *
30
+ *
31
+ * Constructor
32
+ *
33
+ * */
34
+ /**
35
+ * Constructs sorting for a dedicated column.
36
+ *
37
+ * @param column
38
+ * The column that be sorted.
39
+ *
40
+ * @param headerCellElement
41
+ * The head element of the column.
42
+ */
43
+ constructor(column, headerCellElement) {
44
+ /**
45
+ * Toggle sorting order for the column in the order: asc -> desc -> none
46
+ */
47
+ this.toggle = () => {
48
+ const viewport = this.column.viewport;
49
+ const querying = viewport.grid.querying;
50
+ const sortingController = querying.sorting;
51
+ const currentOrder = (sortingController.currentSorting?.columnId === this.column.id ?
52
+ sortingController.currentSorting.order : null) || 'none';
53
+ const consequents = {
54
+ none: 'asc',
55
+ asc: 'desc',
56
+ desc: null
57
+ };
58
+ void this.setOrder(consequents[currentOrder]);
59
+ };
60
+ this.column = column;
61
+ this.headerCellElement = headerCellElement;
62
+ this.addHeaderElementAttributes();
63
+ if (column.options.sorting?.sortable) {
64
+ headerCellElement.classList.add(Globals.getClassName('columnSortable'));
65
+ }
66
+ }
67
+ /* *
68
+ *
69
+ * Methods
70
+ *
71
+ * */
72
+ /**
73
+ * Adds attributes to the column header.
74
+ */
75
+ addHeaderElementAttributes() {
76
+ const col = this.column;
77
+ const a11y = col.viewport.grid.accessibility;
78
+ const sortingOptions = col.options.sorting;
79
+ const { currentSorting } = col.viewport.grid.querying.sorting;
80
+ const sortedAscClassName = Globals.getClassName('columnSortedAsc');
81
+ const sortedDescClassName = Globals.getClassName('columnSortedDesc');
82
+ const el = this.headerCellElement;
83
+ if (currentSorting?.columnId !== col.id || !currentSorting?.order) {
84
+ el.classList.remove(sortedAscClassName);
85
+ el.classList.remove(sortedDescClassName);
86
+ if (sortingOptions?.sortable) {
87
+ a11y?.setColumnSortState(el, 'none');
88
+ }
89
+ return;
90
+ }
91
+ switch (currentSorting?.order) {
92
+ case 'asc':
93
+ el.classList.add(sortedAscClassName);
94
+ el.classList.remove(sortedDescClassName);
95
+ a11y?.setColumnSortState(el, 'ascending');
96
+ break;
97
+ case 'desc':
98
+ el.classList.remove(sortedAscClassName);
99
+ el.classList.add(sortedDescClassName);
100
+ a11y?.setColumnSortState(el, 'descending');
101
+ break;
102
+ }
103
+ }
104
+ /**
105
+ * Updates the column options with the new sorting state.
106
+ *
107
+ * @param col
108
+ * The column to update.
109
+ */
110
+ updateColumnOptions(col) {
111
+ const order = col.viewport.grid.querying.sorting.currentSorting?.order;
112
+ if (col.id === this.column.id && order) {
113
+ col.update({
114
+ sorting: {
115
+ order
116
+ }
117
+ }, false);
118
+ }
119
+ else {
120
+ delete col.options.sorting?.order;
121
+ if (col.options.sorting &&
122
+ Object.keys(col.options.sorting).length < 1) {
123
+ delete col.options.sorting;
124
+ }
125
+ }
126
+ }
127
+ /**
128
+ * Set sorting order for the column. It will modify the presentation data
129
+ * and rerender the rows.
130
+ *
131
+ * @param order
132
+ * The order of sorting. It can be `'asc'`, `'desc'` or `null` if the
133
+ * sorting should be disabled.
134
+ */
135
+ async setOrder(order) {
136
+ const viewport = this.column.viewport;
137
+ // Do not call sorting when cell is currently edited and validated.
138
+ if (viewport.validator?.errorCell) {
139
+ return;
140
+ }
141
+ const querying = viewport.grid.querying;
142
+ const sortingController = querying.sorting;
143
+ const a11y = viewport.grid.accessibility;
144
+ [this.column, viewport.grid].forEach((source) => {
145
+ fireEvent(source, 'beforeSort', {
146
+ target: this.column,
147
+ order
148
+ });
149
+ });
150
+ sortingController.setSorting(order, this.column.id);
151
+ await viewport.updateRows();
152
+ for (const col of viewport.columns) {
153
+ this.updateColumnOptions(col);
154
+ col.sorting?.addHeaderElementAttributes();
155
+ }
156
+ a11y?.userSortedColumn(order);
157
+ [this.column, viewport.grid].forEach((source) => {
158
+ fireEvent(source, 'afterSort', {
159
+ target: this.column,
160
+ order
161
+ });
162
+ });
163
+ }
164
+ }
165
+ /* *
166
+ *
167
+ * Default Export
168
+ *
169
+ * */
170
+ export default ColumnSorting;
@@ -0,0 +1,55 @@
1
+ import Table from '../Table.js';
2
+ import Column from '../Column.js';
3
+ import Cell from '../Cell.js';
4
+ /**
5
+ * The class that handles the resizing of columns in the data grid.
6
+ */
7
+ declare class ColumnsResizer {
8
+ /**
9
+ * The viewport of the data grid.
10
+ */
11
+ private viewport;
12
+ /**
13
+ * Any column is being resized. Turned off after slight delay.
14
+ */
15
+ isResizing: boolean;
16
+ /**
17
+ * The start X position of the drag.
18
+ */
19
+ private dragStartX?;
20
+ /**
21
+ * The handles and their mouse down event listeners.
22
+ */
23
+ private handles;
24
+ constructor(viewport: Table);
25
+ /**
26
+ * Render the drag handle for resizing columns.
27
+ *
28
+ * @param column
29
+ * The reference to rendered column
30
+ *
31
+ * @param cell
32
+ * The reference to rendered cell, where hadles should be added
33
+ */
34
+ renderColumnDragHandles(column: Column, cell: Cell): void;
35
+ /**
36
+ * Handles the mouse up event on the document.
37
+ */
38
+ private onDocumentMouseUp;
39
+ /**
40
+ * Adds event listeners to the handle.
41
+ *
42
+ * @param handle
43
+ * The handle element.
44
+ *
45
+ * @param column
46
+ * The column the handle belongs to.
47
+ */
48
+ addHandleListeners(handle: HTMLElement, column: Column): void;
49
+ /**
50
+ * Removes all added event listeners from the document and handles. This
51
+ * should be called on the destroy of the data grid.
52
+ */
53
+ removeEventListeners(): void;
54
+ }
55
+ export default ColumnsResizer;
@@ -0,0 +1,182 @@
1
+ /* *
2
+ *
3
+ * Grid Columns Resizer class.
4
+ *
5
+ * (c) 2020-2025 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ * - Sebastian Bochan
14
+ *
15
+ * */
16
+ 'use strict';
17
+ import GridUtils from '../../GridUtils.js';
18
+ import Globals from '../../Globals.js';
19
+ import Utils from '../../../../Core/Utilities.js';
20
+ const { makeHTMLElement } = GridUtils;
21
+ const { fireEvent } = Utils;
22
+ /* *
23
+ *
24
+ * Class
25
+ *
26
+ * */
27
+ /**
28
+ * The class that handles the resizing of columns in the data grid.
29
+ */
30
+ class ColumnsResizer {
31
+ /* *
32
+ *
33
+ * Constructor
34
+ *
35
+ * */
36
+ constructor(viewport) {
37
+ /**
38
+ * Any column is being resized. Turned off after slight delay.
39
+ */
40
+ this.isResizing = false;
41
+ /**
42
+ * The handles and their mouse down event listeners.
43
+ */
44
+ this.handles = [];
45
+ /**
46
+ * Handles the mouse move event on the document.
47
+ *
48
+ * @param e
49
+ * The mouse event.
50
+ *
51
+ * @internal
52
+ */
53
+ this.onDocumentMouseMove = (e) => {
54
+ if (!this.draggedResizeHandle || !this.draggedColumn) {
55
+ return;
56
+ }
57
+ const diff = e.pageX - (this.dragStartX || 0);
58
+ const vp = this.viewport;
59
+ vp.columnResizing.resize(this, diff);
60
+ vp.reflow();
61
+ vp.rowsVirtualizer.adjustRowHeights();
62
+ fireEvent(this.draggedColumn, 'afterResize', {
63
+ target: this.draggedColumn,
64
+ originalEvent: e
65
+ });
66
+ };
67
+ /**
68
+ * Handles the mouse up event on the document.
69
+ */
70
+ this.onDocumentMouseUp = () => {
71
+ this.draggedColumn?.header?.htmlElement?.classList.remove(Globals.getClassName('resizedColumn'));
72
+ if (!this.draggedResizeHandle?.matches(':hover')) {
73
+ this.draggedResizeHandle?.classList.remove('hovered');
74
+ }
75
+ this.dragStartX = void 0;
76
+ this.draggedColumn = void 0;
77
+ this.draggedResizeHandle = void 0;
78
+ this.columnStartWidth = void 0;
79
+ this.nextColumnStartWidth = void 0;
80
+ requestAnimationFrame(() => {
81
+ this.isResizing = false;
82
+ });
83
+ };
84
+ this.viewport = viewport;
85
+ document.addEventListener('mousemove', this.onDocumentMouseMove);
86
+ document.addEventListener('mouseup', this.onDocumentMouseUp);
87
+ }
88
+ /* *
89
+ *
90
+ * Functions
91
+ *
92
+ * */
93
+ /**
94
+ * Render the drag handle for resizing columns.
95
+ *
96
+ * @param column
97
+ * The reference to rendered column
98
+ *
99
+ * @param cell
100
+ * The reference to rendered cell, where hadles should be added
101
+ */
102
+ renderColumnDragHandles(column, cell) {
103
+ const vp = column.viewport;
104
+ if (vp.columnsResizer) {
105
+ const handle = makeHTMLElement('div', {
106
+ className: Globals.getClassName('resizerHandles')
107
+ }, cell.htmlElement);
108
+ handle.setAttribute('aria-hidden', true);
109
+ vp.columnsResizer?.addHandleListeners(handle, column);
110
+ }
111
+ }
112
+ /**
113
+ * Adds event listeners to the handle.
114
+ *
115
+ * @param handle
116
+ * The handle element.
117
+ *
118
+ * @param column
119
+ * The column the handle belongs to.
120
+ */
121
+ addHandleListeners(handle, column) {
122
+ const onHandleMouseDown = (e) => {
123
+ const vp = column.viewport;
124
+ this.isResizing = true;
125
+ handle.classList.add('hovered');
126
+ vp.reflow();
127
+ this.dragStartX = e.pageX;
128
+ this.draggedColumn = column;
129
+ this.draggedResizeHandle = handle;
130
+ this.columnStartWidth = column.getWidth();
131
+ this.nextColumnStartWidth =
132
+ vp.columns[column.index + 1]?.getWidth();
133
+ column.header?.htmlElement.classList.add(Globals.getClassName('resizedColumn'));
134
+ };
135
+ const onHandleMouseOver = () => {
136
+ if (this.draggedResizeHandle) {
137
+ return;
138
+ }
139
+ handle.classList.add('hovered');
140
+ };
141
+ const onHandleMouseOut = () => {
142
+ if (this.draggedResizeHandle) {
143
+ return;
144
+ }
145
+ handle.classList.remove('hovered');
146
+ };
147
+ const handleListeners = [{
148
+ eventName: 'mousedown',
149
+ listener: onHandleMouseDown
150
+ }, {
151
+ eventName: 'mouseover',
152
+ listener: onHandleMouseOver
153
+ }, {
154
+ eventName: 'mouseout',
155
+ listener: onHandleMouseOut
156
+ }];
157
+ for (const { eventName, listener } of handleListeners) {
158
+ handle.addEventListener(eventName, listener);
159
+ }
160
+ this.handles.push([handle, handleListeners]);
161
+ }
162
+ /**
163
+ * Removes all added event listeners from the document and handles. This
164
+ * should be called on the destroy of the data grid.
165
+ */
166
+ removeEventListeners() {
167
+ document.removeEventListener('mousemove', this.onDocumentMouseMove);
168
+ document.removeEventListener('mouseup', this.onDocumentMouseUp);
169
+ for (let i = 0, iEnd = this.handles.length; i < iEnd; i++) {
170
+ const [handle, listeners] = this.handles[i];
171
+ for (const { eventName, listener } of listeners) {
172
+ handle.removeEventListener(eventName, listener);
173
+ }
174
+ }
175
+ }
176
+ }
177
+ /* *
178
+ *
179
+ * Default Export
180
+ *
181
+ * */
182
+ export default ColumnsResizer;
@@ -0,0 +1,87 @@
1
+ import type { RowsSettings } from '../../Options';
2
+ import Table from '../Table.js';
3
+ /**
4
+ * Represents a virtualized rows renderer for the data grid.
5
+ */
6
+ declare class RowsVirtualizer {
7
+ /**
8
+ * The default height of a row.
9
+ */
10
+ readonly defaultRowHeight: number;
11
+ /**
12
+ * The index of the first visible row.
13
+ */
14
+ rowCursor: number;
15
+ /**
16
+ * The viewport (table) of the data grid.
17
+ */
18
+ readonly viewport: Table;
19
+ /**
20
+ * Size of the row buffer - how many rows should be rendered outside of the
21
+ * viewport from the top and the bottom.
22
+ */
23
+ readonly buffer: number;
24
+ /**
25
+ * Flag indicating if the rows should have strict heights (no custom or
26
+ * dynamic heights allowed).
27
+ */
28
+ private readonly strictRowHeights;
29
+ /**
30
+ * Flag indicating if the scrolling handler should be prevented to avoid
31
+ * flickering loops when scrolling to the last row.
32
+ */
33
+ private preventScroll;
34
+ /**
35
+ * Rendering row settings.
36
+ */
37
+ rowSettings?: RowsSettings;
38
+ /**
39
+ * Constructs an instance of the rows virtualizer.
40
+ *
41
+ * @param viewport
42
+ * The viewport of the data grid to render rows in.
43
+ */
44
+ constructor(viewport: Table);
45
+ /**
46
+ * Renders the rows in the viewport for the first time.
47
+ */
48
+ initialRender(): void;
49
+ /**
50
+ * Renders the rows in the viewport. It is called when the rows need to be
51
+ * re-rendered, e.g., after a sort or filter operation.
52
+ */
53
+ rerender(): void;
54
+ /**
55
+ * Method called on the viewport scroll event, only when the virtualization
56
+ * is enabled.
57
+ */
58
+ scroll(): void;
59
+ /**
60
+ * Adjusts the visible row heights from the bottom of the viewport.
61
+ */
62
+ private adjustBottomRowHeights;
63
+ /**
64
+ * Renders rows in the specified range. Removes rows that are out of the
65
+ * range except the last row.
66
+ *
67
+ * @param rowCursor
68
+ * The index of the first visible row.
69
+ */
70
+ private renderRows;
71
+ /**
72
+ * Adjusts the heights of the rows based on the current scroll position.
73
+ * It handles the possibility of the rows having different heights than
74
+ * the default height.
75
+ */
76
+ adjustRowHeights(): void;
77
+ /**
78
+ * Reflow the rendered rows content dimensions.
79
+ */
80
+ reflowRows(): void;
81
+ /**
82
+ * Returns the default height of a row. This method should be called only
83
+ * once on initialization.
84
+ */
85
+ private getDefaultRowHeight;
86
+ }
87
+ export default RowsVirtualizer;