@revolist/revogrid 4.24.2 → 4.25.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 (124) hide show
  1. package/dist/cjs/app-globals-Dmf-wvGw.js +8 -0
  2. package/dist/cjs/{cell-renderer-DnOCJ9ge.js → cell-renderer-Cf2Pu4S0.js} +3 -3
  3. package/dist/cjs/{column.drag.plugin-DSiFObaj.js → column.drag.plugin-E_K6cIAy.js} +101 -13
  4. package/dist/cjs/{column.service-CD70rNL2.js → column.service-C7p5eC5V.js} +1 -1
  5. package/dist/cjs/{dimension.helpers-CB5sNw5J.js → dimension.helpers-CgHhnN1d.js} +1 -1
  6. package/dist/cjs/{edit.utils-DDxnq9lw.js → edit.utils-rAcGublN.js} +1 -1
  7. package/dist/cjs/{filter.button-C4xpvyyE.js → filter.button-F2Bw3UAd.js} +1 -1
  8. package/dist/cjs/{header-cell-renderer-JXYFwayd.js → header-cell-renderer-DHClfIto.js} +2 -2
  9. package/dist/cjs/{index-BF6JDcMr.js → index--FdNLz1Z.js} +1 -1
  10. package/dist/cjs/{index-Dq8Xzj5l.js → index-DRvxCueo.js} +61 -20
  11. package/dist/cjs/index.cjs.js +556 -47
  12. package/dist/cjs/loader.cjs.js +3 -4
  13. package/dist/cjs/revo-grid.cjs.entry.js +256 -28
  14. package/dist/cjs/revo-grid.cjs.js +4 -5
  15. package/dist/cjs/revogr-attribution_7.cjs.entry.js +9 -9
  16. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +6 -6
  17. package/dist/cjs/revogr-data_4.cjs.entry.js +8 -8
  18. package/dist/cjs/revogr-filter-panel.cjs.entry.js +19 -6
  19. package/dist/cjs/{text-editor-CvgloQdG.js → text-editor-F04kTx53.js} +2 -2
  20. package/dist/cjs/{viewport.store-Ci8H1bI9.js → viewport.store-B4Clk4m9.js} +1 -1
  21. package/dist/collection/collection-manifest.json +2 -3
  22. package/dist/collection/components/editors/revogr-edit-style.css +2 -2
  23. package/dist/collection/components/header/revogr-header-style.css +2 -2
  24. package/dist/collection/components/overlay/revogr-overlay-style.css +9 -6
  25. package/dist/collection/components/revoGrid/revo-grid-style.css +451 -276
  26. package/dist/collection/components/revoGrid/revo-grid.js +106 -35
  27. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +6 -4
  28. package/dist/collection/components/selectionFocus/revogr-focus-style.css +1 -1
  29. package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +2 -2
  30. package/dist/collection/index.js +1 -0
  31. package/dist/collection/plugins/filter/filter.panel.js +36 -3
  32. package/dist/collection/plugins/filter/filter.plugin.js +21 -6
  33. package/dist/collection/plugins/filter/filter.style.css +43 -38
  34. package/dist/collection/serve/controller.js +18 -2
  35. package/dist/collection/themeManager/presets/aurora.js +89 -0
  36. package/dist/collection/themeManager/presets/high-contrast-dark.js +89 -0
  37. package/dist/collection/themeManager/presets/high-contrast.js +89 -0
  38. package/dist/collection/themeManager/presets/index.js +25 -0
  39. package/dist/collection/themeManager/presets/midnight.js +89 -0
  40. package/dist/collection/themeManager/presets/ocean.js +89 -0
  41. package/dist/collection/themeManager/presets/shared.js +64 -0
  42. package/dist/collection/themeManager/theme.service.js +141 -20
  43. package/dist/collection/types/theme.js +73 -1
  44. package/dist/esm/app-globals-CA4dvSNd.js +6 -0
  45. package/dist/{revo-grid/cell-renderer-BQjko1zB.js → esm/cell-renderer-11cf-lu3.js} +3 -3
  46. package/dist/{revo-grid/column.drag.plugin-Cf9DYdQj.js → esm/column.drag.plugin-DKgC_0I1.js} +100 -14
  47. package/dist/esm/{column.service-BnFqXqQG.js → column.service-Cfw3L0PN.js} +1 -1
  48. package/dist/esm/{dimension.helpers-CXrsUc6f.js → dimension.helpers-fl4HSSK9.js} +1 -1
  49. package/dist/esm/{edit.utils-CXmmCnxE.js → edit.utils-4e9fsqOR.js} +1 -1
  50. package/dist/esm/{filter.button-B-RBiF67.js → filter.button-DMhpuAiw.js} +1 -1
  51. package/dist/esm/{header-cell-renderer-B3mYpZD3.js → header-cell-renderer-Cqtg1ETB.js} +2 -2
  52. package/dist/esm/{index-Chp_81rd.js → index-CtimkLsB.js} +62 -20
  53. package/dist/esm/{index-DBqlJITb.js → index-D24ku9ej.js} +1 -1
  54. package/dist/esm/index.js +513 -13
  55. package/dist/esm/loader.js +4 -5
  56. package/dist/esm/revo-grid.entry.js +255 -27
  57. package/dist/esm/revo-grid.js +5 -6
  58. package/dist/esm/revogr-attribution_7.entry.js +9 -9
  59. package/dist/esm/revogr-clipboard_3.entry.js +6 -6
  60. package/dist/esm/revogr-data_4.entry.js +8 -8
  61. package/dist/esm/revogr-filter-panel.entry.js +19 -6
  62. package/dist/{revo-grid/text-editor-DQtz2Y7B.js → esm/text-editor-DlMnLkRK.js} +2 -2
  63. package/dist/{revo-grid/viewport.store-D5jEuhLq.js → esm/viewport.store-BSXmsiZc.js} +1 -1
  64. package/dist/revo-grid/app-globals-CA4dvSNd.js +6 -0
  65. package/dist/{esm/cell-renderer-BQjko1zB.js → revo-grid/cell-renderer-11cf-lu3.js} +3 -3
  66. package/dist/{esm/column.drag.plugin-Cf9DYdQj.js → revo-grid/column.drag.plugin-DKgC_0I1.js} +100 -14
  67. package/dist/revo-grid/{column.service-BnFqXqQG.js → column.service-Cfw3L0PN.js} +1 -1
  68. package/dist/revo-grid/{dimension.helpers-CXrsUc6f.js → dimension.helpers-fl4HSSK9.js} +1 -1
  69. package/dist/revo-grid/{edit.utils-CXmmCnxE.js → edit.utils-4e9fsqOR.js} +1 -1
  70. package/dist/revo-grid/{filter.button-B-RBiF67.js → filter.button-DMhpuAiw.js} +1 -1
  71. package/dist/revo-grid/{header-cell-renderer-B3mYpZD3.js → header-cell-renderer-Cqtg1ETB.js} +2 -2
  72. package/dist/revo-grid/{index-Chp_81rd.js → index-CtimkLsB.js} +62 -20
  73. package/dist/revo-grid/{index-DBqlJITb.js → index-D24ku9ej.js} +1 -1
  74. package/dist/revo-grid/index.esm.js +513 -13
  75. package/dist/revo-grid/revo-grid.entry.js +255 -27
  76. package/dist/revo-grid/revo-grid.esm.js +5 -6
  77. package/dist/revo-grid/revogr-attribution_7.entry.js +9 -9
  78. package/dist/revo-grid/revogr-clipboard_3.entry.js +6 -6
  79. package/dist/revo-grid/revogr-data_4.entry.js +8 -8
  80. package/dist/revo-grid/revogr-filter-panel.entry.js +19 -6
  81. package/dist/{esm/text-editor-DQtz2Y7B.js → revo-grid/text-editor-DlMnLkRK.js} +2 -2
  82. package/dist/{esm/viewport.store-D5jEuhLq.js → revo-grid/viewport.store-BSXmsiZc.js} +1 -1
  83. package/dist/types/components/revoGrid/revo-grid.d.ts +16 -4
  84. package/dist/types/components.d.ts +28 -7
  85. package/dist/types/index.d.ts +1 -0
  86. package/dist/types/plugins/filter/filter.panel.d.ts +4 -0
  87. package/dist/types/plugins/filter/filter.plugin.d.ts +1 -0
  88. package/dist/types/plugins/filter/filter.types.d.ts +5 -0
  89. package/dist/types/stencil-public-runtime.d.ts +1 -0
  90. package/dist/types/themeManager/presets/aurora.d.ts +8 -0
  91. package/dist/types/themeManager/presets/high-contrast-dark.d.ts +8 -0
  92. package/dist/types/themeManager/presets/high-contrast.d.ts +8 -0
  93. package/dist/types/themeManager/presets/index.d.ts +33 -0
  94. package/dist/types/themeManager/presets/midnight.d.ts +8 -0
  95. package/dist/types/themeManager/presets/ocean.d.ts +8 -0
  96. package/dist/types/themeManager/presets/shared.d.ts +81 -0
  97. package/dist/types/themeManager/theme.service.d.ts +9 -6
  98. package/dist/types/types/theme.d.ts +88 -1
  99. package/hydrate/index.js +1307 -597
  100. package/hydrate/index.mjs +1307 -597
  101. package/package.json +4 -4
  102. package/standalone/index.js +1 -1
  103. package/standalone/revo-grid.js +1 -1
  104. package/standalone/revogr-edit2.js +1 -1
  105. package/standalone/revogr-filter-panel.js +1 -1
  106. package/standalone/revogr-focus2.js +1 -1
  107. package/standalone/revogr-header2.js +1 -1
  108. package/standalone/revogr-overlay-selection2.js +1 -1
  109. package/standalone/revogr-temp-range2.js +1 -1
  110. package/standalone/revogr-viewport-scroll2.js +1 -1
  111. package/dist/cjs/app-globals-CPPhEXmy.js +0 -26
  112. package/dist/cjs/theme.service-BgnxGIjK.js +0 -72
  113. package/dist/collection/global/global.js +0 -18
  114. package/dist/collection/themeManager/theme.compact.js +0 -8
  115. package/dist/collection/themeManager/theme.default.js +0 -8
  116. package/dist/collection/themeManager/theme.material.js +0 -8
  117. package/dist/esm/app-globals-B_B_OtEa.js +0 -24
  118. package/dist/esm/theme.service-BmnDvr6P.js +0 -69
  119. package/dist/revo-grid/app-globals-B_B_OtEa.js +0 -24
  120. package/dist/revo-grid/theme.service-BmnDvr6P.js +0 -69
  121. package/dist/types/global/global.d.ts +0 -1
  122. package/dist/types/themeManager/theme.compact.d.ts +0 -4
  123. package/dist/types/themeManager/theme.default.d.ts +0 -4
  124. package/dist/types/themeManager/theme.material.d.ts +0 -4
