@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,1756 @@
1
+ /**
2
+ * @license Highcharts Grid Pro v2.0.0
3
+ *
4
+ * (c) 2009-2025 Highsoft AS
5
+ *
6
+ * License: www.highcharts.com/license
7
+ */
8
+
9
+
10
+ /* ==== Start Grid Color Scheme ==== */
11
+ .hcg-container,
12
+ .highcharts-light .hcg-container {
13
+ --ig-default-color: #000000;
14
+ --ig-default-background: #ffffff;
15
+ --ig-negative-default-color: #c10008;
16
+ --ig-negative-default-border-color: #e7000b;
17
+ --ig-negative-default-background: #fef3f2;
18
+ --ig-neutral-default-color: #884b00;
19
+ --ig-neutral-default-border-color: #d18700;
20
+ --ig-neutral-default-background: #fefce8;
21
+ --ig-positive-default-color: #008236;
22
+ --ig-positive-default-border-color: #00a63e;
23
+ --ig-positive-default-background: #effdf4;
24
+ --ig-highlight-color-5: #f3f6fe;
25
+
26
+ /* GUI elements - Light mode */
27
+ --hcg-popup-background: #f6f6f6;
28
+ --hcg-popup-border-color: #e8e8e8;
29
+ --hcg-popup-border: 1px solid var(--hcg-popup-border-color);
30
+ --hcg-context-menu-item-hover-background: #ffffff;
31
+ --hcg-context-menu-item-hover-border: 1px solid #e8e8e8;
32
+ --hcg-context-menu-item-active-background: #e1e3ff;
33
+ --hcg-context-menu-item-active-border: 1px solid #c3c8ff;
34
+ }
35
+
36
+ @media (prefers-color-scheme: dark) {
37
+ .hcg-container {
38
+ --ig-default-color: #ffffff;
39
+ --ig-default-background: #000000;
40
+ --ig-negative-default-color: #ffb3b3;
41
+ --ig-negative-default-border-color: #7a1e1e;
42
+ --ig-negative-default-background: #3d0e0b;
43
+ --ig-neutral-default-color: #ffe8c1;
44
+ --ig-neutral-default-border-color: #7d5c20;
45
+ --ig-neutral-default-background: #3b2a11;
46
+ --ig-positive-default-color: #a6f8c1;
47
+ --ig-positive-default-border-color: #1e6f3e;
48
+ --ig-positive-default-background: #0a3e1a;
49
+ --ig-highlight-color-5: #202124;
50
+
51
+ /* GUI elements - Dark mode */
52
+ --hcg-popup-background: #272727;
53
+ --hcg-popup-border-color: #4f4f4f;
54
+ --hcg-popup-border: 1px solid var(--hcg-popup-border-color);
55
+ --hcg-context-menu-item-hover-background: #3b3b3b;
56
+ --hcg-context-menu-item-hover-border: 1px solid #4f4f4f;
57
+ --hcg-context-menu-item-active-background: #3f4699;
58
+ --hcg-context-menu-item-active-border: 1px solid #4a55c9;
59
+ }
60
+ }
61
+
62
+ .highcharts-dark .hcg-container {
63
+ --ig-default-color: #ffffff;
64
+ --ig-default-background: #000000;
65
+ --ig-negative-default-color: #ffb3b3;
66
+ --ig-negative-default-border-color: #7a1e1e;
67
+ --ig-negative-default-background: #3d0e0b;
68
+ --ig-neutral-default-color: #ffe8c1;
69
+ --ig-neutral-default-border-color: #7d5c20;
70
+ --ig-neutral-default-background: #3b2a11;
71
+ --ig-positive-default-color: #a6f8c1;
72
+ --ig-positive-default-border-color: #1e6f3e;
73
+ --ig-positive-default-background: #0a3e1a;
74
+ --ig-highlight-color-5: #202124;
75
+
76
+ /* GUI elements - Dark mode */
77
+ --hcg-popup-background: #272727;
78
+ --hcg-popup-border-color: #4f4f4f;
79
+ --hcg-popup-border: 1px solid var(--hcg-popup-border-color);
80
+ --hcg-context-menu-item-hover-background: #3b3b3b;
81
+ --hcg-context-menu-item-hover-border: 1px solid #4f4f4f;
82
+ --hcg-context-menu-item-active-background: #3f4699;
83
+ --hcg-context-menu-item-active-border: 1px solid #4a55c9;
84
+ }
85
+
86
+ /* ==== End Grid Color Scheme ==== */
87
+
88
+ /* ==== Start Highcharts Variables ==== */
89
+ :root,
90
+ .highcharts-light {
91
+ --highcharts-background-color: #ffffff;
92
+ --highcharts-neutral-color-100: #000000;
93
+ }
94
+
95
+ @media (prefers-color-scheme: dark) {
96
+ :root {
97
+ --highcharts-background-color: #141414;
98
+ --highcharts-neutral-color-100: #ffffff;
99
+ }
100
+ }
101
+
102
+ .highcharts-dark {
103
+ --highcharts-background-color: #141414;
104
+ --highcharts-neutral-color-100: #ffffff;
105
+ }
106
+
107
+ /* ==== End Highcharts Variables ==== */
108
+
109
+ /* stylelint-disable max-line-length */
110
+
111
+ /* ==== Start Grid Variables ==== */
112
+ .hcg-container {
113
+ /* Fonts */
114
+
115
+ /* Global fonts */
116
+ --ig-font-weight: var(--hcg-font-weight, normal);
117
+ --ig-font-size: var(--hcg-font-size, 1rem);
118
+ --ig-font-family: var(--hcg-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif);
119
+ --ig-color: var(--hcg-color, var(--ig-default-color));
120
+ --ig-font: var(--ig-font-weight) var(--ig-font-size) var(--ig-font-family);
121
+ --ig-text-align: var(--hcg-text-align, left);
122
+
123
+ /* Link fonts */
124
+ --ig-link-color: var(--hcg-link-color, inherit);
125
+ --ig-link-text-decoration: var(--hcg-link-text-decoration, underline);
126
+ --ig-link-hovered-color: var(--hcg-link-hovered-color, var(--ig-link-color));
127
+ --ig-link-hovered-text-decoration: var(--hcg-link-hovered-text-decoration, none);
128
+ --ig-link-font-weight: var(--hcg-link-font-weight, inherit);
129
+
130
+ /* Header fonts */
131
+ --ig-header-font-weight: var(--hcg-header-font-weight, var(--ig-font-weight));
132
+ --ig-header-font-size: var(--hcg-header-font-size, var(--ig-font-size));
133
+ --ig-header-font-family: var(--hcg-header-font-family, var(--ig-font-family));
134
+ --ig-header-color: var(--hcg-header-color, var(--ig-color));
135
+ --ig-header-font: var(--ig-header-font-weight) var(--ig-header-font-size) var(--ig-header-font-family);
136
+ --ig-header-text-align: var(--hcg-header-text-align, var(--ig-text-align));
137
+
138
+ /* Caption fonts */
139
+ --ig-caption-font-weight: var(--hcg-caption-font-weight, var(--ig-font-weight));
140
+ --ig-caption-font-size: var(--hcg-caption-font-size, var(--ig-font-size));
141
+ --ig-caption-font-family: var(--hcg-caption-font-family, var(--ig-font-family));
142
+ --ig-caption-color: var(--hcg-caption-color, var(--ig-color));
143
+ --ig-caption-font: var(--ig-caption-font-weight) var(--ig-caption-font-size) var(--ig-caption-font-family);
144
+ --ig-caption-text-align: var(--hcg-caption-text-align, var(--ig-text-align));
145
+
146
+ /* Description fonts */
147
+ --ig-description-font-weight: var(--hcg-description-font-weight, var(--ig-font-weight));
148
+ --ig-description-font-size: var(--hcg-description-font-size, var(--ig-font-size));
149
+ --ig-description-font-family: var(--hcg-description-font-family, var(--ig-font-family));
150
+ --ig-description-color: var(--hcg-description-color, var(--ig-color));
151
+ --ig-description-font: var(--ig-description-font-weight) var(--ig-description-font-size) var(--ig-description-font-family);
152
+ --ig-description-text-align: var(--hcg-description-text-align, var(--ig-text-align));
153
+
154
+ /* Default borders */
155
+ --ig-border-radius: var(--hcg-border-radius, 0);
156
+ --ig-border-width: var(--hcg-border-width, 0);
157
+ --ig-border-style: var(--hcg-border-style, solid);
158
+ --ig-border-color: var(--hcg-border-color, var(--ig-color));
159
+ --ig-border: var(--ig-border-width) var(--ig-border-style) var(--ig-border-color);
160
+
161
+ /* Row borders */
162
+ --ig-row-border-width: var(--hcg-row-border-width, var(--ig-border-width));
163
+ --ig-row-border-style: var(--hcg-row-border-style, var(--ig-border-style));
164
+ --ig-row-border-color: var(--hcg-row-border-color, var(--ig-border-color));
165
+ --ig-row-border: var(--ig-row-border-width) var(--ig-row-border-style) var(--ig-row-border-color);
166
+
167
+ /* Header row borders */
168
+ --ig-header-row-border-width: var(--hcg-header-row-border-width, var(--ig-row-border-width));
169
+ --ig-header-row-border-style: var(--hcg-header-row-border-style, var(--ig-row-border-style));
170
+ --ig-header-row-border-color: var(--hcg-header-row-border-color, var(--ig-row-border-color));
171
+ --ig-header-row-border: var(--ig-header-row-border-width) var(--ig-header-row-border-style) var(--ig-header-row-border-color);
172
+
173
+ /* Column borders */
174
+ --ig-column-border-width: var(--hcg-column-border-width, var(--ig-border-width));
175
+ --ig-column-border-style: var(--hcg-column-border-style, var(--ig-border-style));
176
+ --ig-column-border-color: var(--hcg-column-border-color, var(--ig-border-color));
177
+ --ig-column-border: var(--ig-column-border-width) var(--ig-column-border-style) var(--ig-column-border-color);
178
+
179
+ /* Header column borders */
180
+ --ig-header-column-border-width: var(--hcg-header-column-border-width, var(--ig-column-border-width));
181
+ --ig-header-column-border-style: var(--hcg-header-column-border-style, var(--ig-column-border-style));
182
+ --ig-header-column-border-color: var(--hcg-header-column-border-color, var(--ig-column-border-color));
183
+ --ig-header-column-border: var(--ig-header-column-border-width) var(--ig-header-column-border-style) var(--ig-header-column-border-color);
184
+
185
+ /* Default padding */
186
+ --ig-horizontal-padding: var(--hcg-horizontal-padding, var(--hcg-padding, 0));
187
+ --ig-vertical-padding: var(--hcg-vertical-padding, var(--hcg-padding, 0));
188
+ --ig-padding: var(--ig-vertical-padding) var(--ig-horizontal-padding);
189
+
190
+ /* Header padding */
191
+ --ig-header-horizontal-padding: var(--hcg-header-horizontal-padding, var(--hcg-header-padding, var(--ig-horizontal-padding)));
192
+ --ig-header-vertical-padding: var(--hcg-header-vertical-padding, var(--hcg-header-padding, var(--ig-vertical-padding)));
193
+ --ig-header-padding: var(--ig-header-vertical-padding) var(--ig-header-horizontal-padding) var(--ig-header-vertical-padding) var(--ig-header-horizontal-padding);
194
+
195
+ /* Caption padding */
196
+ --ig-caption-horizontal-padding: var(--hcg-caption-horizontal-padding, var(--hcg-caption-padding, var(--ig-horizontal-padding)));
197
+ --ig-caption-vertical-padding: var(--hcg-caption-vertical-padding, var(--hcg-caption-padding, var(--ig-vertical-padding)));
198
+ --ig-caption-padding: 0 var(--ig-caption-horizontal-padding) var(--ig-caption-vertical-padding) var(--ig-caption-horizontal-padding);
199
+
200
+ /* Description padding */
201
+ --ig-description-horizontal-padding: var(--hcg-description-horizontal-padding, var(--hcg-description-padding, var(--ig-horizontal-padding)));
202
+ --ig-description-vertical-padding: var(--hcg-description-vertical-padding, var(--hcg-description-padding, var(--ig-vertical-padding)));
203
+ --ig-description-padding: var(--ig-description-vertical-padding) var(--ig-description-horizontal-padding) 0 var(--ig-description-horizontal-padding);
204
+
205
+ /* Pagination padding */
206
+ --ig-pagination-horizontal-padding: var(--hcg-pagination-horizontal-padding, var(--hcg-pagination-padding, var(--ig-horizontal-padding)));
207
+ --ig-pagination-vertical-padding: var(--hcg-pagination-vertical-padding, var(--hcg-pagination-padding, var(--ig-vertical-padding)));
208
+ --ig-pagination-padding: var(--ig-pagination-vertical-padding) var(--ig-pagination-horizontal-padding) var(--ig-pagination-vertical-padding) var(--ig-pagination-horizontal-padding);
209
+
210
+ /* Loading indicator */
211
+ --ig-loader-color: var(--hcg-loader-color, var(--ig-color));
212
+
213
+ /* Default backgrounds and colors */
214
+ --ig-background: var(--hcg-background, transparent);
215
+ --ig-row-background: var(--hcg-row-background, transparent);
216
+ --ig-row-even-background: var(--hcg-row-even-background, var(--ig-row-background));
217
+ --ig-header-background: var(--hcg-header-background, var(--ig-row-background));
218
+ --ig-pagination-background: var(--hcg-pagination-background, transparent);
219
+ --ig-row-even-color: var(--hcg-row-even-color, var(--ig-color));
220
+
221
+ /* Cell hovered backgrounds and colors */
222
+ --ig-cell-hovered-background: var(--hcg-cell-hovered-background, var(--hcg-cell-hovered-column-background, var(--ig-cell-hovered-row-background)));
223
+ --ig-cell-hovered-color: var(--hcg-cell-hovered-color, var(--hcg-cell-hovered-column-color, var(--ig-cell-hovered-row-color, var(--hcg-color))));
224
+ --ig-cell-even-hovered-background: var(--hcg-cell-hovered-even-background, var(--hcg-cell-hovered-background, var(--hcg-cell-hovered-column-background, var(--ig-cell-hovered-row-even-background))));
225
+ --ig-cell-even-hovered-color: var(--hcg-cell-even-hovered-color, var(--hcg-cell-hovered-color, var(--hcg-cell-hovered-column-color, var(--ig-cell-hovered-row-even-color))));
226
+
227
+ /* Cell hovered horizontal border */
228
+ --ig-cell-hovered-horizontal-border-width: var(--hcg-cell-hovered-border-width, var(--ig-cell-hovered-column-border-width));
229
+ --ig-cell-hovered-horizontal-border-style: var(--hcg-cell-hovered-border-style, var(--ig-cell-hovered-column-border-style));
230
+ --ig-cell-hovered-horizontal-border-color: var(--hcg-cell-hovered-border-color, var(--ig-cell-hovered-column-border-color));
231
+ --ig-cell-hovered-horizontal-border: var(--ig-cell-hovered-horizontal-border-width) var(--ig-cell-hovered-horizontal-border-style) var(--ig-cell-hovered-horizontal-border-color);
232
+
233
+ /* Cell hovered vertical border */
234
+ --ig-cell-hovered-vertical-border-width: var(--hcg-cell-hovered-border-width, var(--ig-cell-hovered-row-border-width));
235
+ --ig-cell-hovered-vertical-border-style: var(--hcg-cell-hovered-border-style, var(--ig-cell-hovered-row-border-style));
236
+ --ig-cell-hovered-vertical-border-color: var(--hcg-cell-hovered-border-color, var(--ig-cell-hovered-row-border-color));
237
+ --ig-cell-hovered-vertical-border: var(--ig-cell-hovered-vertical-border-width) var(--ig-cell-hovered-vertical-border-style) var(--ig-cell-hovered-vertical-border-color);
238
+
239
+ /* Cell hovered row backgrounds and colors */
240
+ --ig-cell-hovered-row-background: var(--hcg-cell-hovered-row-background, var(--ig-row-background));
241
+ --ig-cell-hovered-row-color: var(--hcg-cell-hovered-row-color, var(--ig-color));
242
+ --ig-cell-hovered-row-even-background: var(--hcg-cell-hovered-row-even-background, var(--hcg-cell-hovered-row-background, var(--ig-row-even-background)));
243
+ --ig-cell-hovered-row-even-color: var(--hcg-cell-hovered-row-even-color, var(--hcg-cell-hovered-row-color, var(--ig-row-even-color)));
244
+
245
+ /* Cell hovered row border */
246
+ --ig-cell-hovered-row-border-width: var(--hcg-cell-hovered-row-border-width, 0);
247
+ --ig-cell-hovered-row-border-style: var(--hcg-cell-hovered-row-border-style, var(--ig-border-style));
248
+ --ig-cell-hovered-row-border-color: var(--hcg-cell-hovered-row-border-color, var(--ig-border-color));
249
+ --ig-cell-hovered-row-border: var(--ig-cell-hovered-row-border-width) var(--ig-cell-hovered-row-border-style) var(--ig-cell-hovered-row-border-color);
250
+
251
+ /* Cell hovered column backgrounds and colors */
252
+ --ig-cell-hovered-column-background: var(--hcg-cell-hovered-column-background, var(--ig-row-background));
253
+ --ig-cell-hovered-column-color: var(--hcg-cell-hovered-column-color, var(--ig-color));
254
+ --ig-cell-hovered-column-even-background: var(--hcg-cell-hovered-column-even-background, var(--hcg-cell-hovered-column-background, var(--ig-row-even-background)));
255
+ --ig-cell-hovered-column-even-color: var(--hcg-cell-hovered-column-even-color, var(--hcg-cell-hovered-column-color, var(--ig-row-even-color)));
256
+
257
+ /* Cell hovered column border */
258
+ --ig-cell-hovered-column-border-width: var(--hcg-cell-hovered-column-border-width, 0);
259
+ --ig-cell-hovered-column-border-style: var(--hcg-cell-hovered-column-border-style, var(--ig-border-style));
260
+ --ig-cell-hovered-column-border-color: var(--hcg-cell-hovered-column-border-color, var(--ig-border-color));
261
+ --ig-cell-hovered-column-border: var(--ig-cell-hovered-column-border-width) var(--ig-cell-hovered-column-border-style) var(--ig-cell-hovered-column-border-color);
262
+
263
+ /* Cell hovered header background and color */
264
+ --ig-cell-hovered-header-background: var(--hcg-cell-hovered-header-background, var(--ig-header-background));
265
+ --ig-cell-hovered-header-color: var(--hcg-cell-hovered-header-color, var(--ig-header-color));
266
+
267
+ /* Cell hovered header border */
268
+ --ig-cell-hovered-header-border-width: var(--hcg-cell-hovered-header-border-width, 0);
269
+ --ig-cell-hovered-header-border-style: var(--hcg-cell-hovered-header-border-style, var(--ig-cell-hovered-column-border-style));
270
+ --ig-cell-hovered-header-border-color: var(--hcg-cell-hovered-header-border-color, var(--ig-cell-hovered-column-border-color));
271
+ --ig-cell-hovered-header-border: var(--ig-cell-hovered-header-border-width) var(--ig-cell-hovered-header-border-style) var(--ig-cell-hovered-header-border-color);
272
+
273
+ /* Header hovered background and color */
274
+ --ig-header-hovered-background: var(--hcg-header-hovered-background, var(--ig-header-background));
275
+ --ig-header-hovered-color: var(--hcg-header-hovered-color, var(--ig-header-color));
276
+
277
+ /* Cell synced backgrounds and colors */
278
+ --ig-cell-synced-background: var(--hcg-cell-synced-background, var(--ig-cell-hovered-background));
279
+ --ig-cell-synced-color: var(--hcg-cell-synced-color, var(--ig-cell-hovered-color));
280
+ --ig-cell-even-synced-background: var(--hcg-cell-synced-even-background, var(--ig-cell-even-hovered-background));
281
+ --ig-cell-even-synced-color: var(--hcg-cell-even-synced-color, var(--ig-cell-even-hovered-color));
282
+
283
+ /* Cell synced horizontal border */
284
+ --ig-cell-synced-horizontal-border-width: var(--hcg-cell-synced-border-width, var(--hcg-cell-hovered-border-width, 0));
285
+ --ig-cell-synced-horizontal-border-style: var(--hcg-cell-synced-border-style, var(--hcg-cell-hovered-border-style, var(--ig-border-style)));
286
+ --ig-cell-synced-horizontal-border-color: var(--hcg-cell-synced-border-color, var(--hcg-cell-hovered-border-color, var(--ig-border-color)));
287
+ --ig-cell-synced-horizontal-border: var(--ig-cell-synced-horizontal-border-width) var(--ig-cell-synced-horizontal-border-style) var(--ig-cell-synced-horizontal-border-color);
288
+
289
+ /* Cell synced vertical border */
290
+ --ig-cell-synced-vertical-border-width: var(--hcg-cell-synced-border-width, var(--hcg-cell-hovered-border-width, 0));
291
+ --ig-cell-synced-vertical-border-style: var(--hcg-cell-synced-border-style, var(--hcg-cell-hovered-border-style, var(--ig-border-style)));
292
+ --ig-cell-synced-vertical-border-color: var(--hcg-cell-synced-border-color, var(--hcg-cell-hovered-border-color, var(--ig-border-color)));
293
+ --ig-cell-synced-vertical-border: var(--ig-cell-synced-vertical-border-width) var(--ig-cell-synced-vertical-border-style) var(--ig-cell-synced-vertical-border-color);
294
+
295
+ /* Cell synced row backgrounds and colors */
296
+ --ig-cell-synced-row-background: var(--hcg-cell-synced-row-background, var(--ig-cell-hovered-row-background));
297
+ --ig-cell-synced-row-color: var(--hcg-cell-synced-row-color, var(--ig-cell-hovered-row-color));
298
+ --ig-cell-synced-row-even-background: var(--hcg-cell-synced-row-even-background, var(--ig-cell-hovered-row-even-background));
299
+ --ig-cell-synced-row-even-color: var(--hcg-cell-synced-row-even-color, var(--ig-cell-hovered-row-even-color));
300
+
301
+ /* Cell synced row border */
302
+ --ig-cell-synced-row-border-width: var(--hcg-cell-synced-row-border-width, var(--ig-cell-hovered-row-border-width));
303
+ --ig-cell-synced-row-border-style: var(--hcg-cell-synced-row-border-style, var(--ig-cell-hovered-row-border-style));
304
+ --ig-cell-synced-row-border-color: var(--hcg-cell-synced-row-border-color, var(--ig-cell-hovered-row-border-color));
305
+ --ig-cell-synced-row-border: var(--ig-cell-synced-row-border-width) var(--ig-cell-synced-row-border-style) var(--ig-cell-synced-row-border-color);
306
+
307
+ /* Cell synced column backgrounds and colors */
308
+ --ig-cell-synced-column-background: var(--hcg-cell-synced-column-background, var(--ig-cell-hovered-column-background));
309
+ --ig-cell-synced-column-color: var(--hcg-cell-synced-column-color, var(--ig-cell-hovered-column-color));
310
+ --ig-cell-synced-column-even-background: var(--hcg-cell-synced-column-even-background, var(--hcg-cell-synced-column-background, var(--ig-cell-hovered-column-even-background)));
311
+ --ig-cell-synced-column-even-color: var(--hcg-cell-synced-column-even-color, var(--ig-cell-hovered-column-even-color));
312
+
313
+ /* Cell synced column border */
314
+ --ig-cell-synced-column-border-width: var(--hcg-cell-synced-column-border-width, var(--ig-cell-hovered-column-border-width));
315
+ --ig-cell-synced-column-border-style: var(--hcg-cell-synced-column-border-style, var(--ig-cell-hovered-column-border-style));
316
+ --ig-cell-synced-column-border-color: var(--hcg-cell-synced-column-border-color, var(--ig-cell-hovered-column-border-color));
317
+ --ig-cell-synced-column-border: var(--ig-cell-synced-column-border-width) var(--ig-cell-synced-column-border-style) var(--ig-cell-synced-column-border-color);
318
+
319
+ /* Cell synced header background and color */
320
+ --ig-cell-synced-header-background: var(--hcg-cell-synced-header-background, var(--ig-cell-hovered-header-background));
321
+ --ig-cell-synced-header-color: var(--hcg-cell-synced-header-color, var(--ig-cell-hovered-header-color));
322
+
323
+ /* Cell synced header border */
324
+ --ig-cell-synced-header-border-width: var(--hcg-cell-synced-header-border-width, var(--ig-cell-hovered-header-border-width));
325
+ --ig-cell-synced-header-border-style: var(--hcg-cell-synced-header-border-style, var(--ig-cell-synced-column-border-style));
326
+ --ig-cell-synced-header-border-color: var(--hcg-cell-synced-header-border-color, var(--ig-cell-synced-column-border-color));
327
+ --ig-cell-synced-header-border: var(--ig-cell-synced-header-border-width) var(--ig-cell-synced-header-border-style) var(--ig-cell-synced-header-border-color);
328
+
329
+ /* Input styles */
330
+ --ig-input-font-weight: var(--hcg-input-font-weight, normal);
331
+ --ig-input-font-size: var(--hcg-input-font-size, 0.9em);
332
+ --ig-input-font-family: var(--hcg-input-font-family, var(--ig-font-family));
333
+ --ig-input-color: var(--hcg-input-color, var(--ig-color));
334
+ --ig-input-font: var(--ig-input-font-weight) var(--ig-input-font-size) var(--ig-input-font-family);
335
+ --ig-input-text-align: var(--hcg-input-text-align, var(--ig-text-align));
336
+ --ig-input-border-radius: var(--hcg-input-border-radius, 0);
337
+ --ig-input-border-width: var(--hcg-input-border-width, 1px);
338
+ --ig-input-border-style: var(--hcg-input-border-style, solid);
339
+ --ig-input-border-color: var(--hcg-input-border-color, var(--ig-color));
340
+ --ig-input-border: var(--ig-input-border-width) var(--ig-input-border-style) var(--ig-input-border-color);
341
+ --ig-input-background: var(--hcg-input-background, var(--highcharts-background-color));
342
+ --ig-input-hover-border-color: var(--hcg-input-hover-border-color, var(--ig-input-border-color));
343
+
344
+ /* Button styles */
345
+ --ig-button-background: var(--hcg-button-background, transparent);
346
+ --ig-button-color: var(--hcg-button-color, var(--ig-default-color));
347
+ --ig-button-padding: var(--hcg-button-padding, 6px);
348
+ --ig-button-border-width: var(--hcg-button-border-width, 1px);
349
+ --ig-button-border-style: var(--hcg-button-border-style, solid);
350
+ --ig-button-border-color: var(--hcg-button-border-color, transparent);
351
+ --ig-button-border-radius: var(--hcg-button-border-radius, var(--ig-input-border-radius));
352
+ --ig-button-border: var(--ig-button-border-width) var(--ig-button-border-style) var(--ig-button-border-color);
353
+ --ig-button-hover-color: var(--hcg-button-hover-color, var(--hcg-button-color, var(--ig-default-background)));
354
+ --ig-button-hover-background: var(--hcg-button-hover-background, var(--ig-default-color));
355
+ --ig-button-hover-border-color: var(--hcg-button-hover-border-color, var(--ig-button-border-color));
356
+
357
+ /* Active buttons for future compability only */
358
+ --ig-button-active-color: var(--ig-button-hover-color);
359
+ --ig-button-active-background: var(--ig-button-hover-background);
360
+ --ig-button-active-border-color: var(--ig-button-hover-border-color);
361
+
362
+ /* Icon styles */
363
+ --ig-icon-color: var(--hcg-icon-color, var(--ig-button-color, var(--ig-default-color)));
364
+ --ig-icon-hover-color: var(--hcg-icon-hover-color, var(--ig-button-hover-color, var(--ig-default-background)));
365
+ --ig-icon-header-hover-color: var(--hcg-icon-header-hover-color, var(--ig-button-hover-color, var(--ig-default-background)));
366
+
367
+ /* Pagination variables */
368
+ --ig-pagination-button-background: var(--hcg-pagination-button-background, var(--ig-button-background));
369
+ --ig-pagination-button-color: var(--hcg-pagination-button-color, var(--ig-button-color));
370
+ --ig-pagination-button-padding: var(--hcg-pagination-button-padding, var(--ig-button-padding));
371
+ --ig-pagination-button-border-width: var(--hcg-pagination-button-border-width, var(--ig-button-border-width));
372
+ --ig-pagination-button-border-style: var(--hcg-pagination-button-border-style, var(--ig-button-border-style));
373
+ --ig-pagination-button-border-color: var(--hcg-pagination-button-border-color, var(--ig-button-border-color));
374
+ --ig-pagination-button-border-radius: var(--hcg-pagination-button-border-radius, var(--ig-button-border-radius));
375
+ --ig-pagination-button-border: var(--ig-pagination-button-border-width) var(--ig-pagination-button-border-style) var(--ig-pagination-button-border-color);
376
+ --ig-pagination-button-hover-background: var(--hcg-pagination-button-hover-background, var(--ig-button-hover-background));
377
+ --ig-pagination-button-hover-color: var(--hcg-pagination-button-hover-color, var(--ig-button-hover-color));
378
+ --ig-pagination-button-hover-border-color: var(--hcg-pagination-button-hover-border-color, var(--ig-button-hover-border-color));
379
+ --ig-pagination-button-active-color: var(--hcg-pagination-button-active-color, var(--hcg-pagination-button-hover-color, var(--ig-button-active-color)));
380
+ --ig-pagination-button-active-background: var(--hcg-pagination-button-active-background, var(--hcg-pagination-button-hover-background, var(--ig-button-active-background)));
381
+ --ig-pagination-button-active-border-color: var(--hcg-pagination-button-active-border-color, var(--hcg-pagination-button-hover-border-color, var(--ig-button-active-border-color)));
382
+ --ig-pagination-icon-color: var(--hcg-pagination-icon-color, var(--ig-pagination-icon-default-color));
383
+
384
+ /* Accessibility */
385
+ --ig-focus-ring-color: var(--hcg-focus-ring-color, var(--ig-color));
386
+ --ig-focus-ring-width: var(--hcg-focus-ring-width, 2px);
387
+ --ig-focus-ring: 0 0 0 var(--ig-focus-ring-width) var(--ig-focus-ring-color);
388
+
389
+ /* CSS helpers */
390
+ --ig-highlight-border-size: var(--hcg-highlight-border-size, 1px);
391
+
392
+ /* Negative colors */
393
+ --ig-negative-border-color: var(--hcg-negative-border-color, var(--ig-negative-default-border-color));
394
+ --ig-negative-border-size: var(--hcg-negative-border-size, var(--ig-highlight-border-size));
395
+ --ig-negative-background: var(--hcg-negative-background, var(--ig-negative-default-background));
396
+ --ig-negative-color: var(--hcg-negative-color, var(--ig-color));
397
+
398
+ /* Neutral colors */
399
+ --ig-neutral-border-color: var(--hcg-neutral-border-color, var(--ig-neutral-default-border-color));
400
+ --ig-neutral-border-size: var(--hcg-neutral-border-size, var(--ig-highlight-border-size));
401
+ --ig-neutral-background: var(--hcg-neutral-background, var(--ig-neutral-default-background));
402
+ --ig-neutral-color: var(--hcg-neutral-color, var(--ig-color));
403
+
404
+ /* Positive colors */
405
+ --ig-positive-border-color: var(--hcg-positive-border-color, var(--ig-positive-default-border-color));
406
+ --ig-positive-border-size: var(--hcg-positive-border-size, var(--ig-highlight-border-size));
407
+ --ig-positive-background: var(--hcg-positive-background, var(--ig-positive-default-background));
408
+ --ig-positive-color: var(--hcg-positive-color, var(--ig-color));
409
+ }
410
+
411
+ /* ==== End Grid Variables ==== */
412
+
413
+ /* Grid container */
414
+ .hcg-container {
415
+ position: relative;
416
+ display: flex;
417
+ flex-direction: column;
418
+ height: 100%;
419
+ overflow: hidden;
420
+ box-sizing: border-box;
421
+ font: var(--ig-font);
422
+ color-scheme: light dark;
423
+ }
424
+
425
+ .highcharts-light .hcg-container {
426
+ color-scheme: light;
427
+ }
428
+
429
+ .highcharts-dark .hcg-container {
430
+ color-scheme: dark;
431
+ }
432
+
433
+ .hcg-container * {
434
+ box-sizing: border-box;
435
+ }
436
+
437
+ .hcg-column {
438
+ width: 0;
439
+ }
440
+
441
+ /* Links */
442
+ .hcg-container a {
443
+ color: var(--ig-link-color);
444
+ text-decoration: var(--ig-link-text-decoration);
445
+ font-weight: var(--ig-link-font-weight);
446
+ }
447
+
448
+ .hcg-container a:hover {
449
+ color: var(--ig-link-hovered-color);
450
+ text-decoration: var(--ig-link-hovered-text-decoration);
451
+ }
452
+
453
+ /* Table */
454
+ .hcg-table {
455
+ width: 100%;
456
+ border-collapse: separate;
457
+ border-spacing: 0;
458
+ overflow: hidden;
459
+ border: var(--ig-border);
460
+ background: var(--ig-background);
461
+ table-layout: fixed;
462
+ border-radius: var(--ig-border-radius);
463
+ flex: 1;
464
+ }
465
+
466
+ .hcg-table.hcg-scrollable-content {
467
+ display: flex;
468
+ flex-direction: column;
469
+ min-height: 0;
470
+ }
471
+
472
+ /* Table Header */
473
+ .hcg-table.hcg-virtualization thead {
474
+ display: block;
475
+ }
476
+
477
+ .hcg-table thead {
478
+ background-color: var(--ig-header-background);
479
+ }
480
+
481
+ .hcg-table thead th {
482
+ position: relative;
483
+ border-right: var(--ig-header-column-border);
484
+ border-bottom: var(--ig-header-row-border);
485
+ background: var(--ig-header-background);
486
+ padding: var(--ig-header-padding);
487
+ color: var(--ig-header-color);
488
+ }
489
+
490
+ .hcg-table thead th .hcg-header-cell-content {
491
+ width: 100%;
492
+ font: var(--ig-header-font);
493
+ text-align: var(--ig-header-text-align);
494
+ display: block;
495
+ overflow: hidden;
496
+ text-overflow: ellipsis;
497
+ margin: 0;
498
+ padding: 0;
499
+ user-select: none; /* Standard syntax */
500
+ -webkit-user-select: none; /* Safari */
501
+ -ms-user-select: none; /* IE 10 and IE 11 */
502
+ }
503
+
504
+ .hcg-table thead th .hcg-header-cell-content span {
505
+ flex: 1;
506
+ overflow: hidden;
507
+ text-overflow: ellipsis;
508
+ }
509
+
510
+ .hcg-resizable-content thead,
511
+ .hcg-resizable-content tbody {
512
+ display: block;
513
+ overflow: hidden;
514
+ width: 100%;
515
+ }
516
+
517
+ .hcg-table thead tr:first-of-type th:first-child {
518
+ border-top-left-radius: var(--ig-border-radius);
519
+ }
520
+
521
+ .hcg-table thead tr:first-of-type th:last-child {
522
+ border-top-right-radius: var(--ig-border-radius);
523
+ }
524
+
525
+ .hcg-table tbody tr:last-of-type td:first-child {
526
+ border-bottom-left-radius: var(--ig-border-radius);
527
+ }
528
+
529
+ .hcg-table tbody tr:last-of-type td:last-child {
530
+ border-bottom-right-radius: var(--ig-border-radius);
531
+ }
532
+
533
+ /* Header cell menu button centered */
534
+ .hcg-header-cell-container.hcg-no-width .hcg-header-cell-menu-icon {
535
+ position: absolute;
536
+ left: 50%;
537
+ top: 50%;
538
+ transform: translate(-50%, -50%);
539
+ }
540
+
541
+ .hcg-header-cell-container.hcg-no-width .hcg-header-cell-content {
542
+ visibility: hidden;
543
+ transition: none;
544
+ }
545
+
546
+ /* Header cell flex container */
547
+ .hcg-header-cell-container {
548
+ display: flex;
549
+ align-items: center;
550
+ justify-content: space-between;
551
+ min-height: 24px;
552
+ width: 100%;
553
+ }
554
+
555
+ .hcg-header-cell-content {
556
+ flex: 1;
557
+ overflow: hidden;
558
+ text-overflow: ellipsis;
559
+ white-space: nowrap;
560
+ transition: all 0.3s ease;
561
+ }
562
+
563
+ /* Generic button styling for Grid */
564
+ .hcg-button {
565
+ background: var(--ig-button-background);
566
+ padding: var(--ig-button-padding);
567
+ border-radius: var(--ig-button-border-radius);
568
+ border: var(--ig-button-border);
569
+ cursor: pointer;
570
+ transition: background-color 0.2s ease, box-shadow 0.2s ease;
571
+ display: inline-flex;
572
+ align-items: center;
573
+ justify-content: center;
574
+ }
575
+
576
+ .hcg-button:hover {
577
+ color: var(--ig-button-hover-color);
578
+ background: var(--ig-button-hover-background);
579
+ }
580
+
581
+ /* Focus/A11Y - keyboard accessibility */
582
+ .hcg-button:focus-visible {
583
+ outline: none;
584
+ background: var(--ig-button-hover-background);
585
+ box-shadow: var(--ig-focus-ring);
586
+ }
587
+
588
+ /* Generic icon styling for Grid */
589
+ .hcg-icon {
590
+ color: var(--ig-icon-color);
591
+ transition: color 0.2s ease;
592
+ flex-shrink: 0;
593
+ }
594
+
595
+ /* Icons automatically inherit color from parent via currentColor */
596
+ .hcg-icon path {
597
+ stroke: currentcolor;
598
+ }
599
+
600
+ .hcg-button:hover .hcg-icon,
601
+ .hcg-button:focus-visible .hcg-icon,
602
+ .hcg-header-cell-icons .hcg-button.highlighted .hcg-icon,
603
+ .hcg-header-cell-icons .hcg-button.active .hcg-icon {
604
+ color: var(--ig-icon-header-hover-color);
605
+ }
606
+
607
+ /* Header cell icons container - generic for all icon types */
608
+ .hcg-header-cell-icons {
609
+ display: flex;
610
+ align-items: center;
611
+ gap: 2px;
612
+ max-width: 0;
613
+ margin-left: 4px;
614
+ opacity: 0;
615
+ cursor: pointer;
616
+ transition: max-width 0.3s ease, margin-left 0.3s ease, opacity 0.3s ease;
617
+ }
618
+
619
+ /* Show icons on header cell hover, focus, or when has active icons */
620
+ .hcg-table thead th:hover .hcg-header-cell-icons,
621
+ .hcg-table thead th:focus-visible .hcg-header-cell-icons,
622
+ .hcg-header-cell-icons:hover,
623
+ .hcg-header-cell-icons:has(.hcg-button:focus-visible),
624
+ .hcg-header-cell-icons:has(.hcg-button.highlighted),
625
+ .hcg-header-cell-icons:has(.hcg-button.active),
626
+ .hcg-header-cell-container.hcg-no-width .hcg-header-cell-icons {
627
+ max-width: 100px;
628
+ opacity: 1;
629
+ }
630
+
631
+ /* Generic icon button styling - applies to all header icons */
632
+ .hcg-header-cell-icons .hcg-button {
633
+ display: flex;
634
+ align-items: center;
635
+ justify-content: center;
636
+ }
637
+
638
+ /* Active icon styling - icons that are in an active state */
639
+ .hcg-header-cell-icons .hcg-button.highlighted {
640
+ background: var(--ig-button-hover-background);
641
+ }
642
+
643
+ /* Active indicator dot - positioned at top right of button */
644
+ .hcg-active-indicator {
645
+ position: absolute;
646
+ top: 2px;
647
+ right: 2px;
648
+ width: 4px;
649
+ height: 4px;
650
+ border-radius: 50%;
651
+ background: var(--ig-icon-header-hover-color, #626bd0);
652
+ pointer-events: none;
653
+ }
654
+
655
+ /* Make button relative for absolute positioning of indicator */
656
+ .hcg-header-cell-icons .hcg-button {
657
+ position: relative;
658
+ }
659
+
660
+ .hcg-resizable-content tr {
661
+ width: 100%;
662
+ }
663
+
664
+ .hcg-table thead th .hcg-column-resizer {
665
+ position: absolute;
666
+ display: flex;
667
+ align-items: center;
668
+ justify-content: center;
669
+ top: 0;
670
+ width: 9px;
671
+ right: -5px;
672
+ height: 100%;
673
+ user-select: none;
674
+ z-index: 10;
675
+ cursor: col-resize;
676
+ }
677
+
678
+ .hcg-column-resizer.hovered::after {
679
+ content: "";
680
+ width: max(3px, calc(var(--ig-header-column-border-width) + 2px));
681
+ height: 100%;
682
+ background: var(--ig-header-color);
683
+ }
684
+
685
+ /* Sorting */
686
+ .hcg-table thead th.hcg-column-sortable {
687
+ cursor: pointer;
688
+ }
689
+
690
+ th.hcg-column-sortable > .hcg-column-sortable-icon {
691
+ right: 10px;
692
+ top: calc(50% - 10px);
693
+ bottom: 50%;
694
+ position: absolute;
695
+ display: none;
696
+ width: 12px;
697
+ height: 12px;
698
+ user-select: none;
699
+ pointer-events: none;
700
+ }
701
+
702
+ .hcg-column-sortable.hcg-column-sorted-asc .hcg-column-sortable-icon,
703
+ .hcg-column-sortable.hcg-column-sorted-desc .hcg-column-sortable-icon {
704
+ display: inline-block;
705
+ }
706
+
707
+ .hcg-column-sortable.hcg-column-sorted-desc .hcg-column-sortable-icon {
708
+ transform: rotate(180deg);
709
+ top: calc(50% - 2px);
710
+ right: 10px;
711
+ }
712
+
713
+ .hcg-container:has(.hcg-no-data) {
714
+ display: flex;
715
+ justify-content: center;
716
+ align-items: center;
717
+ flex-direction: column;
718
+ height: 100%;
719
+ padding: var(--ig-description-padding);
720
+ text-align: var(--ig-description-text-align);
721
+ }
722
+
723
+ /* Table body */
724
+ .hcg-table.hcg-scrollable-content tbody {
725
+ height: 100%;
726
+ overflow: auto;
727
+ min-height: 0;
728
+ flex: 1;
729
+ }
730
+
731
+ .hcg-table.hcg-virtualization tbody {
732
+ display: block;
733
+ position: relative;
734
+ }
735
+
736
+ .hcg-table tbody {
737
+ border-bottom-left-radius: var(--hcg-border-radius);
738
+ border-bottom-right-radius: var(--hcg-border-radius);
739
+ }
740
+
741
+ .hcg-table tbody tr {
742
+ overflow: hidden;
743
+ width: 100%;
744
+ }
745
+
746
+ .hcg-table tbody tr td,
747
+ .hcg-table tbody tr.hcg-mocked-row td {
748
+ border-right: var(--ig-column-border);
749
+ border-bottom: var(--ig-row-border);
750
+ text-align: var(--ig-text-align);
751
+ padding: var(--ig-padding);
752
+ color: var(--ig-color);
753
+ font: var(--ig-font);
754
+ line-height: 1em;
755
+ overflow: hidden;
756
+ }
757
+
758
+ .hcg-table tbody tr.hcg-mocked-row td {
759
+ white-space: nowrap;
760
+ text-overflow: ellipsis;
761
+ }
762
+
763
+ .hcg-table .hcg-last-header-cell-in-row,
764
+ .hcg-table td:last-of-type {
765
+ border-right: none;
766
+ }
767
+
768
+ .hcg-table tr:last-of-type td {
769
+ border-bottom: none;
770
+ }
771
+
772
+ .hcg-table.hcg-scrollable-content tbody tr {
773
+ display: block;
774
+ }
775
+
776
+ .hcg-table.hcg-virtualization tbody tr {
777
+ position: absolute;
778
+ }
779
+
780
+ .hcg-table tbody.hcg-rows-content-nowrap td {
781
+ white-space: nowrap;
782
+ text-overflow: ellipsis;
783
+ }
784
+
785
+ .hcg-table tbody td.hcg-edited-cell {
786
+ padding: 0;
787
+ }
788
+
789
+ .hcg-table tbody td:focus,
790
+ .hcg-table thead th:focus-visible {
791
+ outline: none;
792
+ box-shadow: inset 0 0 0 2px var(--ig-focus-ring);
793
+ }
794
+
795
+ /* Header hovered background and color */
796
+ .hcg-table thead tr th.hcg-column-sortable:hover {
797
+ background: var(--ig-header-hovered-background);
798
+ }
799
+
800
+ .hcg-table thead th.hcg-column-sortable:hover .hcg-header-cell-content {
801
+ color: var(--ig-header-hovered-color);
802
+ }
803
+
804
+ /* Row backgrounds */
805
+ .hcg-table tbody tr td {
806
+ background: var(--ig-row-background);
807
+ position: relative;
808
+ }
809
+
810
+ .hcg-table tbody tr.hcg-row-even td {
811
+ background: var(--ig-row-even-background);
812
+ color: var(--ig-row-even-color);
813
+ }
814
+
815
+ /* Cell hovered and synced shared styles */
816
+ .hcg-table thead th.hcg-hovered-column::before,
817
+ .hcg-table tbody tr:hover td:hover::before,
818
+ .hcg-table tbody tr:hover td::before,
819
+ .hcg-table tbody tr td.hcg-hovered-column::before,
820
+ .hcg-table thead th.hcg-synced-column::before,
821
+ .hcg-table tbody tr.hcg-synced-row td.hcg-synced-cell::before,
822
+ .hcg-table tbody tr.hcg-synced-row td::before,
823
+ .hcg-table tbody tr td.hcg-synced-column::before {
824
+ content: "";
825
+ display: block;
826
+ position: absolute;
827
+ top: 0;
828
+ left: 0;
829
+ bottom: 0;
830
+ right: 0;
831
+ pointer-events: none;
832
+ }
833
+
834
+ /* Cell hovered background and color */
835
+ .hcg-table tbody tr:hover td:hover {
836
+ background: var(--ig-cell-hovered-background);
837
+ color: var(--ig-cell-hovered-color);
838
+ }
839
+
840
+ /* Cell hovered border */
841
+ .hcg-table tbody tr:hover td:hover::before {
842
+ border-top: var(--ig-cell-hovered-vertical-border);
843
+ border-right: var(--ig-cell-hovered-horizontal-border);
844
+ border-bottom: var(--ig-cell-hovered-vertical-border);
845
+ border-left: var(--ig-cell-hovered-horizontal-border);
846
+ }
847
+
848
+ /* Cell hovered background and color */
849
+ .hcg-table tbody tr.hcg-row-even:hover td:hover {
850
+ background: var(--ig-cell-even-hovered-background);
851
+ color: var(--ig-cell-even-hovered-color);
852
+ }
853
+
854
+ /* Cell hovered row background and color */
855
+ .hcg-table tbody tr:hover td {
856
+ background: var(--ig-cell-hovered-row-background);
857
+ color: var(--ig-cell-hovered-row-color);
858
+ }
859
+
860
+ /* Cell hovered row border */
861
+ .hcg-table tbody tr:hover td::before {
862
+ border-top: var(--ig-cell-hovered-row-border);
863
+ border-bottom: var(--ig-cell-hovered-row-border);
864
+ }
865
+
866
+ /* Cell hovered row background and color */
867
+ .hcg-table tbody tr.hcg-row-even:hover td {
868
+ background: var(--ig-cell-hovered-row-even-background);
869
+ color: var(--ig-cell-hovered-row-even-color);
870
+ }
871
+
872
+ /* Cell hovered column background and color */
873
+ .hcg-table tbody tr td.hcg-hovered-column {
874
+ background: var(--ig-cell-hovered-column-background);
875
+ color: var(--ig-cell-hovered-column-color);
876
+ }
877
+
878
+ /* Cell hovered column border */
879
+ .hcg-table tbody tr td.hcg-hovered-column::before {
880
+ border-left: var(--ig-cell-hovered-column-border);
881
+ border-right: var(--ig-cell-hovered-column-border);
882
+ }
883
+
884
+ /* Cell hovered column background and color */
885
+ .hcg-table tbody tr.hcg-row-even td.hcg-hovered-column {
886
+ background: var(--ig-cell-hovered-column-even-background);
887
+ color: var(--ig-cell-hovered-column-even-color);
888
+ }
889
+
890
+ /* Cell hovered header background */
891
+ .hcg-table thead th.hcg-hovered-column {
892
+ background: var(--ig-cell-hovered-header-background);
893
+ }
894
+
895
+ /* Cell hovered header border */
896
+ .hcg-table thead th.hcg-hovered-column::before {
897
+ border-left: var(--ig-cell-hovered-header-border);
898
+ border-right: var(--ig-cell-hovered-header-border);
899
+ }
900
+
901
+ /* Cell hovered header color */
902
+ .hcg-table thead th.hcg-hovered-column .hcg-header-cell-content {
903
+ color: var(--ig-cell-hovered-header-color);
904
+ }
905
+
906
+ /* Cell synced background and color */
907
+ .hcg-table tbody tr.hcg-synced-row td.hcg-synced-column {
908
+ background: var(--ig-cell-synced-background);
909
+ color: var(--ig-cell-synced-color);
910
+ }
911
+
912
+ /* Cell synced border */
913
+ .hcg-table tbody tr.hcg-synced-row td.hcg-synced-column::before {
914
+ border-top: var(--ig-cell-synced-vertical-border);
915
+ border-right: var(--ig-cell-synced-horizontal-border);
916
+ border-bottom: var(--ig-cell-synced-vertical-border);
917
+ border-left: var(--ig-cell-synced-horizontal-border);
918
+ }
919
+
920
+ /* Cell synced background and color */
921
+ .hcg-table tbody tr.hcg-row-even.hcg-synced-row td.hcg-synced-column {
922
+ background: var(--ig-cell-even-synced-background);
923
+ color: var(--ig-cell-even-synced-color);
924
+ }
925
+
926
+ /* Cell synced row background and color */
927
+ .hcg-table tbody tr.hcg-synced-row td {
928
+ background: var(--ig-cell-synced-row-background);
929
+ color: var(--ig-cell-synced-row-color);
930
+ }
931
+
932
+ /* Cell synced row border */
933
+ .hcg-table tbody tr.hcg-synced-row td::before {
934
+ border-top: var(--ig-cell-synced-row-border);
935
+ border-bottom: var(--ig-cell-synced-row-border);
936
+ }
937
+
938
+ /* Cell synced row background and color */
939
+ .hcg-table tbody tr.hcg-row-even.hcg-synced-row td {
940
+ background: var(--ig-cell-synced-row-even-background);
941
+ color: var(--ig-cell-synced-row-even-color);
942
+ }
943
+
944
+ /* Cell synced column background and color */
945
+ .hcg-table tbody tr td.hcg-synced-column {
946
+ background: var(--ig-cell-synced-column-background);
947
+ color: var(--ig-cell-synced-column-color);
948
+ }
949
+
950
+ /* Cell synced column border */
951
+ .hcg-table tbody tr td.hcg-synced-column::before {
952
+ border-left: var(--ig-cell-synced-column-border);
953
+ border-right: var(--ig-cell-synced-column-border);
954
+ }
955
+
956
+ /* Cell synced column background and color */
957
+ .hcg-table tbody tr.hcg-row-even td.hcg-synced-column {
958
+ background: var(--ig-cell-synced-column-even-background);
959
+ color: var(--ig-cell-synced-column-even-color);
960
+ }
961
+
962
+ /* Cell synced header background */
963
+ .hcg-table thead th.hcg-synced-column {
964
+ background: var(--ig-cell-synced-header-background);
965
+ }
966
+
967
+ /* Cell synced header border */
968
+ .hcg-table thead th.hcg-synced-column::before {
969
+ border-left: var(--ig-cell-synced-header-border);
970
+ border-right: var(--ig-cell-synced-header-border);
971
+ }
972
+
973
+ /* Cell synced header color */
974
+ .hcg-table thead th.hcg-synced-column .hcg-header-cell-content {
975
+ color: var(--ig-cell-synced-header-color);
976
+ }
977
+
978
+ .hcg-table td:first-child,
979
+ .hcg-table thead th.hcg-column-first,
980
+ .hcg-table thead tr:first-child th:first-child {
981
+ border-left: none;
982
+ }
983
+
984
+ /* Accessibility */
985
+ .hcg-visually-hidden {
986
+ position: absolute;
987
+ width: 1px;
988
+ height: 1px;
989
+ overflow: hidden;
990
+ white-space: nowrap;
991
+ clip: rect(1px, 1px, 1px, 1px);
992
+ margin-top: -3px;
993
+ opacity: 0.01;
994
+ }
995
+
996
+ /* Caption */
997
+ .hcg-caption {
998
+ color: var(--ig-caption-color);
999
+ font: var(--ig-caption-font);
1000
+ text-align: var(--ig-caption-text-align);
1001
+ padding: var(--ig-caption-padding);
1002
+ }
1003
+
1004
+ .hcg-caption * {
1005
+ font: inherit;
1006
+ margin: 0;
1007
+ }
1008
+
1009
+ /* Description */
1010
+ .hcg-description {
1011
+ color: var(--ig-description-color);
1012
+ font: var(--ig-description-font);
1013
+ text-align: var(--ig-description-text-align);
1014
+ padding: var(--ig-description-padding);
1015
+ }
1016
+
1017
+ /* Credits */
1018
+
1019
+ .hcg-credits,
1020
+ .highcharts-light .hcg-credits {
1021
+ display: block;
1022
+ width: 114px;
1023
+ height: 20px;
1024
+ background-size: contain;
1025
+ background-repeat: no-repeat;
1026
+ background-image:
1027
+ image-set(
1028
+ /* stylelint-disable-next-line function-comma-newline-after */
1029
+ url("https://assets.highcharts.com/grid/logo_light.png") 1x,
1030
+ url("https://assets.highcharts.com/grid/logo_lightx2.png") 2x
1031
+ );
1032
+ }
1033
+
1034
+ @media (prefers-color-scheme: dark) {
1035
+ .hcg-credits {
1036
+ background-image:
1037
+ image-set(
1038
+ /* stylelint-disable-next-line function-comma-newline-after */
1039
+ url("https://assets.highcharts.com/grid/logo_dark.png") 1x,
1040
+ url("https://assets.highcharts.com/grid/logo_darkx2.png") 2x
1041
+ );
1042
+ }
1043
+ }
1044
+
1045
+ .highcharts-dark .hcg-credits {
1046
+ background-image:
1047
+ image-set(
1048
+ /* stylelint-disable-next-line function-comma-newline-after */
1049
+ url("https://assets.highcharts.com/grid/logo_dark.png") 1x,
1050
+ url("https://assets.highcharts.com/grid/logo_darkx2.png") 2x
1051
+ );
1052
+ }
1053
+
1054
+ /* Loader */
1055
+ .hcg-loading-wrapper {
1056
+ display: flex;
1057
+ align-items: center;
1058
+ justify-content: center;
1059
+ position: absolute;
1060
+ width: 100%;
1061
+ height: 100%;
1062
+ gap: 10px;
1063
+ color: var(--ig-loader-color);
1064
+ }
1065
+
1066
+ .hcg-loading-wrapper .hcg-spinner {
1067
+ border-top: 5px solid var(--ig-loader-color);
1068
+ border-radius: 50%;
1069
+ width: 30px;
1070
+ height: 30px;
1071
+ animation: spin 1s linear infinite;
1072
+ }
1073
+
1074
+ @keyframes spin {
1075
+ from {
1076
+ transform: rotate(0deg);
1077
+ }
1078
+
1079
+ to {
1080
+ transform: rotate(360deg);
1081
+ }
1082
+ }
1083
+
1084
+ /* Input elements */
1085
+
1086
+ .hcg-container input,
1087
+ .hcg-container select {
1088
+ font: var(--ig-input-font);
1089
+ text-align: var(--ig-input-text-align);
1090
+ background: var(--ig-input-background);
1091
+ color: var(--ig-input-color);
1092
+ border: var(--ig-input-border);
1093
+ border-radius: var(--ig-input-border-radius);
1094
+ padding: 7px;
1095
+ width: 100%;
1096
+ line-height: 1em;
1097
+ }
1098
+
1099
+ .hcg-container input[type="checkbox"] {
1100
+ appearance: none;
1101
+ width: 20px;
1102
+ height: 20px;
1103
+ cursor: pointer;
1104
+ position: relative;
1105
+ }
1106
+
1107
+ .hcg-container input[type="checkbox"]:checked::before {
1108
+ content: "";
1109
+ position: absolute;
1110
+ inset: 0;
1111
+ margin: 0.05rem;
1112
+ mask: center/contain no-repeat;
1113
+ mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2013l4%204L19%207%27%2F%3E%3C%2Fsvg%3E");
1114
+ background-color: var(--ig-input-color);
1115
+ }
1116
+
1117
+ .hcg-container input:hover,
1118
+ .hcg-container select:hover {
1119
+ border-color: var(--ig-input-hover-border-color);
1120
+ }
1121
+
1122
+ .hcg-container input:disabled,
1123
+ .hcg-container select:disabled,
1124
+ .hcg-container button:disabled {
1125
+ opacity: 0.4;
1126
+ cursor: not-allowed;
1127
+ }
1128
+
1129
+ .hcg-container input::placeholder {
1130
+ color: #767676;
1131
+ }
1132
+
1133
+ .hcg-container input:focus-visible,
1134
+ .hcg-container select:focus-visible {
1135
+ outline: none;
1136
+ border-color: transparent;
1137
+ box-shadow: var(--ig-focus-ring);
1138
+ }
1139
+
1140
+ .hcg-container input.hcg-icon {
1141
+ padding-left: 25px;
1142
+ appearance: none;
1143
+ background-repeat: no-repeat;
1144
+ background-position: left 10px center;
1145
+ }
1146
+
1147
+ .hcg-container input.hcg-icon-search {
1148
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3e%3cpath d='M10.5 10.5L7.50005 7.5M8.5 5C8.5 6.933 6.933 8.5 5 8.5C3.067 8.5 1.5 6.933 1.5 5C1.5 3.067 3.067 1.5 5 1.5C6.933 1.5 8.5 3.067 8.5 5Z' stroke='%23767676' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
1149
+ }
1150
+
1151
+ .hcg-container select {
1152
+ appearance: none;
1153
+ background-image: url("data:image/svg+xml,%3csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3.5 7.5L6 10L8.5 7.5M3.5 4.5L6 2L8.5 4.5' stroke='%23767676' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
1154
+ background-repeat: no-repeat;
1155
+ background-position: right 5px center;
1156
+ white-space: nowrap;
1157
+ text-overflow: ellipsis;
1158
+ }
1159
+
1160
+ /* Filtering */
1161
+
1162
+ .hcg-header-cell:has(.hcg-column-filter-wrapper) {
1163
+ overflow: hidden;
1164
+ }
1165
+
1166
+ .hcg-column-filter-wrapper {
1167
+ width: 100%;
1168
+ display: flex;
1169
+ flex-flow: column;
1170
+ row-gap: 5px;
1171
+ min-width: 50px;
1172
+ }
1173
+
1174
+ .hcg-clear-filter-button {
1175
+ appearance: none;
1176
+ background: none;
1177
+ border: 0;
1178
+ padding: 0;
1179
+ margin: 0;
1180
+ display: inline;
1181
+ vertical-align: baseline;
1182
+ font: inherit;
1183
+ color: var(--ig-color);
1184
+ font-size: 0.625rem;
1185
+ white-space: nowrap;
1186
+ font-weight: normal;
1187
+ align-self: end;
1188
+ }
1189
+
1190
+ .hcg-clear-filter-button:hover {
1191
+ text-decoration: underline;
1192
+ cursor: pointer;
1193
+ }
1194
+
1195
+ .hcg-clear-filter-button:disabled,
1196
+ .hcg-clear-filter-button:disabled:hover {
1197
+ opacity: 0.5;
1198
+ text-decoration: none;
1199
+ cursor: default;
1200
+ }
1201
+
1202
+ /* Pagination */
1203
+
1204
+ /* Footer pagination (tfoot) */
1205
+ .hcg-table tfoot td {
1206
+ border-top: var(--ig-row-border);
1207
+ }
1208
+
1209
+ .hcg-pagination-wrapper {
1210
+ background: var(--ig-pagination-background);
1211
+ padding: var(--ig-pagination-padding);
1212
+ display: grid;
1213
+ grid-template-columns: 1fr auto 1fr;
1214
+ align-items: center;
1215
+ gap: 16px;
1216
+ width: 100%;
1217
+ }
1218
+
1219
+ /* Pagination button styling - unified approach */
1220
+ .hcg-pagination-wrapper button,
1221
+ .hcg-pagination-wrapper .hcg-pagination-ellipsis {
1222
+ color: var(--ig-pagination-button-color);
1223
+ background: var(--ig-pagination-button-background);
1224
+ border: var(--ig-pagination-button-border);
1225
+ padding: var(--ig-pagination-button-padding);
1226
+ border-radius: var(--ig-pagination-button-border-radius);
1227
+ font: var(--ig-input-font);
1228
+ display: flex;
1229
+ align-items: center;
1230
+ justify-content: center;
1231
+ min-width: 30px;
1232
+ min-height: 30px;
1233
+ transition: all 0.2s ease;
1234
+ cursor: pointer;
1235
+ }
1236
+
1237
+ .hcg-pagination-wrapper .hcg-pagination-ellipsis {
1238
+ cursor: default;
1239
+ border-color: transparent;
1240
+ }
1241
+
1242
+ /* SVG icon styling for pagination buttons */
1243
+ .hcg-pagination-wrapper button svg {
1244
+ color: var(--ig-pagination-icon-color);
1245
+ width: var(--ig-input-font-size);
1246
+ height: var(--ig-input-font-size);
1247
+ display: block;
1248
+ }
1249
+
1250
+ .hcg-pagination-wrapper button svg path {
1251
+ stroke: currentcolor;
1252
+ }
1253
+
1254
+ /* Fix horizontal layout for pagination pages */
1255
+
1256
+ .hcg-pagination-wrapper div.hcg-pagination-page {
1257
+ margin-right: 12px;
1258
+ margin-left: 12px;
1259
+ display: inline-flex;
1260
+ align-items: center;
1261
+ justify-content: center;
1262
+ gap: 4px;
1263
+ }
1264
+
1265
+ /* Pagination info text */
1266
+ .hcg-pagination-wrapper .hcg-pagination-info {
1267
+ white-space: nowrap;
1268
+ align-items: center;
1269
+ display: inline-flex;
1270
+ }
1271
+
1272
+ /* Pagination controls - horizontal layout */
1273
+ .hcg-pagination-wrapper .hcg-pagination-controls {
1274
+ display: flex;
1275
+ align-items: center;
1276
+ gap: 2px;
1277
+ flex-wrap: nowrap;
1278
+ }
1279
+
1280
+ /* Hover state - only border change */
1281
+ .hcg-pagination-wrapper button:hover:not(:is(:disabled, .hcg-pagination-page-active)) {
1282
+ color: var(--ig-pagination-button-hover-color);
1283
+ background: var(--ig-pagination-button-hover-background);
1284
+ border-color: var(--ig-pagination-button-hover-border-color);
1285
+ outline: none;
1286
+ }
1287
+
1288
+ .hcg-pagination-wrapper button:focus-visible:not(:disabled) {
1289
+ outline: none;
1290
+ border-color: transparent;
1291
+ box-shadow: var(--ig-focus-ring);
1292
+ }
1293
+
1294
+ /* Disabled state */
1295
+
1296
+ .hcg-pagination-wrapper .hcg-pagination-page-active {
1297
+ color: var(--ig-pagination-button-active-color);
1298
+ background: var(--ig-pagination-button-active-background);
1299
+ border-color: var(--ig-pagination-button-active-border-color);
1300
+ }
1301
+
1302
+ /* Page size selector */
1303
+ .hcg-pagination-wrapper .hcg-pagination-page-size-container {
1304
+ text-align: right;
1305
+ }
1306
+
1307
+ .hcg-pagination-wrapper select {
1308
+ min-height: 30px;
1309
+ }
1310
+
1311
+ .hcg-pagination-wrapper .hcg-pagination-page-size-select {
1312
+ width: 60px;
1313
+ margin-left: 8px;
1314
+ }
1315
+
1316
+ /* Mobile page selector - hidden by default */
1317
+ .hcg-pagination-wrapper .hcg-pagination-mobile-selector {
1318
+ display: none;
1319
+ margin-left: 0;
1320
+ min-width: 200px;
1321
+ text-align: center;
1322
+ }
1323
+
1324
+ /* Mobile page size selector - hidden by default */
1325
+ .hcg-pagination-wrapper .hcg-pagination-mobile-page-size-selector {
1326
+ width: 150px;
1327
+ display: none;
1328
+ }
1329
+
1330
+ @media (max-width: 1024px) {
1331
+ .hcg-pagination-wrapper {
1332
+ display: flex;
1333
+ flex-direction: column;
1334
+ gap: 20px;
1335
+ align-items: center;
1336
+ width: 100%;
1337
+ margin-bottom: 20px;
1338
+ }
1339
+
1340
+ /* Show mobile selectors on mobile */
1341
+ .hcg-pagination-wrapper .hcg-pagination-mobile-selector,
1342
+ .hcg-pagination-wrapper .hcg-pagination-mobile-page-size-selector {
1343
+ display: block;
1344
+ }
1345
+
1346
+ .hcg-pagination-wrapper div.hcg-pagination-page,
1347
+ .hcg-pagination-wrapper .hcg-pagination-first,
1348
+ .hcg-pagination-wrapper .hcg-pagination-last,
1349
+ .hcg-pagination-wrapper .hcg-pagination-page-size-container span,
1350
+ .hcg-pagination-wrapper .hcg-pagination-page-size-container .hcg-pagination-page-size-select {
1351
+ display: none;
1352
+ }
1353
+ }
1354
+
1355
+ /* Start Grid CSS Helpers Classes */
1356
+
1357
+ .hcg-table thead tr th.hcg-right .hcg-header-cell-content,
1358
+ .hcg-table tbody tr td.hcg-right {
1359
+ text-align: right;
1360
+ }
1361
+
1362
+ .hcg-table thead tr th.hcg-center .hcg-header-cell-content,
1363
+ .hcg-table tbody tr td.hcg-center {
1364
+ text-align: center;
1365
+ }
1366
+
1367
+ .hcg-table thead tr th.hcg-left .hcg-header-cell-content,
1368
+ .hcg-table tbody tr td.hcg-left {
1369
+ text-align: left;
1370
+ }
1371
+
1372
+ /* End Grid CSS Helpers Classes */
1373
+
1374
+ /* Column header menu */
1375
+
1376
+ .hcg-popup {
1377
+ position: absolute;
1378
+ z-index: 1000;
1379
+ background-color: var(--hcg-popup-background);
1380
+ border: var(--hcg-popup-border);
1381
+ border-radius: 6px;
1382
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08), 0 7px 7px 0 rgba(0, 0, 0, 0.07), 0 17px 10px 0 rgba(0, 0, 0, 0.04), 0 30px 12px 0 rgba(0, 0, 0, 0.01);
1383
+ min-width: 200px;
1384
+ overflow: auto;
1385
+ }
1386
+
1387
+ .hcg-popup-content {
1388
+ padding: 5px;
1389
+ }
1390
+
1391
+ .hcg-menu-header {
1392
+ font-size: 0.75rem;
1393
+ padding: 3px;
1394
+ margin-bottom: 5px;
1395
+ }
1396
+
1397
+ .hcg-menu-header-category {
1398
+ color: var(--ig-color-secondary);
1399
+ opacity: 0.5;
1400
+ user-select: none;
1401
+ }
1402
+
1403
+ .hcg-menu-container {
1404
+ --icon-size: 16px;
1405
+
1406
+ margin: 0;
1407
+ display: flex;
1408
+ flex-direction: column;
1409
+ list-style: none;
1410
+ row-gap: 5px;
1411
+ padding: 0;
1412
+ }
1413
+
1414
+ .hcg-menu-item {
1415
+ display: flex;
1416
+ align-items: center;
1417
+ gap: 2px;
1418
+ width: 100%;
1419
+ min-width: 185px;
1420
+ min-height: 2rem;
1421
+ padding: 8px 8px 8px 12px;
1422
+ font-size: 0.75rem;
1423
+ font-weight: 600;
1424
+ background-color: transparent;
1425
+ border: 1px solid transparent;
1426
+ border-radius: 5px;
1427
+ color: var(--ig-color);
1428
+ }
1429
+
1430
+ .hcg-menu-item:not(:disabled) {
1431
+ cursor: pointer;
1432
+ }
1433
+
1434
+ .hcg-menu-item:focus-visible {
1435
+ outline: none;
1436
+ box-shadow: var(--ig-focus-ring);
1437
+ }
1438
+
1439
+ .hcg-menu-item:focus-visible,
1440
+ .hcg-menu-item:not(:disabled):hover,
1441
+ .hcg-menu-item.highlighted {
1442
+ background-color: var(--hcg-context-menu-item-hover-background);
1443
+ border: var(--hcg-context-menu-item-hover-border);
1444
+ }
1445
+
1446
+ .hcg-menu-item.active,
1447
+ .hcg-menu-item.active:hover,
1448
+ .hcg-menu-item.active.highlighted {
1449
+ background-color: var(--hcg-context-menu-item-active-background);
1450
+ border: var(--hcg-context-menu-item-active-border);
1451
+ }
1452
+
1453
+ .hcg-menu-item-icon {
1454
+ flex: 0 0 var(--icon-size);
1455
+ width: var(--icon-size);
1456
+ height: var(--icon-size);
1457
+ display: inline-flex;
1458
+ align-items: center;
1459
+ justify-content: center;
1460
+ opacity: 0.6;
1461
+ }
1462
+
1463
+ .hcg-menu-item.active .hcg-menu-item-icon,
1464
+ .hcg-menu-item.highlighted .hcg-menu-item-icon,
1465
+ .hcg-menu-item:not(:disabled):hover .hcg-menu-item-icon {
1466
+ opacity: 1;
1467
+ }
1468
+
1469
+ .hcg-menu-item-icon .hcg-icon {
1470
+ color: var(--ig-icon-hover-color);
1471
+ }
1472
+
1473
+ .hcg-menu-item-label {
1474
+ flex: 1 1 auto;
1475
+ min-width: 0;
1476
+ text-align: left;
1477
+ padding-left: 0.75rem;
1478
+ }
1479
+
1480
+ .hcg-menu-divider {
1481
+ border-top: 1px solid var(--hcg-popup-border-color);
1482
+ height: 0;
1483
+ }
1484
+
1485
+ /* Start Grid Default Theme */
1486
+ .hcg-theme-default,
1487
+ .highcharts-light .hcg-theme-default {
1488
+ /* Primary colors */
1489
+ --hcg-color: var(--highcharts-neutral-color-100);
1490
+ --hcg-background: var(--highcharts-background-color);
1491
+ --hcg-border-radius: 5px;
1492
+ --hcg-border-width: 1px;
1493
+ --hcg-caption-font-size: 18px;
1494
+ --hcg-font-size: 15px;
1495
+ --hcg-header-vertical-padding: 10px;
1496
+ --hcg-padding: 15px;
1497
+ --hcg-input-border-radius: 6px;
1498
+ --hcg-input-border-color: #d1d1d1;
1499
+ --hcg-input-hover-border-color: #9d9d9d;
1500
+ --hcg-focus-ring-color: #626bd0;
1501
+ --hcg-button-hover-background: #e8e8e8;
1502
+ --hcg-button-color: #141414;
1503
+ --hcg-button-hover-color: #141414;
1504
+ --hcg-pagination-vertical-padding: 10px;
1505
+ --hcg-pagination-button-active-background: #000000;
1506
+ --hcg-pagination-button-active-color: #ffffff;
1507
+ --hcg-icon-color: #626262;
1508
+ --hcg-icon-hover-color: #141414;
1509
+ }
1510
+
1511
+ @media (prefers-color-scheme: dark) {
1512
+ .hcg-theme-default {
1513
+ --hcg-color: var(--highcharts-neutral-color-100);
1514
+ --hcg-background: var(--highcharts-background-color);
1515
+ --hcg-input-border-color: #4f4f4f;
1516
+ --hcg-input-hover-border-color: #646464;
1517
+ --hcg-button-hover-background: #3b3b3b;
1518
+ --hcg-button-color: #ffffff;
1519
+ --hcg-button-hover-color: #ffffff;
1520
+ --hcg-pagination-button-active-background: #ffffff;
1521
+ --hcg-pagination-button-active-color: #000000;
1522
+ --hcg-icon-hover-color: #ffffff;
1523
+ }
1524
+ }
1525
+
1526
+ .highcharts-dark .hcg-theme-default {
1527
+ --hcg-color: var(--highcharts-neutral-color-100);
1528
+ --hcg-background: var(--highcharts-background-color);
1529
+ --hcg-input-border-color: #4f4f4f;
1530
+ --hcg-input-hover-border-color: #646464;
1531
+ --hcg-button-hover-background: #3b3b3b;
1532
+ --hcg-button-color: #ffffff;
1533
+ --hcg-button-hover-color: #ffffff;
1534
+ --hcg-pagination-button-active-background: #ffffff;
1535
+ --hcg-pagination-button-active-color: #000000;
1536
+ --hcg-icon-hover-color: #ffffff;
1537
+ }
1538
+
1539
+ .hcg-theme-default {
1540
+ --hcg-border-color: var(--highcharts-neutral-color-20, color-mix(in srgb, var(--hcg-color, #000000) 10%, var(--hcg-background, #ffffff)));
1541
+ --hcg-cell-hovered-row-background: var(--ig-highlight-color-5, color-mix(in srgb, var(--hcg-color, #000000) 3%, var(--hcg-background, #ffffff)));
1542
+ --hcg-row-even-background: var(--highcharts-neutral-color-3, color-mix(in srgb, var(--hcg-color, #000000) 2%, var(--hcg-background, #ffffff)));
1543
+ }
1544
+
1545
+ /* End Grid Default Theme */
1546
+
1547
+
1548
+ /* Grid Pro specific styles */
1549
+
1550
+ .hcg-container {
1551
+ /* Credits fonts */
1552
+ --ig-credits-font-weight: var(--hcg-credits-font-weight, var(--ig-font-weight));
1553
+ --ig-credits-font-size: var(--hcg-credits-font-size, 0.9em);
1554
+ --ig-credits-font-family: var(--hcg-credits-font-family, var(--ig-font-family));
1555
+ --ig-credits-color: var(--hcg-credits-color, var(--ig-color));
1556
+ --ig-credits-font: var(--ig-credits-font-weight) var(--ig-credits-font-size) var(--ig-credits-font-family);
1557
+ --ig-credits-text-align: var(--hcg-credits-text-align, right);
1558
+
1559
+ /* Credits padding */
1560
+ --ig-credits-horizontal-padding: var(--hcg-credits-horizontal-padding, var(--hcg-credits-padding, 5px));
1561
+ --ig-credits-vertical-padding: var(--hcg-credits-vertical-padding, var(--hcg-credits-padding, 5px));
1562
+ --ig-credits-padding:
1563
+ var(--ig-credits-vertical-padding)
1564
+ var(--ig-credits-horizontal-padding)
1565
+ 0
1566
+ var(--ig-credits-horizontal-padding);
1567
+
1568
+ /* CSS helpers */
1569
+ --ig-highlight-border-size: var(--hcg-highlight-border-size, 1px);
1570
+
1571
+ /* Negative colors */
1572
+ --ig-negative-border-size: var(--hcg-negative-border-size, var(--ig-highlight-border-size));
1573
+
1574
+ /* Neutral colors */
1575
+ --ig-neutral-border-size: var(--hcg-neutral-border-size, var(--ig-highlight-border-size));
1576
+
1577
+ /* Positive colors */
1578
+ --ig-positive-border-size: var(--hcg-positive-border-size, var(--ig-highlight-border-size));
1579
+
1580
+ /* Notification fonts */
1581
+ --ig-notification-font-weight: var(--hcg-notification-font-weight, var(--ig-font-weight));
1582
+ --ig-notification-font-size: var(--hcg-notification-font-size, var(--ig-font-size));
1583
+ --ig-notification-font-family:
1584
+ var(
1585
+ --hcg-notification-font-family,
1586
+ var(--ig-font-family)
1587
+ );
1588
+ --ig-notification-color: var(--hcg-notification-color, var(--ig-color));
1589
+ --ig-notification-font:
1590
+ var(--ig-notification-font-weight)
1591
+ var(--ig-notification-font-size)
1592
+ var(--ig-notification-font-family);
1593
+ --ig-notification-text-align:
1594
+ var(
1595
+ --hcg-notification-text-align,
1596
+ var(--ig-text-align)
1597
+ );
1598
+
1599
+ /* Notification padding */
1600
+ --ig-notification-horizontal-padding:
1601
+ var(
1602
+ --hcg-notification-horizontal-padding,
1603
+ var(--hcg-notification-padding, var(--ig-horizontal-padding))
1604
+ );
1605
+ --ig-notification-vertical-padding:
1606
+ var(
1607
+ --hcg-notification-vertical-padding,
1608
+ var(
1609
+ --hcg-notification-padding,
1610
+ var(--ig-vertical-padding)
1611
+ )
1612
+ );
1613
+ --ig-notification-padding: var(--ig-notification-vertical-padding) var(--ig-notification-horizontal-padding);
1614
+
1615
+ /* Notification border */
1616
+ --ig-notification-border-radius: var(--hcg-notification-border-radius, var(--ig-border-radius));
1617
+ --ig-notification-border-width: var(--hcg-notification-border-width, 1px);
1618
+ --ig-notification-border-style: var(--hcg-notification-border-style, solid);
1619
+ --ig-notification-border-color: var(--hcg-notification-border-color, var(--ig-color));
1620
+ --ig-notification-border:
1621
+ var(
1622
+ --ig-notification-border-width
1623
+ ) var(--ig-notification-border-style) var(--ig-notification-border-color);
1624
+ }
1625
+
1626
+ .hcg-no-padding {
1627
+ padding: 0 !important;
1628
+ }
1629
+
1630
+ .hcg-table tbody td.hcg-edited-cell {
1631
+ padding: 0;
1632
+ }
1633
+
1634
+ .hcg-cell-editing-container {
1635
+ position: absolute;
1636
+ top: 0;
1637
+ right: 0;
1638
+ bottom: 0;
1639
+ left: 0;
1640
+ padding: inherit;
1641
+ z-index: 1;
1642
+ background: #dbeaff;
1643
+ color: #141414;
1644
+ box-shadow: inset var(--ig-focus-ring);
1645
+ display: flex;
1646
+ align-items: center;
1647
+ justify-content: center;
1648
+ }
1649
+
1650
+ .hcg-cell-editing-container:has(input[type="checkbox"]) {
1651
+ padding: var(--ig-padding);
1652
+ }
1653
+
1654
+ .hcg-table tbody td.hcg-edited-cell input:not([type="checkbox"]),
1655
+ .hcg-table tbody td.hcg-edited-cell select {
1656
+ border-width: 0;
1657
+ position: absolute;
1658
+ top: 0;
1659
+ right: 0;
1660
+ bottom: 0;
1661
+ left: 0;
1662
+ outline: none;
1663
+ float: left;
1664
+ font: var(--ig-font);
1665
+ background: transparent;
1666
+ color: unset;
1667
+ padding: var(--ig-padding);
1668
+ max-height: unset;
1669
+ height: unset;
1670
+ border-radius: unset;
1671
+ line-height: inherit;
1672
+ }
1673
+
1674
+ .hcg-table tbody td.hcg-edited-cell-error input,
1675
+ .hcg-table tbody td.hcg-edited-cell-error select {
1676
+ color: var(--ig-color);
1677
+ box-shadow: inset 0 0 0 var(--ig-focus-ring-width) var(--ig-negative-border-color) !important;
1678
+ background-color: var(--ig-negative-background) !important;
1679
+ }
1680
+
1681
+ /* Grid Pro Credits Pro styles */
1682
+ .hcg-credits-container.hcg-credits-pro {
1683
+ text-align: var(--ig-credits-text-align);
1684
+ padding: var(--ig-credits-padding);
1685
+ }
1686
+
1687
+ .hcg-credits-container.hcg-credits-pro .hcg-credits {
1688
+ color: var(--ig-credits-color);
1689
+ font: var(--ig-credits-font);
1690
+ text-decoration: none;
1691
+ display: inline-block;
1692
+ }
1693
+
1694
+ /*
1695
+ * When custom credits text is provided in Grid Pro, the anchor element
1696
+ * is no longer empty. In that case, hide the default logo background
1697
+ * coming from Grid Lite and let the text be visible instead.
1698
+ */
1699
+ .hcg-credits-container.hcg-credits-pro .hcg-credits:not(:empty) {
1700
+ background-image: none;
1701
+
1702
+ /* Allow text to size naturally instead of the fixed logo size */
1703
+ width: auto;
1704
+ height: auto;
1705
+ }
1706
+
1707
+ /* Notification container */
1708
+ .hcg-notification {
1709
+ position: absolute;
1710
+ left: 0;
1711
+ top: 0;
1712
+ margin: 10px;
1713
+ width: calc(100% - 20px);
1714
+ display: none;
1715
+ padding: var(--ig-notification-padding);
1716
+ font: var(--ig-notification-font);
1717
+ background: var(--ig-background);
1718
+ border-radius: var(--ig-notification-border-radius);
1719
+ border: var(--ig-notification-border);
1720
+ box-shadow: 0 0 15px 1px #00000030;
1721
+ }
1722
+
1723
+ /* Notification states */
1724
+ .hcg-notification-error {
1725
+ color: var(--ig-negative-color);
1726
+ background: var(--ig-negative-background);
1727
+ border-color: var(--ig-negative-border-color);
1728
+ }
1729
+
1730
+ .hcg-notification-warning {
1731
+ color: var(--ig-neutral-color);
1732
+ background: var(--ig-neutral-background);
1733
+ border-color: var(--ig-neutral-border-color);
1734
+ }
1735
+
1736
+ .hcg-notification-success {
1737
+ color: var(--ig-positive-color);
1738
+ background: var(--ig-positive-background);
1739
+ border-color: var(--ig-positive-border-color);
1740
+ }
1741
+
1742
+ /* Notification animation */
1743
+ .hcg-notification-animation {
1744
+ display: block;
1745
+ animation: notification-animation 0.5s;
1746
+ }
1747
+
1748
+ @keyframes notification-animation {
1749
+ 0% {
1750
+ opacity: 0;
1751
+ }
1752
+
1753
+ 100% {
1754
+ opacity: 1;
1755
+ }
1756
+ }