@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,270 @@
1
+ /* *
2
+ *
3
+ * Grid cell content validator
4
+ *
5
+ * (c) 2009-2024 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Dawid Dragula
13
+ *
14
+ * */
15
+ 'use strict';
16
+ import AST from '../../../Core/Renderer/HTML/AST.js';
17
+ import Globals from '../../Core/Globals.js';
18
+ import GridUtils from '../../Core/GridUtils.js';
19
+ import U from '../../../Core/Utilities.js';
20
+ const { makeDiv, setHTMLContent } = GridUtils;
21
+ const { defined } = U;
22
+ /* *
23
+ *
24
+ * Class
25
+ *
26
+ * */
27
+ /**
28
+ * Class for validating cell content.
29
+ */
30
+ class Validator {
31
+ /* *
32
+ *
33
+ * Constructor
34
+ *
35
+ * */
36
+ constructor(viewport) {
37
+ this.viewport = viewport;
38
+ this.notifContainer = makeDiv(Validator.classNames.notifContainer);
39
+ this.viewport.grid.contentWrapper?.appendChild(this.notifContainer);
40
+ }
41
+ /* *
42
+ *
43
+ * Methods
44
+ *
45
+ * */
46
+ /**
47
+ * Validates the cell content.
48
+ *
49
+ * @param cell
50
+ * Edited cell.
51
+ *
52
+ * @param errors
53
+ * An output array for error messages.
54
+ *
55
+ * @returns
56
+ * Returns true if the value is valid, false otherwise.
57
+ */
58
+ validate(cell, errors = []) {
59
+ const { options, dataType } = cell.column;
60
+ const validationErrors = cell.row.viewport.grid.options?.lang?.validationErrors;
61
+ let rules = Array.from(options?.cells?.editMode?.validationRules || []);
62
+ // Remove duplicates in validationRules
63
+ const isArrayString = rules.every((rule) => typeof rule === 'string');
64
+ if (rules.length > 0 && isArrayString) {
65
+ rules = [...new Set(rules)];
66
+ }
67
+ else {
68
+ const predefined = Validator.predefinedRules[dataType] || [];
69
+ const hasPredefined = rules.some((rule) => typeof rule !== 'string' &&
70
+ typeof rule.validate === 'string' &&
71
+ predefined.includes(rule.validate));
72
+ if (!hasPredefined) {
73
+ rules.push(...predefined);
74
+ }
75
+ }
76
+ for (const rule of rules) {
77
+ let ruleDef;
78
+ let err;
79
+ if (typeof rule === 'string') {
80
+ ruleDef = Validator.rulesRegistry[rule];
81
+ err = validationErrors?.[rule]?.notification;
82
+ }
83
+ else {
84
+ ruleDef = rule;
85
+ }
86
+ let validateFn;
87
+ if (typeof ruleDef.validate === 'string') {
88
+ const predefinedRules = (Validator.rulesRegistry[ruleDef.validate]);
89
+ validateFn =
90
+ predefinedRules?.validate;
91
+ }
92
+ else {
93
+ validateFn = ruleDef.validate;
94
+ }
95
+ const { editModeContent } = cell.column.viewport.cellEditing || {};
96
+ if (typeof validateFn === 'function' &&
97
+ editModeContent &&
98
+ !validateFn.call(cell, editModeContent)) {
99
+ if (typeof ruleDef.notification === 'function') {
100
+ err = ruleDef.notification.call(cell, editModeContent);
101
+ }
102
+ errors.push((err || ruleDef.notification));
103
+ }
104
+ }
105
+ return !errors.length;
106
+ }
107
+ /**
108
+ * Set content of notification and adjust the position.
109
+ *
110
+ * @param cell
111
+ * Cell that is currently edited and is not valid.
112
+ *
113
+ * @param errors
114
+ * An array of error messages.
115
+ *
116
+ */
117
+ initErrorBox(cell, errors) {
118
+ const { grid } = this.viewport;
119
+ this.errorCell = cell;
120
+ // Set error container position
121
+ this.reflow();
122
+ // Set width and content
123
+ setHTMLContent(this.notifContainer, errors.join('<br />'));
124
+ // A11y announcement
125
+ if (grid.options?.accessibility?.announcements?.cellEditing) {
126
+ this.viewport.grid.accessibility?.announce((grid.options?.lang?.accessibility?.cellEditing
127
+ ?.announcements?.notValid || '') + ' ' + errors.join('. '), true);
128
+ }
129
+ this.show();
130
+ }
131
+ /**
132
+ * Highlight the non-valid cell and display error in the notification box.
133
+ */
134
+ show() {
135
+ this.errorCell?.htmlElement.classList.add(Validator.classNames.editedCellError);
136
+ this.notifContainer.classList.add(Validator.classNames.notifError, Validator.classNames.notifAnimation);
137
+ // Set for the aria-errormessage attribute.
138
+ this.notifContainer.setAttribute('id', 'notification-error');
139
+ }
140
+ /**
141
+ * Hide the notification, error and unset highlight on cell.
142
+ *
143
+ * @param hideErrorBox
144
+ * The flag that hides the error on edited cell.
145
+ *
146
+ */
147
+ hide(hideErrorBox = true) {
148
+ this.errorCell?.htmlElement.classList.remove(Validator.classNames.editedCellError);
149
+ this.notifContainer.classList.remove(Validator.classNames.notifError, Validator.classNames.notifAnimation);
150
+ this.notifContainer.removeAttribute('id');
151
+ if (hideErrorBox) {
152
+ this.errorCell = void 0;
153
+ }
154
+ this.notifContainer.innerHTML = AST.emptyHTML;
155
+ }
156
+ /**
157
+ * Set the position of the error box.
158
+ */
159
+ reflow() {
160
+ const vp = this.viewport, errorCell = this.errorCell?.htmlElement, tableElement = vp.grid.tableElement, contentWrapper = vp.grid.contentWrapper;
161
+ if (!errorCell || !tableElement || !contentWrapper) {
162
+ return;
163
+ }
164
+ const tableTop = tableElement.offsetTop, tableHeight = tableElement.offsetHeight, middlePoint = tableTop + (tableHeight / 2), errorCellTop = errorCell.offsetTop - tableTop;
165
+ if (errorCellTop > middlePoint) {
166
+ this.notifContainer.style.top = // Avoid header overlap
167
+ tableTop + (vp.theadElement?.offsetHeight || 0) + 'px';
168
+ this.notifContainer.style.bottom = 'auto';
169
+ }
170
+ else {
171
+ this.notifContainer.style.top = 'auto';
172
+ this.notifContainer.style.bottom =
173
+ contentWrapper.offsetHeight - tableTop - tableHeight + 'px';
174
+ }
175
+ }
176
+ /**
177
+ * Destroy validator.
178
+ */
179
+ destroy() {
180
+ this.errorCell = void 0;
181
+ this.notifContainer.remove();
182
+ }
183
+ }
184
+ /* *
185
+ *
186
+ * Namespace
187
+ *
188
+ * */
189
+ /**
190
+ * Namespace for Validation functionality.
191
+ */
192
+ (function (Validator) {
193
+ /**
194
+ * The class names used by the validator functionality.
195
+ */
196
+ Validator.classNames = {
197
+ notifContainer: Globals.classNamePrefix + 'notification',
198
+ notifError: Globals.classNamePrefix + 'notification-error',
199
+ notifAnimation: Globals.classNamePrefix + 'notification-animation',
200
+ editedCellError: Globals.classNamePrefix + 'edited-cell-error'
201
+ };
202
+ /* *
203
+ *
204
+ * Variables
205
+ *
206
+ * */
207
+ /**
208
+ * Definition of default validation rules.
209
+ */
210
+ Validator.rulesRegistry = {
211
+ notEmpty: {
212
+ validate: ({ value, rawValue }) => (defined(value) && rawValue.length > 0),
213
+ notification: 'Value cannot be empty.'
214
+ },
215
+ number: {
216
+ validate: ({ rawValue }) => !isNaN(+rawValue),
217
+ notification: 'Value has to be a number.'
218
+ },
219
+ datetime: {
220
+ validate: ({ value }) => !defined(value) || !isNaN(+value),
221
+ notification: 'Value has to be parsed to a valid timestamp.'
222
+ },
223
+ 'boolean': {
224
+ validate: ({ rawValue }) => (rawValue === 'true' || rawValue === 'false' ||
225
+ Number(rawValue) === 1 || Number(rawValue) === 0),
226
+ notification: 'Value has to be a boolean.'
227
+ },
228
+ ignoreCaseUnique: {
229
+ validate: function ({ rawValue }) {
230
+ const oldValue = String(this.value).toLowerCase();
231
+ const rowValueString = rawValue.toLowerCase();
232
+ if (oldValue === rowValueString) {
233
+ return true;
234
+ }
235
+ const columnData = this.column.data;
236
+ const isDuplicate = columnData?.some((value) => String(value).toLowerCase() ===
237
+ rowValueString);
238
+ return !isDuplicate;
239
+ },
240
+ notification: 'Value must be unique within this column (case-insensitive).'
241
+ },
242
+ unique: {
243
+ validate: function ({ rawValue }) {
244
+ const oldValue = this.value;
245
+ if (oldValue === rawValue) {
246
+ return true;
247
+ }
248
+ const columnData = this.column.data;
249
+ const isDuplicate = columnData?.some((value) => value === rawValue);
250
+ return !isDuplicate;
251
+ },
252
+ notification: 'Value must be unique within this column (case-sensitive).'
253
+ }
254
+ };
255
+ /**
256
+ * Default validation rules for each dataType.
257
+ */
258
+ Validator.predefinedRules = {
259
+ 'boolean': ['boolean'],
260
+ datetime: ['datetime'],
261
+ number: ['number'],
262
+ string: []
263
+ };
264
+ })(Validator || (Validator = {}));
265
+ /* *
266
+ *
267
+ * Default Export
268
+ *
269
+ * */
270
+ export default Validator;
@@ -0,0 +1,32 @@
1
+ import Validator from './Validator.js';
2
+ declare module '../../Core/Table/Table' {
3
+ export default interface Table {
4
+ /**
5
+ * The validator object.
6
+ */
7
+ validator: Validator;
8
+ }
9
+ }
10
+ declare module '../../Pro/CellEditing/CellEditingComposition' {
11
+ interface ColumnEditModeOptions {
12
+ /**
13
+ * Validation options for the column.
14
+ *
15
+ * If not set, the validation rules are applied according to the data
16
+ * type.
17
+ */
18
+ validationRules?: (Validator.RuleKey | Validator.RuleDefinition)[];
19
+ }
20
+ }
21
+ declare module '../../Core/Options' {
22
+ interface LangOptions {
23
+ /**
24
+ * Validation options for the column.
25
+ *
26
+ * If not set, the validation rules are applied according to the data
27
+ * type.
28
+ */
29
+ validationErrors?: Validator.RulesRegistryType;
30
+ }
31
+ }
32
+ export default ValidatorComposition;
@@ -0,0 +1,63 @@
1
+ /* *
2
+ *
3
+ * Validator Composition.
4
+ *
5
+ * (c) 2020-2024 Highsoft AS
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * Authors:
12
+ * - Sebastian Bochan
13
+ *
14
+ * */
15
+ 'use strict';
16
+ import Validator from './Validator.js';
17
+ import Globals from '../../Core/Globals.js';
18
+ import U from '../../../Core/Utilities.js';
19
+ const { addEvent, pushUnique } = U;
20
+ /* *
21
+ *
22
+ * Composition
23
+ *
24
+ * */
25
+ /**
26
+ * @internal
27
+ */
28
+ var ValidatorComposition;
29
+ (function (ValidatorComposition) {
30
+ /**
31
+ * Extends the grid classes with cell editing functionality.
32
+ *
33
+ * @param TableClass
34
+ * The class to extend.
35
+ *
36
+ */
37
+ function compose(TableClass) {
38
+ if (!pushUnique(Globals.composed, 'Validator')) {
39
+ return;
40
+ }
41
+ addEvent(TableClass, 'afterInit', initValidatorComposition);
42
+ addEvent(TableClass, 'afterDestroy', destroy);
43
+ }
44
+ ValidatorComposition.compose = compose;
45
+ /**
46
+ * Callback function called after table initialization.
47
+ */
48
+ function initValidatorComposition() {
49
+ this.validator = new Validator(this);
50
+ }
51
+ /**
52
+ * Callback function called after table destroy.
53
+ */
54
+ function destroy() {
55
+ this.validator.destroy();
56
+ }
57
+ })(ValidatorComposition || (ValidatorComposition = {}));
58
+ /* *
59
+ *
60
+ * Default Export
61
+ *
62
+ * */
63
+ export default ValidatorComposition;
@@ -0,0 +1,35 @@
1
+ import type { CreditsOptions } from '../../Core/Options';
2
+ import Credits from '../../Core/Credits.js';
3
+ /**
4
+ * Represents a credits in the data grid.
5
+ */
6
+ declare class CreditsPro extends Credits {
7
+ /**
8
+ * Set the content of the credits.
9
+ */
10
+ private setContent;
11
+ /**
12
+ * Append the credits to the container. The position of the credits is
13
+ * determined by the `position` option.
14
+ */
15
+ private appendToContainer;
16
+ /**
17
+ * Update the credits with new options.
18
+ *
19
+ * @param options
20
+ * The new options for the credits.
21
+ *
22
+ * @param render
23
+ * Whether to render the credits after the update.
24
+ */
25
+ update(options: Partial<CreditsOptions> | undefined, render?: boolean): void;
26
+ /**
27
+ * Render the credits. If the credits are disabled, they will be removed
28
+ * from the container. If also reflows the viewport dimensions.
29
+ */
30
+ render(): void;
31
+ destroy(): void;
32
+ }
33
+ declare namespace CreditsPro {
34
+ }
35
+ export default CreditsPro;
@@ -0,0 +1,112 @@
1
+ /* *
2
+ *
3
+ * Grid Credits 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 '../../Core/Globals.js';
18
+ import Credits from '../../Core/Credits.js';
19
+ import GridUtils from '../../Core/GridUtils.js';
20
+ const { setHTMLContent } = GridUtils;
21
+ /* *
22
+ *
23
+ * Class
24
+ *
25
+ * */
26
+ /**
27
+ * Represents a credits in the data grid.
28
+ */
29
+ class CreditsPro extends Credits {
30
+ /* *
31
+ *
32
+ * Methods
33
+ *
34
+ * */
35
+ /**
36
+ * Set the content of the credits.
37
+ */
38
+ setContent() {
39
+ const { text, href } = this.options;
40
+ setHTMLContent(this.textElement, text || '');
41
+ this.textElement.setAttribute('href', href || '');
42
+ }
43
+ /**
44
+ * Append the credits to the container. The position of the credits is
45
+ * determined by the `position` option.
46
+ */
47
+ appendToContainer() {
48
+ const grid = this.grid;
49
+ const contentWrapper = grid.contentWrapper;
50
+ const { position } = this.options;
51
+ // Apply grid-pro class
52
+ this.containerElement.classList.add(Globals.getClassName('creditsPro'));
53
+ if (position === 'top') {
54
+ // Append the credits to the top of the table.
55
+ contentWrapper?.prepend(this.containerElement);
56
+ return;
57
+ }
58
+ // Append the credits to the bottom of the table.
59
+ if (grid.descriptionElement) {
60
+ contentWrapper?.insertBefore(this.containerElement, grid.descriptionElement);
61
+ }
62
+ else {
63
+ contentWrapper?.appendChild(this.containerElement);
64
+ }
65
+ }
66
+ /**
67
+ * Update the credits with new options.
68
+ *
69
+ * @param options
70
+ * The new options for the credits.
71
+ *
72
+ * @param render
73
+ * Whether to render the credits after the update.
74
+ */
75
+ update(options, render = true) {
76
+ if (options) {
77
+ this.grid.update({
78
+ credits: options
79
+ }, false);
80
+ this.options = this.grid.options?.credits ?? {};
81
+ }
82
+ if (render) {
83
+ this.render();
84
+ }
85
+ }
86
+ /**
87
+ * Render the credits. If the credits are disabled, they will be removed
88
+ * from the container. If also reflows the viewport dimensions.
89
+ */
90
+ render() {
91
+ const enabled = this.options.enabled ?? false;
92
+ this.containerElement.remove();
93
+ if (enabled) {
94
+ this.setContent();
95
+ this.appendToContainer();
96
+ }
97
+ else {
98
+ this.destroy();
99
+ }
100
+ this.grid.viewport?.reflow();
101
+ }
102
+ destroy() {
103
+ super.destroy();
104
+ delete this.grid.credits;
105
+ }
106
+ }
107
+ /* *
108
+ *
109
+ * Default Export
110
+ *
111
+ * */
112
+ export default CreditsPro;
@@ -0,0 +1,28 @@
1
+ import type Grid from '../../Core/Grid';
2
+ import CreditsPro from './CreditsPro.js';
3
+ declare namespace CreditsProComposition {
4
+ /**
5
+ * Extends the grid classes with customizable credits.
6
+ *
7
+ * @param GridClass
8
+ * The class to extend.
9
+ *
10
+ */
11
+ function compose(GridClass: typeof Grid): void;
12
+ }
13
+ declare module '../../Core/Options' {
14
+ interface Options {
15
+ /**
16
+ * Options for the credits label.
17
+ *
18
+ * Try it: {@link https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/grid-pro/credits | Credits options}
19
+ */
20
+ credits?: CreditsOptions;
21
+ }
22
+ }
23
+ declare module '../../Core/Grid' {
24
+ export default interface Grid {
25
+ credits?: CreditsPro;
26
+ }
27
+ }
28
+ export default CreditsProComposition;
@@ -0,0 +1,61 @@
1
+ /* *
2
+ *
3
+ * Grid Credits 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 CreditsPro from './CreditsPro.js';
18
+ import Globals from '../../Core/Globals.js';
19
+ import U from '../../../Core/Utilities.js';
20
+ import Defaults from '../../Core/Defaults.js';
21
+ const { addEvent, merge, pushUnique } = U;
22
+ /* *
23
+ *
24
+ * Class Namespace
25
+ *
26
+ * */
27
+ var CreditsProComposition;
28
+ (function (CreditsProComposition) {
29
+ /**
30
+ * Extends the grid classes with customizable credits.
31
+ *
32
+ * @param GridClass
33
+ * The class to extend.
34
+ *
35
+ */
36
+ function compose(GridClass) {
37
+ if (!pushUnique(Globals.composed, 'CreditsPro')) {
38
+ return;
39
+ }
40
+ merge(true, Defaults.defaultOptions, {
41
+ credits: CreditsPro.defaultOptions
42
+ });
43
+ // TODO: Change to `beforeLoad` after upgrading grid update.
44
+ addEvent(GridClass, 'afterRenderViewport', initCredits);
45
+ }
46
+ CreditsProComposition.compose = compose;
47
+ /**
48
+ * Init configurable credits.
49
+ * @param this
50
+ * Reference to Grid.
51
+ */
52
+ function initCredits() {
53
+ this.credits = new CreditsPro(this, this.options?.credits);
54
+ }
55
+ })(CreditsProComposition || (CreditsProComposition = {}));
56
+ /* *
57
+ *
58
+ * Default Export
59
+ *
60
+ * */
61
+ export default CreditsProComposition;
@@ -0,0 +1,68 @@
1
+ import type Grid from '../../Core/Grid';
2
+ import type { ExportingOptions } from '../../Core/Options';
3
+ /**
4
+ * Export the given table to CSV format.
5
+ */
6
+ declare class Exporting {
7
+ /**
8
+ * The Grid instance.
9
+ */
10
+ readonly grid: Grid;
11
+ /**
12
+ * Default options of the credits.
13
+ */
14
+ static defaultOptions: ExportingOptions;
15
+ /**
16
+ * Construct the exporting.
17
+ *
18
+ * @param grid
19
+ * The Grid instance.
20
+ */
21
+ constructor(grid: Grid);
22
+ /**
23
+ * Downloads the CSV string as a file.
24
+ *
25
+ * @param modified
26
+ * Whether to return the modified data table (after filtering/sorting/etc.)
27
+ * or the unmodified, original one. Default value is set to `true`.
28
+ */
29
+ downloadCSV(modified?: boolean): void;
30
+ /**
31
+ * Downloads the JSON string as a file.
32
+ *
33
+ * @param modified
34
+ * Whether to return the modified data table (after filtering/sorting/etc.)
35
+ * or the unmodified, original one. Default value is set to `true`.
36
+ */
37
+ downloadJSON(modified?: boolean): void;
38
+ /**
39
+ * Creates a CSV string from the data table.
40
+ *
41
+ * @param modified
42
+ * Whether to return the modified data table (after filtering/sorting/etc.)
43
+ * or the unmodified, original one. Default value is set to `true`.
44
+ *
45
+ * @return
46
+ * CSV string representing the data table.
47
+ */
48
+ getCSV(modified?: boolean): string;
49
+ /**
50
+ * Returns the current grid data as a JSON string.
51
+ *
52
+ * @param modified
53
+ * Whether to return the modified data table (after filtering/sorting/etc.)
54
+ * or the unmodified, original one. Default value is set to `true`.
55
+ *
56
+ * @return
57
+ * JSON representation of the data
58
+ */
59
+ getJSON(modified?: boolean): string;
60
+ /**
61
+ * Get the default file name used for exported the grid.
62
+ *
63
+ * @returns
64
+ * A file name without extension.
65
+ */
66
+ private getFilename;
67
+ }
68
+ export default Exporting;