@highcharts/grid-pro 2.1.1 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/LICENSE.txt +6 -0
  2. package/README.md +15 -9
  3. package/css/grid-pro.css +1289 -1153
  4. package/css/modules/grid-base-variables.css +131 -0
  5. package/css/modules/grid-button-variables.css +140 -0
  6. package/css/modules/grid-caption-variables.css +11 -0
  7. package/css/modules/grid-description-variables.css +11 -0
  8. package/css/modules/grid-input-variables.css +114 -0
  9. package/css/modules/grid-link-variables.css +18 -0
  10. package/css/modules/grid-menu-variables.css +50 -0
  11. package/css/modules/grid-pagination-variables.css +12 -0
  12. package/css/modules/grid-popup-variables.css +24 -0
  13. package/css/modules/grid-pro.css +234 -0
  14. package/css/modules/grid-table-variables.css +385 -0
  15. package/css/modules/grid-theme-default.css +55 -0
  16. package/es-modules/Accessibility/A11yI18n.js +4 -5
  17. package/es-modules/Accessibility/Accessibility.js +5 -5
  18. package/es-modules/Accessibility/AccessibilityComponent.d.ts +3 -3
  19. package/es-modules/Accessibility/AccessibilityComponent.js +4 -3
  20. package/es-modules/Accessibility/Components/AnnotationsA11y.js +4 -3
  21. package/es-modules/Accessibility/Components/ContainerComponent.js +4 -3
  22. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -9
  23. package/es-modules/Accessibility/Components/LegendComponent.js +5 -5
  24. package/es-modules/Accessibility/Components/MenuComponent.js +5 -5
  25. package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -7
  26. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -5
  27. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +15 -5
  28. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +7 -7
  29. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +4 -3
  30. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +7 -7
  31. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +5 -5
  32. package/es-modules/Accessibility/Components/ZoomComponent.js +5 -5
  33. package/es-modules/Accessibility/FocusBorder.js +5 -5
  34. package/es-modules/Accessibility/HighContrastMode.js +4 -3
  35. package/es-modules/Accessibility/HighContrastTheme.js +4 -3
  36. package/es-modules/Accessibility/KeyboardNavigation.js +5 -5
  37. package/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
  38. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
  39. package/es-modules/Accessibility/Options/A11yDefaults.js +15 -3
  40. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
  41. package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -5
  42. package/es-modules/Accessibility/Options/LangDefaults.js +13 -3
  43. package/es-modules/Accessibility/ProxyElement.js +6 -8
  44. package/es-modules/Accessibility/ProxyProvider.js +5 -5
  45. package/es-modules/Accessibility/Utils/Announcer.js +6 -6
  46. package/es-modules/Accessibility/Utils/ChartUtilities.js +5 -5
  47. package/es-modules/Accessibility/Utils/DOMElementProvider.js +4 -3
  48. package/es-modules/Accessibility/Utils/EventProvider.d.ts +3 -3
  49. package/es-modules/Accessibility/Utils/EventProvider.js +10 -5
  50. package/es-modules/Accessibility/Utils/HTMLUtilities.js +5 -5
  51. package/es-modules/Core/Animation/AnimationOptions.d.ts +42 -0
  52. package/es-modules/Core/Animation/AnimationOptions.js +10 -0
  53. package/es-modules/Core/Animation/AnimationUtilities.js +40 -5
  54. package/es-modules/Core/Animation/Fx.d.ts +1 -130
  55. package/es-modules/Core/Animation/Fx.js +14 -8
  56. package/es-modules/Core/Animation/FxBase.d.ts +1 -0
  57. package/es-modules/Core/Animation/FxBase.js +11 -0
  58. package/es-modules/Core/Callback.d.ts +56 -0
  59. package/es-modules/Core/Callback.js +10 -0
  60. package/es-modules/Core/Chart/Chart.d.ts +659 -400
  61. package/es-modules/Core/Chart/Chart.js +112 -95
  62. package/es-modules/Core/Chart/Chart3D.d.ts +123 -233
  63. package/es-modules/Core/Chart/Chart3D.js +23 -37
  64. package/es-modules/Core/Chart/ChartBase.d.ts +3 -0
  65. package/es-modules/Core/Chart/ChartBase.js +11 -0
  66. package/es-modules/Core/Chart/ChartDefaults.js +18 -12
  67. package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +1 -55
  68. package/es-modules/Core/Chart/ChartNavigationComposition.js +13 -13
  69. package/es-modules/Core/Chart/ChartOptions.d.ts +1225 -0
  70. package/es-modules/Core/Chart/ChartOptions.js +10 -0
  71. package/es-modules/Core/Chart/GanttChart.d.ts +0 -38
  72. package/es-modules/Core/Chart/GanttChart.js +5 -5
  73. package/es-modules/Core/Chart/MapChart.d.ts +9 -4
  74. package/es-modules/Core/Chart/MapChart.js +14 -5
  75. package/es-modules/Core/Chart/StockChart.d.ts +0 -85
  76. package/es-modules/Core/Chart/StockChart.js +35 -18
  77. package/es-modules/Core/Color/Color.d.ts +16 -24
  78. package/es-modules/Core/Color/Color.js +27 -10
  79. package/es-modules/Core/Color/ColorString.d.ts +0 -23
  80. package/es-modules/Core/Color/ColorString.js +11 -0
  81. package/es-modules/Core/Color/ColorType.d.ts +0 -33
  82. package/es-modules/Core/Color/ColorType.js +11 -0
  83. package/es-modules/Core/Color/GradientColor.d.ts +0 -33
  84. package/es-modules/Core/Color/GradientColor.js +11 -0
  85. package/es-modules/Core/Color/Palettes.d.ts +1 -84
  86. package/es-modules/Core/Color/Palettes.js +2 -1
  87. package/es-modules/Core/Defaults.d.ts +6 -0
  88. package/es-modules/Core/Defaults.js +66 -75
  89. package/es-modules/Core/Delaunay.d.ts +52 -0
  90. package/es-modules/Core/Delaunay.js +310 -0
  91. package/es-modules/Core/Foundation.d.ts +1 -19
  92. package/es-modules/Core/Foundation.js +8 -6
  93. package/es-modules/Core/Geometry/CircleObject.d.ts +5 -0
  94. package/es-modules/Core/Geometry/CircleObject.js +10 -0
  95. package/es-modules/Core/Geometry/CircleUtilities.d.ts +1 -189
  96. package/es-modules/Core/Geometry/CircleUtilities.js +18 -17
  97. package/es-modules/Core/Geometry/GeometryObject.d.ts +7 -0
  98. package/es-modules/Core/Geometry/GeometryObject.js +10 -0
  99. package/es-modules/Core/Geometry/GeometryUtilities.d.ts +1 -48
  100. package/es-modules/Core/Geometry/GeometryUtilities.js +9 -7
  101. package/es-modules/Core/Geometry/IntersectionObject.d.ts +7 -0
  102. package/es-modules/Core/Geometry/IntersectionObject.js +10 -0
  103. package/es-modules/Core/Geometry/PolygonClip.d.ts +1 -19
  104. package/es-modules/Core/Geometry/PolygonClip.js +9 -7
  105. package/es-modules/Core/Globals.d.ts +9 -31
  106. package/es-modules/Core/Globals.js +9 -10
  107. package/es-modules/Core/GlobalsBase.d.ts +35 -0
  108. package/es-modules/Core/GlobalsBase.js +11 -0
  109. package/es-modules/Core/HttpUtilities.d.ts +54 -17
  110. package/es-modules/Core/HttpUtilities.js +16 -16
  111. package/es-modules/Core/JSON.d.ts +29 -0
  112. package/es-modules/Core/JSON.js +13 -0
  113. package/es-modules/Core/KeyboardEvent.d.ts +1 -0
  114. package/es-modules/Core/KeyboardEvent.js +11 -0
  115. package/es-modules/Core/MSPointer.d.ts +1 -74
  116. package/es-modules/Core/MSPointer.js +24 -15
  117. package/es-modules/Core/Math3D.d.ts +1 -117
  118. package/es-modules/Core/Math3D.js +14 -12
  119. package/es-modules/Core/Options.d.ts +338 -0
  120. package/es-modules/Core/Options.js +10 -0
  121. package/es-modules/Core/Pointer.d.ts +71 -445
  122. package/es-modules/Core/Pointer.js +74 -69
  123. package/es-modules/Core/PointerEvent.d.ts +20 -0
  124. package/es-modules/Core/PointerEvent.js +11 -0
  125. package/es-modules/Core/Renderer/AlignObject.d.ts +25 -27
  126. package/es-modules/Core/Renderer/AlignObject.js +11 -0
  127. package/es-modules/Core/Renderer/BBoxObject.d.ts +20 -31
  128. package/es-modules/Core/Renderer/BBoxObject.js +11 -0
  129. package/es-modules/Core/Renderer/CSSObject.d.ts +268 -59
  130. package/es-modules/Core/Renderer/CSSObject.js +10 -0
  131. package/es-modules/Core/Renderer/DOMElementType.d.ts +1 -33
  132. package/es-modules/Core/Renderer/DOMElementType.js +11 -0
  133. package/es-modules/Core/Renderer/DashStyleValue.d.ts +1 -27
  134. package/es-modules/Core/Renderer/DashStyleValue.js +11 -0
  135. package/es-modules/Core/Renderer/FontMetricsObject.d.ts +6 -26
  136. package/es-modules/Core/Renderer/FontMetricsObject.js +11 -0
  137. package/es-modules/Core/Renderer/HTML/AST.d.ts +3 -15
  138. package/es-modules/Core/Renderer/HTML/AST.js +24 -15
  139. package/es-modules/Core/Renderer/HTML/HTMLAttributes.d.ts +1 -25
  140. package/es-modules/Core/Renderer/HTML/HTMLAttributes.js +11 -0
  141. package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +0 -54
  142. package/es-modules/Core/Renderer/HTML/HTMLElement.js +28 -24
  143. package/es-modules/Core/Renderer/PolygonBoxObject.d.ts +15 -12
  144. package/es-modules/Core/Renderer/PolygonBoxObject.js +11 -0
  145. package/es-modules/Core/Renderer/Position3DObject.d.ts +6 -30
  146. package/es-modules/Core/Renderer/Position3DObject.js +11 -0
  147. package/es-modules/Core/Renderer/PositionObject.d.ts +9 -23
  148. package/es-modules/Core/Renderer/PositionObject.js +11 -0
  149. package/es-modules/Core/Renderer/RectangleObject.d.ts +6 -30
  150. package/es-modules/Core/Renderer/RectangleObject.js +11 -0
  151. package/es-modules/Core/Renderer/RendererRegistry.d.ts +1 -29
  152. package/es-modules/Core/Renderer/RendererRegistry.js +6 -3
  153. package/es-modules/Core/Renderer/RendererType.d.ts +1 -53
  154. package/es-modules/Core/Renderer/RendererType.js +11 -0
  155. package/es-modules/Core/Renderer/RendererUtilities.d.ts +1 -26
  156. package/es-modules/Core/Renderer/RendererUtilities.js +41 -23
  157. package/es-modules/Core/Renderer/SVG/ButtonThemeObject.d.ts +26 -31
  158. package/es-modules/Core/Renderer/SVG/SVGArc3D.d.ts +1 -44
  159. package/es-modules/Core/Renderer/SVG/SVGAttributes.d.ts +15 -51
  160. package/es-modules/Core/Renderer/SVG/SVGAttributes3D.d.ts +1 -42
  161. package/es-modules/Core/Renderer/SVG/SVGCuboid.d.ts +1 -42
  162. package/es-modules/Core/Renderer/SVG/SVGElement.d.ts +459 -0
  163. package/es-modules/Core/Renderer/SVG/SVGElement3D.d.ts +1 -0
  164. package/es-modules/Core/Renderer/SVG/SVGElementBase.d.ts +0 -23
  165. package/es-modules/Core/Renderer/SVG/SVGLabel.d.ts +14 -0
  166. package/es-modules/Core/Renderer/SVG/SVGPath.d.ts +18 -56
  167. package/es-modules/Core/Renderer/SVG/SVGPath3D.d.ts +0 -30
  168. package/es-modules/Core/Renderer/SVG/SVGRenderer.d.ts +652 -0
  169. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.d.ts +1 -0
  170. package/es-modules/Core/Renderer/SVG/SVGRendererBase.d.ts +0 -24
  171. package/es-modules/Core/Renderer/SVG/SymbolOptions.d.ts +3 -26
  172. package/es-modules/Core/Renderer/SVG/SymbolType.d.ts +1 -41
  173. package/es-modules/Core/Renderer/SVG/Symbols.d.ts +146 -0
  174. package/es-modules/Core/Renderer/SVG/TextBuilder.d.ts +1 -0
  175. package/es-modules/Core/Renderer/ShadowOptionsObject.d.ts +21 -30
  176. package/es-modules/Core/Renderer/ShadowOptionsObject.js +11 -0
  177. package/es-modules/Core/Renderer/SizeObject.d.ts +0 -23
  178. package/es-modules/Core/Renderer/SizeObject.js +11 -0
  179. package/es-modules/Core/Responsive.d.ts +94 -29
  180. package/es-modules/Core/Responsive.js +17 -12
  181. package/es-modules/Core/Templating.d.ts +17 -1
  182. package/es-modules/Core/Templating.js +12 -8
  183. package/es-modules/Core/Time.d.ts +18 -1
  184. package/es-modules/Core/Time.js +6 -5
  185. package/es-modules/Core/Tooltip.d.ts +67 -123
  186. package/es-modules/Core/Tooltip.js +161 -108
  187. package/es-modules/Core/TooltipOptions.d.ts +724 -0
  188. package/es-modules/Core/TooltipOptions.js +10 -0
  189. package/es-modules/Core/Utilities.d.ts +32 -703
  190. package/es-modules/Core/Utilities.js +28 -1443
  191. package/es-modules/Data/ColumnUtils.d.ts +83 -80
  192. package/es-modules/Data/ColumnUtils.js +106 -116
  193. package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
  194. package/es-modules/Data/Connectors/CSVConnector.js +6 -7
  195. package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +3 -3
  196. package/es-modules/Data/Connectors/DataConnector.d.ts +63 -54
  197. package/es-modules/Data/Connectors/DataConnector.js +67 -56
  198. package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +3 -3
  199. package/es-modules/Data/Connectors/DataConnectorType.d.ts +3 -3
  200. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
  201. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +76 -91
  202. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +7 -5
  203. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
  204. package/es-modules/Data/Connectors/HTMLTableConnector.js +6 -7
  205. package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +3 -3
  206. package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
  207. package/es-modules/Data/Connectors/JSONConnector.js +6 -7
  208. package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +3 -3
  209. package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
  210. package/es-modules/Data/Converters/CSVConverter.js +6 -7
  211. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +5 -5
  212. package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
  213. package/es-modules/Data/Converters/DataConverter.js +29 -56
  214. package/es-modules/Data/Converters/DataConverterType.d.ts +3 -3
  215. package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
  216. package/es-modules/Data/Converters/DataConverterUtils.js +172 -184
  217. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
  218. package/es-modules/Data/Converters/GoogleSheetsConverter.js +6 -6
  219. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +5 -5
  220. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
  221. package/es-modules/Data/Converters/HTMLTableConverter.js +5 -6
  222. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +5 -5
  223. package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
  224. package/es-modules/Data/Converters/JSONConverter.js +9 -9
  225. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +5 -5
  226. package/es-modules/Data/DataCursor.d.ts +65 -70
  227. package/es-modules/Data/DataCursor.js +122 -142
  228. package/es-modules/Data/DataEvent.d.ts +55 -57
  229. package/es-modules/Data/DataEvent.js +3 -3
  230. package/es-modules/Data/DataPool.d.ts +10 -17
  231. package/es-modules/Data/DataPool.js +23 -12
  232. package/es-modules/Data/DataPoolOptions.d.ts +3 -3
  233. package/es-modules/Data/DataTable.d.ts +115 -117
  234. package/es-modules/Data/DataTable.js +67 -33
  235. package/es-modules/Data/DataTableCore.d.ts +11 -11
  236. package/es-modules/Data/DataTableCore.js +7 -7
  237. package/es-modules/Data/DataTableOptions.js +3 -3
  238. package/es-modules/Data/Formula/Formula.js +3 -3
  239. package/es-modules/Data/Formula/FormulaParser.js +4 -5
  240. package/es-modules/Data/Formula/FormulaProcessor.js +4 -5
  241. package/es-modules/Data/Formula/FormulaTypes.js +3 -3
  242. package/es-modules/Data/Formula/Functions/ABS.js +3 -3
  243. package/es-modules/Data/Formula/Functions/AND.js +3 -3
  244. package/es-modules/Data/Formula/Functions/AVERAGE.js +3 -3
  245. package/es-modules/Data/Formula/Functions/AVERAGEA.js +3 -3
  246. package/es-modules/Data/Formula/Functions/COUNT.js +3 -3
  247. package/es-modules/Data/Formula/Functions/COUNTA.js +3 -3
  248. package/es-modules/Data/Formula/Functions/IF.js +3 -3
  249. package/es-modules/Data/Formula/Functions/ISNA.js +3 -3
  250. package/es-modules/Data/Formula/Functions/MAX.js +3 -3
  251. package/es-modules/Data/Formula/Functions/MEDIAN.js +3 -3
  252. package/es-modules/Data/Formula/Functions/MIN.js +3 -3
  253. package/es-modules/Data/Formula/Functions/MOD.js +3 -3
  254. package/es-modules/Data/Formula/Functions/MODE.js +3 -3
  255. package/es-modules/Data/Formula/Functions/NOT.js +3 -3
  256. package/es-modules/Data/Formula/Functions/OR.js +3 -3
  257. package/es-modules/Data/Formula/Functions/PRODUCT.js +3 -3
  258. package/es-modules/Data/Formula/Functions/SUM.js +3 -3
  259. package/es-modules/Data/Formula/Functions/XOR.js +3 -3
  260. package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
  261. package/es-modules/Data/Modifiers/ChainModifier.js +10 -11
  262. package/es-modules/Data/Modifiers/ChainModifierOptions.js +3 -3
  263. package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
  264. package/es-modules/Data/Modifiers/DataModifier.js +34 -56
  265. package/es-modules/Data/Modifiers/DataModifierEvent.js +3 -3
  266. package/es-modules/Data/Modifiers/DataModifierOptions.js +3 -3
  267. package/es-modules/Data/Modifiers/DataModifierType.d.ts +3 -3
  268. package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
  269. package/es-modules/Data/Modifiers/FilterModifier.js +6 -7
  270. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
  271. package/es-modules/Data/Modifiers/FilterModifierOptions.js +3 -3
  272. package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
  273. package/es-modules/Data/Modifiers/InvertModifier.js +6 -7
  274. package/es-modules/Data/Modifiers/InvertModifierOptions.js +3 -3
  275. package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
  276. package/es-modules/Data/Modifiers/MathModifier.js +3 -3
  277. package/es-modules/Data/Modifiers/MathModifierOptions.js +3 -3
  278. package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
  279. package/es-modules/Data/Modifiers/RangeModifier.js +6 -7
  280. package/es-modules/Data/Modifiers/RangeModifierOptions.js +3 -3
  281. package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
  282. package/es-modules/Data/Modifiers/SortModifier.js +35 -10
  283. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +43 -6
  284. package/es-modules/Data/Modifiers/SortModifierOptions.js +3 -3
  285. package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +77 -0
  286. package/es-modules/Grid/Core/Accessibility/A11yOptions.js +4 -3
  287. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +68 -1
  288. package/es-modules/Grid/Core/Accessibility/Accessibility.js +179 -7
  289. package/es-modules/Grid/Core/Credits.js +3 -3
  290. package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
  291. package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
  292. package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
  293. package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
  294. package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
  295. package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
  296. package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
  297. package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
  298. package/es-modules/Grid/Core/Defaults.js +21 -7
  299. package/es-modules/Grid/Core/Globals.d.ts +20 -16
  300. package/es-modules/Grid/Core/Globals.js +13 -11
  301. package/es-modules/Grid/Core/Grid.d.ts +43 -23
  302. package/es-modules/Grid/Core/Grid.js +316 -136
  303. package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
  304. package/es-modules/Grid/Core/GridUtils.js +53 -6
  305. package/es-modules/Grid/Core/Options.d.ts +162 -5
  306. package/es-modules/Grid/Core/Options.js +3 -3
  307. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
  308. package/es-modules/Grid/Core/Pagination/Pagination.js +66 -26
  309. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -40
  310. package/es-modules/Grid/Core/Pagination/PaginationOptions.js +11 -0
  311. package/es-modules/Grid/Core/Querying/FilteringController.js +4 -5
  312. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
  313. package/es-modules/Grid/Core/Querying/PaginationController.js +6 -6
  314. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
  315. package/es-modules/Grid/Core/Querying/QueryingController.js +5 -29
  316. package/es-modules/Grid/Core/Querying/SortingController.d.ts +15 -0
  317. package/es-modules/Grid/Core/Querying/SortingController.js +89 -51
  318. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
  319. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
  320. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
  321. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
  322. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +5 -6
  323. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +3 -3
  324. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +6 -7
  325. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
  326. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +5 -5
  327. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +3 -3
  328. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +29 -3
  329. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +136 -26
  330. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +4 -6
  331. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +94 -3
  332. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +481 -91
  333. package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
  334. package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
  335. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +36 -15
  336. package/es-modules/Grid/Core/Table/Body/TableCell.js +89 -33
  337. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +15 -5
  338. package/es-modules/Grid/Core/Table/Body/TableRow.js +70 -19
  339. package/es-modules/Grid/Core/Table/Cell.d.ts +16 -10
  340. package/es-modules/Grid/Core/Table/Cell.js +41 -6
  341. package/es-modules/Grid/Core/Table/CellContent/CellContent.js +3 -3
  342. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +7 -12
  343. package/es-modules/Grid/Core/Table/Column.d.ts +11 -5
  344. package/es-modules/Grid/Core/Table/Column.js +26 -37
  345. package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +3 -3
  346. package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +3 -3
  347. package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +3 -3
  348. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +12 -11
  349. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +7 -6
  350. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
  351. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +21 -7
  352. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +4 -5
  353. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +4 -5
  354. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +9 -0
  355. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +37 -9
  356. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +5 -4
  357. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +11 -7
  358. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +4 -5
  359. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +4 -5
  360. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +4 -1
  361. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +88 -15
  362. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +8 -3
  363. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +36 -15
  364. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +7 -8
  365. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
  366. package/es-modules/Grid/Core/Table/Header/TableHeader.js +6 -6
  367. package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
  368. package/es-modules/Grid/Core/Table/Row.js +5 -5
  369. package/es-modules/Grid/Core/Table/Table.d.ts +68 -12
  370. package/es-modules/Grid/Core/Table/Table.js +296 -92
  371. package/es-modules/Grid/Core/UI/Button.js +3 -3
  372. package/es-modules/Grid/Core/UI/ContextMenu.js +3 -3
  373. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
  374. package/es-modules/Grid/Core/UI/ContextMenuButton.js +8 -6
  375. package/es-modules/Grid/Core/UI/Popup.js +10 -12
  376. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
  377. package/es-modules/Grid/Core/UI/SvgIcons.js +209 -36
  378. package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
  379. package/es-modules/Grid/Core/UI/Toolbar.js +3 -3
  380. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
  381. package/es-modules/Grid/Core/UI/ToolbarButton.js +11 -29
  382. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +4 -45
  383. package/es-modules/Grid/Pro/CellEditing/CellEditMode.js +16 -0
  384. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +13 -13
  385. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +4 -5
  386. package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +3 -3
  387. package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +3 -3
  388. package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +3 -3
  389. package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +1 -34
  390. package/es-modules/Grid/Pro/CellRendering/CellRendererType.js +15 -0
  391. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
  392. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +7 -5
  393. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
  394. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +3 -3
  395. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +3 -3
  396. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +3 -3
  397. package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +3 -3
  398. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +4 -5
  399. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
  400. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +3 -3
  401. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +7 -5
  402. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +4 -5
  403. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
  404. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +4 -5
  405. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +3 -3
  406. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +4 -5
  407. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +4 -5
  408. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +3 -3
  409. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +4 -5
  410. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +4 -5
  411. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +4 -5
  412. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +4 -4
  413. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +4 -5
  414. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +4 -5
  415. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +4 -5
  416. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +4 -5
  417. package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +10 -1
  418. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +56 -12
  419. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
  420. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +6 -7
  421. package/es-modules/Grid/Pro/Credits/CreditsPro.js +3 -3
  422. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +4 -6
  423. package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
  424. package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
  425. package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
  426. package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
  427. package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
  428. package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
  429. package/es-modules/Grid/Pro/Export/Exporting.js +5 -7
  430. package/es-modules/Grid/Pro/Export/ExportingComposition.js +4 -5
  431. package/es-modules/Grid/Pro/GridEvents.d.ts +1 -0
  432. package/es-modules/Grid/Pro/GridEvents.js +4 -5
  433. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
  434. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +4 -5
  435. package/es-modules/Grid/index.js +3 -3
  436. package/es-modules/Shared/BaseForm.js +4 -5
  437. package/es-modules/Shared/DownloadURL.d.ts +1 -85
  438. package/es-modules/Shared/DownloadURL.js +15 -13
  439. package/es-modules/Shared/LangOptionsCore.d.ts +4 -3
  440. package/es-modules/Shared/TimeBase.d.ts +1 -46
  441. package/es-modules/Shared/TimeBase.js +11 -10
  442. package/es-modules/Shared/Types.d.ts +11 -3
  443. package/es-modules/Shared/Utilities.d.ts +576 -0
  444. package/es-modules/Shared/Utilities.js +1368 -0
  445. package/es-modules/masters/grid-pro.src.d.ts +18 -19
  446. package/es-modules/masters/grid-pro.src.js +24 -9
  447. package/grid-pro.d.ts +18 -19
  448. package/grid-pro.js +6 -5
  449. package/grid-pro.js.map +1 -1
  450. package/grid-pro.src.d.ts +18 -19
  451. package/grid-pro.src.js +8132 -4531
  452. package/package.json +1 -1
  453. package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
  454. package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
  455. package/es-modules/Grid/Pro/highcharts.d.ts +0 -7