@@ -1,202 +1,229 @@
1
- revo-grid[theme=default],
2
- revo-grid:not([theme]) {
3
- border: 1px solid var(--revo-grid-header-border);
4
- font-size: 12px;
5
- }
6
- revo-grid[theme=default] .rowHeaders revogr-header,
7
- revo-grid:not([theme]) .rowHeaders revogr-header {
8
- box-shadow: -1px 0 0 0 var(--revo-grid-header-border) inset;
9
- }
10
- revo-grid[theme=default] revogr-header,
11
- revo-grid:not([theme]) revogr-header {
12
- text-align: center;
13
- line-height: 30px;
14
- background-color: var(--revo-grid-header-bg);
15
- }
16
- revo-grid[theme=default] revogr-header .group-rgRow,
17
- revo-grid:not([theme]) revogr-header .group-rgRow {
1
+ revo-grid[data-rg-theme-base=default] {
2
+ --rg-theme-font-family: var(
3
+ --revo-grid-font-family,
4
+ Helvetica,
5
+ Arial,
6
+ Sans-Serif,
7
+ serif
8
+ );
9
+ --rg-theme-font-size: var(--revo-grid-font-size, 12px);
10
+ --rg-theme-header-height: var(--revo-grid-header-height, 30px);
11
+ --rg-theme-header-font-size: var(--revo-grid-header-font-size, 12px);
12
+ --rg-theme-header-font-weight: var(--revo-grid-header-font-weight, normal);
13
+ --rg-theme-header-text-transform: var(
14
+ --revo-grid-header-text-transform,
15
+ uppercase
16
+ );
17
+ --rg-theme-header-text-align: var(--revo-grid-header-text-align, center);
18
+ --rg-theme-cell-text-align: var(--revo-grid-cell-text-align, center);
19
+ --rg-theme-header-padding: var(--revo-grid-header-padding, 0);
20
+ --rg-theme-cell-padding: var(--revo-grid-cell-padding, 0);
21
+ border: 1px solid var(--rg-theme-header-border);
22
+ font-size: var(--rg-theme-font-size);
23
+ }
24
+ revo-grid[data-rg-theme-base=default] .rowHeaders revogr-header {
25
+ box-shadow: -1px 0 0 0 var(--rg-theme-header-border) inset;
26
+ }
27
+ revo-grid[data-rg-theme-base=default] revogr-header {
28
+ text-align: var(--rg-theme-header-text-align);
29
+ line-height: var(--rg-theme-header-height);
30
+ background-color: var(--rg-theme-header-bg);
31
+ }
32
+ revo-grid[data-rg-theme-base=default] revogr-header .group-rgRow {
18
33
  box-shadow: none;
19
34
  }
20
- revo-grid[theme=default] revogr-header .group-rgRow .rgHeaderCell,
21
- revo-grid:not([theme]) revogr-header .group-rgRow .rgHeaderCell {
22
- box-shadow: -1px 0 0 0 var(--revo-grid-header-border), -1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset;
35
+ revo-grid[data-rg-theme-base=default] revogr-header .group-rgRow .rgHeaderCell {
36
+ box-shadow: -1px 0 0 0 var(--rg-theme-header-border), -1px 0 0 0 var(--rg-theme-header-border) inset, 0 -1px 0 0 var(--rg-theme-header-border), 0 -1px 0 0 var(--rg-theme-header-border) inset;
23
37
  }
24
- revo-grid[theme=default] revogr-header .header-rgRow,
25
- revo-grid[theme=default] revogr-header .group-rgRow,
26
- revo-grid:not([theme]) revogr-header .header-rgRow,
27
- revo-grid:not([theme]) revogr-header .group-rgRow {
28
- text-transform: uppercase;
29
- font-size: 12px;
30
- color: var(--revo-grid-header-color);
38
+ revo-grid[data-rg-theme-base=default] revogr-header .header-rgRow,
39
+ revo-grid[data-rg-theme-base=default] revogr-header .group-rgRow {
40
+ text-transform: var(--rg-theme-header-text-transform);
41
+ font-size: var(--rg-theme-header-font-size);
42
+ font-weight: var(--rg-theme-header-font-weight);
43
+ color: var(--rg-theme-header-color);
31
44
  }
32
- revo-grid[theme=default] revogr-header .header-rgRow,
33
- revo-grid:not([theme]) revogr-header .header-rgRow {
34
- height: 30px;
35
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset;
45
+ revo-grid[data-rg-theme-base=default] revogr-header .header-rgRow {
46
+ height: var(--rg-theme-header-height);
47
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset;
36
48
  }
37
- revo-grid[theme=default] revogr-header .rgHeaderCell,
38
- revo-grid:not([theme]) revogr-header .rgHeaderCell {
39
- box-shadow: -1px 0 0 0 var(--revo-grid-header-border) inset, 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset;
49
+ revo-grid[data-rg-theme-base=default] revogr-header .rgHeaderCell {
50
+ box-shadow: -1px 0 0 0 var(--rg-theme-header-border) inset, 0 -1px 0 0 var(--rg-theme-header-border), 0 -1px 0 0 var(--rg-theme-header-border) inset;
40
51
  }
41
- revo-grid[theme=default] .rowHeaders,
42
- revo-grid:not([theme]) .rowHeaders {
43
- background-color: var(--revo-grid-header-bg);
52
+ revo-grid[data-rg-theme-base=default] .rowHeaders {
53
+ background-color: var(--rg-theme-row-headers-bg);
44
54
  }
45
- revo-grid[theme=default] .rowHeaders revogr-data .rgCell,
46
- revo-grid:not([theme]) .rowHeaders revogr-data .rgCell {
47
- color: var(--revo-grid-header-color);
55
+ revo-grid[data-rg-theme-base=default] .rowHeaders revogr-data .rgCell {
56
+ color: var(--rg-theme-row-headers-color);
48
57
  }
49
- revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,
50
- revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child {
51
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset;
58
+ revo-grid[data-rg-theme-base=default] .rowHeaders revogr-data .rgCell:first-child {
59
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset;
52
60
  }
53
- revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),
54
- revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child) {
55
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset;
61
+ revo-grid[data-rg-theme-base=default] .rowHeaders revogr-data .rgCell:not(:first-child) {
62
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset, -1px 0 0 0 var(--rg-theme-header-border) inset;
56
63
  }
57
- revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,
58
- revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child {
59
- border-right: 1px solid var(--revo-grid-header-border);
64
+ revo-grid[data-rg-theme-base=default] .rowHeaders revogr-data .rgCell:last-child {
65
+ border-right: 1px solid var(--rg-theme-header-border);
60
66
  }
61
- revo-grid[theme=default] .rowHeaders revogr-data revogr-header,
62
- revo-grid:not([theme]) .rowHeaders revogr-data revogr-header {
63
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset;
67
+ revo-grid[data-rg-theme-base=default] .rowHeaders revogr-data revogr-header {
68
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset;
64
69
  }
65
- revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,
66
- revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child {
67
- box-shadow: 0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-header-border) inset;
70
+ revo-grid[data-rg-theme-base=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child {
71
+ box-shadow: 0 -1px 0 0 var(--rg-theme-cell-border) inset, -1px 0 0 0 var(--rg-theme-header-border) inset;
68
72
  }
69
- revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,
70
- revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell {
71
- box-shadow: 0 1px 0 0 var(--revo-grid-header-border) inset, -1px 0 0 0 var(--revo-grid-header-border) inset;
73
+ revo-grid[data-rg-theme-base=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell {
74
+ box-shadow: 0 1px 0 0 var(--rg-theme-header-border) inset, -1px 0 0 0 var(--rg-theme-header-border) inset;
72
75
  }
73
- revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,
74
- revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,
75
- revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,
76
- revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header {
77
- box-shadow: 1px 0 0 var(--revo-grid-header-border) inset;
76
+ revo-grid[data-rg-theme-base=default] revogr-viewport-scroll.colPinEnd,
77
+ revo-grid[data-rg-theme-base=default] revogr-viewport-scroll.colPinEnd revogr-header {
78
+ box-shadow: 1px 0 0 var(--rg-theme-header-border) inset;
78
79
  }
79
- revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,
80
- revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell {
81
- box-shadow: 0 1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset, 0 -1px 0 0 var(--revo-grid-cell-border) inset;
80
+ revo-grid[data-rg-theme-base=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell {
81
+ box-shadow: 0 1px 0 0 var(--rg-theme-cell-border) inset, -1px 0 0 0 var(--rg-theme-cell-border) inset, 0 -1px 0 0 var(--rg-theme-cell-border) inset;
82
82
  }
83
- revo-grid[theme=default] revogr-data,
84
- revo-grid:not([theme]) revogr-data {
85
- text-align: center;
83
+ revo-grid[data-rg-theme-base=default] revogr-data {
84
+ text-align: var(--rg-theme-cell-text-align);
86
85
  }
87
- revo-grid[theme=default] revogr-data .revo-draggable,
88
- revo-grid:not([theme]) revogr-data .revo-draggable {
86
+ revo-grid[data-rg-theme-base=default] revogr-data .revo-draggable {
89
87
  float: left;
90
88
  }
91
- revo-grid[theme=default] revogr-data .rgRow,
92
- revo-grid:not([theme]) revogr-data .rgRow {
93
- line-height: 27px;
89
+ revo-grid[data-rg-theme-base=default] revogr-data .rgRow {
90
+ line-height: var(--rg-theme-row-size, 27px);
94
91
  }
95
- revo-grid[theme=default] revogr-data .rgCell,
96
- revo-grid:not([theme]) revogr-data .rgCell {
97
- box-shadow: 0 -1px 0 0 var(--revo-grid-cell-border) inset, -1px 0 0 0 var(--revo-grid-cell-border) inset;
92
+ revo-grid[data-rg-theme-base=default] revogr-data .rgCell {
93
+ padding: var(--rg-theme-cell-padding);
94
+ box-shadow: 0 -1px 0 0 var(--rg-theme-cell-border) inset, -1px 0 0 0 var(--rg-theme-cell-border) inset;
98
95
  }
99
96
 
100
- revo-grid[theme=material] {
101
- font-family: Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
102
- }
103
- revo-grid[theme=material] revogr-header {
104
- line-height: 50px;
105
- font-weight: 600;
106
- text-align: left;
107
- }
108
- revo-grid[theme=material] revogr-header .rgHeaderCell {
109
- padding: 0 15px;
97
+ revo-grid[data-rg-theme-base=material] {
98
+ --rg-theme-font-family: var(
99
+ --revo-grid-font-family,
100
+ Nunito,
101
+ -apple-system,
102
+ BlinkMacSystemFont,
103
+ 'Segoe UI',
104
+ Roboto,
105
+ 'Helvetica Neue',
106
+ Arial,
107
+ sans-serif,
108
+ 'Apple Color Emoji',
109
+ 'Segoe UI Emoji',
110
+ 'Segoe UI Symbol'
111
+ );
112
+ --rg-theme-header-height: var(--revo-grid-header-height, 50px);
113
+ --rg-theme-header-font-size: var(
114
+ --revo-grid-header-font-size,
115
+ var(--rg-theme-font-size)
116
+ );
117
+ --rg-theme-header-font-weight: var(--revo-grid-header-font-weight, 600);
118
+ --rg-theme-header-text-transform: var(
119
+ --revo-grid-header-text-transform,
120
+ none
121
+ );
122
+ --rg-theme-header-text-align: var(--revo-grid-header-text-align, left);
123
+ --rg-theme-cell-text-align: var(--revo-grid-cell-text-align, left);
124
+ --rg-theme-header-padding: var(--revo-grid-header-padding, 0 15px);
125
+ --rg-theme-cell-padding: var(--revo-grid-cell-padding, 0 15px);
126
+ font-family: var(--rg-theme-font-family);
127
+ }
128
+ revo-grid[data-rg-theme-base=material] revogr-header {
129
+ color: var(--rg-theme-header-color);
130
+ background-color: var(--rg-theme-header-bg);
131
+ line-height: var(--rg-theme-header-height);
132
+ font-size: var(--rg-theme-header-font-size);
133
+ font-weight: var(--rg-theme-header-font-weight);
134
+ text-transform: var(--rg-theme-header-text-transform);
135
+ text-align: var(--rg-theme-header-text-align);
136
+ }
137
+ revo-grid[data-rg-theme-base=material] revogr-header .rgHeaderCell {
138
+ padding: var(--rg-theme-header-padding);
110
139
  text-overflow: ellipsis;
111
140
  }
112
- revo-grid[theme=material] revogr-header .header-rgRow {
113
- height: 50px;
141
+ revo-grid[data-rg-theme-base=material] revogr-header .header-rgRow {
142
+ height: var(--rg-theme-header-height);
114
143
  }
115
- revo-grid[theme=material] revogr-data {
116
- text-align: left;
144
+ revo-grid[data-rg-theme-base=material] .rowHeaders {
145
+ color: var(--rg-theme-row-headers-color);
146
+ background-color: var(--rg-theme-row-headers-bg);
117
147
  }
118
- revo-grid[theme=material] revogr-data .rgRow {
119
- line-height: 42px;
148
+ revo-grid[data-rg-theme-base=material] .rowHeaders revogr-data .rgCell {
149
+ color: var(--rg-theme-row-headers-color);
120
150
  }
121
- revo-grid[theme=material] revogr-data .rgCell {
122
- padding: 0 15px;
151
+ revo-grid[data-rg-theme-base=material] revogr-data {
152
+ text-align: var(--rg-theme-cell-text-align);
123
153
  }
124
-
125
- revo-grid[theme=darkMaterial] {
126
- font-family: Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
154
+ revo-grid[data-rg-theme-base=material] revogr-data .rgRow {
155
+ line-height: var(--rg-theme-row-size, 42px);
127
156
  }
128
- revo-grid[theme=darkMaterial] revogr-header {
129
- line-height: 50px;
130
- font-weight: 600;
131
- text-align: left;
132
- }
133
- revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell {
134
- padding: 0 15px;
135
- text-overflow: ellipsis;
136
- }
137
- revo-grid[theme=darkMaterial] revogr-header .header-rgRow {
138
- height: 50px;
139
- }
140
- revo-grid[theme=darkMaterial] revogr-data {
141
- text-align: left;
142
- }
143
- revo-grid[theme=darkMaterial] revogr-data .rgRow {
144
- line-height: 42px;
145
- }
146
- revo-grid[theme=darkMaterial] revogr-data .rgCell {
147
- padding: 0 15px;
157
+ revo-grid[data-rg-theme-base=material] revogr-data .rgCell {
158
+ padding: var(--rg-theme-cell-padding);
159
+ box-shadow: -1px 0 0 0 var(--rg-theme-cell-vertical-border) inset;
148
160
  }
149
161
 
150
- revo-grid[theme=darkCompact] {
151
- font-family: Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
152
- }
153
- revo-grid[theme=darkCompact] revogr-header {
154
- line-height: 45px;
155
- font-weight: 600;
156
- text-align: left;
157
- }
158
- revo-grid[theme=darkCompact] revogr-header .rgHeaderCell {
159
- padding: 0 15px;
162
+ revo-grid[data-rg-theme-base=compact] {
163
+ --rg-theme-font-family: var(
164
+ --revo-grid-font-family,
165
+ Nunito,
166
+ -apple-system,
167
+ BlinkMacSystemFont,
168
+ 'Segoe UI',
169
+ Roboto,
170
+ 'Helvetica Neue',
171
+ Arial,
172
+ sans-serif,
173
+ 'Apple Color Emoji',
174
+ 'Segoe UI Emoji',
175
+ 'Segoe UI Symbol'
176
+ );
177
+ --rg-theme-header-height: var(--revo-grid-header-height, 45px);
178
+ --rg-theme-header-font-size: var(
179
+ --revo-grid-header-font-size,
180
+ var(--rg-theme-font-size)
181
+ );
182
+ --rg-theme-header-font-weight: var(--revo-grid-header-font-weight, 600);
183
+ --rg-theme-header-text-transform: var(
184
+ --revo-grid-header-text-transform,
185
+ none
186
+ );
187
+ --rg-theme-header-text-align: var(--revo-grid-header-text-align, left);
188
+ --rg-theme-cell-text-align: var(--revo-grid-cell-text-align, left);
189
+ --rg-theme-header-padding: var(--revo-grid-header-padding, 0 15px);
190
+ --rg-theme-cell-padding: var(--revo-grid-cell-padding, 0 15px);
191
+ font-family: var(--rg-theme-font-family);
192
+ }
193
+ revo-grid[data-rg-theme-base=compact] revogr-header {
194
+ color: var(--rg-theme-header-color);
195
+ background-color: var(--rg-theme-header-bg);
196
+ line-height: var(--rg-theme-header-height);
197
+ font-size: var(--rg-theme-header-font-size);
198
+ font-weight: var(--rg-theme-header-font-weight);
199
+ text-transform: var(--rg-theme-header-text-transform);
200
+ text-align: var(--rg-theme-header-text-align);
201
+ }
202
+ revo-grid[data-rg-theme-base=compact] revogr-header .rgHeaderCell {
203
+ padding: var(--rg-theme-header-padding);
160
204
  text-overflow: ellipsis;
161
205
  }
162
- revo-grid[theme=darkCompact] revogr-header .header-rgRow {
163
- height: 45px;
164
- }
165
- revo-grid[theme=darkCompact] revogr-data {
166
- text-align: left;
206
+ revo-grid[data-rg-theme-base=compact] revogr-header .header-rgRow {
207
+ height: var(--rg-theme-header-height);
167
208
  }
168
- revo-grid[theme=darkCompact] revogr-data .rgRow {
169
- line-height: 32px;
209
+ revo-grid[data-rg-theme-base=compact] .rowHeaders {
210
+ color: var(--rg-theme-row-headers-color);
211
+ background-color: var(--rg-theme-row-headers-bg);
170
212
  }
171
- revo-grid[theme=darkCompact] revogr-data .rgCell {
172
- padding: 0 15px;
213
+ revo-grid[data-rg-theme-base=compact] .rowHeaders revogr-data .rgCell {
214
+ color: var(--rg-theme-row-headers-color);
173
215
  }
174
-
175
- revo-grid[theme=compact] {
176
- font-family: Nunito, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
216
+ revo-grid[data-rg-theme-base=compact] revogr-data {
217
+ text-align: var(--rg-theme-cell-text-align);
177
218
  }
178
- revo-grid[theme=compact] revogr-header {
179
- line-height: 45px;
180
- font-weight: 600;
181
- text-align: left;
219
+ revo-grid[data-rg-theme-base=compact] revogr-data .rgRow {
220
+ line-height: var(--rg-theme-row-size, 32px);
182
221
  }
183
- revo-grid[theme=compact] revogr-header .rgHeaderCell {
184
- padding: 0 15px;
185
- text-overflow: ellipsis;
222
+ revo-grid[data-rg-theme-base=compact] revogr-data .rgCell {
223
+ padding: var(--rg-theme-cell-padding);
224
+ box-shadow: -1px 0 0 0 var(--rg-theme-cell-vertical-border) inset;
186
225
  }
187
- revo-grid[theme=compact] revogr-header .header-rgRow {
188
- height: 45px;
189
- }
190
- revo-grid[theme=compact] revogr-data {
191
- text-align: left;
192
- }
193
- revo-grid[theme=compact] revogr-data .rgRow {
194
- line-height: 32px;
195
- }
196
- revo-grid[theme=compact] revogr-data .rgCell {
197
- padding: 0 15px;
198
- }
199
- revo-grid[theme=compact] revo-dropdown .rv-dr-root {
226
+ revo-grid[data-rg-theme-base=compact] revo-dropdown .rv-dr-root {
200
227
  padding: 0px 9px;
201
228
  }
202
229
 
@@ -245,11 +272,11 @@ revo-grid[dir=rtl] .draggable .revo-alt-icon {
245
272
  left: auto;
246
273
  }
247
274
  revo-grid[dir=rtl] .focused-cell {
248
- border-right: 2px solid var(--revo-grid-primary);
275
+ border-right: 2px solid var(--rg-theme-primary);
249
276
  border-left: none;
250
277
  }
251
278
  revo-grid[dir=rtl] .selection-range {
252
- border-right: 2px solid var(--revo-grid-primary);
279
+ border-right: 2px solid var(--rg-theme-primary);
253
280
  border-left: none;
254
281
  }
255
282
  revo-grid[dir=rtl] .resize-handle {
@@ -281,41 +308,41 @@ revo-grid[dir=rtl] revogr-edit {
281
308
  revo-grid[dir=rtl] .rgHeaderCell {
282
309
  direction: rtl;
283
310
  }
284
- revo-grid[dir=rtl][theme=material] revogr-header, revo-grid[dir=rtl][theme=darkMaterial] revogr-header {
311
+ revo-grid[dir=rtl][data-rg-theme-base=material] revogr-header {
285
312
  text-align: right;
286
313
  }
287
- revo-grid[dir=rtl][theme=material] revogr-data, revo-grid[dir=rtl][theme=darkMaterial] revogr-data {
314
+ revo-grid[dir=rtl][data-rg-theme-base=material] revogr-data {
288
315
  text-align: right;
289
316
  }
290
- revo-grid[dir=rtl][theme=default] .rowHeaders, revo-grid[dir=rtl]:not([theme]) .rowHeaders {
291
- background-color: var(--revo-grid-header-bg);
317
+ revo-grid[dir=rtl][data-rg-theme-base=default] .rowHeaders {
318
+ background-color: var(--rg-theme-row-headers-bg);
292
319
  }
293
- revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell, revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell {
294
- color: var(--revo-grid-header-color);
320
+ revo-grid[dir=rtl][data-rg-theme-base=default] .rowHeaders revogr-data .rgCell {
321
+ color: var(--rg-theme-row-headers-color);
295
322
  }
296
- revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:first-child, revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:first-child {
297
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset;
323
+ revo-grid[dir=rtl][data-rg-theme-base=default] .rowHeaders revogr-data .rgCell:first-child {
324
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset;
298
325
  }
299
- revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:not(:first-child), revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child) {
300
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset, 1px 0 0 0 var(--revo-grid-header-border) inset;
326
+ revo-grid[dir=rtl][data-rg-theme-base=default] .rowHeaders revogr-data .rgCell:not(:first-child) {
327
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset, 1px 0 0 0 var(--rg-theme-header-border) inset;
301
328
  }
302
- revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data .rgCell:last-child, revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data .rgCell:last-child {
303
- border-left: 1px solid var(--revo-grid-header-border);
329
+ revo-grid[dir=rtl][data-rg-theme-base=default] .rowHeaders revogr-data .rgCell:last-child {
330
+ border-left: 1px solid var(--rg-theme-header-border);
304
331
  border-right: none;
305
332
  }
306
- revo-grid[dir=rtl][theme=default] .rowHeaders revogr-data revogr-header, revo-grid[dir=rtl]:not([theme]) .rowHeaders revogr-data revogr-header {
307
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset;
333
+ revo-grid[dir=rtl][data-rg-theme-base=default] .rowHeaders revogr-data revogr-header {
334
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset;
308
335
  }
309
- revo-grid[dir=rtl][theme=default] revogr-header, revo-grid[dir=rtl]:not([theme]) revogr-header {
336
+ revo-grid[dir=rtl][data-rg-theme-base=default] revogr-header {
310
337
  text-align: right;
311
338
  }
312
- revo-grid[dir=rtl][theme=default] revogr-data, revo-grid[dir=rtl]:not([theme]) revogr-data {
339
+ revo-grid[dir=rtl][data-rg-theme-base=default] revogr-data {
313
340
  text-align: right;
314
341
  }
315
- revo-grid[dir=rtl][theme=compact] revogr-header, revo-grid[dir=rtl][theme=darkCompact] revogr-header {
342
+ revo-grid[dir=rtl][data-rg-theme-base=compact] revogr-header {
316
343
  text-align: right;
317
344
  }
318
- revo-grid[dir=rtl][theme=compact] revogr-data, revo-grid[dir=rtl][theme=darkCompact] revogr-data {
345
+ revo-grid[dir=rtl][data-rg-theme-base=compact] revogr-data {
319
346
  text-align: right;
320
347
  }
321
348
 
@@ -356,114 +383,255 @@ revo-grid[dir=rtl][theme=compact] revogr-data, revo-grid[dir=rtl][theme=darkComp
356
383
  }
357
384
 
358
385
  revo-grid {
359
- /* Base theme variables */
360
- --revo-grid-primary: #266ae8;
361
- --revo-grid-primary-transparent: rgba(38, 106, 232, 0.9);
362
- --revo-grid-background: #fff;
363
- --revo-grid-foreground: black;
364
- --revo-grid-divider: gray;
365
- --revo-grid-shadow: rgba(0, 0, 0, 0.15);
366
- --revo-grid-text: black;
367
- --revo-grid-border: rgba(0, 0, 0, 0.2);
368
- /* Filter panel variables */
369
- --revo-grid-filter-panel-bg: #fff;
370
- --revo-grid-filter-panel-border: #d9d9d9;
371
- --revo-grid-filter-panel-shadow: rgba(0, 0, 0, 0.15);
372
- --revo-grid-filter-panel-input-bg: #eaeaeb;
373
- --revo-grid-filter-panel-divider: #d9d9d9;
374
- --revo-grid-filter-panel-select-border: transparent;
375
- --revo-grid-filter-panel-select-border-hover: transparent;
376
- /* Grid specific variables */
377
- --revo-grid-header-bg: #f8f9fa;
378
- --revo-grid-header-color: #000;
379
- --revo-grid-header-border: #cecece;
380
- --revo-grid-cell-border: #e2e3e3;
381
- --revo-grid-focused-bg: rgba(233, 234, 237, 0.5);
382
- --revo-grid-row-hover: #f1f1f1;
383
- --revo-grid-row-headers-bg: #f7faff;
384
- --revo-grid-row-headers-color: #757a82;
385
- --revo-grid-cell-disabled-bg: rgba(0, 0, 0, 0.07);
386
- /* Dark theme overrides - applied when theme contains 'dark' */
387
- direction: ltr !important;
388
- /*
389
- * Grid required to have a flex property to be able to stretch
390
- */
391
- display: flex !important;
392
- height: 100%;
393
- /**
394
- * In some cases the min-height is not enough for safari
395
- * so setting up the grid height works
396
- */
397
- min-height: 300px;
398
- font-family: Helvetica, Arial, Sans-Serif, serif;
399
- font-size: 14px;
400
- position: relative;
401
- color: var(--revo-grid-text);
402
- -webkit-touch-callout: none; /* iOS Safari */
403
- -webkit-user-select: none; /* Safari */
404
- -khtml-user-select: none; /* Konqueror HTML */
405
- -moz-user-select: none; /* Old versions of Firefox */
406
- -ms-user-select: none; /* Internet Explorer/Edge */
407
- user-select: none; /* Non-prefixed version, currently
408
- supported by Chrome, Edge, Opera and Firefox */
409
- display: flex;
410
- flex-direction: column;
411
- width: 100%;
412
- height: 100%;
386
+ /* Internal fallbacks keep public --revo-grid-* variables inheritable. */
387
+ --rg-theme-primary: var(--revo-grid-primary, #266ae8);
388
+ --rg-theme-primary-transparent: var(
389
+ --revo-grid-primary-transparent,
390
+ rgba(38, 106, 232, 0.9)
391
+ );
392
+ --rg-theme-background: var(--revo-grid-background, #fff);
393
+ --rg-theme-foreground: var(--revo-grid-foreground, black);
394
+ --rg-theme-divider: var(--revo-grid-divider, gray);
395
+ --rg-theme-shadow: var(--revo-grid-shadow, rgba(0, 0, 0, 0.15));
396
+ --rg-theme-text: var(--revo-grid-text, black);
397
+ --rg-theme-border: var(--revo-grid-border, rgba(0, 0, 0, 0.2));
398
+ --rg-theme-header-bg: var(--revo-grid-header-bg, #f8f9fa);
399
+ --rg-theme-header-color: var(--revo-grid-header-color, #000);
400
+ --rg-theme-header-border: var(--revo-grid-header-border, #cecece);
401
+ --rg-theme-header-focused-bg: var(
402
+ --revo-grid-header-focused-bg,
403
+ var(--rg-theme-focused-bg)
404
+ );
405
+ --rg-theme-header-hover-bg: var(
406
+ --revo-grid-header-hover-bg,
407
+ var(--rg-theme-row-hover)
408
+ );
409
+ --rg-theme-cell-border: var(--revo-grid-cell-border, #e2e3e3);
410
+ --rg-theme-cell-vertical-border: var(
411
+ --revo-grid-cell-vertical-border,
412
+ transparent
413
+ );
414
+ --rg-theme-focused-bg: var(--revo-grid-focused-bg, rgba(233, 234, 237, 0.5));
415
+ --rg-theme-row-hover: var(--revo-grid-row-hover, #f1f1f1);
416
+ --rg-theme-row-headers-bg: var(
417
+ --revo-grid-row-headers-bg,
418
+ var(--rg-theme-header-bg)
419
+ );
420
+ --rg-theme-row-headers-color: var(
421
+ --revo-grid-row-headers-color,
422
+ var(--rg-theme-header-color)
423
+ );
424
+ --rg-theme-cell-disabled-bg: var(
425
+ --revo-grid-cell-disabled-bg,
426
+ rgba(0, 0, 0, 0.07)
427
+ );
428
+ --rg-theme-filter-panel-bg: var(--revo-grid-filter-panel-bg, #fff);
429
+ --rg-theme-filter-panel-border: var(--revo-grid-filter-panel-border, #d9d9d9);
430
+ --rg-theme-filter-panel-shadow: var(
431
+ --revo-grid-filter-panel-shadow,
432
+ rgba(0, 0, 0, 0.15)
433
+ );
434
+ --rg-theme-filter-panel-input-bg: var(
435
+ --revo-grid-filter-panel-input-bg,
436
+ #eaeaeb
437
+ );
438
+ --rg-theme-filter-panel-divider: var(
439
+ --revo-grid-filter-panel-divider,
440
+ #d9d9d9
441
+ );
442
+ --rg-theme-filter-panel-select-border: var(
443
+ --revo-grid-filter-panel-select-border,
444
+ transparent
445
+ );
446
+ --rg-theme-filter-panel-select-border-hover: var(
447
+ --revo-grid-filter-panel-select-border-hover,
448
+ transparent
449
+ );
450
+ --rg-theme-filter-panel-reorder-accent: var(
451
+ --revo-grid-filter-panel-reorder-accent,
452
+ #007cb2
453
+ );
454
+ --rg-theme-filter-panel-reorder-color: var(
455
+ --revo-grid-filter-panel-reorder-color,
456
+ #6b7280
457
+ );
458
+ --rg-theme-filter-panel-text: var(
459
+ --revo-grid-filter-panel-text,
460
+ var(--rg-theme-text)
461
+ );
462
+ --rg-theme-filter-panel-muted-text: var(
463
+ --revo-grid-filter-panel-muted-text,
464
+ gray
465
+ );
466
+ --rg-theme-filter-panel-focus-ring: var(
467
+ --revo-grid-filter-panel-focus-ring,
468
+ 0 0 1px 3px rgba(59, 153, 252, 0.7)
469
+ );
470
+ --rg-theme-filter-panel-icon: var(--revo-grid-filter-panel-icon, gray);
471
+ --rg-theme-filter-panel-icon-active: var(
472
+ --revo-grid-filter-panel-icon-active,
473
+ #10224a
474
+ );
475
+ --rg-theme-font-family: var(
476
+ --revo-grid-font-family,
477
+ Helvetica,
478
+ Arial,
479
+ Sans-Serif,
480
+ serif
481
+ );
482
+ --rg-theme-font-size: var(--revo-grid-font-size, 14px);
483
+ --rg-theme-header-height: var(--revo-grid-header-height, 30px);
484
+ --rg-theme-header-font-size: var(--revo-grid-header-font-size, 12px);
485
+ --rg-theme-header-font-weight: var(--revo-grid-header-font-weight, normal);
486
+ --rg-theme-header-text-transform: var(
487
+ --revo-grid-header-text-transform,
488
+ uppercase
489
+ );
490
+ --rg-theme-header-text-align: var(--revo-grid-header-text-align, center);
491
+ --rg-theme-cell-text-align: var(--revo-grid-cell-text-align, center);
492
+ --rg-theme-header-padding: var(--revo-grid-header-padding, 0);
493
+ --rg-theme-cell-padding: var(--revo-grid-cell-padding, 0);
494
+ --rg-theme-selection-border: var(--revo-grid-selection-border, #0d63e8);
495
+ --rg-theme-selection-bg: var(--revo-grid-selection-bg, transparent);
496
+ --rg-theme-autofill-handle-bg: var(
497
+ --revo-grid-autofill-handle-bg,
498
+ var(--rg-theme-selection-border)
499
+ );
500
+ --rg-theme-autofill-handle-border: var(
501
+ --revo-grid-autofill-handle-border,
502
+ white
503
+ );
504
+ --rg-theme-range-handle-bg: var(
505
+ --revo-grid-range-handle-bg,
506
+ rgba(0, 0, 0, 0.2)
507
+ );
508
+ --rg-theme-temporary-range-border: var(
509
+ --revo-grid-temporary-range-border,
510
+ rgb(255, 94, 0)
511
+ );
512
+ --rg-theme-temporary-selection-border: var(
513
+ --revo-grid-temporary-selection-border,
514
+ gray
515
+ );
516
+ --rg-theme-header-resize-hover: var(
517
+ --revo-grid-header-resize-hover,
518
+ deepskyblue
519
+ );
520
+ --rg-theme-button-text: var(--revo-grid-button-text, #fff);
521
+ --rg-theme-button-bg: var(--revo-grid-button-bg, #4545ff);
522
+ --rg-theme-button-success-bg: var(--revo-grid-button-success-bg, #009037);
523
+ --rg-theme-button-danger-bg: var(--revo-grid-button-danger-bg, #e0662e);
524
+ --rg-theme-button-outline-border: var(
525
+ --revo-grid-button-outline-border,
526
+ #dbdbdb
527
+ );
528
+ --rg-theme-button-outline-text: var(--revo-grid-button-outline-text, #000);
529
+ }
530
+ revo-grid[data-rg-theme-scheme=dark] {
531
+ color-scheme: dark;
532
+ --rg-theme-background: var(--revo-grid-background, #212529);
533
+ --rg-theme-foreground: var(--revo-grid-foreground, #fff);
534
+ --rg-theme-text: var(--revo-grid-text, rgba(255, 255, 255, 0.9));
535
+ --rg-theme-divider: var(--revo-grid-divider, #505050);
536
+ --rg-theme-border: var(--revo-grid-border, rgba(255, 255, 255, 0.2));
537
+ --rg-theme-filter-panel-bg: var(--revo-grid-filter-panel-bg, #212529);
538
+ --rg-theme-filter-panel-border: var(
539
+ --revo-grid-filter-panel-border,
540
+ #505050
541
+ );
542
+ --rg-theme-filter-panel-input-bg: var(
543
+ --revo-grid-filter-panel-input-bg,
544
+ #343a40
545
+ );
546
+ --rg-theme-filter-panel-divider: var(
547
+ --revo-grid-filter-panel-divider,
548
+ #505050
549
+ );
550
+ --rg-theme-filter-panel-icon-active: var(
551
+ --revo-grid-filter-panel-icon-active,
552
+ #fff
553
+ );
554
+ --rg-theme-header-bg: var(--revo-grid-header-bg, #343a40);
555
+ --rg-theme-header-color: var(--revo-grid-header-color, #fff);
556
+ --rg-theme-header-border: var(--revo-grid-header-border, #505050);
557
+ --rg-theme-cell-border: var(--revo-grid-cell-border, #424242);
558
+ --rg-theme-focused-bg: var(--revo-grid-focused-bg, rgba(52, 58, 64, 0.5));
559
+ --rg-theme-row-hover: var(--revo-grid-row-hover, rgba(80, 80, 80, 0.5));
560
+ --rg-theme-cell-disabled-bg: var(
561
+ --revo-grid-cell-disabled-bg,
562
+ rgba(255, 255, 255, 0.07)
563
+ );
564
+ --rg-theme-button-outline-border: var(
565
+ --revo-grid-button-outline-border,
566
+ #404040
567
+ );
568
+ --rg-theme-button-outline-text: var(
569
+ --revo-grid-button-outline-text,
570
+ #d8d8d8
571
+ );
572
+ }
573
+ revo-grid[data-rg-theme-scheme=light] {
574
+ color-scheme: light;
413
575
  }
414
- revo-grid[theme*=dark] {
415
- --revo-grid-background: #212529;
416
- --revo-grid-foreground: #fff;
417
- --revo-grid-text: rgba(255, 255, 255, 0.9);
418
- --revo-grid-divider: #505050;
419
- --revo-grid-border: rgba(255, 255, 255, 0.2);
420
- /* Filter panel variables */
421
- --revo-grid-filter-panel-bg: #212529;
422
- --revo-grid-filter-panel-border: #505050;
423
- --revo-grid-filter-panel-input-bg: #343a40;
424
- --revo-grid-filter-panel-divider: #505050;
425
- --revo-grid-header-bg: #343a40;
426
- --revo-grid-header-color: #fff;
427
- --revo-grid-header-border: #505050;
428
- --revo-grid-cell-border: #424242;
429
- --revo-grid-focused-bg: rgba(52, 58, 64, 0.5);
430
- --revo-grid-row-hover: rgba(80, 80, 80, 0.5);
431
- --revo-grid-row-headers-bg: rgba(52, 58, 64, 0.8);
432
- --revo-grid-row-headers-color: rgba(255, 255, 255, 0.8);
433
- --revo-grid-cell-disabled-bg: rgba(255, 255, 255, 0.07);
576
+ revo-grid {
577
+ direction: ltr !important;
434
578
  }
435
579
  revo-grid revogr-header .header-rgRow.group {
436
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border) inset;
580
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border) inset;
437
581
  }
438
582
  revo-grid revogr-header .header-rgRow:not(.group) {
439
- box-shadow: 0 -1px 0 0 var(--revo-grid-header-border), 0 -1px 0 0 var(--revo-grid-header-border) inset;
583
+ box-shadow: 0 -1px 0 0 var(--rg-theme-header-border), 0 -1px 0 0 var(--rg-theme-header-border) inset;
440
584
  }
441
585
  revo-grid revogr-header .rgHeaderCell.sortable:hover {
442
- background-color: var(--revo-grid-row-hover);
586
+ background-color: var(--rg-theme-header-hover-bg);
443
587
  }
444
588
  revo-grid revogr-header .rgHeaderCell.focused-cell {
445
- background: var(--revo-grid-focused-bg);
589
+ background: var(--rg-theme-header-focused-bg);
446
590
  }
447
591
  revo-grid .footer-wrapper revogr-data {
448
- box-shadow: 0 -1px 0 var(--revo-grid-cell-border);
592
+ box-shadow: 0 -1px 0 var(--rg-theme-cell-border);
449
593
  }
450
594
  revo-grid revogr-viewport-scroll.colPinStart {
451
- box-shadow: -1px 0 0 var(--revo-grid-cell-border) inset;
595
+ box-shadow: -1px 0 0 var(--rg-theme-cell-border) inset;
452
596
  }
453
597
  revo-grid revogr-viewport-scroll.colPinEnd {
454
- box-shadow: -1px 0 0 var(--revo-grid-cell-border);
598
+ box-shadow: -1px 0 0 var(--rg-theme-cell-border);
455
599
  }
456
600
  revo-grid revogr-data .rgRow {
457
- box-shadow: 0 -1px 0 0 var(--revo-grid-cell-border) inset;
601
+ box-shadow: 0 -1px 0 0 var(--rg-theme-cell-border) inset;
458
602
  }
459
603
  revo-grid revogr-data .rgRow.focused-rgRow {
460
- background-color: var(--revo-grid-focused-bg);
604
+ background-color: var(--rg-theme-focused-bg);
461
605
  }
462
606
  revo-grid revogr-data .rgCell {
463
- color: var(--revo-grid-text);
607
+ color: var(--rg-theme-text);
464
608
  }
465
609
  revo-grid revogr-data .rgCell.disabled {
466
- background-color: var(--revo-grid-cell-disabled-bg);
610
+ background-color: var(--rg-theme-cell-disabled-bg);
611
+ }
612
+ revo-grid {
613
+ /*
614
+ * Grid required to have a flex property to be able to stretch
615
+ */
616
+ display: flex !important;
617
+ height: 100%;
618
+ /**
619
+ * In some cases the min-height is not enough for safari
620
+ * so setting up the grid height works
621
+ */
622
+ min-height: 300px;
623
+ background-color: var(--rg-theme-background);
624
+ font-family: var(--rg-theme-font-family);
625
+ font-size: var(--rg-theme-font-size);
626
+ position: relative;
627
+ color: var(--rg-theme-text);
628
+ -webkit-touch-callout: none; /* iOS Safari */
629
+ -webkit-user-select: none; /* Safari */
630
+ -khtml-user-select: none; /* Konqueror HTML */
631
+ -moz-user-select: none; /* Old versions of Firefox */
632
+ -ms-user-select: none; /* Internet Explorer/Edge */
633
+ user-select: none; /* Non-prefixed version, currently
634
+ supported by Chrome, Edge, Opera and Firefox */
467
635
  }
468
636
  revo-grid .attribution {
469
637
  position: absolute;
@@ -473,8 +641,8 @@ revo-grid .attribution {
473
641
  z-index: 1000;
474
642
  width: 0;
475
643
  height: 0;
476
- border-left: 4px solid var(--revo-grid-primary-transparent);
477
- border-bottom: 4px solid var(--revo-grid-primary-transparent);
644
+ border-left: 4px solid var(--rg-theme-primary-transparent);
645
+ border-bottom: 4px solid var(--rg-theme-primary-transparent);
478
646
  border-top: 4px solid transparent;
479
647
  border-right: 4px solid transparent;
480
648
  cursor: pointer;
@@ -483,13 +651,13 @@ revo-grid .attribution .value {
483
651
  position: absolute;
484
652
  bottom: 0;
485
653
  left: 0;
486
- background-color: var(--revo-grid-background);
654
+ background-color: var(--rg-theme-background);
487
655
  padding: 4px;
488
656
  border-radius: 4px;
489
- box-shadow: 0 1px 10px var(--revo-grid-border);
657
+ box-shadow: 0 1px 10px var(--rg-theme-border);
490
658
  white-space: nowrap;
491
659
  text-decoration: none;
492
- color: var(--revo-grid-text);
660
+ color: var(--rg-theme-text);
493
661
  letter-spacing: 0.3px;
494
662
  font-size: 11px;
495
663
  opacity: 0;
@@ -501,7 +669,8 @@ revo-grid .attribution:hover .value {
501
669
  width: 63px;
502
670
  opacity: 1;
503
671
  }
504
- revo-grid.column-draggable.column-drag-start:hover, revo-grid.column-draggable.column-drag-start *:hover {
672
+ revo-grid.column-draggable.column-drag-start:hover,
673
+ revo-grid.column-draggable.column-drag-start *:hover {
505
674
  cursor: grabbing;
506
675
  }
507
676
  revo-grid .footer-wrapper,
@@ -528,6 +697,12 @@ revo-grid .viewports {
528
697
  align-items: flex-start;
529
698
  flex-grow: 1;
530
699
  }
700
+ revo-grid {
701
+ display: flex;
702
+ flex-direction: column;
703
+ width: 100%;
704
+ height: 100%;
705
+ }
531
706
  revo-grid .main-viewport {
532
707
  flex-grow: 1;
533
708
  height: 0;
@@ -539,13 +714,13 @@ revo-grid .draggable {
539
714
  position: fixed;
540
715
  height: 30px;
541
716
  line-height: 30px;
542
- background: var(--revo-grid-background);
717
+ background: var(--rg-theme-background);
543
718
  border-radius: 3px;
544
719
  display: block;
545
720
  z-index: 100;
546
721
  margin-top: 5px;
547
722
  margin-right: -20px;
548
- box-shadow: 0 4px 20px 0 var(--revo-grid-shadow);
723
+ box-shadow: 0 4px 20px 0 var(--rg-theme-shadow);
549
724
  padding-left: 20px;
550
725
  padding-right: 5px;
551
726
  }
@@ -553,7 +728,7 @@ revo-grid .draggable.hidden {
553
728
  display: none;
554
729
  }
555
730
  revo-grid .draggable .revo-alt-icon {
556
- background-color: var(--revo-grid-foreground);
731
+ background-color: var(--rg-theme-foreground);
557
732
  position: absolute;
558
733
  left: 5px;
559
734
  top: 10px;
@@ -567,7 +742,7 @@ revo-grid .drag-position {
567
742
  right: 0;
568
743
  height: 1px;
569
744
  z-index: 2;
570
- background: var(--revo-grid-divider);
745
+ background: var(--rg-theme-divider);
571
746
  pointer-events: none;
572
747
  }
573
748
  revo-grid .drag-position-y {
@@ -577,7 +752,7 @@ revo-grid .drag-position-y {
577
752
  bottom: 0;
578
753
  width: 1px;
579
754
  z-index: 2;
580
- background: var(--revo-grid-divider);
755
+ background: var(--rg-theme-divider);
581
756
  pointer-events: none;
582
757
  }
583
758
  revo-grid .drag-auto-scroll-y {