@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,63 @@
1
+ /* *
2
+ *
3
+ * Independent Resizing Mode class
4
+ *
5
+ * (c) 2020-2025 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ *
14
+ * */
15
+ 'use strict';
16
+ import ResizingMode from './ResizingMode.js';
17
+ /* *
18
+ *
19
+ * Class
20
+ *
21
+ * */
22
+ class IndependentResizingMode extends ResizingMode {
23
+ constructor() {
24
+ /* *
25
+ *
26
+ * Properties
27
+ *
28
+ * */
29
+ super(...arguments);
30
+ this.type = 'independent';
31
+ }
32
+ /* *
33
+ *
34
+ * Methods
35
+ *
36
+ * */
37
+ resize(resizer, diff) {
38
+ const column = resizer.draggedColumn;
39
+ if (!column) {
40
+ return;
41
+ }
42
+ // Set the width of the resized column.
43
+ const width = this.columnWidths[column.id] = Math.round(Math.max((resizer.columnStartWidth || 0) + diff, ResizingMode.getMinWidth(column)) * 10) / 10;
44
+ this.columnWidthUnits[column.id] = 0; // Set to px
45
+ // Change width units of all columns on the right to px.
46
+ const vp = this.viewport;
47
+ const colIndex = column.index;
48
+ for (let i = colIndex; i < vp.columns.length; ++i) {
49
+ const rightCol = vp.columns[i];
50
+ const rcWidth = this.columnWidths[rightCol.id] =
51
+ rightCol.getWidth();
52
+ this.columnWidthUnits[rightCol.id] = 0; // Set to px
53
+ rightCol.update({ width: rcWidth }, false);
54
+ }
55
+ column.update({ width }, false);
56
+ }
57
+ }
58
+ /* *
59
+ *
60
+ * Default Export
61
+ *
62
+ * */
63
+ export default IndependentResizingMode;
@@ -0,0 +1,92 @@
1
+ import type { ColumnResizingMode } from '../../Options';
2
+ import type Table from '../Table';
3
+ import type Column from '../Column.js';
4
+ import type ColumnsResizer from '../Actions/ColumnsResizer';
5
+ /**
6
+ * Represents a column distribution strategy.
7
+ */
8
+ declare abstract class ResizingMode {
9
+ /**
10
+ * The type of the column distribution strategy.
11
+ */
12
+ abstract readonly type: ColumnResizingMode;
13
+ /**
14
+ * The table that the column distribution strategy is applied to.
15
+ */
16
+ readonly viewport: Table;
17
+ /**
18
+ * The current widths values of the columns.
19
+ */
20
+ columnWidths: Record<string, number>;
21
+ /**
22
+ * Array of units for each column width value. Codified as:
23
+ * - `0` - px
24
+ * - `1` - %
25
+ */
26
+ columnWidthUnits: Record<string, number>;
27
+ /**
28
+ * Whether the column distribution strategy is invalidated. This flag is
29
+ * used to determine whether the column distribution strategy metadata
30
+ * should be maintained when the table is destroyed and recreated.
31
+ */
32
+ invalidated?: boolean;
33
+ /**
34
+ * Creates a new column distribution strategy.
35
+ *
36
+ * @param viewport
37
+ * The table that the column distribution strategy is applied to.
38
+ */
39
+ constructor(viewport: Table);
40
+ /**
41
+ * Resizes the column by the given diff of pixels.
42
+ *
43
+ * @param resizer
44
+ * The columns resizer instance that is used to resize the column.
45
+ *
46
+ * @param diff
47
+ * The X position difference in pixels.
48
+ */
49
+ abstract resize(resizer: ColumnsResizer, diff: number): void;
50
+ /**
51
+ * Returns the column's current width in pixels.
52
+ *
53
+ * @param column
54
+ * The column to get the width for.
55
+ *
56
+ * @returns
57
+ * The column's current width in pixels.
58
+ */
59
+ getColumnWidth(column: Column): number;
60
+ /**
61
+ * Performs important calculations when the column is loaded.
62
+ *
63
+ * @param column
64
+ * The column that is loaded.
65
+ */
66
+ loadColumn(column: Column): void;
67
+ /**
68
+ * Loads the column to the distribution strategy. Should be called before
69
+ * the table is rendered.
70
+ */
71
+ loadColumns(): void;
72
+ /**
73
+ * Recaulculates the changing dimentions of the table.
74
+ */
75
+ reflow(): void;
76
+ /**
77
+ * Returns the minimum width of the column.
78
+ *
79
+ * @param column
80
+ * The column to get the minimum width for.
81
+ *
82
+ * @returns
83
+ * The minimum width in pixels.
84
+ */
85
+ protected static getMinWidth(column: Column): number;
86
+ /**
87
+ * Calculates defined (px and %) widths of all columns with non-undefined
88
+ * widths in the grid. Total in px.
89
+ */
90
+ private calculateOccupiedWidth;
91
+ }
92
+ export default ResizingMode;
@@ -0,0 +1,194 @@
1
+ /* *
2
+ *
3
+ * Resizing Mode abstract class
4
+ *
5
+ * (c) 2020-2025 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ *
14
+ * */
15
+ 'use strict';
16
+ import U from '../../../../Core/Utilities.js';
17
+ const { getStyle, defined } = U;
18
+ /* *
19
+ *
20
+ * Class
21
+ *
22
+ * */
23
+ /**
24
+ * Represents a column distribution strategy.
25
+ */
26
+ class ResizingMode {
27
+ /* *
28
+ *
29
+ * Constructor
30
+ *
31
+ * */
32
+ /**
33
+ * Creates a new column distribution strategy.
34
+ *
35
+ * @param viewport
36
+ * The table that the column distribution strategy is applied to.
37
+ */
38
+ constructor(viewport) {
39
+ /**
40
+ * The current widths values of the columns.
41
+ */
42
+ this.columnWidths = {};
43
+ /**
44
+ * Array of units for each column width value. Codified as:
45
+ * - `0` - px
46
+ * - `1` - %
47
+ */
48
+ this.columnWidthUnits = {};
49
+ this.viewport = viewport;
50
+ }
51
+ /**
52
+ * Returns the column's current width in pixels.
53
+ *
54
+ * @param column
55
+ * The column to get the width for.
56
+ *
57
+ * @returns
58
+ * The column's current width in pixels.
59
+ */
60
+ getColumnWidth(column) {
61
+ const vp = this.viewport;
62
+ const widthValue = this.columnWidths[column.id];
63
+ const minWidth = ResizingMode.getMinWidth(column);
64
+ if (!defined(widthValue)) {
65
+ const tbody = vp.tbodyElement;
66
+ const freeWidth = tbody.getBoundingClientRect().width -
67
+ this.calculateOccupiedWidth() -
68
+ tbody.offsetWidth + tbody.clientWidth;
69
+ const freeColumns = (vp.grid.enabledColumns?.length || 0) -
70
+ Object.keys(this.columnWidths).length;
71
+ // If undefined width:
72
+ return Math.max(freeWidth / freeColumns, minWidth);
73
+ }
74
+ if (this.columnWidthUnits[column.id] === 0) {
75
+ // If px:
76
+ return widthValue;
77
+ }
78
+ // If %:
79
+ return Math.max(vp.getWidthFromRatio(widthValue / 100), minWidth);
80
+ }
81
+ /**
82
+ * Performs important calculations when the column is loaded.
83
+ *
84
+ * @param column
85
+ * The column that is loaded.
86
+ */
87
+ loadColumn(column) {
88
+ const rawWidth = column.options.width;
89
+ if (!rawWidth) {
90
+ return;
91
+ }
92
+ let value;
93
+ let unitCode = 0;
94
+ if (typeof rawWidth === 'number') {
95
+ value = rawWidth;
96
+ unitCode = 0;
97
+ }
98
+ else {
99
+ value = parseFloat(rawWidth);
100
+ unitCode = rawWidth.charAt(rawWidth.length - 1) === '%' ? 1 : 0;
101
+ }
102
+ this.columnWidthUnits[column.id] = unitCode;
103
+ this.columnWidths[column.id] = value;
104
+ }
105
+ /**
106
+ * Loads the column to the distribution strategy. Should be called before
107
+ * the table is rendered.
108
+ */
109
+ loadColumns() {
110
+ const { columns } = this.viewport;
111
+ for (let i = 0, iEnd = columns.length; i < iEnd; ++i) {
112
+ this.loadColumn(columns[i]);
113
+ }
114
+ }
115
+ /**
116
+ * Recaulculates the changing dimentions of the table.
117
+ */
118
+ reflow() {
119
+ const vp = this.viewport;
120
+ let rowsWidth = 0;
121
+ for (let i = 0, iEnd = vp.columns.length; i < iEnd; ++i) {
122
+ rowsWidth += this.getColumnWidth(vp.columns[i]);
123
+ }
124
+ vp.rowsWidth = rowsWidth;
125
+ }
126
+ /* *
127
+ *
128
+ * Static Methods
129
+ *
130
+ * */
131
+ /**
132
+ * Returns the minimum width of the column.
133
+ *
134
+ * @param column
135
+ * The column to get the minimum width for.
136
+ *
137
+ * @returns
138
+ * The minimum width in pixels.
139
+ */
140
+ static getMinWidth(column) {
141
+ const tableColumnEl = column.cells[0]?.htmlElement;
142
+ const headerColumnEl = column.header?.htmlElement;
143
+ const getElPaddings = (el) => ((getStyle(el, 'padding-left', true) || 0) +
144
+ (getStyle(el, 'padding-right', true) || 0) +
145
+ (getStyle(el, 'border-left', true) || 0) +
146
+ (getStyle(el, 'border-right', true) || 0));
147
+ let result = ResizingMode.MIN_COLUMN_WIDTH;
148
+ if (tableColumnEl) {
149
+ result = Math.max(result, getElPaddings(tableColumnEl));
150
+ }
151
+ if (headerColumnEl) {
152
+ result = Math.max(result, getElPaddings(headerColumnEl));
153
+ }
154
+ return result;
155
+ }
156
+ /**
157
+ * Calculates defined (px and %) widths of all columns with non-undefined
158
+ * widths in the grid. Total in px.
159
+ */
160
+ calculateOccupiedWidth() {
161
+ const vp = this.viewport;
162
+ let occupiedWidth = 0;
163
+ let unit, width;
164
+ const columnIds = Object.keys(this.columnWidths);
165
+ let columnId;
166
+ for (let i = 0, iEnd = columnIds.length; i < iEnd; ++i) {
167
+ columnId = columnIds[i];
168
+ unit = this.columnWidthUnits[columnId];
169
+ if (unit === 0) {
170
+ occupiedWidth += this.columnWidths[columnId];
171
+ continue;
172
+ }
173
+ width = this.columnWidths[columnId];
174
+ occupiedWidth += vp.getWidthFromRatio(width / 100);
175
+ }
176
+ return occupiedWidth;
177
+ }
178
+ }
179
+ /* *
180
+ *
181
+ * Static Properties
182
+ *
183
+ * */
184
+ /**
185
+ * The minimum width of a column.
186
+ * @internal
187
+ */
188
+ ResizingMode.MIN_COLUMN_WIDTH = 20;
189
+ /* *
190
+ *
191
+ * Default Export
192
+ *
193
+ * */
194
+ export default ResizingMode;
@@ -0,0 +1,68 @@
1
+ import type Toolbar from '../../../UI/Toolbar';
2
+ import type Column from '../../Column';
3
+ import ToolbarButton from '../../../UI/ToolbarButton.js';
4
+ declare class HeaderCellToolbar implements Toolbar {
5
+ /**
6
+ * The maximum width of the column to be minimized.
7
+ */
8
+ static MINIMIZED_COLUMN_WIDTH: number;
9
+ /**
10
+ * The column that this toolbar belongs to.
11
+ */
12
+ column: Column;
13
+ buttons: ToolbarButton[];
14
+ container?: HTMLDivElement;
15
+ focusCursor: number;
16
+ /**
17
+ * Whether the toolbar is minimized. If true, the toolbar will only show
18
+ * the context menu button.
19
+ */
20
+ private isMinimized?;
21
+ /**
22
+ * Whether the menu button is centered. Used when the header content is
23
+ * super thin, so that it's not visible.
24
+ */
25
+ private isMenuCentered?;
26
+ /**
27
+ * The resize observer of the column.
28
+ */
29
+ private columnResizeObserver?;
30
+ /**
31
+ * The event listener destroyers of the toolbar.
32
+ */
33
+ private eventListenerDestroyers;
34
+ constructor(column: Column);
35
+ /**
36
+ * Initializes the buttons of the toolbar.
37
+ */
38
+ private renderFull;
39
+ private renderMinimized;
40
+ /**
41
+ * Render the toolbar.
42
+ */
43
+ add(): void;
44
+ /**
45
+ * Destroys all buttons of the toolbar.
46
+ */
47
+ clearButtons(): void;
48
+ /**
49
+ * Reflows the toolbar. It is called when the column is resized.
50
+ */
51
+ reflow(): void;
52
+ /**
53
+ * Destroy the toolbar.
54
+ */
55
+ destroy(): void;
56
+ /**
57
+ * Focuses the first button of the toolbar.
58
+ */
59
+ focus(): void;
60
+ /**
61
+ * Handles the key down event on the toolbar.
62
+ *
63
+ * @param e
64
+ * Keyboard event object.
65
+ */
66
+ private keyDownHandler;
67
+ }
68
+ export default HeaderCellToolbar;
@@ -0,0 +1,187 @@
1
+ /* *
2
+ *
3
+ * Grid Header Cell Toolbar 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 GridUtils from '../../../GridUtils.js';
17
+ import Globals from '../../../Globals.js';
18
+ import SortToolbarButton from './ToolbarButtons/SortToolbarButton.js';
19
+ import FilterToolbarButton from './ToolbarButtons/FilterToolbarButton.js';
20
+ import MenuToolbarButton from './ToolbarButtons/MenuToolbarButton.js';
21
+ import U from '../../../../../Core/Utilities.js';
22
+ const { makeHTMLElement } = GridUtils;
23
+ const { getStyle } = U;
24
+ /* *
25
+ *
26
+ * Class
27
+ *
28
+ * */
29
+ class HeaderCellToolbar {
30
+ /* *
31
+ *
32
+ * Constructor
33
+ *
34
+ * */
35
+ constructor(column) {
36
+ this.buttons = [];
37
+ this.focusCursor = 0;
38
+ /**
39
+ * The event listener destroyers of the toolbar.
40
+ */
41
+ this.eventListenerDestroyers = [];
42
+ this.column = column;
43
+ }
44
+ /* *
45
+ *
46
+ * Methods
47
+ *
48
+ * */
49
+ /**
50
+ * Initializes the buttons of the toolbar.
51
+ */
52
+ renderFull() {
53
+ const columnOptions = this.column.options;
54
+ if (columnOptions.sorting?.sortable) {
55
+ new SortToolbarButton().add(this);
56
+ }
57
+ if (columnOptions.filtering?.enabled &&
58
+ !columnOptions.filtering.inline) {
59
+ new FilterToolbarButton().add(this);
60
+ }
61
+ }
62
+ renderMinimized() {
63
+ const columnOptions = this.column.options;
64
+ if (columnOptions.sorting?.sortable || (columnOptions.filtering?.enabled &&
65
+ !columnOptions.filtering.inline)) {
66
+ new MenuToolbarButton().add(this);
67
+ }
68
+ }
69
+ /**
70
+ * Render the toolbar.
71
+ */
72
+ add() {
73
+ const headerCell = this.column.header;
74
+ if (!headerCell?.container) {
75
+ return;
76
+ }
77
+ if (this.columnResizeObserver) {
78
+ this.columnResizeObserver.disconnect();
79
+ delete this.columnResizeObserver;
80
+ }
81
+ this.columnResizeObserver = new ResizeObserver(() => this.reflow());
82
+ this.columnResizeObserver.observe(headerCell.container);
83
+ const container = this.container = makeHTMLElement('div', {
84
+ className: Globals.getClassName('headerCellIcons')
85
+ });
86
+ headerCell.container.appendChild(container);
87
+ const onKeyDown = (e) => {
88
+ this.keyDownHandler(e);
89
+ };
90
+ container.addEventListener('keydown', onKeyDown);
91
+ this.eventListenerDestroyers.push(() => {
92
+ container.removeEventListener('keydown', onKeyDown);
93
+ });
94
+ }
95
+ /**
96
+ * Destroys all buttons of the toolbar.
97
+ */
98
+ clearButtons() {
99
+ const { buttons } = this;
100
+ while (buttons.length > 0) {
101
+ buttons[buttons.length - 1].destroy();
102
+ }
103
+ }
104
+ /**
105
+ * Reflows the toolbar. It is called when the column is resized.
106
+ */
107
+ reflow() {
108
+ const width = this.column.getWidth();
109
+ const shouldBeMinimized = width <= HeaderCellToolbar.MINIMIZED_COLUMN_WIDTH;
110
+ if (shouldBeMinimized !== this.isMinimized) {
111
+ this.isMinimized = shouldBeMinimized;
112
+ this.clearButtons();
113
+ if (shouldBeMinimized) {
114
+ this.renderMinimized();
115
+ }
116
+ else {
117
+ this.renderFull();
118
+ }
119
+ }
120
+ if (!shouldBeMinimized) {
121
+ return;
122
+ }
123
+ const parent = this.column.header?.htmlElement;
124
+ const container = this.container;
125
+ const parentWidth = parent?.offsetWidth || 0;
126
+ const containerWidth = this.buttons[0]?.wrapper?.offsetWidth || 0;
127
+ const parentPaddings = ((parent && getStyle(parent, 'padding-left', true) || 0) +
128
+ (parent && getStyle(parent, 'padding-right', true) || 0));
129
+ const containerMargins = ((container && getStyle(container, 'margin-left', true) || 0) +
130
+ (container && getStyle(container, 'margin-right', true) || 0));
131
+ const shouldBeCentered = parentWidth - parentPaddings < containerWidth + containerMargins;
132
+ if (this.isMenuCentered !== shouldBeCentered) {
133
+ this.isMenuCentered = shouldBeCentered;
134
+ this.column.header?.container?.classList.toggle(Globals.getClassName('noWidth'), shouldBeCentered);
135
+ }
136
+ }
137
+ /**
138
+ * Destroy the toolbar.
139
+ */
140
+ destroy() {
141
+ for (const destroyer of this.eventListenerDestroyers) {
142
+ destroyer();
143
+ }
144
+ this.eventListenerDestroyers.length = 0;
145
+ this.columnResizeObserver?.disconnect();
146
+ delete this.columnResizeObserver;
147
+ }
148
+ /**
149
+ * Focuses the first button of the toolbar.
150
+ */
151
+ focus() {
152
+ this.buttons[0]?.focus();
153
+ }
154
+ /**
155
+ * Handles the key down event on the toolbar.
156
+ *
157
+ * @param e
158
+ * Keyboard event object.
159
+ */
160
+ keyDownHandler(e) {
161
+ const len = this.buttons.length;
162
+ const cursor = this.focusCursor;
163
+ switch (e.key) {
164
+ case 'ArrowUp':
165
+ case 'ArrowLeft':
166
+ this.buttons[Math.abs((cursor - 1 + len) % len)].focus();
167
+ break;
168
+ case 'ArrowDown':
169
+ case 'ArrowRight':
170
+ this.buttons[(cursor + 1) % len].focus();
171
+ break;
172
+ case 'Escape':
173
+ this.column.header?.htmlElement.focus();
174
+ break;
175
+ }
176
+ }
177
+ }
178
+ /**
179
+ * The maximum width of the column to be minimized.
180
+ */
181
+ HeaderCellToolbar.MINIMIZED_COLUMN_WIDTH = 120;
182
+ /* *
183
+ *
184
+ * Default Export
185
+ *
186
+ * */
187
+ export default HeaderCellToolbar;
@@ -0,0 +1,29 @@
1
+ import type Button from '../../../UI/Button';
2
+ import ColumnFiltering from '../../Actions/ColumnFiltering/ColumnFiltering.js';
3
+ import Popup from '../../../UI/Popup.js';
4
+ /**
5
+ * The column filtering popup.
6
+ */
7
+ declare class FilterPopup extends Popup {
8
+ /**
9
+ * The column filtering.
10
+ */
11
+ filtering: ColumnFiltering;
12
+ /**
13
+ * Constructs a column filtering popup.
14
+ *
15
+ * @param filtering
16
+ * The column filtering.
17
+ *
18
+ * @param button
19
+ * The button that opened the popup.
20
+ *
21
+ * @param options
22
+ * Popup options.
23
+ */
24
+ constructor(filtering: ColumnFiltering, button: Button, options?: Popup.Options);
25
+ show(anchorElement?: HTMLElement): void;
26
+ protected renderContent(contentElement: HTMLElement): void;
27
+ protected onKeyDown(event: KeyboardEvent): void;
28
+ }
29
+ export default FilterPopup;
@@ -0,0 +1,77 @@
1
+ /* *
2
+ *
3
+ * Grid Filter Popup 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 Popup from '../../../UI/Popup.js';
17
+ import U from '../../../../../Core/Utilities.js';
18
+ const { merge } = U;
19
+ /* *
20
+ *
21
+ * Class
22
+ *
23
+ * */
24
+ /**
25
+ * The column filtering popup.
26
+ */
27
+ class FilterPopup extends Popup {
28
+ /* *
29
+ *
30
+ * Constructor
31
+ *
32
+ * */
33
+ /**
34
+ * Constructs a column filtering popup.
35
+ *
36
+ * @param filtering
37
+ * The column filtering.
38
+ *
39
+ * @param button
40
+ * The button that opened the popup.
41
+ *
42
+ * @param options
43
+ * Popup options.
44
+ */
45
+ constructor(filtering, button, options) {
46
+ const grid = filtering.column.viewport.grid;
47
+ super(grid, button, merge({
48
+ header: {
49
+ category: grid.options?.lang?.setFilter,
50
+ label: filtering.column.header?.value || ''
51
+ }
52
+ }, options));
53
+ this.filtering = filtering;
54
+ }
55
+ /* *
56
+ *
57
+ * Methods
58
+ *
59
+ * */
60
+ show(anchorElement) {
61
+ super.show(anchorElement);
62
+ this.filtering.filterSelect?.focus();
63
+ }
64
+ renderContent(contentElement) {
65
+ this.filtering.renderFilteringContent(contentElement);
66
+ }
67
+ onKeyDown(event) {
68
+ super.onKeyDown(event);
69
+ this.filtering.onKeyDown(event);
70
+ }
71
+ }
72
+ /* *
73
+ *
74
+ * Default Export
75
+ *
76
+ * */
77
+ export default FilterPopup;