package/css/grid-pro.css CHANGED
@@ -1,13 +1,14 @@
1
+ /* SPDX-License-Identifier: LicenseRef-Highcharts */
2
+
1
3
  /**
2
- * @license Highcharts Grid Pro v2.1.1
4
+ * @license Highcharts Grid Pro v2.3.0
3
5
  *
4
6
  * (c) 2009-2025 Highsoft AS
5
7
  *
6
- * License: www.highcharts.com/license
8
+ * A commercial license may be required depending on use.
9
+ * See www.highcharts.com/license
7
10
  */
8
11
 
9
-
10
- /* ==== Start Grid Color Scheme ==== */
11
12
  .hcg-container,
12
13
  .highcharts-light .hcg-container {
13
14
  --ig-default-color: #000000;
@@ -22,15 +23,6 @@
22
23
  --ig-positive-default-border-color: #00a63e;
23
24
  --ig-positive-default-background: #effdf4;
24
25
  --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
26
  }
35
27
 
36
28
  @media (prefers-color-scheme: dark) {
@@ -47,15 +39,6 @@
47
39
  --ig-positive-default-border-color: #1e6f3e;
48
40
  --ig-positive-default-background: #0a3e1a;
49
41
  --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
42
  }
60
43
  }
61
44
 
@@ -72,15 +55,6 @@
72
55
  --ig-positive-default-border-color: #1e6f3e;
73
56
  --ig-positive-default-background: #0a3e1a;
74
57
  --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
58
  }
85
59
 
86
60
  /* ==== End Grid Color Scheme ==== */
@@ -106,11 +80,10 @@
106
80
 
107
81
  /* ==== End Highcharts Variables ==== */
108
82
 
109
- /* stylelint-disable max-line-length */
110
-
111
83
  /* ==== Start Grid Variables ==== */
112
84
  .hcg-container {
113
- /* Fonts */
85
+ --ig-hover-opacity: var(--hcg-hover-opacity, 100%);
86
+ --ig-sync-opacity: var(--hcg-sync-opacity, var(--ig-hover-opacity));
114
87
 
115
88
  /* Global fonts */
116
89
  --ig-default-font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica", "Arial", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
@@ -121,44 +94,6 @@
121
94
  --ig-font: var(--ig-font-weight) var(--ig-font-size) var(--ig-font-family);
122
95
  --ig-text-align: var(--hcg-text-align, left);
123
96
 
124
- /* Link fonts */
125
- --ig-link-color: var(--hcg-link-color, inherit);
126
- --ig-link-text-decoration: var(--hcg-link-text-decoration, underline);
127
- --ig-link-hovered-color: var(--hcg-link-hovered-color, var(--ig-link-color));
128
- --ig-link-hovered-text-decoration: var(--hcg-link-hovered-text-decoration, none);
129
- --ig-link-font-weight: var(--hcg-link-font-weight, inherit);
130
-
131
- /* Header fonts */
132
- --ig-header-font-weight: var(--hcg-header-font-weight, var(--ig-font-weight));
133
- --ig-header-font-size: var(--hcg-header-font-size, var(--ig-font-size));
134
- --ig-header-font-family: var(--hcg-header-font-family, var(--ig-font-family));
135
- --ig-header-color: var(--hcg-header-color, var(--ig-color));
136
- --ig-header-font: var(--ig-header-font-weight) var(--ig-header-font-size) var(--ig-header-font-family);
137
- --ig-header-text-align: var(--hcg-header-text-align, var(--ig-text-align));
138
-
139
- /* Caption fonts */
140
- --ig-caption-font-weight: var(--hcg-caption-font-weight, var(--ig-font-weight));
141
- --ig-caption-font-size: var(--hcg-caption-font-size, var(--ig-font-size));
142
- --ig-caption-font-family: var(--hcg-caption-font-family, var(--ig-font-family));
143
- --ig-caption-color: var(--hcg-caption-color, var(--ig-color));
144
- --ig-caption-font: var(--ig-caption-font-weight) var(--ig-caption-font-size) var(--ig-caption-font-family);
145
- --ig-caption-text-align: var(--hcg-caption-text-align, var(--ig-text-align));
146
-
147
- /* Description fonts */
148
- --ig-description-font-weight: var(--hcg-description-font-weight, var(--ig-font-weight));
149
- --ig-description-font-size: var(--hcg-description-font-size, var(--ig-font-size));
150
- --ig-description-font-family: var(--hcg-description-font-family, var(--ig-font-family));
151
- --ig-description-color: var(--hcg-description-color, var(--ig-color));
152
- --ig-description-font: var(--ig-description-font-weight) var(--ig-description-font-size) var(--ig-description-font-family);
153
- --ig-description-text-align: var(--hcg-description-text-align, var(--ig-text-align));
154
-
155
- /* Pagination fonts */
156
- --ig-pagination-font-weight: var(--hcg-pagination-font-weight, var(--ig-font-weight));
157
- --ig-pagination-font-size: var(--hcg-pagination-font-size, var(--ig-font-size));
158
- --ig-pagination-font-family: var(--hcg-pagination-font-family, var(--ig-font-family));
159
- --ig-pagination-color: var(--hcg-pagination-color, var(--ig-color));
160
- --ig-pagination-font: var(--ig-pagination-font-weight) var(--ig-pagination-font-size) var(--ig-pagination-font-family);
161
-
162
97
  /* Default borders */
163
98
  --ig-border-radius: var(--hcg-border-radius, 0);
164
99
  --ig-border-width: var(--hcg-border-width, 0);
@@ -166,228 +101,16 @@
166
101
  --ig-border-color: var(--hcg-border-color, var(--ig-color));
167
102
  --ig-border: var(--ig-border-width) var(--ig-border-style) var(--ig-border-color);
168
103
 
169
- /* Row borders */
170
- --ig-row-border-width: var(--hcg-row-border-width, var(--ig-border-width));
171
- --ig-row-border-style: var(--hcg-row-border-style, var(--ig-border-style));
172
- --ig-row-border-color: var(--hcg-row-border-color, var(--ig-border-color));
173
- --ig-row-border: var(--ig-row-border-width) var(--ig-row-border-style) var(--ig-row-border-color);
174
-
175
- /* Header row borders */
176
- --ig-header-row-border-width: var(--hcg-header-row-border-width, var(--ig-row-border-width));
177
- --ig-header-row-border-style: var(--hcg-header-row-border-style, var(--ig-row-border-style));
178
- --ig-header-row-border-color: var(--hcg-header-row-border-color, var(--ig-row-border-color));
179
- --ig-header-row-border: var(--ig-header-row-border-width) var(--ig-header-row-border-style) var(--ig-header-row-border-color);
180
-
181
- /* Column borders */
182
- --ig-column-border-width: var(--hcg-column-border-width, var(--ig-border-width));
183
- --ig-column-border-style: var(--hcg-column-border-style, var(--ig-border-style));
184
- --ig-column-border-color: var(--hcg-column-border-color, var(--ig-border-color));
185
- --ig-column-border: var(--ig-column-border-width) var(--ig-column-border-style) var(--ig-column-border-color);
186
-
187
- /* Header column borders */
188
- --ig-header-column-border-width: var(--hcg-header-column-border-width, var(--ig-column-border-width));
189
- --ig-header-column-border-style: var(--hcg-header-column-border-style, var(--ig-column-border-style));
190
- --ig-header-column-border-color: var(--hcg-header-column-border-color, var(--ig-column-border-color));
191
- --ig-header-column-border: var(--ig-header-column-border-width) var(--ig-header-column-border-style) var(--ig-header-column-border-color);
192
-
193
104
  /* Default padding */
194
105
  --ig-horizontal-padding: var(--hcg-horizontal-padding, var(--hcg-padding, 0));
195
106
  --ig-vertical-padding: var(--hcg-vertical-padding, var(--hcg-padding, 0));
196
107
  --ig-padding: var(--ig-vertical-padding) var(--ig-horizontal-padding);
197
108
 
198
- /* Header padding */
199
- --ig-header-horizontal-padding: var(--hcg-header-horizontal-padding, var(--hcg-header-padding, var(--ig-horizontal-padding)));
200
- --ig-header-vertical-padding: var(--hcg-header-vertical-padding, var(--hcg-header-padding, var(--ig-vertical-padding)));
201
- --ig-header-padding: var(--ig-header-vertical-padding) var(--ig-header-horizontal-padding) var(--ig-header-vertical-padding) var(--ig-header-horizontal-padding);
202
-
203
- /* Caption padding */
204
- --ig-caption-horizontal-padding: var(--hcg-caption-horizontal-padding, var(--hcg-caption-padding, var(--ig-horizontal-padding)));
205
- --ig-caption-vertical-padding: var(--hcg-caption-vertical-padding, var(--hcg-caption-padding, var(--ig-vertical-padding)));
206
- --ig-caption-padding: 0 var(--ig-caption-horizontal-padding) var(--ig-caption-vertical-padding) var(--ig-caption-horizontal-padding);
207
-
208
- /* Description padding */
209
- --ig-description-horizontal-padding: var(--hcg-description-horizontal-padding, var(--hcg-description-padding, var(--ig-horizontal-padding)));
210
- --ig-description-vertical-padding: var(--hcg-description-vertical-padding, var(--hcg-description-padding, var(--ig-vertical-padding)));
211
- --ig-description-padding: var(--ig-description-vertical-padding) var(--ig-description-horizontal-padding) 0 var(--ig-description-horizontal-padding);
212
-
213
- /* Pagination padding */
214
- --ig-pagination-horizontal-padding: var(--hcg-pagination-horizontal-padding, var(--hcg-pagination-padding, var(--ig-horizontal-padding)));
215
- --ig-pagination-vertical-padding: var(--hcg-pagination-vertical-padding, var(--hcg-pagination-padding, var(--ig-vertical-padding)));
216
- --ig-pagination-padding: var(--ig-pagination-vertical-padding) var(--ig-pagination-horizontal-padding) var(--ig-pagination-vertical-padding) var(--ig-pagination-horizontal-padding);
217
-
218
109
  /* Loading indicator */
219
110
  --ig-loader-color: var(--hcg-loader-color, var(--ig-color));
220
111
 
221
112
  /* Default backgrounds and colors */
222
113
  --ig-background: var(--hcg-background, transparent);
223
- --ig-row-background: var(--hcg-row-background, transparent);
224
- --ig-row-even-background: var(--hcg-row-even-background, var(--ig-row-background));
225
- --ig-header-background: var(--hcg-header-background, var(--ig-row-background));
226
- --ig-pagination-background: var(--hcg-pagination-background, transparent);
227
- --ig-row-even-color: var(--hcg-row-even-color, var(--ig-color));
228
-
229
- /* Cell hovered backgrounds and colors */
230
- --ig-cell-hovered-background: var(--hcg-cell-hovered-background, var(--hcg-cell-hovered-column-background, var(--ig-cell-hovered-row-background)));
231
- --ig-cell-hovered-color: var(--hcg-cell-hovered-color, var(--hcg-cell-hovered-column-color, var(--ig-cell-hovered-row-color, var(--hcg-color))));
232
- --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))));
233
- --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))));
234
-
235
- /* Cell hovered horizontal border */
236
- --ig-cell-hovered-horizontal-border-width: var(--hcg-cell-hovered-border-width, var(--ig-cell-hovered-column-border-width));
237
- --ig-cell-hovered-horizontal-border-style: var(--hcg-cell-hovered-border-style, var(--ig-cell-hovered-column-border-style));
238
- --ig-cell-hovered-horizontal-border-color: var(--hcg-cell-hovered-border-color, var(--ig-cell-hovered-column-border-color));
239
- --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);
240
-
241
- /* Cell hovered vertical border */
242
- --ig-cell-hovered-vertical-border-width: var(--hcg-cell-hovered-border-width, var(--ig-cell-hovered-row-border-width));
243
- --ig-cell-hovered-vertical-border-style: var(--hcg-cell-hovered-border-style, var(--ig-cell-hovered-row-border-style));
244
- --ig-cell-hovered-vertical-border-color: var(--hcg-cell-hovered-border-color, var(--ig-cell-hovered-row-border-color));
245
- --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);
246
-
247
- /* Cell hovered row backgrounds and colors */
248
- --ig-cell-hovered-row-background: var(--hcg-cell-hovered-row-background, var(--ig-row-background));
249
- --ig-cell-hovered-row-color: var(--hcg-cell-hovered-row-color, var(--ig-color));
250
- --ig-cell-hovered-row-even-background: var(--hcg-cell-hovered-row-even-background, var(--hcg-cell-hovered-row-background, var(--ig-row-even-background)));
251
- --ig-cell-hovered-row-even-color: var(--hcg-cell-hovered-row-even-color, var(--hcg-cell-hovered-row-color, var(--ig-row-even-color)));
252
-
253
- /* Cell hovered row border */
254
- --ig-cell-hovered-row-border-width: var(--hcg-cell-hovered-row-border-width, 0);
255
- --ig-cell-hovered-row-border-style: var(--hcg-cell-hovered-row-border-style, var(--ig-border-style));
256
- --ig-cell-hovered-row-border-color: var(--hcg-cell-hovered-row-border-color, var(--ig-border-color));
257
- --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);
258
-
259
- /* Cell hovered column backgrounds and colors */
260
- --ig-cell-hovered-column-background: var(--hcg-cell-hovered-column-background, var(--ig-row-background));
261
- --ig-cell-hovered-column-color: var(--hcg-cell-hovered-column-color, var(--ig-color));
262
- --ig-cell-hovered-column-even-background: var(--hcg-cell-hovered-column-even-background, var(--hcg-cell-hovered-column-background, var(--ig-row-even-background)));
263
- --ig-cell-hovered-column-even-color: var(--hcg-cell-hovered-column-even-color, var(--hcg-cell-hovered-column-color, var(--ig-row-even-color)));
264
-
265
- /* Cell hovered column border */
266
- --ig-cell-hovered-column-border-width: var(--hcg-cell-hovered-column-border-width, 0);
267
- --ig-cell-hovered-column-border-style: var(--hcg-cell-hovered-column-border-style, var(--ig-border-style));
268
- --ig-cell-hovered-column-border-color: var(--hcg-cell-hovered-column-border-color, var(--ig-border-color));
269
- --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);
270
-
271
- /* Cell hovered header background and color */
272
- --ig-cell-hovered-header-background: var(--hcg-cell-hovered-header-background, var(--ig-header-background));
273
- --ig-cell-hovered-header-color: var(--hcg-cell-hovered-header-color, var(--ig-header-color));
274
-
275
- /* Cell hovered header border */
276
- --ig-cell-hovered-header-border-width: var(--hcg-cell-hovered-header-border-width, 0);
277
- --ig-cell-hovered-header-border-style: var(--hcg-cell-hovered-header-border-style, var(--ig-cell-hovered-column-border-style));
278
- --ig-cell-hovered-header-border-color: var(--hcg-cell-hovered-header-border-color, var(--ig-cell-hovered-column-border-color));
279
- --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);
280
-
281
- /* Header hovered background and color */
282
- --ig-header-hovered-background: var(--hcg-header-hovered-background, var(--ig-header-background));
283
- --ig-header-hovered-color: var(--hcg-header-hovered-color, var(--ig-header-color));
284
-
285
- /* Cell synced backgrounds and colors */
286
- --ig-cell-synced-background: var(--hcg-cell-synced-background, var(--ig-cell-hovered-background));
287
- --ig-cell-synced-color: var(--hcg-cell-synced-color, var(--ig-cell-hovered-color));
288
- --ig-cell-even-synced-background: var(--hcg-cell-synced-even-background, var(--ig-cell-even-hovered-background));
289
- --ig-cell-even-synced-color: var(--hcg-cell-even-synced-color, var(--ig-cell-even-hovered-color));
290
-
291
- /* Cell synced horizontal border */
292
- --ig-cell-synced-horizontal-border-width: var(--hcg-cell-synced-border-width, var(--hcg-cell-hovered-border-width, 0));
293
- --ig-cell-synced-horizontal-border-style: var(--hcg-cell-synced-border-style, var(--hcg-cell-hovered-border-style, var(--ig-border-style)));
294
- --ig-cell-synced-horizontal-border-color: var(--hcg-cell-synced-border-color, var(--hcg-cell-hovered-border-color, var(--ig-border-color)));
295
- --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);
296
-
297
- /* Cell synced vertical border */
298
- --ig-cell-synced-vertical-border-width: var(--hcg-cell-synced-border-width, var(--hcg-cell-hovered-border-width, 0));
299
- --ig-cell-synced-vertical-border-style: var(--hcg-cell-synced-border-style, var(--hcg-cell-hovered-border-style, var(--ig-border-style)));
300
- --ig-cell-synced-vertical-border-color: var(--hcg-cell-synced-border-color, var(--hcg-cell-hovered-border-color, var(--ig-border-color)));
301
- --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);
302
-
303
- /* Cell synced row backgrounds and colors */
304
- --ig-cell-synced-row-background: var(--hcg-cell-synced-row-background, var(--ig-cell-hovered-row-background));
305
- --ig-cell-synced-row-color: var(--hcg-cell-synced-row-color, var(--ig-cell-hovered-row-color));
306
- --ig-cell-synced-row-even-background: var(--hcg-cell-synced-row-even-background, var(--ig-cell-hovered-row-even-background));
307
- --ig-cell-synced-row-even-color: var(--hcg-cell-synced-row-even-color, var(--ig-cell-hovered-row-even-color));
308
-
309
- /* Cell synced row border */
310
- --ig-cell-synced-row-border-width: var(--hcg-cell-synced-row-border-width, var(--ig-cell-hovered-row-border-width));
311
- --ig-cell-synced-row-border-style: var(--hcg-cell-synced-row-border-style, var(--ig-cell-hovered-row-border-style));
312
- --ig-cell-synced-row-border-color: var(--hcg-cell-synced-row-border-color, var(--ig-cell-hovered-row-border-color));
313
- --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);
314
-
315
- /* Cell synced column backgrounds and colors */
316
- --ig-cell-synced-column-background: var(--hcg-cell-synced-column-background, var(--ig-cell-hovered-column-background));
317
- --ig-cell-synced-column-color: var(--hcg-cell-synced-column-color, var(--ig-cell-hovered-column-color));
318
- --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)));
319
- --ig-cell-synced-column-even-color: var(--hcg-cell-synced-column-even-color, var(--ig-cell-hovered-column-even-color));
320
-
321
- /* Cell synced column border */
322
- --ig-cell-synced-column-border-width: var(--hcg-cell-synced-column-border-width, var(--ig-cell-hovered-column-border-width));
323
- --ig-cell-synced-column-border-style: var(--hcg-cell-synced-column-border-style, var(--ig-cell-hovered-column-border-style));
324
- --ig-cell-synced-column-border-color: var(--hcg-cell-synced-column-border-color, var(--ig-cell-hovered-column-border-color));
325
- --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);
326
-
327
- /* Cell synced header background and color */
328
- --ig-cell-synced-header-background: var(--hcg-cell-synced-header-background, var(--ig-cell-hovered-header-background));
329
- --ig-cell-synced-header-color: var(--hcg-cell-synced-header-color, var(--ig-cell-hovered-header-color));
330
-
331
- /* Cell synced header border */
332
- --ig-cell-synced-header-border-width: var(--hcg-cell-synced-header-border-width, var(--ig-cell-hovered-header-border-width));
333
- --ig-cell-synced-header-border-style: var(--hcg-cell-synced-header-border-style, var(--ig-cell-synced-column-border-style));
334
- --ig-cell-synced-header-border-color: var(--hcg-cell-synced-header-border-color, var(--ig-cell-synced-column-border-color));
335
- --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);
336
-
337
- /* Input styles */
338
- --ig-input-font-weight: var(--hcg-input-font-weight, normal);
339
- --ig-input-font-size: var(--hcg-input-font-size, 0.9em);
340
- --ig-input-font-family: var(--hcg-input-font-family, var(--ig-font-family));
341
- --ig-input-color: var(--hcg-input-color, var(--ig-color));
342
- --ig-input-font: var(--ig-input-font-weight) var(--ig-input-font-size) var(--ig-input-font-family);
343
- --ig-input-text-align: var(--hcg-input-text-align, var(--ig-text-align));
344
- --ig-input-border-radius: var(--hcg-input-border-radius, 0);
345
- --ig-input-border-width: var(--hcg-input-border-width, 1px);
346
- --ig-input-border-style: var(--hcg-input-border-style, solid);
347
- --ig-input-border-color: var(--hcg-input-border-color, var(--ig-color));
348
- --ig-input-border: var(--ig-input-border-width) var(--ig-input-border-style) var(--ig-input-border-color);
349
- --ig-input-background: var(--hcg-input-background, var(--highcharts-background-color));
350
- --ig-input-hover-border-color: var(--hcg-input-hover-border-color, var(--ig-input-border-color));
351
-
352
- /* Button styles */
353
- --ig-button-background: var(--hcg-button-background, transparent);
354
- --ig-button-color: var(--hcg-button-color, var(--ig-default-color));
355
- --ig-button-padding: var(--hcg-button-padding, 6px);
356
- --ig-button-border-width: var(--hcg-button-border-width, 1px);
357
- --ig-button-border-style: var(--hcg-button-border-style, solid);
358
- --ig-button-border-color: var(--hcg-button-border-color, transparent);
359
- --ig-button-border-radius: var(--hcg-button-border-radius, var(--ig-input-border-radius));
360
- --ig-button-border: var(--ig-button-border-width) var(--ig-button-border-style) var(--ig-button-border-color);
361
- --ig-button-hover-color: var(--hcg-button-hover-color, var(--hcg-button-color, var(--ig-default-background)));
362
- --ig-button-hover-background: var(--hcg-button-hover-background, var(--ig-default-color));
363
- --ig-button-hover-border-color: var(--hcg-button-hover-border-color, var(--ig-button-border-color));
364
-
365
- /* Selected buttons for future compability only */
366
- --ig-button-selected-color: var(--ig-button-hover-color);
367
- --ig-button-selected-background: var(--ig-button-hover-background);
368
- --ig-button-selected-border-color: var(--ig-button-hover-border-color);
369
-
370
- /* Icon styles */
371
- --ig-icon-color: var(--hcg-icon-color, var(--ig-button-color, var(--ig-default-color)));
372
- --ig-icon-hover-color: var(--hcg-icon-hover-color, var(--ig-button-hover-color, var(--ig-default-background)));
373
- --ig-icon-header-hover-color: var(--hcg-icon-header-hover-color, var(--ig-button-hover-color, var(--ig-default-background)));
374
-
375
- /* Pagination variables */
376
- --ig-pagination-button-background: var(--hcg-pagination-button-background, var(--ig-button-background));
377
- --ig-pagination-button-color: var(--hcg-pagination-button-color, var(--ig-button-color));
378
- --ig-pagination-button-padding: var(--hcg-pagination-button-padding, var(--ig-button-padding));
379
- --ig-pagination-button-border-width: var(--hcg-pagination-button-border-width, var(--ig-button-border-width));
380
- --ig-pagination-button-border-style: var(--hcg-pagination-button-border-style, var(--ig-button-border-style));
381
- --ig-pagination-button-border-color: var(--hcg-pagination-button-border-color, var(--ig-button-border-color));
382
- --ig-pagination-button-border-radius: var(--hcg-pagination-button-border-radius, var(--ig-button-border-radius));
383
- --ig-pagination-button-border: var(--ig-pagination-button-border-width) var(--ig-pagination-button-border-style) var(--ig-pagination-button-border-color);
384
- --ig-pagination-button-hover-background: var(--hcg-pagination-button-hover-background, var(--ig-button-hover-background));
385
- --ig-pagination-button-hover-color: var(--hcg-pagination-button-hover-color, var(--ig-button-hover-color));
386
- --ig-pagination-button-hover-border-color: var(--hcg-pagination-button-hover-border-color, var(--ig-button-hover-border-color));
387
- --ig-pagination-button-selected-color: var(--hcg-pagination-button-selected-color, var(--hcg-pagination-button-hover-color, var(--ig-button-selected-color)));
388
- --ig-pagination-button-selected-background: var(--hcg-pagination-button-selected-background, var(--hcg-pagination-button-hover-background, var(--ig-button-selected-background)));
389
- --ig-pagination-button-selected-border-color: var(--hcg-pagination-button-selected-border-color, var(--hcg-pagination-button-hover-border-color, var(--ig-button-selected-border-color)));
390
- --ig-pagination-icon-color: var(--hcg-pagination-icon-color, var(--ig-pagination-icon-default-color));
391
114
 
392
115
  /* Accessibility */
393
116
  --ig-focus-ring-color: var(--hcg-focus-ring-color, var(--ig-color));
@@ -414,614 +137,1277 @@
414
137
  --ig-positive-border-size: var(--hcg-positive-border-size, var(--ig-highlight-border-size));
415
138
  --ig-positive-background: var(--hcg-positive-background, var(--ig-positive-default-background));
416
139
  --ig-positive-color: var(--hcg-positive-color, var(--ig-color));
417
- }
418
140
 
419
- /* ==== End Grid Variables ==== */
420
-
421
- /* Grid container */
422
- .hcg-container {
423
- container-type: inline-size;
424
- container-name: hcg;
425
- position: relative;
426
- display: flex;
427
- flex-direction: column;
428
- height: 100%;
429
- overflow: hidden;
430
- box-sizing: border-box;
431
141
  font: var(--ig-font);
432
- color-scheme: light dark;
433
142
  }
434
143
 
435
- .highcharts-light .hcg-container {
436
- color-scheme: light;
144
+ .hcg-container .hcg-popup,
145
+ .highcharts-light .hcg-container .hcg-popup {
146
+ --ig-popup-color: var(--hcg-popup-color, var(--ig-default-color));
147
+ --ig-popup-background: var(--hcg-popup-background, #f6f6f6);
148
+ --ig-popup-border-color: var(--hcg-popup-border-color, #e8e8e8);
437
149
  }
438
150
 
439
- .highcharts-dark .hcg-container {
440
- color-scheme: dark;
151
+ @media (prefers-color-scheme: dark) {
152
+ .hcg-container .hcg-popup {
153
+ --ig-popup-background: var(--hcg-popup-background, #272727);
154
+ --ig-popup-border-color: var(--hcg-popup-border-color, #4f4f4f);
155
+ }
441
156
  }
442
157
 
443
- .hcg-container * {
444
- box-sizing: border-box;
158
+ .highcharts-dark .hcg-container .hcg-popup {
159
+ --ig-popup-background: var(--hcg-popup-background, #272727);
160
+ --ig-popup-border-color: var(--hcg-popup-border-color, #4f4f4f);
445
161
  }
446
162
 
447
- .hcg-column {
448
- width: 0;
163
+ .hcg-container .hcg-popup {
164
+ color: var(--ig-popup-color);
165
+ background: var(--ig-popup-background);
166
+ border-color: var(--ig-popup-border-color);
449
167
  }
450
168
 
451
- /* Links */
452
- .hcg-container a {
453
- color: var(--ig-link-color);
454
- text-decoration: var(--ig-link-text-decoration);
455
- font-weight: var(--ig-link-font-weight);
169
+ .hcg-container .hcg-menu-container,
170
+ .highcharts-light .hcg-container .hcg-menu-container {
171
+ --ig-menu-item-hover-background: var(--hcg-menu-item-hover-background, #ffffff);
172
+ --ig-menu-item-hover-border-color: var(--hcg-menu-item-hover-border-color, #e8e8e8);
173
+ --ig-menu-item-active-background: var(--hcg-menu-item-active-background, #e1e3ff);
174
+ --ig-menu-item-active-border-color: var(--hcg-menu-item-active-border-color, #c3c8ff);
175
+ --ig-menu-item-divider-color: var(--hcg-menu-item-divider-color, #e8e8e8);
456
176
  }
457
177
 
458
- .hcg-container a:hover {
459
- color: var(--ig-link-hovered-color);
460
- text-decoration: var(--ig-link-hovered-text-decoration);
178
+ @media (prefers-color-scheme: dark) {
179
+ .hcg-container .hcg-menu-container {
180
+ --ig-menu-item-hover-background: var(--hcg-menu-item-hover-background, #3b3b3b);
181
+ --ig-menu-item-hover-border-color: var(--hcg-menu-item-hover-border-color, #4f4f4f);
182
+ --ig-menu-item-active-background: var(--hcg-menu-item-active-background, #3f4699);
183
+ --ig-menu-item-active-border-color: var(--hcg-menu-item-active-border-color, #4a55c9);
184
+ --ig-menu-item-divider-color: var(--hcg-menu-item-divider-color, #4f4f4f);
185
+ }
461
186
  }
462
187
 
463
- /* Table */
464
- .hcg-table {
465
- width: 100%;
466
- border-collapse: separate;
467
- border-spacing: 0;
468
- overflow: hidden;
469
- border: var(--ig-border);
470
- background: var(--ig-background);
471
- table-layout: fixed;
472
- border-radius: var(--ig-border-radius);
473
- flex: 1;
188
+ .highcharts-dark .hcg-container .hcg-menu-container {
189
+ --ig-menu-item-hover-background: var(--hcg-menu-item-hover-background, #3b3b3b);
190
+ --ig-menu-item-hover-border-color: var(--hcg-menu-item-hover-border-color, #4f4f4f);
191
+ --ig-menu-item-active-background: var(--hcg-menu-item-active-background, #3f4699);
192
+ --ig-menu-item-active-border-color: var(--hcg-menu-item-active-border-color, #4a55c9);
193
+ --ig-menu-item-divider-color: var(--hcg-menu-item-divider-color, #4f4f4f);
474
194
  }
475
195
 
476
- .hcg-table.hcg-scrollable-content {
477
- display: flex;
478
- flex-direction: column;
479
- min-height: 0;
480
- }
196
+ .hcg-container .hcg-menu-container {
197
+ .hcg-menu-item:focus-visible {
198
+ box-shadow: var(--ig-focus-ring);
199
+ }
481
200
 
482
- /* Table Header */
483
- .hcg-table.hcg-virtualization thead {
484
- display: block;
485
- }
201
+ .hcg-menu-item:focus-visible,
202
+ .hcg-menu-item:not(:disabled):hover,
203
+ .hcg-menu-item.highlighted {
204
+ background: var(--ig-menu-item-hover-background);
205
+ border-color: var(--ig-menu-item-hover-border-color);
206
+ }
486
207
 
487
- .hcg-table thead {
488
- background-color: var(--ig-header-background);
489
- }
208
+ .hcg-menu-item.active,
209
+ .hcg-menu-item.active:hover,
210
+ .hcg-menu-item.active.highlighted {
211
+ background: var(--ig-menu-item-active-background);
212
+ border-color: var(--ig-menu-item-active-border-color);
213
+ }
490
214
 
491
- .hcg-table thead th {
492
- position: relative;
493
- border-right: var(--ig-header-column-border);
494
- border-bottom: var(--ig-header-row-border);
495
- background: var(--ig-header-background);
496
- padding: var(--ig-header-padding);
497
- color: var(--ig-header-color);
215
+ .hcg-menu-divider {
216
+ border-top-color: var(--ig-menu-item-divider-color);
217
+ }
498
218
  }
499
219
 
500
- .hcg-table thead th .hcg-header-cell-content {
501
- width: 100%;
502
- font: var(--ig-header-font);
503
- text-align: var(--ig-header-text-align);
504
- display: block;
505
- overflow: hidden;
506
- text-overflow: ellipsis;
507
- margin: 0;
508
- padding: 0;
509
- user-select: none; /* Standard syntax */
510
- -webkit-user-select: none; /* Safari */
511
- -ms-user-select: none; /* IE 10 and IE 11 */
512
- }
220
+ .hcg-container {
221
+ --ig-link-color: var(--hcg-link-color, inherit);
222
+ --ig-link-text-decoration: var(--hcg-link-text-decoration, underline);
223
+ --ig-link-hovered-color: var(--hcg-link-hovered-color, var(--ig-link-color));
224
+ --ig-link-hovered-text-decoration: var(--hcg-link-hovered-text-decoration, none);
225
+ --ig-link-font-weight: var(--hcg-link-font-weight, inherit);
513
226
 
514
- .hcg-table thead th .hcg-header-cell-content span {
515
- flex: 1;
516
- overflow: hidden;
517
- text-overflow: ellipsis;
518
- }
227
+ a {
228
+ color: var(--ig-link-color);
229
+ text-decoration: var(--ig-link-text-decoration);
230
+ font-weight: var(--ig-link-font-weight);
231
+ }
519
232
 
520
- .hcg-resizable-content thead,
521
- .hcg-resizable-content tbody {
522
- display: block;
523
- overflow: hidden;
524
- width: 100%;
233
+ a:hover {
234
+ color: var(--ig-link-hovered-color);
235
+ text-decoration: var(--ig-link-hovered-text-decoration);
236
+ }
525
237
  }
526
238
 
527
- .hcg-table thead tr:first-of-type th:first-child {
528
- border-top-left-radius: var(--ig-border-radius);
529
- }
239
+ .hcg-container {
240
+ /* -------------------------------------------------------------
241
+ Defaults (internal base tokens)
242
+ ------------------------------------------------------------- */
243
+ --ig-input-padding-base: var(--hcg-input-padding, 5px);
244
+ --ig-input-color-base: var(--hcg-input-color, var(--ig-color));
245
+ --ig-input-text-align-base: var(--hcg-input-text-align, var(--ig-text-align));
246
+ --ig-input-border-radius-base: var(--hcg-input-border-radius, 0);
247
+ --ig-input-border-width-base: var(--hcg-input-border-width, 1px);
248
+ --ig-input-border-style-base: var(--hcg-input-border-style, solid);
249
+ --ig-input-border-color-base: var(--hcg-input-border-color, var(--ig-color));
250
+ --ig-input-background-base: var(--hcg-input-background, var(--highcharts-background-color));
251
+ --ig-input-hover-color-base: var(--hcg-input-hover-color, var(--ig-input-color-base));
252
+ --ig-input-hover-background-base: var(--hcg-input-hover-background, var(--ig-input-background-base));
253
+ --ig-input-hover-border-color-base: var(--hcg-input-hover-border-color, var(--ig-input-border-color-base));
254
+
255
+ /* -------------------------------------------------------------
256
+ Public theme overrides (external hcg tokens)
257
+ ------------------------------------------------------------- */
258
+ --ig-input-padding: var(--hcg-input-padding, var(--ig-input-padding-base));
259
+ --ig-input-font-weight: var(--hcg-input-font-weight, inherit);
260
+ --ig-input-font-size: var(--hcg-input-font-size, inherit);
261
+ --ig-input-font-family: var(--hcg-input-font-family, inherit);
262
+ --ig-input-color: var(--hcg-input-color, var(--ig-input-color-base));
263
+ --ig-input-text-align: var(--hcg-input-text-align, var(--ig-input-text-align-base));
264
+ --ig-input-border-radius: var(--hcg-input-border-radius, var(--ig-input-border-radius-base));
265
+ --ig-input-border-width: var(--hcg-input-border-width, var(--ig-input-border-width-base));
266
+ --ig-input-border-style: var(--hcg-input-border-style, var(--ig-input-border-style-base));
267
+ --ig-input-border-color: var(--hcg-input-border-color, var(--ig-input-border-color-base));
268
+ --ig-input-background: var(--hcg-input-background, var(--ig-input-background-base));
269
+ --ig-input-hover-color: var(--hcg-input-hover-color, var(--ig-input-hover-color-base));
270
+ --ig-input-hover-background: var(--hcg-input-hover-background, var(--ig-input-hover-background-base));
271
+ --ig-input-hover-border-color: var(--hcg-input-hover-border-color, var(--ig-input-hover-border-color-base));
272
+ --ig-input-focus-ring: 0 0 0 var(--ig-focus-ring-width) var(--ig-focus-ring-color);
273
+
274
+ thead th {
275
+ --ig-input-padding: var(--hcg-header-input-padding, var(--ig-input-padding-base));
276
+ --ig-input-font-weight: var(--hcg-header-input-font-weight, var(--hcg-input-font-weight, inherit));
277
+ --ig-input-font-size: var(--hcg-header-input-font-size, var(--hcg-input-font-size, inherit));
278
+ --ig-input-font-family: var(--hcg-header-input-font-family, var(--hcg-input-font-family, inherit));
279
+ --ig-input-color: var(--hcg-header-input-color, var(--ig-input-color-base));
280
+ --ig-input-text-align: var(--hcg-header-input-text-align, var(--ig-input-text-align-base));
281
+ --ig-input-border-radius: var(--hcg-header-input-border-radius, var(--ig-input-border-radius-base));
282
+ --ig-input-border-width: var(--hcg-header-input-border-width, var(--ig-input-border-width-base));
283
+ --ig-input-border-style: var(--hcg-header-input-border-style, var(--ig-input-border-style-base));
284
+ --ig-input-border-color: var(--hcg-header-input-border-color, var(--ig-input-border-color-base));
285
+ --ig-input-background: var(--hcg-header-input-background, var(--ig-input-background-base));
286
+ --ig-input-hover-color: var(--hcg-header-input-hover-color, var(--hcg-input-hover-color, var(--hcg-header-input-color, var(--ig-input-color-base))));
287
+ --ig-input-hover-background: var(--hcg-header-input-hover-background, var(--hcg-input-hover-background, var(--hcg-header-input-background, var(--ig-input-background-base))));
288
+ --ig-input-hover-border-color: var(--hcg-header-input-hover-border-color, var(--hcg-input-hover-border-color, var(--hcg-header-input-border-color, var(--ig-input-border-color-base))));
289
+ }
530
290
 
531
- .hcg-table thead tr:first-of-type th:last-child {
532
- border-top-right-radius: var(--ig-border-radius);
533
- }
291
+ tbody td {
292
+ --ig-input-padding: var(--hcg-cell-input-padding, var(--ig-input-padding-base));
293
+ --ig-input-font-weight: var(--hcg-cell-input-font-weight, var(--hcg-input-font-weight, inherit));
294
+ --ig-input-font-size: var(--hcg-cell-input-font-size, var(--hcg-input-font-size, inherit));
295
+ --ig-input-font-family: var(--hcg-cell-input-font-family, var(--hcg-input-font-family, inherit));
296
+ --ig-input-color: var(--hcg-cell-input-color, var(--ig-input-color-base));
297
+ --ig-input-text-align: var(--hcg-cell-input-text-align, var(--ig-input-text-align-base));
298
+ --ig-input-border-radius: var(--hcg-cell-input-border-radius, var(--ig-input-border-radius-base));
299
+ --ig-input-border-width: var(--hcg-cell-input-border-width, var(--ig-input-border-width-base));
300
+ --ig-input-border-style: var(--hcg-cell-input-border-style, var(--ig-input-border-style-base));
301
+ --ig-input-border-color: var(--hcg-cell-input-border-color, var(--ig-input-border-color-base));
302
+ --ig-input-background: var(--hcg-cell-input-background, var(--ig-input-background-base));
303
+ --ig-input-hover-color: var(--hcg-cell-input-hover-color, var(--hcg-input-hover-color, var(--hcg-cell-input-color, var(--ig-input-color-base))));
304
+ --ig-input-hover-background: var(--hcg-cell-input-hover-background, var(--hcg-input-hover-background, var(--hcg-cell-input-background, var(--ig-input-background-base))));
305
+ --ig-input-hover-border-color: var(--hcg-cell-input-hover-border-color, var(--hcg-input-hover-border-color, var(--hcg-cell-input-border-color, var(--ig-input-border-color-base))));
306
+ }
534
307
 
535
- .hcg-table tbody tr:last-of-type td:first-child {
536
- border-bottom-left-radius: var(--ig-border-radius);
537
- }
308
+ .hcg-pagination {
309
+ --ig-input-padding: var(--hcg-pagination-input-padding, var(--ig-input-padding-base));
310
+ --ig-input-font-weight: var(--hcg-pagination-input-font-weight, var(--hcg-input-font-weight, inherit));
311
+ --ig-input-font-size: var(--hcg-pagination-input-font-size, var(--hcg-input-font-size, inherit));
312
+ --ig-input-font-family: var(--hcg-pagination-input-font-family, var(--hcg-input-font-family, inherit));
313
+ --ig-input-color: var(--hcg-pagination-input-color, var(--ig-input-color-base));
314
+ --ig-input-text-align: var(--hcg-pagination-input-text-align, var(--ig-input-text-align-base));
315
+ --ig-input-border-radius: var(--hcg-pagination-input-border-radius, var(--ig-input-border-radius-base));
316
+ --ig-input-border-width: var(--hcg-pagination-input-border-width, var(--ig-input-border-width-base));
317
+ --ig-input-border-style: var(--hcg-pagination-input-border-style, var(--ig-input-border-style-base));
318
+ --ig-input-border-color: var(--hcg-pagination-input-border-color, var(--ig-input-border-color-base));
319
+ --ig-input-background: var(--hcg-pagination-input-background, var(--ig-input-background-base));
320
+ --ig-input-hover-color: var(--hcg-pagination-input-hover-color, var(--hcg-input-hover-color, var(--hcg-pagination-input-color, var(--ig-input-color-base))));
321
+ --ig-input-hover-background: var(--hcg-pagination-input-hover-background, var(--hcg-input-hover-background, var(--hcg-pagination-input-background, var(--ig-input-background-base))));
322
+ --ig-input-hover-border-color: var(--hcg-pagination-input-hover-border-color, var(--hcg-input-hover-border-color, var(--hcg-pagination-input-border-color, var(--ig-input-border-color-base))));
323
+ }
538
324
 
539
- .hcg-table tbody tr:last-of-type td:last-child {
540
- border-bottom-right-radius: var(--ig-border-radius);
325
+ :where(.hcg-input) {
326
+ font-weight: var(--ig-input-font-weight);
327
+ font-size: var(--ig-input-font-size);
328
+ font-family: var(--ig-input-font-family);
329
+ text-align: var(--ig-input-text-align);
330
+ background: var(--ig-input-background);
331
+ color: var(--ig-input-color);
332
+ border-width: var(--ig-input-border-width);
333
+ border-style: var(--ig-input-border-style);
334
+ border-color: var(--ig-input-border-color);
335
+ border-radius: var(--ig-input-border-radius);
336
+ padding: var(--ig-input-padding);
337
+
338
+ &:hover:not(:disabled) {
339
+ color: var(--ig-input-hover-color);
340
+ background: var(--ig-input-hover-background);
341
+ border-color: var(--ig-input-hover-border-color);
342
+ }
343
+
344
+ &:focus-visible {
345
+ box-shadow: var(--ig-input-focus-ring);
346
+ }
347
+
348
+ &[type="checkbox"]:checked::before {
349
+ background-color: var(--ig-input-color);
350
+ }
351
+ }
541
352
  }
542
353
 
543
- /* Header cell menu button centered */
544
- .hcg-header-cell-container.hcg-no-width .hcg-header-cell-menu-icon {
545
- position: absolute;
546
- left: 50%;
547
- top: 50%;
548
- transform: translate(-50%, -50%);
549
- }
354
+ .hcg-container {
355
+ /* ─────────────────────────────────────────────────────────────
356
+ Defaults (internal base tokens)
357
+ ───────────────────────────────────────────────────────────── */
358
+ --ig-button-border-width-base: var(--hcg-button-border-width, 1px);
359
+ --ig-button-border-style-base: var(--hcg-button-border-style, solid);
360
+ --ig-button-border-color-base: var(--hcg-button-border-color, var(--ig-default-color));
361
+ --ig-button-border-radius-base: var(--hcg-button-border-radius, 0);
362
+ --ig-button-background-base: var(--hcg-button-background, transparent);
363
+ --ig-button-padding-base: var(--hcg-button-padding, 6px);
364
+ --ig-button-color-base: var(--hcg-button-color, var(--ig-default-color));
365
+ --ig-button-hover-color-base: var(--hcg-button-hover-color, var(--ig-default-background));
366
+ --ig-button-hover-background-base: var(--hcg-button-hover-background, var(--ig-default-color));
367
+ --ig-button-hover-border-color-base: var(--hcg-button-hover-border-color, var(--ig-button-border-color-base));
368
+ --ig-button-selected-color-base: var(--hcg-button-selected-color, var(--ig-default-background));
369
+ --ig-button-selected-background-base: var(--hcg-button-selected-background, var(--ig-default-color));
370
+ --ig-button-selected-border-color-base: var(--hcg-button-selected-border-color, var(--ig-button-border-color));
371
+
372
+ /* ─────────────────────────────────────────────────────────────
373
+ Public theme overrides (external hcg tokens)
374
+ ───────────────────────────────────────────────────────────── */
375
+ --ig-button-border-width: var(--hcg-button-border-width, var(--ig-button-border-width-base));
376
+ --ig-button-border-style: var(--hcg-button-border-style, var(--ig-button-border-style-base));
377
+ --ig-button-border-color: var(--hcg-button-border-color, var(--ig-button-border-color-base));
378
+ --ig-button-border-radius: var(--hcg-button-border-radius, var(--ig-button-border-radius-base));
379
+ --ig-button-background: var(--hcg-button-background, var(--ig-button-background-base));
380
+ --ig-button-padding: var(--hcg-button-padding, var(--ig-button-padding-base));
381
+ --ig-button-font-weight: var(--hcg-button-font-weight, inherit);
382
+ --ig-button-font-size: var(--hcg-button-font-size, inherit);
383
+ --ig-button-font-family: var(--hcg-button-font-family, inherit);
384
+ --ig-button-color: var(--hcg-button-color, var(--ig-button-color-base));
385
+ --ig-button-hover-color: var(--hcg-button-hover-color, var(--ig-button-hover-color-base));
386
+ --ig-button-hover-background: var(--hcg-button-hover-background, var(--ig-button-hover-background-base));
387
+ --ig-button-hover-border-color: var(--hcg-button-hover-border-color, var(--ig-button-hover-border-color-base));
388
+ --ig-button-selected-color: var(--hcg-button-selected-color, var(--ig-button-selected-color-base));
389
+ --ig-button-selected-background: var(--hcg-button-selected-background, var(--ig-button-selected-background-base));
390
+ --ig-button-selected-border-color: var(--hcg-button-selected-border-color, var(--ig-button-selected-border-color-base));
391
+ --ig-button-focus-ring: 0 0 0 var(--ig-focus-ring-width) var(--ig-focus-ring-color);
392
+
393
+ thead th {
394
+ --ig-button-background: var(--hcg-header-button-background, var(--ig-button-background-base));
395
+ --ig-button-border-width: var(--hcg-header-button-border-width, var(--ig-button-border-width-base));
396
+ --ig-button-border-style: var(--hcg-header-button-border-style, var(--ig-button-border-style-base));
397
+ --ig-button-border-color: var(--hcg-header-button-border-color, var(--ig-button-border-color-base));
398
+ --ig-button-border-radius: var(--hcg-header-button-border-radius, var(--ig-button-border-radius-base));
399
+ --ig-button-padding: var(--hcg-header-button-padding, var(--ig-button-padding-base));
400
+ --ig-button-font-weight: var(--hcg-header-button-font-weight, var(--hcg-button-font-weight, inherit));
401
+ --ig-button-font-size: var(--hcg-header-button-font-size, var(--hcg-button-font-size, inherit));
402
+ --ig-button-font-family: var(--hcg-header-button-font-family, var(--hcg-button-font-family, inherit));
403
+ --ig-button-hover-border-color: var(--hcg-header-button-hover-border-color, var(--hcg-button-hover-border-color, var(--hcg-header-button-border-color, var(--ig-button-hover-border-color-base))));
404
+ --ig-button-selected-border-color: var(--hcg-header-button-selected-border-color, var(--ig-button-selected-border-color-base));
405
+ --ig-button-focus-ring: inset 0 0 0 var(--ig-focus-ring-width) var(--ig-focus-ring-color);
406
+
407
+ /* Header-specific color logic */
408
+ --ig-button-color: var(--hcg-header-button-color, var(--ig-header-current-color));
409
+ --ig-button-hover-color: var(--hcg-header-button-hover-color, var(--hcg-button-hover-color, var(--hcg-header-button-color, var(--ig-header-current-color))));
410
+ --ig-button-hover-background: var(--hcg-header-button-hover-background, var(--hcg-button-hover-background, var(--hcg-header-button-background, color-mix(in oklch, var(--ig-header-hover-background) 90%, var(--ig-default-color)))));
411
+ --ig-button-selected-color: var(--hcg-header-button-selected-color, var(--ig-header-current-color));
412
+ --ig-button-selected-background: var(--hcg-header-button-selected-background, var(--ig-button-background));
413
+ }
550
414
 
551
- .hcg-header-cell-container.hcg-no-width .hcg-header-cell-content {
552
- visibility: hidden;
553
- transition: none;
554
- }
415
+ tbody td {
416
+ --ig-button-background: var(--hcg-cell-button-background, var(--ig-button-background-base));
417
+ --ig-button-color: var(--hcg-cell-button-color, var(--ig-button-color-base));
418
+ --ig-button-border-width: var(--hcg-cell-button-border-width, var(--ig-button-border-width-base));
419
+ --ig-button-border-style: var(--hcg-cell-button-border-style, var(--ig-button-border-style-base));
420
+ --ig-button-border-color: var(--hcg-cell-button-border-color, var(--ig-button-border-color-base));
421
+ --ig-button-border-radius: var(--hcg-cell-button-border-radius, var(--ig-button-border-radius-base));
422
+ --ig-button-padding: var(--hcg-cell-button-padding, var(--ig-button-padding-base));
423
+ --ig-button-font-weight: var(--hcg-cell-button-font-weight, var(--hcg-button-font-weight, inherit));
424
+ --ig-button-font-size: var(--hcg-cell-button-font-size, var(--hcg-button-font-size, inherit));
425
+ --ig-button-font-family: var(--hcg-cell-button-font-family, var(--hcg-button-font-family, inherit));
426
+ --ig-button-hover-color: var(--hcg-cell-button-hover-color, var(--hcg-button-hover-color, var(--hcg-cell-button-color, var(--ig-button-hover-color-base))));
427
+ --ig-button-hover-background: var(--hcg-cell-button-hover-background, var(--hcg-button-hover-background, var(--hcg-cell-button-background, var(--ig-button-hover-background-base))));
428
+ --ig-button-hover-border-color: var(--hcg-cell-button-hover-border-color, var(--hcg-button-hover-border-color, var(--hcg-cell-button-border-color, var(--ig-button-hover-border-color-base))));
429
+ --ig-button-selected-color: var(--hcg-cell-button-selected-color, var(--ig-button-selected-color-base));
430
+ --ig-button-selected-background: var(--hcg-cell-button-selected-background, var(--ig-button-selected-background-base));
431
+ --ig-button-selected-border-color: var(--hcg-cell-button-selected-border-color, var(--ig-button-selected-border-color-base));
432
+ }
555
433
 
556
- /* Header cell flex container */
557
- .hcg-header-cell-container {
558
- display: flex;
559
- align-items: center;
560
- justify-content: space-between;
561
- min-height: 24px;
562
- width: 100%;
563
- }
434
+ .hcg-pagination {
435
+ --ig-button-background: var(--hcg-pagination-button-background, var(--ig-button-background-base));
436
+ --ig-button-color: var(--hcg-pagination-button-color, var(--ig-button-color-base));
437
+ --ig-button-border-width: var(--hcg-pagination-button-border-width, var(--ig-button-border-width-base));
438
+ --ig-button-border-style: var(--hcg-pagination-button-border-style, var(--ig-button-border-style-base));
439
+ --ig-button-border-color: var(--hcg-pagination-button-border-color, var(--ig-button-border-color-base));
440
+ --ig-button-border-radius: var(--hcg-pagination-button-border-radius, var(--ig-button-border-radius-base));
441
+ --ig-button-padding: var(--hcg-pagination-button-padding, var(--ig-button-padding-base));
442
+ --ig-button-font-weight: var(--hcg-pagination-button-font-weight, var(--hcg-button-font-weight, inherit));
443
+ --ig-button-font-size: var(--hcg-pagination-button-font-size, var(--hcg-button-font-size, inherit));
444
+ --ig-button-font-family: var(--hcg-pagination-button-font-family, var(--hcg-button-font-family, inherit));
445
+ --ig-button-hover-color: var(--hcg-pagination-button-hover-color, var(--hcg-button-hover-color, var(--hcg-pagination-button-color, var(--ig-button-hover-color-base))));
446
+ --ig-button-hover-background: var(--hcg-pagination-button-hover-background, var(--hcg-button-hover-background, var(--hcg-pagination-button-background, var(--ig-button-hover-background-base))));
447
+ --ig-button-hover-border-color: var(--hcg-pagination-button-hover-border-color, var(--hcg-button-hover-border-color, var(--hcg-pagination-button-border-color, var(--ig-button-hover-border-color-base))));
448
+ --ig-button-selected-color: var(--hcg-pagination-button-selected-color, var(--ig-button-selected-color-base));
449
+ --ig-button-selected-background: var(--hcg-pagination-button-selected-background, var(--ig-button-selected-background-base));
450
+ --ig-button-selected-border-color: var(--hcg-pagination-button-selected-border-color, var(--ig-button-selected-border-color-base));
451
+ }
564
452
 
565
- .hcg-header-cell-content {
566
- flex: 1;
567
- overflow: hidden;
568
- text-overflow: ellipsis;
569
- white-space: nowrap;
570
- transition: all 0.3s ease;
453
+ :where(.hcg-button) {
454
+ font-weight: var(--ig-button-font-weight);
455
+ font-size: var(--ig-button-font-size);
456
+ font-family: var(--ig-button-font-family);
457
+ color: var(--ig-button-color);
458
+ background: var(--ig-button-background);
459
+ padding-block: var(--ig-button-padding);
460
+ padding-inline: var(--ig-button-padding);
461
+ min-height: calc(1em + (2 * var(--ig-button-padding)));
462
+ border-width: var(--ig-button-border-width);
463
+ border-style: var(--ig-button-border-style);
464
+ border-color: var(--ig-button-border-color);
465
+ border-radius: var(--ig-button-border-radius);
466
+
467
+ &.hcg-button-selected,
468
+ &.hcg-button-selected:hover:not(thead th *) {
469
+ color: var(--ig-button-selected-color);
470
+ background: var(--ig-button-selected-background);
471
+ border-color: var(--ig-button-selected-border-color);
472
+ }
473
+
474
+ &.hcg-button-selected::after {
475
+ background: var(--ig-button-selected-color);
476
+ }
477
+
478
+ &.hcg-button-selected:hover::after {
479
+ background: var(--ig-button-hover-color);
480
+ }
481
+
482
+ &:hover:not(:disabled),
483
+ &.hcg-button-highlighted {
484
+ color: var(--ig-button-hover-color);
485
+ background: var(--ig-button-hover-background);
486
+ border-color: var(--ig-button-hover-border-color);
487
+ }
488
+
489
+ &:focus-visible {
490
+ box-shadow: var(--ig-button-focus-ring);
491
+ }
492
+ }
571
493
  }
572
494
 
573
- /* Generic button styling for Grid */
574
- .hcg-button {
575
- background: var(--ig-button-background);
576
- padding: var(--ig-button-padding);
577
- border-radius: var(--ig-button-border-radius);
578
- border: var(--ig-button-border);
579
- cursor: pointer;
580
- transition: background-color 0.2s ease, box-shadow 0.2s ease;
581
- display: inline-flex;
582
- align-items: center;
583
- justify-content: center;
495
+ .hcg-container .hcg-caption {
496
+ color: var(--hcg-caption-color, var(--ig-color));
497
+ font-weight: var(--hcg-caption-font-weight, var(--ig-font-weight));
498
+ font-size: var(--hcg-caption-font-size, var(--ig-font-size));
499
+ font-family: var(--hcg-caption-font-family, var(--ig-font-family));
500
+ text-align: var(--hcg-caption-text-align, var(--ig-text-align));
501
+ padding-top: 0;
502
+ padding-right: var(--hcg-caption-horizontal-padding, var(--hcg-caption-padding, var(--ig-horizontal-padding)));
503
+ padding-bottom: var(--hcg-caption-vertical-padding, var(--hcg-caption-padding, var(--ig-vertical-padding)));
504
+ padding-left: var(--hcg-caption-horizontal-padding, var(--hcg-caption-padding, var(--ig-horizontal-padding)));
505
+ }
506
+
507
+ .hcg-container .hcg-description {
508
+ color: var(--hcg-description-color, var(--ig-color));
509
+ font-weight: var(--hcg-description-font-weight, var(--ig-font-weight));
510
+ font-size: var(--hcg-description-font-size, var(--ig-font-size));
511
+ font-family: var(--hcg-description-font-family, var(--ig-font-family));
512
+ text-align: var(--hcg-description-text-align, var(--ig-text-align));
513
+ padding-top: var(--hcg-description-vertical-padding, var(--hcg-description-padding, var(--ig-vertical-padding)));
514
+ padding-right: var(--hcg-description-horizontal-padding, var(--hcg-description-padding, var(--ig-horizontal-padding)));
515
+ padding-bottom: 0;
516
+ padding-left: var(--hcg-description-horizontal-padding, var(--hcg-description-padding, var(--ig-horizontal-padding)));
517
+ }
518
+
519
+ .hcg-container .hcg-pagination {
520
+ background: var(--hcg-pagination-background, transparent);
521
+ color: var(--hcg-pagination-color, var(--ig-color));
522
+ font-weight: var(--hcg-pagination-font-weight, var(--ig-font-weight));
523
+ font-size: var(--hcg-pagination-font-size, var(--ig-font-size));
524
+ font-family: var(--hcg-pagination-font-family, var(--ig-font-family));
525
+ text-align: var(--hcg-pagination-text-align, var(--ig-text-align));
526
+ padding-top: var(--hcg-pagination-vertical-padding, var(--hcg-pagination-padding, var(--ig-vertical-padding)));
527
+ padding-right: var(--hcg-pagination-horizontal-padding, var(--hcg-pagination-padding, var(--ig-horizontal-padding)));
528
+ padding-bottom: var(--hcg-pagination-vertical-padding, var(--hcg-pagination-padding, var(--ig-vertical-padding)));
529
+ padding-left: var(--hcg-pagination-horizontal-padding, var(--hcg-pagination-padding, var(--ig-horizontal-padding)));
584
530
  }
585
531
 
586
- .hcg-button:hover {
587
- color: var(--ig-button-hover-color);
588
- background: var(--ig-button-hover-background);
589
- }
532
+ .hcg-container {
533
+ .hcg-table {
534
+ /* Row borders */
535
+ --ig-row-border-width: var(--hcg-row-border-width, var(--ig-border-width));
536
+ --ig-row-border-style: var(--hcg-row-border-style, var(--ig-border-style));
537
+ --ig-row-border-color: var(--hcg-row-border-color, var(--ig-border-color));
538
+ --ig-row-border: var(--ig-row-border-width) var(--ig-row-border-style) var(--ig-row-border-color);
539
+
540
+ /* Header row borders */
541
+ --ig-header-row-border-width: var(--hcg-header-row-border-width, var(--ig-row-border-width));
542
+ --ig-header-row-border-style: var(--hcg-header-row-border-style, var(--ig-row-border-style));
543
+ --ig-header-row-border-color: var(--hcg-header-row-border-color, var(--ig-row-border-color));
544
+ --ig-header-row-border: var(--ig-header-row-border-width) var(--ig-header-row-border-style) var(--ig-header-row-border-color);
545
+
546
+ /* Column borders */
547
+ --ig-column-border-width: var(--hcg-column-border-width, var(--ig-border-width));
548
+ --ig-column-border-style: var(--hcg-column-border-style, var(--ig-border-style));
549
+ --ig-column-border-color: var(--hcg-column-border-color, var(--ig-border-color));
550
+ --ig-column-border: var(--ig-column-border-width) var(--ig-column-border-style) var(--ig-column-border-color);
551
+
552
+ /* Header column borders */
553
+ --ig-header-column-border-width: var(--hcg-header-column-border-width, var(--ig-column-border-width));
554
+ --ig-header-column-border-style: var(--hcg-header-column-border-style, var(--ig-column-border-style));
555
+ --ig-header-column-border-color: var(--hcg-header-column-border-color, var(--ig-column-border-color));
556
+ --ig-header-column-border: var(--ig-header-column-border-width) var(--ig-header-column-border-style) var(--ig-header-column-border-color);
557
+
558
+ border: var(--ig-border);
559
+ background: var(--ig-background);
560
+ border-radius: var(--ig-border-radius);
561
+ }
590
562
 
591
- /* Focus/A11Y - keyboard accessibility */
592
- .hcg-button:focus-visible {
593
- outline: none;
594
- background: var(--ig-button-hover-background);
595
- box-shadow: var(--ig-focus-ring);
596
- }
563
+ .hcg-table thead th {
564
+ --ig-header-column-background: var(--hcg-column-background);
565
+ --ig-header-background: var(--hcg-header-background, var(--hcg-cell-background, var(--ig-header-column-background, transparent)));
566
+ --ig-header-column-color: var(--hcg-column-color, var(--hcg-cell-color, var(--ig-color, inherit)));
567
+ --ig-header-base-color: var(--hcg-header-color, var(--ig-header-column-color));
568
+ --ig-header-current-color: var(--ig-header-base-color);
569
+ --ig-header-column-font-weight: var(--hcg-column-font-weight, var(--hcg-cell-font-weight, var(--ig-font-weight)));
570
+ --ig-header-base-font-weight: var(--hcg-header-font-weight, var(--ig-header-column-font-weight));
571
+ --ig-header-current-font-weight: var(--ig-header-base-font-weight);
572
+ --ig-header-column-font-size: var(--hcg-column-font-size, var(--hcg-cell-font-size, var(--ig-font-size)));
573
+ --ig-header-base-font-size: var(--hcg-header-font-size, var(--ig-header-column-font-size));
574
+ --ig-header-current-font-size: var(--ig-header-base-font-size);
575
+ --ig-header-column-font-family: var(--hcg-column-font-family, var(--hcg-cell-font-family, var(--ig-font-family)));
576
+ --ig-header-base-font-family: var(--hcg-header-font-family, var(--ig-header-column-font-family));
577
+ --ig-header-current-font-family: var(--ig-header-base-font-family);
578
+ --ig-header-hover-opacity: var(--hcg-header-hover-opacity, var(--hcg-column-hover-header-opacity, var(--hcg-column-hover-opacity, var(--ig-hover-opacity))));
579
+
580
+ border-right: var(--ig-header-column-border);
581
+ border-bottom: var(--ig-header-row-border);
582
+ background: var(--ig-header-background);
583
+ color: var(--ig-header-current-color);
584
+ font-weight: var(--ig-header-current-font-weight);
585
+ font-size: var(--ig-header-current-font-size);
586
+ font-family: var(--ig-header-current-font-family);
587
+ padding-top: var(--hcg-header-vertical-padding, var(--hcg-header-padding, var(--ig-vertical-padding)));
588
+ padding-right: var(--hcg-header-horizontal-padding, var(--hcg-header-padding, var(--ig-horizontal-padding)));
589
+ padding-bottom: var(--hcg-header-vertical-padding, var(--hcg-header-padding, var(--ig-vertical-padding)));
590
+ padding-left: var(--hcg-header-horizontal-padding, var(--hcg-header-padding, var(--ig-horizontal-padding)));
591
+ }
597
592
 
598
- /* Generic icon styling for Grid */
599
- .hcg-icon {
600
- color: var(--ig-icon-color);
601
- transition: color 0.2s ease;
602
- flex-shrink: 0;
603
- }
593
+ .hcg-table thead th:nth-child(even) {
594
+ --ig-header-column-background: var(--hcg-column-even-background, var(--hcg-column-background));
595
+ --ig-header-background: var(--hcg-header-even-background, var(--hcg-header-background, var(--hcg-cell-background, var(--ig-header-column-background, transparent))));
596
+ --ig-header-column-color: var(--hcg-column-even-color, var(--hcg-column-color, var(--hcg-cell-color, var(--ig-color, inherit))));
597
+ --ig-header-base-color: var(--hcg-header-even-color, var(--hcg-header-color, var(--ig-header-column-color)));
598
+ --ig-header-current-color: var(--ig-header-base-color);
599
+ --ig-header-column-font-weight: var(--hcg-column-even-font-weight, var(--hcg-column-font-weight, var(--hcg-cell-font-weight, var(--ig-font-weight))));
600
+ --ig-header-base-font-weight: var(--hcg-header-even-font-weight, var(--hcg-header-font-weight, var(--ig-header-column-font-weight)));
601
+ --ig-header-current-font-weight: var(--ig-header-base-font-weight);
602
+ --ig-header-column-font-size: var(--hcg-column-even-font-size, var(--hcg-column-font-size, var(--hcg-cell-font-size, var(--ig-font-size))));
603
+ --ig-header-base-font-size: var(--hcg-header-even-font-size, var(--hcg-header-font-size, var(--ig-header-column-font-size)));
604
+ --ig-header-current-font-size: var(--ig-header-base-font-size);
605
+ --ig-header-column-font-family: var(--hcg-column-even-font-family, var(--hcg-column-font-family, var(--hcg-cell-font-family, var(--ig-font-family))));
606
+ --ig-header-base-font-family: var(--hcg-header-even-font-family, var(--hcg-header-font-family, var(--ig-header-column-font-family)));
607
+ --ig-header-current-font-family: var(--ig-header-base-font-family);
608
+ }
604
609
 
605
- /* Icons automatically inherit color from parent via currentColor */
606
- .hcg-icon path {
607
- stroke: currentcolor;
608
- }
610
+ .hcg-table thead th .hcg-header-cell-content {
611
+ --ig-header-font-weight: var(--ig-header-current-font-weight);
612
+ --ig-header-font-size: var(--ig-header-current-font-size);
613
+ --ig-header-font-family: var(--ig-header-current-font-family);
614
+ --ig-header-font: var(--ig-header-font-weight) var(--ig-header-font-size) var(--ig-header-font-family);
615
+ --ig-header-text-align: var(--hcg-header-text-align, var(--hcg-cell-text-align, var(--ig-text-align)));
609
616
 
610
- .hcg-button:hover .hcg-icon,
611
- .hcg-button:focus-visible .hcg-icon,
612
- .hcg-header-cell-icons .hcg-button.highlighted .hcg-icon,
613
- .hcg-header-cell-icons .hcg-button.active .hcg-icon {
614
- color: var(--ig-icon-header-hover-color);
615
- }
617
+ font: var(--ig-header-font);
618
+ text-align: var(--ig-header-text-align);
619
+ }
616
620
 
617
- /* Header cell icons container - generic for all icon types */
618
- .hcg-header-cell-icons {
619
- display: flex;
620
- overflow: hidden;
621
- align-items: center;
622
- gap: 2px;
623
- max-width: 0;
624
- margin-left: 4px;
625
- opacity: 0;
626
- cursor: pointer;
627
- transition: max-width 0.3s ease, margin-left 0.3s ease, opacity 0.3s ease;
628
- }
621
+ .hcg-column-resizer.hovered::after {
622
+ width: max(3px, calc(var(--ig-header-column-border-width) + 2px));
623
+ background: var(--ig-header-color);
624
+ }
629
625
 
630
- /* Show icons on header cell hover, focus, or when has active icons */
631
- .hcg-table thead th:hover .hcg-header-cell-icons,
632
- .hcg-table thead th:focus-visible .hcg-header-cell-icons,
633
- .hcg-header-cell-icons:hover,
634
- .hcg-header-cell-icons:has(.hcg-button:focus-visible),
635
- .hcg-header-cell-icons:has(.hcg-button.highlighted),
636
- .hcg-header-cell-icons:has(.hcg-button.active),
637
- .hcg-header-cell-container.hcg-no-width .hcg-header-cell-icons {
638
- max-width: 100px;
639
- opacity: 1;
640
- }
626
+ .hcg-table thead tr:first-of-type th:first-child {
627
+ border-top-left-radius: var(--ig-border-radius);
628
+ }
641
629
 
642
- /* Generic icon button styling - applies to all header icons */
643
- .hcg-header-cell-icons .hcg-button {
644
- display: flex;
645
- align-items: center;
646
- justify-content: center;
647
- }
630
+ .hcg-table thead tr:first-of-type th:last-child {
631
+ border-top-right-radius: var(--ig-border-radius);
632
+ }
648
633
 
649
- /* Active icon styling - icons that are in an active state */
650
- .hcg-header-cell-icons .hcg-button.highlighted {
651
- background: var(--ig-button-hover-background);
652
- }
634
+ .hcg-table thead th:focus-visible {
635
+ outline: none;
636
+ box-shadow: inset var(--ig-focus-ring);
637
+ }
653
638
 
654
- /* Active indicator dot - positioned at top right of button */
655
- .hcg-active-indicator {
656
- position: absolute;
657
- top: 2px;
658
- right: 2px;
659
- width: 4px;
660
- height: 4px;
661
- border-radius: 50%;
662
- background: var(--ig-icon-header-hover-color, #626bd0);
663
- pointer-events: none;
664
- }
639
+ /* Start header hover & sync */
640
+ .hcg-table thead th:hover {
641
+ --ig-header-hover-background:
642
+ color-mix(
643
+ in srgb,
644
+ var(--hcg-header-hovered-background, var(--hcg-header-hover-background, var(--hcg-column-hover-header-background, var(--hcg-column-hover-background, var(--ig-header-background))))) var(--ig-header-hover-opacity),
645
+ var(--ig-header-background) calc(100% - var(--ig-header-hover-opacity))
646
+ );
665
647
 
666
- /* Make button relative for absolute positioning of indicator */
667
- .hcg-header-cell-icons .hcg-button {
668
- position: relative;
669
- }
648
+ background: var(--ig-header-hover-background);
649
+ --ig-header-color:
650
+ var(
651
+ --hcg-header-hovered-color,
652
+ var(
653
+ --hcg-header-hover-color,
654
+ var(--hcg-column-hover-header-color, var(--hcg-column-hover-color, var(--ig-header-base-color)))
655
+ )
656
+ );
657
+ --ig-header-current-color: var(--ig-header-color);
670
658
 
671
- .hcg-resizable-content tr {
672
- width: 100%;
673
- }
659
+ color: var(--ig-header-current-color);
660
+ }
674
661
 
675
- .hcg-table thead th .hcg-column-resizer {
676
- position: absolute;
677
- display: flex;
678
- align-items: center;
679
- justify-content: center;
680
- top: 0;
681
- width: 9px;
682
- right: -5px;
683
- height: 100%;
684
- user-select: none;
685
- z-index: 10;
686
- cursor: col-resize;
687
- }
662
+ /* End header hover & sync */
688
663
 
689
- .hcg-column-resizer.hovered::after {
690
- content: "";
691
- width: max(3px, calc(var(--ig-header-column-border-width) + 2px));
692
- height: 100%;
693
- background: var(--ig-header-color);
664
+ /* <tbody> */
665
+ .hcg-table tbody tr:last-of-type td:first-child {
666
+ border-bottom-left-radius: var(--ig-border-radius);
667
+ }
668
+
669
+ .hcg-table tbody tr:last-of-type td:last-child {
670
+ border-bottom-right-radius: var(--ig-border-radius);
671
+ }
672
+
673
+ .hcg-table tbody {
674
+ border-bottom-left-radius: var(--hcg-border-radius);
675
+ border-bottom-right-radius: var(--hcg-border-radius);
676
+ }
677
+
678
+ .hcg-table tbody tr {
679
+ --ig-row-background-current: var(--hcg-row-background);
680
+ --ig-row-color-current: var(--hcg-row-color);
681
+ --ig-row-font-weight-current: var(--hcg-row-font-weight);
682
+ --ig-row-font-size-current: var(--hcg-row-font-size);
683
+ --ig-row-font-family-current: var(--hcg-row-font-family);
684
+ }
685
+
686
+ .hcg-table tbody tr.hcg-row-even {
687
+ --ig-row-background-current: var(--hcg-row-even-background, var(--hcg-row-background));
688
+ --ig-row-color-current: var(--hcg-row-even-color, var(--hcg-row-color));
689
+ --ig-row-font-weight-current: var(--hcg-row-even-font-weight, var(--hcg-row-font-weight));
690
+ --ig-row-font-size-current: var(--hcg-row-even-font-size, var(--hcg-row-font-size));
691
+ --ig-row-font-family-current: var(--hcg-row-even-font-family, var(--hcg-row-font-family));
692
+ }
693
+
694
+ .hcg-table tbody tr.hcg-mocked-row td,
695
+ .hcg-table tbody tr td {
696
+ --ig-cell-column-background: var(--hcg-column-background);
697
+ --ig-cell-column-color: var(--hcg-column-color);
698
+ --ig-cell-column-font-weight: var(--hcg-column-font-weight);
699
+ --ig-cell-column-font-size: var(--hcg-column-font-size);
700
+ --ig-cell-column-font-family: var(--hcg-column-font-family);
701
+ --ig-cell-base-background: var(--hcg-cell-background, var(--ig-row-background-current, var(--ig-cell-column-background, transparent)));
702
+ --ig-column-layer: var(--ig-cell-base-background);
703
+ --ig-cell-hover-background-helper: var(--hcg-cell-hovered-background, var(--hcg-cell-hover-background));
704
+ --ig-cell-hover-background: var(--ig-cell-hover-background-helper, var(--ig-row-hover-color, var(--ig-column-layer)));
705
+ --ig-cell-hover-opacity-helper: var(--hcg-cell-hover-opacity);
706
+ --ig-cell-hover-opacity: var(--ig-cell-hover-opacity-helper, var(--ig-hover-opacity));
707
+ --ig-cell-active-opacity: var(--ig-cell-hover-opacity);
708
+ --ig-cell-sync-opacity: var(--hcg-cell-sync-opacity, var(--hcg-sync-opacity, var(--ig-cell-hover-opacity)));
709
+ --ig-cell-base-color: var(--hcg-cell-color, var(--ig-row-color-current, var(--ig-cell-column-color, var(--ig-color, inherit))));
710
+ --ig-column-text-layer: var(--ig-cell-base-color);
711
+ --ig-row-hover-text-color: var(--ig-column-text-layer);
712
+ --ig-cell-hover-text-color: var(--ig-row-hover-text-color);
713
+ --ig-cell-base-font-weight: var(--hcg-cell-font-weight, var(--ig-row-font-weight-current, var(--ig-cell-column-font-weight, var(--ig-font-weight))));
714
+ --ig-cell-font-weight: var(--ig-cell-base-font-weight);
715
+ --ig-cell-base-font-size: var(--hcg-cell-font-size, var(--ig-row-font-size-current, var(--ig-cell-column-font-size, var(--ig-font-size))));
716
+ --ig-cell-font-size: var(--ig-cell-base-font-size);
717
+ --ig-cell-base-font-family: var(--hcg-cell-font-family, var(--ig-row-font-family-current, var(--ig-cell-column-font-family, var(--ig-font-family))));
718
+ --ig-cell-font-family: var(--ig-cell-base-font-family);
719
+ --ig-cell-font: var(--ig-cell-font-weight) var(--ig-cell-font-size) var(--ig-cell-font-family);
720
+ --ig-cell-text-align: var(--hcg-cell-text-align, var(--ig-text-align));
721
+
722
+ background: var(--ig-column-layer);
723
+ color: var(--ig-cell-hover-text-color);
724
+ border-right: var(--ig-column-border);
725
+ border-bottom: var(--ig-row-border);
726
+ padding: var(--ig-padding);
727
+ font: var(--ig-cell-font);
728
+ text-align: var(--ig-cell-text-align);
729
+ }
730
+
731
+ .hcg-table tbody tr td:nth-child(even) {
732
+ --ig-cell-column-background: var(--hcg-column-even-background, var(--hcg-column-background));
733
+ --ig-cell-column-color: var(--hcg-column-even-color, var(--hcg-column-color));
734
+ --ig-cell-column-font-weight: var(--hcg-column-even-font-weight, var(--hcg-column-font-weight));
735
+ --ig-cell-column-font-size: var(--hcg-column-even-font-size, var(--hcg-column-font-size));
736
+ --ig-cell-column-font-family: var(--hcg-column-even-font-family, var(--hcg-column-font-family));
737
+ }
738
+
739
+ .hcg-table tbody td:focus {
740
+ box-shadow: inset var(--ig-focus-ring);
741
+ }
742
+
743
+ /* Start column hover & sync */
744
+ .hcg-table td.hcg-hovered-column {
745
+ --ig-column-layer:
746
+ color-mix(
747
+ in srgb,
748
+ var(--hcg-cell-hovered-column-background, var(--hcg-column-hover-background, var(--ig-cell-base-background))) var(--hcg-column-hover-opacity, var(--ig-hover-opacity)),
749
+ var(--ig-cell-base-background) calc(100% - var(--hcg-column-hover-opacity, var(--ig-hover-opacity)))
750
+ );
751
+ --ig-column-text-layer: var(--hcg-cell-hovered-column-color, var(--hcg-column-hover-color, var(--ig-cell-base-color)));
752
+ }
753
+
754
+ .hcg-table td.hcg-synced-column {
755
+ --ig-column-layer:
756
+ color-mix(
757
+ in srgb,
758
+ var(
759
+ --hcg-cell-synced-column-background,
760
+ var(--hcg-cell-hovered-column-background, var(--hcg-column-sync-background, var(--hcg-column-hover-background, var(--ig-cell-base-background))))
761
+ ) var(--hcg-column-sync-opacity, var(--hcg-sync-opacity, var(--hcg-column-hover-opacity, var(--ig-hover-opacity)))),
762
+ var(--ig-cell-base-background)
763
+ calc(100% - var(--hcg-column-sync-opacity, var(--hcg-sync-opacity, var(--hcg-column-hover-opacity, var(--ig-hover-opacity)))))
764
+ );
765
+ --ig-column-text-layer:
766
+ var(
767
+ --hcg-cell-synced-column-color,
768
+ var(--hcg-cell-hovered-column-color, var(--hcg-column-sync-color, var(--hcg-column-hover-color, var(--ig-cell-base-color))))
769
+ );
770
+ }
771
+
772
+ .hcg-table th.hcg-hovered-column:not(:hover) {
773
+ --ig-header-column-hover-color:
774
+ color-mix(
775
+ in srgb,
776
+ var(--hcg-cell-hovered-header-background, var(--hcg-column-hover-header-background, var(--hcg-column-hover-background, var(--ig-header-background)))) var(--hcg-column-hover-header-opacity, var(--hcg-column-hover-opacity, var(--ig-hover-opacity))),
777
+ var(--ig-header-background) calc(100% - var(--hcg-column-hover-header-opacity, var(--hcg-column-hover-opacity, var(--ig-hover-opacity))))
778
+ );
779
+ --ig-header-color: var(--hcg-cell-hovered-header-color, var(--hcg-column-hover-header-color, var(--hcg-column-hover-color, var(--ig-header-base-color))));
780
+ --ig-header-current-color: var(--ig-header-color);
781
+
782
+ background: var(--ig-header-column-hover-color);
783
+ color: var(--ig-header-current-color);
784
+ }
785
+
786
+ .hcg-table th.hcg-synced-column:not(:hover) {
787
+ --ig-header-sync-opacity:
788
+ var(
789
+ --hcg-header-sync-opacity,
790
+ var(
791
+ --hcg-column-sync-header-opacity,
792
+ var(--hcg-sync-opacity, var(--hcg-column-hover-header-opacity, var(--hcg-column-hover-opacity, var(--ig-hover-opacity))))
793
+ )
794
+ );
795
+ --ig-header-column-hover-color:
796
+ color-mix(
797
+ in srgb,
798
+ var(
799
+ --hcg-cell-synced-header-background,
800
+ var(
801
+ --hcg-cell-hovered-header-background,
802
+ var(
803
+ --hcg-column-sync-header-background,
804
+ var(--hcg-column-hover-header-background, var(--hcg-column-hover-background, var(--ig-header-background)))
805
+ )
806
+ )
807
+ ) var(--ig-header-sync-opacity),
808
+ var(--ig-header-background)
809
+ calc(
810
+ 100% - var(
811
+ --ig-header-sync-opacity
812
+ )
813
+ )
814
+ );
815
+ --ig-header-color:
816
+ var(
817
+ --hcg-cell-synced-header-color,
818
+ var(
819
+ --hcg-cell-hovered-header-color,
820
+ var(--hcg-column-sync-header-color, var(--hcg-column-hover-header-color, var(--hcg-column-hover-color, var(--ig-header-base-color))))
821
+ )
822
+ );
823
+ --ig-header-current-color: var(--ig-header-color);
824
+
825
+ background: var(--ig-header-column-hover-color);
826
+ color: var(--ig-header-current-color);
827
+ }
828
+
829
+ /* End column hover & sync */
830
+
831
+ /* Start row hover & sync */
832
+ .hcg-table tr:hover td {
833
+ --ig-row-hover-color:
834
+ color-mix(
835
+ in srgb,
836
+ var(--hcg-cell-hovered-row-background, var(--hcg-row-hover-background, var(--ig-column-layer))) var(--hcg-row-hover-opacity, var(--ig-hover-opacity)),
837
+ var(--ig-column-layer) calc(100% - var(--hcg-row-hover-opacity, var(--ig-hover-opacity)))
838
+ );
839
+ --ig-row-hover-text-color: var(--hcg-cell-hovered-row-color, var(--hcg-row-hover-color, var(--ig-column-text-layer)));
840
+ --ig-cell-hover-text-color: var(--ig-row-hover-text-color);
841
+
842
+ background: var(--ig-row-hover-color);
843
+ color: var(--ig-cell-hover-text-color);
844
+ }
845
+
846
+ .hcg-table tr.hcg-synced-row td {
847
+ --ig-row-hover-color:
848
+ color-mix(
849
+ in srgb,
850
+ var(
851
+ --hcg-cell-synced-row-background,
852
+ var(--hcg-cell-hovered-row-background, var(--hcg-row-sync-background, var(--hcg-row-hover-background, var(--ig-column-layer))))
853
+ )
854
+ var(--hcg-row-sync-opacity, var(--hcg-sync-opacity, var(--hcg-row-hover-opacity, var(--ig-hover-opacity)))),
855
+ var(--ig-column-layer)
856
+ calc(100% - var(--hcg-row-sync-opacity, var(--hcg-sync-opacity, var(--hcg-row-hover-opacity, var(--ig-hover-opacity)))))
857
+ );
858
+ --ig-row-hover-text-color:
859
+ var(
860
+ --hcg-cell-synced-row-color,
861
+ var(--hcg-cell-hovered-row-color, var(--hcg-row-sync-color, var(--hcg-row-hover-color, var(--ig-column-text-layer))))
862
+ );
863
+ --ig-cell-hover-text-color: var(--ig-row-hover-text-color);
864
+
865
+ background: var(--ig-row-hover-color);
866
+ color: var(--ig-cell-hover-text-color);
867
+ }
868
+
869
+ /* End row hover & sync */
870
+
871
+ /* Start cell hover & sync */
872
+ .hcg-table td:hover,
873
+ .hcg-table tr:hover td:hover,
874
+ .hcg-table td.hcg-hovered-column:hover {
875
+ --ig-cell-hover-layer:
876
+ color-mix(
877
+ in srgb,
878
+ var(--ig-cell-hover-background) var(--ig-cell-hover-opacity),
879
+ var(--ig-row-hover-color, var(--ig-column-layer)) calc(100% - var(--ig-cell-hover-opacity))
880
+ );
881
+ --ig-cell-hover-text-color: var(--hcg-cell-hovered-color, var(--hcg-cell-hover-color, var(--ig-row-hover-text-color)));
882
+
883
+ background: var(--ig-cell-hover-layer);
884
+ color: var(--ig-cell-hover-text-color);
885
+ }
886
+
887
+ .hcg-table tr.hcg-synced-row td.hcg-synced-column {
888
+ --ig-cell-hover-layer:
889
+ color-mix(
890
+ in srgb,
891
+ var(
892
+ --hcg-cell-synced-background,
893
+ var(
894
+ --hcg-cell-hovered-background,
895
+ var(--hcg-cell-sync-background, var(--hcg-cell-hover-background, var(--ig-row-hover-color, var(--ig-column-layer))))
896
+ )
897
+ ) var(--hcg-cell-synced-opacity, var(--hcg-cell-sync-opacity, var(--hcg-sync-opacity, var(--hcg-cell-hover-opacity, var(--ig-cell-hover-opacity))))),
898
+ var(--ig-row-hover-color, var(--ig-column-layer))
899
+ calc(100% - var(--hcg-cell-synced-opacity, var(--hcg-cell-sync-opacity, var(--hcg-sync-opacity, var(--hcg-cell-hover-opacity, var(--ig-cell-hover-opacity))))))
900
+ );
901
+ --ig-cell-hover-text-color:
902
+ var(
903
+ --hcg-cell-synced-color,
904
+ var(--hcg-cell-hovered-color, var(--hcg-cell-sync-color, var(--hcg-cell-hover-color, var(--ig-row-hover-text-color))))
905
+ );
906
+
907
+ background: var(--ig-cell-hover-layer);
908
+ color: var(--ig-cell-hover-text-color);
909
+ }
910
+
911
+ /* End cell hover & sync */
912
+
913
+ .hcg-table tfoot td {
914
+ border-top: var(--ig-row-border);
915
+ }
694
916
  }
695
917
 
696
- /* Sorting */
697
- .hcg-table thead th.hcg-column-sortable {
698
- cursor: pointer;
918
+ .hcg-theme-default,
919
+ .highcharts-light .hcg-theme-default {
920
+ --hcg-color: var(--highcharts-neutral-color-100);
921
+ --hcg-background: var(--highcharts-background-color);
922
+ --hcg-border-radius: 5px;
923
+ --hcg-border-width: 1px;
924
+ --hcg-font-size: 15px;
925
+ --hcg-caption-font-size: 18px;
926
+ --hcg-padding: 15px;
927
+ --hcg-header-vertical-padding: 10px;
928
+ --hcg-pagination-vertical-padding: 10px;
929
+ --hcg-focus-ring-color: #626bd0;
930
+ --hcg-input-border-radius: 6px;
931
+ --hcg-input-border-color: #d1d1d1;
932
+ --hcg-input-hover-border-color: #9d9d9d;
933
+ --hcg-button-border-radius: 6px;
934
+ --hcg-button-hover-color: #000000;
935
+ --hcg-button-hover-background: #e8e8e8;
936
+ --hcg-button-border-color: transparent;
937
+ --hcg-cell-button-border-color: #d1d1d1;
938
+ --hcg-button-color: #141414;
939
+ --hcg-header-button-background: transparent;
940
+ --hcg-pagination-button-selected-background: #000000;
941
+ --hcg-pagination-button-selected-color: #ffffff;
699
942
  }
700
943
 
701
- th.hcg-column-sortable > .hcg-column-sortable-icon {
702
- right: 10px;
703
- top: calc(50% - 10px);
704
- bottom: 50%;
705
- position: absolute;
706
- display: none;
707
- width: 12px;
708
- height: 12px;
709
- user-select: none;
710
- pointer-events: none;
944
+ @media (prefers-color-scheme: dark) {
945
+ .hcg-theme-default {
946
+ --hcg-input-border-color: #4f4f4f;
947
+ --hcg-input-hover-border-color: #646464;
948
+ --hcg-button-color: #ffffff;
949
+ --hcg-button-hover-color: #ffffff;
950
+ --hcg-button-hover-background: #3f3f3f;
951
+ --hcg-cell-button-border-color: #646464;
952
+ --hcg-pagination-button-selected-background: #ffffff;
953
+ --hcg-pagination-button-selected-color: #000000;
954
+ }
711
955
  }
712
956
 
713
- .hcg-column-sortable.hcg-column-sorted-asc .hcg-column-sortable-icon,
714
- .hcg-column-sortable.hcg-column-sorted-desc .hcg-column-sortable-icon {
715
- display: inline-block;
957
+ .highcharts-dark .hcg-theme-default {
958
+ --hcg-input-border-color: #4f4f4f;
959
+ --hcg-input-hover-border-color: #646464;
960
+ --hcg-button-color: #ffffff;
961
+ --hcg-button-hover-color: #ffffff;
962
+ --hcg-button-hover-background: #3f3f3f;
963
+ --hcg-cell-button-border-color: #646464;
964
+ --hcg-pagination-button-selected-background: #ffffff;
965
+ --hcg-pagination-button-selected-color: #000000;
716
966
  }
717
967
 
718
- .hcg-column-sortable.hcg-column-sorted-desc .hcg-column-sortable-icon {
719
- transform: rotate(180deg);
720
- top: calc(50% - 2px);
721
- right: 10px;
968
+ .hcg-theme-default {
969
+ --hcg-border-color: var(--highcharts-neutral-color-20, color-mix(in srgb, var(--hcg-color, #000000) 10%, var(--hcg-background, #ffffff)));
970
+ --hcg-row-hover-background: var(--ig-highlight-color-5, color-mix(in srgb, var(--hcg-color, #000000) 3%, var(--hcg-background, #ffffff)));
971
+ --hcg-row-even-background: var(--highcharts-neutral-color-3, color-mix(in srgb, var(--hcg-color, #000000) 2%, var(--hcg-background, #ffffff)));
722
972
  }
723
973
 
724
- .hcg-container:has(.hcg-no-data) {
974
+ /* SPDX-License-Identifier: LicenseRef-Highcharts */
975
+
976
+ /**
977
+ * @license Highcharts Grid Lite v2.3.0
978
+ *
979
+ * (c) 2009-2025 Highsoft AS
980
+ *
981
+ * A commercial license may be required depending on use.
982
+ * See www.highcharts.com/license
983
+ */
984
+
985
+ /* Grid container */
986
+ .hcg-container {
987
+ container-type: inline-size;
988
+ container-name: hcg;
989
+ position: relative;
725
990
  display: flex;
726
- justify-content: center;
727
- align-items: center;
728
991
  flex-direction: column;
729
992
  height: 100%;
730
- padding: var(--ig-description-padding);
731
- text-align: var(--ig-description-text-align);
993
+ overflow: hidden;
994
+ box-sizing: border-box;
995
+ color-scheme: light dark;
996
+ max-height: inherit;
732
997
  }
733
998
 
734
- /* Table body */
735
- .hcg-table.hcg-scrollable-content tbody {
736
- height: 100%;
737
- overflow: auto;
738
- min-height: 0;
739
- flex: 1;
999
+ .highcharts-light .hcg-container {
1000
+ color-scheme: light;
740
1001
  }
741
1002
 
742
- .hcg-table.hcg-virtualization tbody {
743
- display: block;
744
- position: relative;
1003
+ .highcharts-dark .hcg-container {
1004
+ color-scheme: dark;
745
1005
  }
746
1006
 
747
- .hcg-table tbody {
748
- border-bottom-left-radius: var(--hcg-border-radius);
749
- border-bottom-right-radius: var(--hcg-border-radius);
1007
+ .hcg-container * {
1008
+ box-sizing: border-box;
750
1009
  }
751
1010
 
752
- .hcg-table tbody tr {
753
- overflow: hidden;
754
- width: 100%;
1011
+ .hcg-container:has(.hcg-no-data) {
1012
+ justify-content: center;
1013
+ align-items: center;
755
1014
  }
756
1015
 
757
- .hcg-table tbody tr td,
758
- .hcg-table tbody tr.hcg-mocked-row td {
759
- border-right: var(--ig-column-border);
760
- border-bottom: var(--ig-row-border);
761
- text-align: var(--ig-text-align);
762
- padding: var(--ig-padding);
763
- color: var(--ig-color);
764
- font: var(--ig-font);
765
- line-height: 1em;
766
- overflow: hidden;
767
- }
1016
+ /* ----------------------------------------------------------
1017
+ INPUT ELEMENTS
1018
+ ------------------------------------------------------------ */
768
1019
 
769
- .hcg-table tbody tr.hcg-mocked-row td {
770
- white-space: nowrap;
771
- text-overflow: ellipsis;
772
- }
1020
+ .hcg-container .hcg-input {
1021
+ width: 100%;
773
1022
 
774
- .hcg-table .hcg-last-header-cell-in-row,
775
- .hcg-table td:last-of-type {
776
- border-right: none;
777
- }
1023
+ &:disabled {
1024
+ opacity: 0.4;
1025
+ cursor: not-allowed;
1026
+ }
778
1027
 
779
- .hcg-table tr:last-of-type td {
780
- border-bottom: none;
781
- }
1028
+ &::placeholder {
1029
+ color: #767676;
1030
+ }
782
1031
 
783
- .hcg-table.hcg-scrollable-content tbody tr {
784
- display: block;
785
- }
1032
+ &:focus-visible {
1033
+ outline: none;
1034
+ border-color: transparent;
1035
+ }
786
1036
 
787
- .hcg-table.hcg-virtualization tbody tr {
788
- position: absolute;
789
- }
1037
+ &[type="checkbox"] {
1038
+ --ig-input-checkbox-size: 1.333em;
1039
+
1040
+ appearance: none;
1041
+ width: var(--ig-input-checkbox-size);
1042
+ height: var(--ig-input-checkbox-size);
1043
+ cursor: pointer;
1044
+ position: relative;
1045
+
1046
+ &:checked::before {
1047
+ content: "";
1048
+ position: absolute;
1049
+ inset: 0;
1050
+ margin: 0.05em;
1051
+ mask: center/contain no-repeat;
1052
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M5 13l4 4L19 7%27/%3E%3C/svg%3E");
1053
+ }
1054
+ }
790
1055
 
791
- .hcg-table tbody.hcg-rows-content-nowrap td {
792
- white-space: nowrap;
793
- text-overflow: ellipsis;
794
- }
1056
+ &.hcg-icon {
1057
+ padding-left: 25px;
1058
+ appearance: none;
1059
+ background-repeat: no-repeat;
1060
+ background-position: left 10px center;
1061
+ }
795
1062
 
796
- .hcg-table tbody td:focus,
797
- .hcg-table thead th:focus-visible {
798
- outline: none;
799
- box-shadow: inset var(--ig-focus-ring);
800
- }
1063
+ &.hcg-icon-search {
1064
+ background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27%3e%3cpath d=%27M10.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%27 stroke=%27%23767676%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3e%3c/svg%3e");
1065
+ }
801
1066
 
802
- /* Header hovered background and color */
803
- .hcg-table thead tr th.hcg-column-sortable:hover {
804
- background: var(--ig-header-hovered-background);
1067
+ select& {
1068
+ appearance: none;
1069
+ background-image: url("data:image/svg+xml,%3csvg width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cpath d=%27M3.5 7.5L6 10L8.5 7.5M3.5 4.5L6 2L8.5 4.5%27 stroke=%27%23767676%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3e%3c/svg%3e");
1070
+ background-repeat: no-repeat;
1071
+ background-position: right 5px center;
1072
+ white-space: nowrap;
1073
+ text-overflow: ellipsis;
1074
+ }
805
1075
  }
806
1076
 
807
- .hcg-table thead th.hcg-column-sortable:hover .hcg-header-cell-content {
808
- color: var(--ig-header-hovered-color);
809
- }
1077
+ /* ----------------------------------------------------------
1078
+ BUTTON ELEMENT
1079
+ ------------------------------------------------------------ */
810
1080
 
811
- /* Row backgrounds */
812
- .hcg-table tbody tr td {
813
- background: var(--ig-row-background);
1081
+ .hcg-container .hcg-button {
814
1082
  position: relative;
815
- }
1083
+ display: inline-flex;
1084
+ vertical-align: middle;
1085
+ align-items: center;
1086
+ justify-content: center;
1087
+ flex-direction: row;
1088
+ line-height: 1;
1089
+ gap: 2px;
1090
+ cursor: pointer;
1091
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, border 0.2s ease;
816
1092
 
817
- .hcg-table tbody tr.hcg-row-even td {
818
- background: var(--ig-row-even-background);
819
- color: var(--ig-row-even-color);
820
- }
1093
+ svg {
1094
+ width: 1em;
1095
+ height: 1em;
1096
+ display: block;
1097
+ }
821
1098
 
822
- /* Cell hovered and synced shared styles */
823
- .hcg-table thead th.hcg-hovered-column::before,
824
- .hcg-table tbody tr:hover td:hover::before,
825
- .hcg-table tbody tr:hover td::before,
826
- .hcg-table tbody tr td.hcg-hovered-column::before,
827
- .hcg-table thead th.hcg-synced-column::before,
828
- .hcg-table tbody tr.hcg-synced-row td.hcg-synced-cell::before,
829
- .hcg-table tbody tr.hcg-synced-row td::before,
830
- .hcg-table tbody tr td.hcg-synced-column::before {
831
- content: "";
832
- display: block;
833
- position: absolute;
834
- top: 0;
835
- left: 0;
836
- bottom: 0;
837
- right: 0;
838
- pointer-events: none;
839
- }
1099
+ span {
1100
+ display: inline-block;
1101
+ line-height: 1;
1102
+ }
840
1103
 
841
- /* Cell hovered background and color */
842
- .hcg-table tbody tr:hover td:hover {
843
- background: var(--ig-cell-hovered-background);
844
- color: var(--ig-cell-hovered-color);
845
- }
1104
+ span:empty {
1105
+ display: none;
1106
+ }
846
1107
 
847
- /* Cell hovered border */
848
- .hcg-table tbody tr:hover td:hover::before {
849
- border-top: var(--ig-cell-hovered-vertical-border);
850
- border-right: var(--ig-cell-hovered-horizontal-border);
851
- border-bottom: var(--ig-cell-hovered-vertical-border);
852
- border-left: var(--ig-cell-hovered-horizontal-border);
853
- }
1108
+ &.reverse {
1109
+ flex-direction: row-reverse;
1110
+ }
854
1111
 
855
- /* Cell hovered background and color */
856
- .hcg-table tbody tr.hcg-row-even:hover td:hover {
857
- background: var(--ig-cell-even-hovered-background);
858
- color: var(--ig-cell-even-hovered-color);
859
- }
1112
+ &:focus-visible {
1113
+ outline: none;
1114
+ border-color: transparent;
1115
+ }
860
1116
 
861
- /* Cell hovered row background and color */
862
- .hcg-table tbody tr:hover td {
863
- background: var(--ig-cell-hovered-row-background);
864
- color: var(--ig-cell-hovered-row-color);
1117
+ &:disabled {
1118
+ opacity: 0.4;
1119
+ cursor: not-allowed;
1120
+ }
865
1121
  }
866
1122
 
867
- /* Cell hovered row border */
868
- .hcg-table tbody tr:hover td::before {
869
- border-top: var(--ig-cell-hovered-row-border);
870
- border-bottom: var(--ig-cell-hovered-row-border);
871
- }
1123
+ /* ----------------------------------------------------------
1124
+ TABLE ELEMENTS
1125
+ ------------------------------------------------------------ */
872
1126
 
873
- /* Cell hovered row background and color */
874
- .hcg-table tbody tr.hcg-row-even:hover td {
875
- background: var(--ig-cell-hovered-row-even-background);
876
- color: var(--ig-cell-hovered-row-even-color);
877
- }
1127
+ /* <table> */
1128
+ .hcg-container .hcg-table {
1129
+ width: 100%;
1130
+ border-collapse: separate;
1131
+ border-spacing: 0;
1132
+ overflow: hidden;
1133
+ table-layout: fixed;
1134
+ flex: 1;
878
1135
 
879
- /* Cell hovered column background and color */
880
- .hcg-table tbody tr td.hcg-hovered-column {
881
- background: var(--ig-cell-hovered-column-background);
882
- color: var(--ig-cell-hovered-column-color);
883
- }
1136
+ &.hcg-scrollable-content {
1137
+ display: flex;
1138
+ flex-direction: column;
1139
+ min-height: 0;
1140
+ }
884
1141
 
885
- /* Cell hovered column border */
886
- .hcg-table tbody tr td.hcg-hovered-column::before {
887
- border-left: var(--ig-cell-hovered-column-border);
888
- border-right: var(--ig-cell-hovered-column-border);
889
- }
1142
+ /* <thead> */
1143
+ &.hcg-virtualization thead {
1144
+ display: block;
1145
+ }
890
1146
 
891
- /* Cell hovered column background and color */
892
- .hcg-table tbody tr.hcg-row-even td.hcg-hovered-column {
893
- background: var(--ig-cell-hovered-column-even-background);
894
- color: var(--ig-cell-hovered-column-even-color);
895
- }
1147
+ thead th {
1148
+ position: relative;
1149
+ }
896
1150
 
897
- /* Cell hovered header background */
898
- .hcg-table thead th.hcg-hovered-column {
899
- background: var(--ig-cell-hovered-header-background);
900
- }
1151
+ &.hcg-scrollable-content tbody {
1152
+ height: 100%;
1153
+ overflow: auto;
1154
+ min-height: 0;
1155
+ flex: 1;
1156
+ }
901
1157
 
902
- /* Cell hovered header border */
903
- .hcg-table thead th.hcg-hovered-column::before {
904
- border-left: var(--ig-cell-hovered-header-border);
905
- border-right: var(--ig-cell-hovered-header-border);
906
- }
1158
+ &.hcg-virtualization tbody {
1159
+ display: block;
1160
+ position: relative;
1161
+ }
907
1162
 
908
- /* Cell hovered header color */
909
- .hcg-table thead th.hcg-hovered-column .hcg-header-cell-content {
910
- color: var(--ig-cell-hovered-header-color);
911
- }
1163
+ tbody tr {
1164
+ overflow: hidden;
1165
+ width: 100%;
1166
+ }
912
1167
 
913
- /* Cell synced background and color */
914
- .hcg-table tbody tr.hcg-synced-row td.hcg-synced-column {
915
- background: var(--ig-cell-synced-background);
916
- color: var(--ig-cell-synced-color);
917
- }
1168
+ tbody tr.hcg-mocked-row td,
1169
+ tbody tr td {
1170
+ position: relative;
1171
+ line-height: 1em;
1172
+ overflow: hidden;
1173
+ }
918
1174
 
919
- /* Cell synced border */
920
- .hcg-table tbody tr.hcg-synced-row td.hcg-synced-column::before {
921
- border-top: var(--ig-cell-synced-vertical-border);
922
- border-right: var(--ig-cell-synced-horizontal-border);
923
- border-bottom: var(--ig-cell-synced-vertical-border);
924
- border-left: var(--ig-cell-synced-horizontal-border);
925
- }
1175
+ tbody tr.hcg-mocked-row td {
1176
+ white-space: nowrap;
1177
+ text-overflow: ellipsis;
1178
+ }
926
1179
 
927
- /* Cell synced background and color */
928
- .hcg-table tbody tr.hcg-row-even.hcg-synced-row td.hcg-synced-column {
929
- background: var(--ig-cell-even-synced-background);
930
- color: var(--ig-cell-even-synced-color);
931
- }
1180
+ .hcg-last-header-cell-in-row,
1181
+ td:last-of-type {
1182
+ border-right: none;
1183
+ }
932
1184
 
933
- /* Cell synced row background and color */
934
- .hcg-table tbody tr.hcg-synced-row td {
935
- background: var(--ig-cell-synced-row-background);
936
- color: var(--ig-cell-synced-row-color);
937
- }
1185
+ tr:last-of-type td {
1186
+ border-bottom: none;
1187
+ }
938
1188
 
939
- /* Cell synced row border */
940
- .hcg-table tbody tr.hcg-synced-row td::before {
941
- border-top: var(--ig-cell-synced-row-border);
942
- border-bottom: var(--ig-cell-synced-row-border);
943
- }
1189
+ &.hcg-scrollable-content tbody tr {
1190
+ display: block;
1191
+ }
944
1192
 
945
- /* Cell synced row background and color */
946
- .hcg-table tbody tr.hcg-row-even.hcg-synced-row td {
947
- background: var(--ig-cell-synced-row-even-background);
948
- color: var(--ig-cell-synced-row-even-color);
949
- }
1193
+ &.hcg-virtualization tbody tr {
1194
+ position: absolute;
1195
+ }
950
1196
 
951
- /* Cell synced column background and color */
952
- .hcg-table tbody tr td.hcg-synced-column {
953
- background: var(--ig-cell-synced-column-background);
954
- color: var(--ig-cell-synced-column-color);
955
- }
1197
+ tbody.hcg-rows-content-nowrap td {
1198
+ white-space: nowrap;
1199
+ text-overflow: ellipsis;
1200
+ }
956
1201
 
957
- /* Cell synced column border */
958
- .hcg-table tbody tr td.hcg-synced-column::before {
959
- border-left: var(--ig-cell-synced-column-border);
960
- border-right: var(--ig-cell-synced-column-border);
1202
+ tbody td:focus {
1203
+ outline: none;
1204
+ }
961
1205
  }
962
1206
 
963
- /* Cell synced column background and color */
964
- .hcg-table tbody tr.hcg-row-even td.hcg-synced-column {
965
- background: var(--ig-cell-synced-column-even-background);
966
- color: var(--ig-cell-synced-column-even-color);
967
- }
1207
+ /* ----------------------------------------------------------
1208
+ HEADER ELEMENTS
1209
+ ------------------------------------------------------------ */
1210
+ .hcg-container thead th {
1211
+ .hcg-header-cell-container {
1212
+ display: flex;
1213
+ align-items: center;
1214
+ justify-content: space-between;
1215
+ }
968
1216
 
969
- /* Cell synced header background */
970
- .hcg-table thead th.hcg-synced-column {
971
- background: var(--ig-cell-synced-header-background);
972
- }
1217
+ .hcg-header-cell-content {
1218
+ flex: 1;
1219
+ overflow: hidden;
1220
+ text-overflow: ellipsis;
1221
+ white-space: nowrap;
1222
+ }
973
1223
 
974
- /* Cell synced header border */
975
- .hcg-table thead th.hcg-synced-column::before {
976
- border-left: var(--ig-cell-synced-header-border);
977
- border-right: var(--ig-cell-synced-header-border);
978
- }
1224
+ .hcg-header-cell-container.hcg-no-width .hcg-header-cell-content {
1225
+ visibility: hidden;
1226
+ transition: none;
1227
+ }
979
1228
 
980
- /* Cell synced header color */
981
- .hcg-table thead th.hcg-synced-column .hcg-header-cell-content {
982
- color: var(--ig-cell-synced-header-color);
983
- }
1229
+ .hcg-header-cell-icons {
1230
+ display: flex;
1231
+ overflow: hidden;
1232
+ align-items: center;
1233
+ max-width: 0;
1234
+ opacity: 0;
1235
+ cursor: pointer;
1236
+ transition: max-width 0.3s ease, opacity 0.3s ease;
1237
+ }
984
1238
 
985
- .hcg-table td:first-child,
986
- .hcg-table thead th.hcg-column-first,
987
- .hcg-table thead tr:first-child th:first-child {
988
- border-left: none;
989
- }
1239
+ .hcg-header-cell-icons .hcg-button.hcg-button-selected::after {
1240
+ content: "";
1241
+ position: absolute;
1242
+ top: 2px;
1243
+ right: 2px;
1244
+ width: 0.3em;
1245
+ height: 0.3em;
1246
+ border-radius: 50%;
1247
+ }
990
1248
 
991
- /* Accessibility */
992
- .hcg-visually-hidden {
993
- position: absolute;
994
- width: 1px;
995
- height: 1px;
996
- overflow: hidden;
997
- white-space: nowrap;
998
- clip: rect(1px, 1px, 1px, 1px);
999
- margin-top: -3px;
1000
- opacity: 0.01;
1001
- }
1249
+ :is(:hover, :focus-visible) .hcg-header-cell-icons,
1250
+ .hcg-header-cell-icons:has(.hcg-button:focus-visible, .hcg-button.hcg-button-highlighted, .hcg-button.hcg-button-selected),
1251
+ .hcg-header-cell-container.hcg-no-width .hcg-header-cell-icons {
1252
+ max-width: 100px;
1253
+ opacity: 1;
1254
+ }
1255
+
1256
+ .hcg-header-cell-container.hcg-no-width .hcg-header-cell-menu-icon {
1257
+ position: absolute;
1258
+ left: 50%;
1259
+ top: 50%;
1260
+ transform: translate(-50%, -50%);
1261
+ margin-left: 0;
1262
+ }
1263
+
1264
+ .hcg-header-cell-icons .hcg-header-cell-menu-icon button {
1265
+ padding-inline: 3px;
1266
+ }
1267
+
1268
+ .hcg-header-cell-icons > :first-child {
1269
+ margin-left: 5px;
1270
+ }
1271
+
1272
+ .hcg-column-resizer {
1273
+ position: absolute;
1274
+ display: flex;
1275
+ align-items: center;
1276
+ justify-content: center;
1277
+ top: 0;
1278
+ width: 9px;
1279
+ right: -5px;
1280
+ height: 100%;
1281
+ user-select: none;
1282
+ z-index: 10;
1283
+ cursor: col-resize;
1284
+ }
1002
1285
 
1003
- /* Caption */
1004
- .hcg-caption {
1005
- color: var(--ig-caption-color);
1006
- font: var(--ig-caption-font);
1007
- text-align: var(--ig-caption-text-align);
1008
- padding: var(--ig-caption-padding);
1286
+ .hcg-column-resizer.hovered::after {
1287
+ content: "";
1288
+ height: 100%;
1289
+ }
1009
1290
  }
1010
1291
 
1011
- .hcg-caption * {
1012
- font: inherit;
1013
- margin: 0;
1292
+ /* ----------------------------------------------------------
1293
+ PAGINATION ELEMENTS
1294
+ ------------------------------------------------------------ */
1295
+
1296
+ .hcg-container .hcg-pagination {
1297
+ display: flex;
1298
+ align-items: center;
1299
+ gap: 0.75rem;
1300
+ flex-wrap: nowrap;
1301
+
1302
+ > * {
1303
+ flex: 1 1 0;
1304
+ min-width: 0;
1305
+ display: flex;
1306
+ align-items: center;
1307
+ }
1308
+
1309
+ .hcg-pagination-info {
1310
+ justify-content: flex-start;
1311
+ }
1312
+
1313
+ .hcg-pagination-controls {
1314
+ justify-content: center;
1315
+ gap: 2px;
1316
+
1317
+ .hcg-pagination-pages {
1318
+ display: flex;
1319
+ flex-wrap: nowrap;
1320
+ gap: 2px;
1321
+
1322
+ .hcg-button {
1323
+ display: inline-flex;
1324
+ align-items: center;
1325
+ justify-content: center;
1326
+ min-width: 30px;
1327
+ }
1328
+
1329
+ span {
1330
+ display: inline-flex;
1331
+ align-items: center;
1332
+ justify-content: center;
1333
+ min-width: 20px;
1334
+ }
1335
+ }
1336
+ }
1337
+
1338
+ .hcg-pagination-page-size {
1339
+ justify-content: flex-end;
1340
+ text-align: right;
1341
+
1342
+ select.hcg-input {
1343
+ width: 60px;
1344
+ margin-left: 8px;
1345
+ }
1346
+ }
1347
+
1348
+ /* .hcg-pagination-nav-dropdown {
1349
+ display: none;
1350
+ min-width: 200px;
1351
+ } */
1352
+
1353
+ &.hcg-pagination-left,
1354
+ &.hcg-pagination-center,
1355
+ &.hcg-pagination-right {
1356
+ > * {
1357
+ flex: 0 0 auto;
1358
+ min-width: auto;
1359
+ }
1360
+ }
1361
+
1362
+ &.hcg-pagination-left { justify-content: flex-start; }
1363
+ &.hcg-pagination-center { justify-content: center; }
1364
+ &.hcg-pagination-right { justify-content: flex-end; }
1365
+
1366
+ &:not(:has(.hcg-pagination-info)) .hcg-pagination-controls {
1367
+ justify-content: flex-start;
1368
+ }
1369
+
1370
+ &:not(:has(.hcg-pagination-page-size)) .hcg-pagination-controls {
1371
+ justify-content: flex-end;
1372
+ }
1014
1373
  }
1015
1374
 
1016
- /* Description */
1017
- .hcg-description {
1018
- color: var(--ig-description-color);
1019
- font: var(--ig-description-font);
1020
- text-align: var(--ig-description-text-align);
1021
- padding: var(--ig-description-padding);
1375
+ @container hcg (max-width: 800px) {
1376
+ .hcg-container .hcg-pagination {
1377
+ flex-direction: column;
1378
+ align-items: stretch;
1379
+ --ig-pagination-stacked-align: center;
1380
+
1381
+ &.hcg-pagination-left { --ig-pagination-stacked-align: flex-start; }
1382
+ &.hcg-pagination-right { --ig-pagination-stacked-align: flex-end; }
1383
+
1384
+ > * {
1385
+ flex: 0 0 auto;
1386
+ justify-content: var(--ig-pagination-stacked-align);
1387
+ }
1388
+
1389
+ .hcg-pagination-info,
1390
+ .hcg-pagination-controls,
1391
+ .hcg-pagination-page-size {
1392
+ justify-content: var(--ig-pagination-stacked-align);
1393
+ }
1394
+
1395
+ .hcg-pagination-page-size {
1396
+ text-align: center;
1397
+ }
1398
+ &.hcg-pagination-left .hcg-pagination-page-size { text-align: left; }
1399
+ &.hcg-pagination-right .hcg-pagination-page-size { text-align: right; }
1400
+
1401
+ &:not(:has(.hcg-pagination-page-size)) .hcg-pagination-controls,
1402
+ &:not(:has(.hcg-pagination-info)) .hcg-pagination-controls {
1403
+ justify-content: var(--ig-pagination-stacked-align);
1404
+ }
1405
+ }
1022
1406
  }
1023
1407
 
1024
- /* Credits */
1408
+ /* ----------------------------------------------------------
1409
+ CREDITS ELEMENT
1410
+ ------------------------------------------------------------ */
1025
1411
 
1026
1412
  .hcg-credits,
1027
1413
  .highcharts-light .hcg-credits {
@@ -1053,113 +1439,110 @@ th.hcg-column-sortable > .hcg-column-sortable-icon {
1053
1439
  background-image:
1054
1440
  image-set(
1055
1441
  /* stylelint-disable-next-line function-comma-newline-after */
1056
- url("https://assets.highcharts.com/grid/logo_dark.png") 1x,
1057
- url("https://assets.highcharts.com/grid/logo_darkx2.png") 2x
1058
- );
1059
- }
1060
-
1061
- /* Loader */
1062
- .hcg-loading-wrapper {
1063
- display: flex;
1064
- align-items: center;
1065
- justify-content: center;
1066
- position: absolute;
1067
- width: 100%;
1068
- height: 100%;
1069
- gap: 10px;
1070
- color: var(--ig-loader-color);
1442
+ url("https://assets.highcharts.com/grid/logo_dark.png") 1x,
1443
+ url("https://assets.highcharts.com/grid/logo_darkx2.png") 2x
1444
+ );
1071
1445
  }
1072
1446
 
1073
- .hcg-loading-wrapper .hcg-spinner {
1074
- border-top: 5px solid var(--ig-loader-color);
1075
- border-radius: 50%;
1076
- width: 30px;
1077
- height: 30px;
1078
- animation: spin 1s linear infinite;
1079
- }
1447
+ /* ----------------------------------------------------------
1448
+ POPUP ELEMENTS
1449
+ ------------------------------------------------------------ */
1450
+ .hcg-container .hcg-popup {
1451
+ position: absolute;
1452
+ z-index: 1000;
1453
+ border-radius: 6px;
1454
+ 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);
1455
+ min-width: 200px;
1456
+ overflow: auto;
1457
+ border-width: 1px;
1458
+ border-style: solid;
1080
1459
 
1081
- @keyframes spin {
1082
- from {
1083
- transform: rotate(0deg);
1460
+ .hcg-popup-content {
1461
+ padding: 5px;
1084
1462
  }
1085
1463
 
1086
- to {
1087
- transform: rotate(360deg);
1464
+ .hcg-menu-header {
1465
+ font-size: 0.75rem;
1466
+ padding: 3px;
1467
+ margin-bottom: 5px;
1088
1468
  }
1089
- }
1090
-
1091
- /* Input elements */
1092
1469
 
1093
- .hcg-container .hcg-input {
1094
- font: var(--ig-input-font);
1095
- text-align: var(--ig-input-text-align);
1096
- background: var(--ig-input-background);
1097
- color: var(--ig-input-color);
1098
- border: var(--ig-input-border);
1099
- border-radius: var(--ig-input-border-radius);
1100
- padding: 7px;
1101
- width: 100%;
1470
+ .hcg-menu-header-category {
1471
+ opacity: 0.5;
1472
+ user-select: none;
1473
+ }
1102
1474
  }
1103
1475
 
1104
- .hcg-container .hcg-input[type="checkbox"] {
1105
- appearance: none;
1106
- width: 20px;
1107
- height: 20px;
1108
- cursor: pointer;
1109
- position: relative;
1110
- }
1476
+ /* ----------------------------------------------------------
1477
+ MENU ELEMENTS
1478
+ ------------------------------------------------------------ */
1111
1479
 
1112
- .hcg-container .hcg-input[type="checkbox"]:checked::before {
1113
- content: "";
1114
- position: absolute;
1115
- inset: 0;
1116
- margin: 0.05rem;
1117
- mask: center/contain no-repeat;
1118
- mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
1119
- background-color: var(--ig-input-color);
1120
- }
1480
+ .hcg-container .hcg-menu-container {
1481
+ margin: 0;
1482
+ display: flex;
1483
+ flex-direction: column;
1484
+ list-style: none;
1485
+ row-gap: 5px;
1486
+ padding: 0;
1121
1487
 
1122
- .hcg-container .hcg-input:hover {
1123
- border-color: var(--ig-input-hover-border-color);
1124
- }
1488
+ .hcg-menu-item {
1489
+ display: flex;
1490
+ align-items: center;
1491
+ gap: 2px;
1492
+ width: 100%;
1493
+ min-width: 185px;
1494
+ min-height: 2rem;
1495
+ padding: 8px 8px 8px 12px;
1496
+ font-size: 0.75rem;
1497
+ font-weight: 600;
1498
+ background-color: transparent;
1499
+ border: 1px solid transparent;
1500
+ border-radius: 5px;
1501
+ }
1125
1502
 
1126
- .hcg-container .hcg-input:disabled,
1127
- .hcg-container .hcg-button:disabled {
1128
- opacity: 0.4;
1129
- cursor: not-allowed;
1130
- }
1503
+ .hcg-menu-item:not(:disabled) {
1504
+ cursor: pointer;
1505
+ }
1131
1506
 
1132
- .hcg-container .hcg-input::placeholder {
1133
- color: #767676;
1134
- }
1507
+ .hcg-menu-item:focus-visible {
1508
+ outline: none;
1509
+ }
1135
1510
 
1136
- .hcg-container .hcg-input:focus-visible {
1137
- outline: none;
1138
- border-color: transparent;
1139
- box-shadow: var(--ig-focus-ring);
1140
- }
1511
+ .hcg-menu-item-icon {
1512
+ --icon-size: 16px;
1141
1513
 
1142
- .hcg-container .hcg-input.hcg-icon {
1143
- padding-left: 25px;
1144
- appearance: none;
1145
- background-repeat: no-repeat;
1146
- background-position: left 10px center;
1147
- }
1514
+ flex: 0 0 var(--icon-size);
1515
+ width: var(--icon-size);
1516
+ height: var(--icon-size);
1517
+ display: inline-flex;
1518
+ align-items: center;
1519
+ justify-content: center;
1520
+ opacity: 0.6;
1521
+ }
1148
1522
 
1149
- .hcg-container .hcg-input.hcg-icon-search {
1150
- 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");
1151
- }
1523
+ .hcg-menu-item.active .hcg-menu-item-icon,
1524
+ .hcg-menu-item.highlighted .hcg-menu-item-icon,
1525
+ .hcg-menu-item:not(:disabled):hover .hcg-menu-item-icon {
1526
+ opacity: 1;
1527
+ }
1152
1528
 
1153
- .hcg-container select.hcg-input {
1154
- appearance: none;
1155
- 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");
1156
- background-repeat: no-repeat;
1157
- background-position: right 5px center;
1158
- white-space: nowrap;
1159
- text-overflow: ellipsis;
1529
+ .hcg-menu-item-label {
1530
+ flex: 1 1 auto;
1531
+ min-width: 0;
1532
+ text-align: left;
1533
+ padding-left: 0.75rem;
1534
+ }
1535
+
1536
+ .hcg-menu-divider {
1537
+ border-top-width: 1px;
1538
+ border-top-style: solid;
1539
+ height: 0;
1540
+ }
1160
1541
  }
1161
1542
 
1162
- /* Filtering */
1543
+ /* ----------------------------------------------------------
1544
+ FILTERING ELEMENTS
1545
+ ------------------------------------------------------------ */
1163
1546
 
1164
1547
  .hcg-header-cell:has(.hcg-column-filter-wrapper) {
1165
1548
  overflow: hidden;
@@ -1182,7 +1565,6 @@ th.hcg-column-sortable > .hcg-column-sortable-icon {
1182
1565
  display: inline;
1183
1566
  vertical-align: baseline;
1184
1567
  font: inherit;
1185
- color: var(--ig-color);
1186
1568
  font-size: 0.625rem;
1187
1569
  white-space: nowrap;
1188
1570
  font-weight: normal;
@@ -1201,141 +1583,61 @@ th.hcg-column-sortable > .hcg-column-sortable-icon {
1201
1583
  cursor: default;
1202
1584
  }
1203
1585
 
1204
- /* Pagination */
1205
-
1206
- /* Footer pagination (tfoot) */
1207
- .hcg-table tfoot td {
1208
- border-top: var(--ig-row-border);
1209
- }
1210
-
1211
- .hcg-pagination-wrapper {
1212
- background: var(--ig-pagination-background);
1213
- padding: var(--ig-pagination-padding);
1214
- color: var(--ig-pagination-color);
1215
- font: var(--ig-pagination-font);
1216
- display: grid;
1217
- grid-template-columns: 1fr auto 1fr;
1218
- align-items: center;
1219
- gap: 16px;
1220
- width: 100%;
1221
- }
1222
-
1223
- .hcg-pagination-wrapper select {
1224
- min-height: 30px;
1225
- }
1586
+ /* ----------------------------------------------------------
1587
+ OTHER ELEMENTS
1588
+ ------------------------------------------------------------ */
1226
1589
 
1227
- .hcg-pagination-controls-container .hcg-button,
1228
- .hcg-pagination-controls-container span {
1229
- color: var(--ig-pagination-button-color);
1230
- background: var(--ig-pagination-button-background);
1231
- border: var(--ig-pagination-button-border);
1232
- padding: var(--ig-pagination-button-padding);
1233
- border-radius: var(--ig-pagination-button-border-radius);
1234
- font: var(--ig-input-font);
1235
- display: flex;
1236
- align-items: center;
1237
- justify-content: center;
1238
- min-width: 30px;
1239
- min-height: 30px;
1240
- transition: all 0.2s ease;
1590
+ /* Sorting */
1591
+ .hcg-table thead th.hcg-column-sortable {
1241
1592
  cursor: pointer;
1242
1593
  }
1243
1594
 
1244
- .hcg-pagination-controls-container span {
1245
- cursor: default;
1246
- border-color: transparent;
1247
- }
1248
-
1249
- /* SVG icon styling for pagination buttons */
1250
- .hcg-pagination-controls-container .hcg-button svg {
1251
- color: var(--ig-pagination-icon-color);
1252
- width: var(--ig-input-font-size);
1253
- height: var(--ig-input-font-size);
1254
- display: block;
1255
- }
1256
-
1257
- .hcg-pagination-controls-container .hcg-button svg path {
1258
- stroke: currentcolor;
1259
- }
1260
-
1261
- /* Fix horizontal layout for pagination pages */
1262
-
1263
- .hcg-pagination-controls-container div.hcg-pagination-nav-buttons-container {
1264
- margin-right: 12px;
1265
- margin-left: 12px;
1266
- display: inline-flex;
1267
- align-items: center;
1268
- justify-content: center;
1269
- gap: 4px;
1595
+ /* Accessibility */
1596
+ .hcg-visually-hidden {
1597
+ position: absolute;
1598
+ width: 1px;
1599
+ height: 1px;
1600
+ overflow: hidden;
1601
+ white-space: nowrap;
1602
+ clip: rect(1px, 1px, 1px, 1px);
1603
+ margin-top: -3px;
1604
+ opacity: 0.01;
1270
1605
  }
1271
1606
 
1272
- /* Pagination info text */
1273
- .hcg-pagination-wrapper .hcg-pagination-info {
1274
- white-space: nowrap;
1275
- align-items: center;
1276
- display: inline-flex;
1607
+ .hcg-container.hcg-caption * {
1608
+ font: inherit;
1609
+ margin: 0;
1277
1610
  }
1278
1611
 
1279
- /* Pagination controls - horizontal layout */
1280
- .hcg-pagination-wrapper .hcg-pagination-controls-container {
1612
+ /* Loader */
1613
+ .hcg-loading-wrapper {
1281
1614
  display: flex;
1282
1615
  align-items: center;
1283
- gap: 2px;
1284
- flex-wrap: nowrap;
1285
- }
1286
-
1287
- /* Hover state - only border change */
1288
- .hcg-pagination-wrapper .hcg-button:hover:not(:is(:disabled, .hcg-button-selected)) {
1289
- color: var(--ig-pagination-button-hover-color);
1290
- background: var(--ig-pagination-button-hover-background);
1291
- border-color: var(--ig-pagination-button-hover-border-color);
1292
- outline: none;
1293
- }
1294
-
1295
- .hcg-pagination-wrapper .hcg-button:focus-visible:not(:disabled) {
1296
- outline: none;
1297
- border-color: transparent;
1298
- box-shadow: var(--ig-focus-ring);
1299
- }
1300
-
1301
- /* Disabled state */
1302
-
1303
- .hcg-pagination-wrapper .hcg-button-selected {
1304
- color: var(--ig-pagination-button-selected-color);
1305
- background: var(--ig-pagination-button-selected-background);
1306
- border-color: var(--ig-pagination-button-selected-border-color);
1307
- }
1308
-
1309
- /* Page size selector */
1310
- .hcg-pagination-wrapper .hcg-pagination-page-size {
1311
- text-align: right;
1312
- }
1313
-
1314
- .hcg-pagination-wrapper .hcg-pagination-page-size select.hcg-input {
1315
- width: 60px;
1316
- margin-left: 8px;
1616
+ justify-content: center;
1617
+ position: absolute;
1618
+ width: 100%;
1619
+ height: 100%;
1620
+ gap: 10px;
1621
+ color: light-dark(#000000, #ffffff);
1317
1622
  }
1318
1623
 
1319
- /* Mobile page selector - hidden by default */
1320
- .hcg-pagination-wrapper .hcg-pagination-nav-dropdown {
1321
- display: none;
1322
- margin-left: 0;
1323
- min-width: 200px;
1324
- text-align: center;
1624
+ .hcg-loading-wrapper .hcg-spinner {
1625
+ border-top-width: 5px;
1626
+ border-top-style: solid;
1627
+ border-top-color: light-dark(#000000, #ffffff);
1628
+ border-radius: 50%;
1629
+ width: 30px;
1630
+ height: 30px;
1631
+ animation: spin 1s linear infinite;
1325
1632
  }
1326
1633
 
1327
- @container hcg (max-width: 1024px) {
1328
- .hcg-pagination-wrapper {
1329
- grid-template-columns: 1fr;
1330
- justify-items: center;
1331
- }
1332
-
1333
- .hcg-pagination-wrapper .hcg-pagination-nav-dropdown {
1334
- display: block;
1634
+ @keyframes spin {
1635
+ from {
1636
+ transform: rotate(0deg);
1335
1637
  }
1336
1638
 
1337
- .hcg-pagination-wrapper div.hcg-pagination-nav-buttons-container {
1338
- display: none;
1639
+ to {
1640
+ transform: rotate(360deg);
1339
1641
  }
1340
1642
  }
1341
1643
 
@@ -1358,179 +1660,16 @@ th.hcg-column-sortable > .hcg-column-sortable-icon {
1358
1660
 
1359
1661
  /* End Grid CSS Helpers Classes */
1360
1662
 
1361
- /* Column header menu */
1362
-
1363
- .hcg-popup {
1364
- position: absolute;
1365
- z-index: 1000;
1366
- background-color: var(--hcg-popup-background);
1367
- border: var(--hcg-popup-border);
1368
- color: var(--ig-color);
1369
- border-radius: 6px;
1370
- 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);
1371
- min-width: 200px;
1372
- overflow: auto;
1373
- }
1374
-
1375
- .hcg-popup-content {
1376
- padding: 5px;
1377
- }
1378
-
1379
- .hcg-menu-header {
1380
- font-size: 0.75rem;
1381
- padding: 3px;
1382
- margin-bottom: 5px;
1383
- }
1384
-
1385
- .hcg-menu-header-category {
1386
- opacity: 0.5;
1387
- user-select: none;
1388
- }
1389
-
1390
- .hcg-menu-container {
1391
- --icon-size: 16px;
1392
-
1393
- margin: 0;
1394
- display: flex;
1395
- flex-direction: column;
1396
- list-style: none;
1397
- row-gap: 5px;
1398
- padding: 0;
1399
- }
1400
-
1401
- .hcg-menu-item {
1402
- display: flex;
1403
- align-items: center;
1404
- gap: 2px;
1405
- width: 100%;
1406
- min-width: 185px;
1407
- min-height: 2rem;
1408
- padding: 8px 8px 8px 12px;
1409
- font-size: 0.75rem;
1410
- font-weight: 600;
1411
- background-color: transparent;
1412
- border: 1px solid transparent;
1413
- border-radius: 5px;
1414
- color: var(--ig-color);
1415
- }
1416
-
1417
- .hcg-menu-item:not(:disabled) {
1418
- cursor: pointer;
1419
- }
1420
-
1421
- .hcg-menu-item:focus-visible {
1422
- outline: none;
1423
- box-shadow: var(--ig-focus-ring);
1424
- }
1425
-
1426
- .hcg-menu-item:focus-visible,
1427
- .hcg-menu-item:not(:disabled):hover,
1428
- .hcg-menu-item.highlighted {
1429
- background-color: var(--hcg-context-menu-item-hover-background);
1430
- border: var(--hcg-context-menu-item-hover-border);
1431
- }
1432
-
1433
- .hcg-menu-item.active,
1434
- .hcg-menu-item.active:hover,
1435
- .hcg-menu-item.active.highlighted {
1436
- background-color: var(--hcg-context-menu-item-active-background);
1437
- border: var(--hcg-context-menu-item-active-border);
1438
- }
1439
-
1440
- .hcg-menu-item-icon {
1441
- flex: 0 0 var(--icon-size);
1442
- width: var(--icon-size);
1443
- height: var(--icon-size);
1444
- display: inline-flex;
1445
- align-items: center;
1446
- justify-content: center;
1447
- opacity: 0.6;
1448
- }
1449
-
1450
- .hcg-menu-item.active .hcg-menu-item-icon,
1451
- .hcg-menu-item.highlighted .hcg-menu-item-icon,
1452
- .hcg-menu-item:not(:disabled):hover .hcg-menu-item-icon {
1453
- opacity: 1;
1454
- }
1455
-
1456
- .hcg-menu-item-icon .hcg-icon {
1457
- color: var(--ig-icon-hover-color);
1458
- }
1459
-
1460
- .hcg-menu-item-label {
1461
- flex: 1 1 auto;
1462
- min-width: 0;
1463
- text-align: left;
1464
- padding-left: 0.75rem;
1465
- }
1466
-
1467
- .hcg-menu-divider {
1468
- border-top: 1px solid var(--hcg-popup-border-color);
1469
- height: 0;
1470
- }
1471
-
1472
- /* Start Grid Default Theme */
1473
- .hcg-theme-default,
1474
- .highcharts-light .hcg-theme-default {
1475
- /* Primary colors */
1476
- --hcg-color: var(--highcharts-neutral-color-100);
1477
- --hcg-background: var(--highcharts-background-color);
1478
- --hcg-border-radius: 5px;
1479
- --hcg-border-width: 1px;
1480
- --hcg-caption-font-size: 18px;
1481
- --hcg-font-size: 15px;
1482
- --hcg-header-vertical-padding: 10px;
1483
- --hcg-padding: 15px;
1484
- --hcg-input-border-radius: 6px;
1485
- --hcg-input-border-color: #d1d1d1;
1486
- --hcg-input-hover-border-color: #9d9d9d;
1487
- --hcg-focus-ring-color: #626bd0;
1488
- --hcg-button-hover-background: #e8e8e8;
1489
- --hcg-button-color: #141414;
1490
- --hcg-button-hover-color: #141414;
1491
- --hcg-pagination-vertical-padding: 10px;
1492
- --hcg-pagination-button-selected-background: #000000;
1493
- --hcg-pagination-button-selected-color: #ffffff;
1494
- --hcg-icon-color: #626262;
1495
- --hcg-icon-hover-color: #141414;
1496
- }
1497
-
1498
- @media (prefers-color-scheme: dark) {
1499
- .hcg-theme-default {
1500
- --hcg-color: var(--highcharts-neutral-color-100);
1501
- --hcg-background: var(--highcharts-background-color);
1502
- --hcg-input-border-color: #4f4f4f;
1503
- --hcg-input-hover-border-color: #646464;
1504
- --hcg-button-hover-background: #3b3b3b;
1505
- --hcg-button-color: #ffffff;
1506
- --hcg-button-hover-color: #ffffff;
1507
- --hcg-pagination-button-selected-background: #ffffff;
1508
- --hcg-pagination-button-selected-color: #000000;
1509
- --hcg-icon-hover-color: #ffffff;
1510
- }
1511
- }
1512
-
1513
- .highcharts-dark .hcg-theme-default {
1514
- --hcg-color: var(--highcharts-neutral-color-100);
1515
- --hcg-background: var(--highcharts-background-color);
1516
- --hcg-input-border-color: #4f4f4f;
1517
- --hcg-input-hover-border-color: #646464;
1518
- --hcg-button-hover-background: #3b3b3b;
1519
- --hcg-button-color: #ffffff;
1520
- --hcg-button-hover-color: #ffffff;
1521
- --hcg-pagination-button-selected-background: #ffffff;
1522
- --hcg-pagination-button-selected-color: #000000;
1523
- --hcg-icon-hover-color: #ffffff;
1524
- }
1525
-
1526
- .hcg-theme-default {
1527
- --hcg-border-color: var(--highcharts-neutral-color-20, color-mix(in srgb, var(--hcg-color, #000000) 10%, var(--hcg-background, #ffffff)));
1528
- --hcg-cell-hovered-row-background: var(--ig-highlight-color-5, color-mix(in srgb, var(--hcg-color, #000000) 3%, var(--hcg-background, #ffffff)));
1529
- --hcg-row-even-background: var(--highcharts-neutral-color-3, color-mix(in srgb, var(--hcg-color, #000000) 2%, var(--hcg-background, #ffffff)));
1530
- }
1531
-
1532
- /* End Grid Default Theme */
1663
+ /* SPDX-License-Identifier: LicenseRef-Highcharts */
1533
1664
 
1665
+ /**
1666
+ * @license Highcharts Grid Pro v2.3.0
1667
+ *
1668
+ * (c) 2009-2025 Highsoft AS
1669
+ *
1670
+ * A commercial license may be required depending on use.
1671
+ * See www.highcharts.com/license
1672
+ */
1534
1673
 
1535
1674
  /* Grid Pro specific styles */
1536
1675
 
@@ -1628,10 +1767,6 @@ th.hcg-column-sortable > .hcg-column-sortable-icon {
1628
1767
  padding: 0 !important;
1629
1768
  }
1630
1769
 
1631
- .hcg-table tbody td.hcg-edited-cell {
1632
- padding: 0;
1633
- }
1634
-
1635
1770
  .hcg-cell-editing-container {
1636
1771
  position: absolute;
1637
1772
  top: 0;
@@ -1756,4 +1891,5 @@ th.hcg-column-sortable > .hcg-column-sortable-icon {
1756
1891
  100% {
1757
1892
  opacity: 1;
1758
1893
  }
1759
- }
1894
+ }
1895
+