@revolist/revogrid 4.24.3 → 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.
- package/dist/cjs/app-globals-Dmf-wvGw.js +8 -0
- package/dist/cjs/{cell-renderer-DnOCJ9ge.js → cell-renderer-Cf2Pu4S0.js} +3 -3
- package/dist/cjs/{column.drag.plugin-0qtjk7uW.js → column.drag.plugin-E_K6cIAy.js} +80 -7
- package/dist/cjs/{column.service-CD70rNL2.js → column.service-C7p5eC5V.js} +1 -1
- package/dist/cjs/{dimension.helpers-CB5sNw5J.js → dimension.helpers-CgHhnN1d.js} +1 -1
- package/dist/cjs/{edit.utils-DDxnq9lw.js → edit.utils-rAcGublN.js} +1 -1
- package/dist/cjs/{filter.button-C4xpvyyE.js → filter.button-F2Bw3UAd.js} +1 -1
- package/dist/cjs/{header-cell-renderer-JXYFwayd.js → header-cell-renderer-DHClfIto.js} +2 -2
- package/dist/cjs/{index-BF6JDcMr.js → index--FdNLz1Z.js} +1 -1
- package/dist/cjs/{index-Dq8Xzj5l.js → index-DRvxCueo.js} +61 -20
- package/dist/cjs/index.cjs.js +556 -47
- package/dist/cjs/loader.cjs.js +3 -4
- package/dist/cjs/revo-grid.cjs.entry.js +256 -28
- package/dist/cjs/revo-grid.cjs.js +4 -5
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +9 -9
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +6 -6
- package/dist/cjs/revogr-data_4.cjs.entry.js +8 -8
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +3 -3
- package/dist/cjs/{text-editor-CvgloQdG.js → text-editor-F04kTx53.js} +2 -2
- package/dist/cjs/{viewport.store-Ci8H1bI9.js → viewport.store-B4Clk4m9.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -3
- package/dist/collection/components/editors/revogr-edit-style.css +2 -2
- package/dist/collection/components/header/revogr-header-style.css +2 -2
- package/dist/collection/components/overlay/revogr-overlay-style.css +9 -6
- package/dist/collection/components/revoGrid/revo-grid-style.css +451 -276
- package/dist/collection/components/revoGrid/revo-grid.js +106 -35
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +6 -4
- package/dist/collection/components/selectionFocus/revogr-focus-style.css +1 -1
- package/dist/collection/components/selectionTempRange/revogr-temp-range-style.css +2 -2
- package/dist/collection/index.js +1 -0
- package/dist/collection/plugins/filter/filter.style.css +43 -38
- package/dist/collection/serve/controller.js +18 -2
- package/dist/collection/themeManager/presets/aurora.js +89 -0
- package/dist/collection/themeManager/presets/high-contrast-dark.js +89 -0
- package/dist/collection/themeManager/presets/high-contrast.js +89 -0
- package/dist/collection/themeManager/presets/index.js +25 -0
- package/dist/collection/themeManager/presets/midnight.js +89 -0
- package/dist/collection/themeManager/presets/ocean.js +89 -0
- package/dist/collection/themeManager/presets/shared.js +64 -0
- package/dist/collection/themeManager/theme.service.js +141 -20
- package/dist/collection/types/theme.js +73 -1
- package/dist/esm/app-globals-CA4dvSNd.js +6 -0
- package/dist/{revo-grid/cell-renderer-BQjko1zB.js → esm/cell-renderer-11cf-lu3.js} +3 -3
- package/dist/{revo-grid/column.drag.plugin-K0lXn2G3.js → esm/column.drag.plugin-DKgC_0I1.js} +79 -8
- package/dist/esm/{column.service-BnFqXqQG.js → column.service-Cfw3L0PN.js} +1 -1
- package/dist/esm/{dimension.helpers-CXrsUc6f.js → dimension.helpers-fl4HSSK9.js} +1 -1
- package/dist/esm/{edit.utils-CXmmCnxE.js → edit.utils-4e9fsqOR.js} +1 -1
- package/dist/esm/{filter.button-B-RBiF67.js → filter.button-DMhpuAiw.js} +1 -1
- package/dist/esm/{header-cell-renderer-B3mYpZD3.js → header-cell-renderer-Cqtg1ETB.js} +2 -2
- package/dist/esm/{index-Chp_81rd.js → index-CtimkLsB.js} +62 -20
- package/dist/esm/{index-DBqlJITb.js → index-D24ku9ej.js} +1 -1
- package/dist/esm/index.js +513 -13
- package/dist/esm/loader.js +4 -5
- package/dist/esm/revo-grid.entry.js +255 -27
- package/dist/esm/revo-grid.js +5 -6
- package/dist/esm/revogr-attribution_7.entry.js +9 -9
- package/dist/esm/revogr-clipboard_3.entry.js +6 -6
- package/dist/esm/revogr-data_4.entry.js +8 -8
- package/dist/esm/revogr-filter-panel.entry.js +3 -3
- package/dist/{revo-grid/text-editor-DQtz2Y7B.js → esm/text-editor-DlMnLkRK.js} +2 -2
- package/dist/{revo-grid/viewport.store-D5jEuhLq.js → esm/viewport.store-BSXmsiZc.js} +1 -1
- package/dist/revo-grid/app-globals-CA4dvSNd.js +6 -0
- package/dist/{esm/cell-renderer-BQjko1zB.js → revo-grid/cell-renderer-11cf-lu3.js} +3 -3
- package/dist/{esm/column.drag.plugin-K0lXn2G3.js → revo-grid/column.drag.plugin-DKgC_0I1.js} +79 -8
- package/dist/revo-grid/{column.service-BnFqXqQG.js → column.service-Cfw3L0PN.js} +1 -1
- package/dist/revo-grid/{dimension.helpers-CXrsUc6f.js → dimension.helpers-fl4HSSK9.js} +1 -1
- package/dist/revo-grid/{edit.utils-CXmmCnxE.js → edit.utils-4e9fsqOR.js} +1 -1
- package/dist/revo-grid/{filter.button-B-RBiF67.js → filter.button-DMhpuAiw.js} +1 -1
- package/dist/revo-grid/{header-cell-renderer-B3mYpZD3.js → header-cell-renderer-Cqtg1ETB.js} +2 -2
- package/dist/revo-grid/{index-Chp_81rd.js → index-CtimkLsB.js} +62 -20
- package/dist/revo-grid/{index-DBqlJITb.js → index-D24ku9ej.js} +1 -1
- package/dist/revo-grid/index.esm.js +513 -13
- package/dist/revo-grid/revo-grid.entry.js +255 -27
- package/dist/revo-grid/revo-grid.esm.js +5 -6
- package/dist/revo-grid/revogr-attribution_7.entry.js +9 -9
- package/dist/revo-grid/revogr-clipboard_3.entry.js +6 -6
- package/dist/revo-grid/revogr-data_4.entry.js +8 -8
- package/dist/revo-grid/revogr-filter-panel.entry.js +3 -3
- package/dist/{esm/text-editor-DQtz2Y7B.js → revo-grid/text-editor-DlMnLkRK.js} +2 -2
- package/dist/{esm/viewport.store-D5jEuhLq.js → revo-grid/viewport.store-BSXmsiZc.js} +1 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +16 -4
- package/dist/types/components.d.ts +17 -7
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -0
- package/dist/types/themeManager/presets/aurora.d.ts +8 -0
- package/dist/types/themeManager/presets/high-contrast-dark.d.ts +8 -0
- package/dist/types/themeManager/presets/high-contrast.d.ts +8 -0
- package/dist/types/themeManager/presets/index.d.ts +33 -0
- package/dist/types/themeManager/presets/midnight.d.ts +8 -0
- package/dist/types/themeManager/presets/ocean.d.ts +8 -0
- package/dist/types/themeManager/presets/shared.d.ts +81 -0
- package/dist/types/themeManager/theme.service.d.ts +9 -6
- package/dist/types/types/theme.d.ts +88 -1
- package/hydrate/index.js +1269 -588
- package/hydrate/index.mjs +1269 -588
- package/package.json +4 -4
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-edit2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-focus2.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-temp-range2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
- package/dist/cjs/app-globals-CPPhEXmy.js +0 -26
- package/dist/cjs/theme.service-BgnxGIjK.js +0 -72
- package/dist/collection/global/global.js +0 -18
- package/dist/collection/themeManager/theme.compact.js +0 -8
- package/dist/collection/themeManager/theme.default.js +0 -8
- package/dist/collection/themeManager/theme.material.js +0 -8
- package/dist/esm/app-globals-B_B_OtEa.js +0 -24
- package/dist/esm/theme.service-BmnDvr6P.js +0 -69
- package/dist/revo-grid/app-globals-B_B_OtEa.js +0 -24
- package/dist/revo-grid/theme.service-BmnDvr6P.js +0 -69
- package/dist/types/global/global.d.ts +0 -1
- package/dist/types/themeManager/theme.compact.d.ts +0 -4
- package/dist/types/themeManager/theme.default.d.ts +0 -4
- package/dist/types/themeManager/theme.material.d.ts +0 -4
|
@@ -7,7 +7,8 @@ import { DataProvider } from "../../services/data.provider";
|
|
|
7
7
|
import { getVisibleSourceItem, rowTypes } from "../../store/index";
|
|
8
8
|
import DimensionProvider from "../../services/dimension.provider";
|
|
9
9
|
import ViewportProvider from "../../services/viewport.provider";
|
|
10
|
-
import ThemeService from "../../themeManager/theme.service";
|
|
10
|
+
import ThemeService, { getTheme } from "../../themeManager/theme.service";
|
|
11
|
+
import { themeTokenCssVariables } from "../../types/theme";
|
|
11
12
|
import { timeout } from "../../utils";
|
|
12
13
|
import { AutoSizeColumnPlugin, } from "../../plugins/column.auto-size.plugin";
|
|
13
14
|
import { FilterPlugin, } from "../../plugins/filter/filter.plugin";
|
|
@@ -28,6 +29,10 @@ import { getColumnByProp, getColumns } from "../../utils/column.utils";
|
|
|
28
29
|
import { WCAGPlugin } from "../../plugins/wcag";
|
|
29
30
|
import { PluginService } from "./plugin.service";
|
|
30
31
|
import { RTLPlugin } from "../../plugins/rtl/rtl.plugin";
|
|
32
|
+
const DEFAULT_COLUMN_SIZE = 100;
|
|
33
|
+
function getColumnSize(size) {
|
|
34
|
+
return Number.isFinite(size) && size > 0 ? size : DEFAULT_COLUMN_SIZE;
|
|
35
|
+
}
|
|
31
36
|
/**
|
|
32
37
|
* Revogrid - High-performance, customizable grid library for managing large datasets.
|
|
33
38
|
* ### Events guide
|
|
@@ -119,6 +124,11 @@ export class RevoGridComponent {
|
|
|
119
124
|
this.columnTypes = {};
|
|
120
125
|
/** Theme name. */
|
|
121
126
|
this.theme = 'default';
|
|
127
|
+
/**
|
|
128
|
+
* Per-grid custom theme definitions.
|
|
129
|
+
* Assign as a JavaScript property; complex values cannot be serialized as HTML attributes.
|
|
130
|
+
*/
|
|
131
|
+
this.themeDefinitions = [];
|
|
122
132
|
/**
|
|
123
133
|
* Row class property mapping.
|
|
124
134
|
* Map custom classes to rows from row object data.
|
|
@@ -218,6 +228,7 @@ export class RevoGridComponent {
|
|
|
218
228
|
this.pluginService = new PluginService();
|
|
219
229
|
this.viewport = null;
|
|
220
230
|
this.isInited = false;
|
|
231
|
+
this.themeStyles = {};
|
|
221
232
|
}
|
|
222
233
|
// #endregion
|
|
223
234
|
// #region Methods
|
|
@@ -716,29 +727,70 @@ export class RevoGridComponent {
|
|
|
716
727
|
this.refreshColumnsOnConfigChange(newVal, prevVal);
|
|
717
728
|
}
|
|
718
729
|
rowSizeChanged(s) {
|
|
719
|
-
if (!this.dimensionProvider) {
|
|
730
|
+
if (!this.themeService || !this.dimensionProvider) {
|
|
731
|
+
return;
|
|
732
|
+
}
|
|
733
|
+
this.themeService.rowSize = s;
|
|
734
|
+
this.applyTheme(this.theme, false, false, 'rowSize');
|
|
735
|
+
}
|
|
736
|
+
colSizeChanged(s) {
|
|
737
|
+
if (!this.dimensionProvider || !this.columnProvider) {
|
|
720
738
|
return;
|
|
721
739
|
}
|
|
722
|
-
|
|
723
|
-
this.
|
|
724
|
-
this.rowDefChanged(this.rowDefinitions, this.rowDefinitions, 'rowSize', true);
|
|
740
|
+
this.dimensionProvider.setSettings({ originItemSize: getColumnSize(s) }, 'rgCol');
|
|
741
|
+
this.columnChanged(this.columns);
|
|
725
742
|
}
|
|
726
743
|
themeChanged(t, _, __ = 'theme', init = false) {
|
|
727
|
-
if (!this.dimensionProvider) {
|
|
744
|
+
if (!this.themeService || !this.dimensionProvider) {
|
|
745
|
+
return;
|
|
746
|
+
}
|
|
747
|
+
if (this.pendingNormalizedTheme === t) {
|
|
748
|
+
this.pendingNormalizedTheme = undefined;
|
|
749
|
+
return;
|
|
750
|
+
}
|
|
751
|
+
const normalizedTheme = getTheme(t);
|
|
752
|
+
if (normalizedTheme !== t) {
|
|
753
|
+
this.pendingNormalizedTheme = normalizedTheme;
|
|
754
|
+
this.theme = normalizedTheme;
|
|
755
|
+
}
|
|
756
|
+
this.applyTheme(normalizedTheme, init, true, 'theme');
|
|
757
|
+
}
|
|
758
|
+
themeDefinitionsChanged(definitions = []) {
|
|
759
|
+
if (!this.themeService || !this.dimensionProvider) {
|
|
728
760
|
return;
|
|
729
761
|
}
|
|
730
|
-
this.themeService.
|
|
731
|
-
this.
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
762
|
+
this.themeService.setDefinitions(definitions);
|
|
763
|
+
this.applyTheme(this.theme, false, true, 'themeDefinitions');
|
|
764
|
+
}
|
|
765
|
+
applyTheme(theme, init, emitEvent, reason) {
|
|
766
|
+
var _a;
|
|
767
|
+
const resolvedTheme = this.themeService.register(theme);
|
|
768
|
+
const rowSize = this.themeService.rowSize;
|
|
769
|
+
const densityChanged = this.appliedThemeRowSize !== rowSize;
|
|
770
|
+
const hadAppliedTheme = this.appliedThemeRowSize !== undefined;
|
|
771
|
+
this.appliedThemeRowSize = rowSize;
|
|
772
|
+
this.themeStyles = this.getThemeStyles();
|
|
773
|
+
if (densityChanged) {
|
|
774
|
+
(_a = this.dimensionProvider) === null || _a === void 0 ? void 0 : _a.setSettings({ originItemSize: rowSize }, 'rgRow');
|
|
775
|
+
if (!init && hadAppliedTheme) {
|
|
776
|
+
this.rowDefChanged(this.rowDefinitions, this.rowDefinitions, reason, true);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
if (emitEvent) {
|
|
780
|
+
this.afterthemechanged.emit(resolvedTheme.name);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
getThemeStyles() {
|
|
784
|
+
const styles = {
|
|
785
|
+
'--rg-theme-row-size': `${this.themeService.rowSize}px`,
|
|
786
|
+
};
|
|
787
|
+
for (const [name, value] of Object.entries(this.themeService.theme.tokens)) {
|
|
788
|
+
const cssVariable = themeTokenCssVariables[name];
|
|
789
|
+
if (cssVariable && value) {
|
|
790
|
+
styles[cssVariable] = value;
|
|
791
|
+
}
|
|
740
792
|
}
|
|
741
|
-
|
|
793
|
+
return styles;
|
|
742
794
|
}
|
|
743
795
|
dataSourceChanged(newVal = [], _, watchName) {
|
|
744
796
|
if (!this.dataProvider) {
|
|
@@ -975,9 +1027,11 @@ export class RevoGridComponent {
|
|
|
975
1027
|
this.themeService = new ThemeService({
|
|
976
1028
|
rowSize: this.rowSize,
|
|
977
1029
|
});
|
|
1030
|
+
this.themeService.setDefinitions(this.themeDefinitions);
|
|
978
1031
|
this.dimensionProvider = new DimensionProvider(this.viewportProvider, {
|
|
979
1032
|
realSizeChanged: (k) => this.contentsizechanged.emit(k),
|
|
980
1033
|
});
|
|
1034
|
+
this.dimensionProvider.setSettings({ originItemSize: getColumnSize(this.colSize) }, 'rgCol');
|
|
981
1035
|
this.columnProvider = new ColumnDataProvider();
|
|
982
1036
|
this.selectionStoreConnector = new SelectionStoreConnector();
|
|
983
1037
|
this.dataProvider = new DataProvider(this.dimensionProvider);
|
|
@@ -1095,7 +1149,7 @@ export class RevoGridComponent {
|
|
|
1095
1149
|
const dimensions = this.dimensionProvider.stores;
|
|
1096
1150
|
const verticalScroll = (h("revogr-scroll-virtual", { class: "vertical", dimension: typeRow, clientSize: viewports[typeRow].store.get('clientSize'), virtualSize: viewports[typeRow].store.get('virtualSize'), realSize: dimensions[typeRow].store.get('realSize'), ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }));
|
|
1097
1151
|
const horizontalScroll = (h("revogr-scroll-virtual", { class: "horizontal", dimension: typeCol, clientSize: viewports[typeCol].store.get('clientSize'), virtualSize: viewports[typeCol].store.get('virtualSize'), realSize: dimensions[typeCol].store.get('realSize'), ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }));
|
|
1098
|
-
return (h(Host, { dir: this.rtl ? 'rtl' : 'ltr' }, this.hideAttribution ? null : (h("revogr-attribution", { class: "attribution" })), h("slot", { name: "header" }), h("div", { class: "main-viewport", onClick: (e) => {
|
|
1152
|
+
return (h(Host, { dir: this.rtl ? 'rtl' : 'ltr', "data-rg-theme-base": this.themeService.theme.base, "data-rg-theme-scheme": this.themeService.theme.colorScheme, style: this.themeStyles }, this.hideAttribution ? null : (h("revogr-attribution", { class: "attribution" })), h("slot", { name: "header" }), h("div", { class: "main-viewport", onClick: (e) => {
|
|
1099
1153
|
var _a;
|
|
1100
1154
|
if (e.currentTarget === e.target) {
|
|
1101
1155
|
(_a = this.viewport) === null || _a === void 0 ? void 0 : _a.clearEdit();
|
|
@@ -1563,14 +1617,34 @@ export class RevoGridComponent {
|
|
|
1563
1617
|
"type": "string",
|
|
1564
1618
|
"mutable": true,
|
|
1565
1619
|
"complexType": {
|
|
1566
|
-
"original": "
|
|
1620
|
+
"original": "string",
|
|
1567
1621
|
"resolved": "string",
|
|
1622
|
+
"references": {}
|
|
1623
|
+
},
|
|
1624
|
+
"required": false,
|
|
1625
|
+
"optional": false,
|
|
1626
|
+
"docs": {
|
|
1627
|
+
"tags": [],
|
|
1628
|
+
"text": "Theme name."
|
|
1629
|
+
},
|
|
1630
|
+
"getter": false,
|
|
1631
|
+
"setter": false,
|
|
1632
|
+
"reflect": true,
|
|
1633
|
+
"attribute": "theme",
|
|
1634
|
+
"defaultValue": "'default'"
|
|
1635
|
+
},
|
|
1636
|
+
"themeDefinitions": {
|
|
1637
|
+
"type": "unknown",
|
|
1638
|
+
"mutable": false,
|
|
1639
|
+
"complexType": {
|
|
1640
|
+
"original": "ThemeDefinition[]",
|
|
1641
|
+
"resolved": "ThemeDefinition[]",
|
|
1568
1642
|
"references": {
|
|
1569
|
-
"
|
|
1643
|
+
"ThemeDefinition": {
|
|
1570
1644
|
"location": "import",
|
|
1571
1645
|
"path": "@type",
|
|
1572
|
-
"id": "src/types/index.ts::
|
|
1573
|
-
"referenceLocation": "
|
|
1646
|
+
"id": "src/types/index.ts::ThemeDefinition",
|
|
1647
|
+
"referenceLocation": "ThemeDefinition"
|
|
1574
1648
|
}
|
|
1575
1649
|
}
|
|
1576
1650
|
},
|
|
@@ -1578,13 +1652,11 @@ export class RevoGridComponent {
|
|
|
1578
1652
|
"optional": false,
|
|
1579
1653
|
"docs": {
|
|
1580
1654
|
"tags": [],
|
|
1581
|
-
"text": "
|
|
1655
|
+
"text": "Per-grid custom theme definitions.\nAssign as a JavaScript property; complex values cannot be serialized as HTML attributes."
|
|
1582
1656
|
},
|
|
1583
1657
|
"getter": false,
|
|
1584
1658
|
"setter": false,
|
|
1585
|
-
"
|
|
1586
|
-
"attribute": "theme",
|
|
1587
|
-
"defaultValue": "'default'"
|
|
1659
|
+
"defaultValue": "[]"
|
|
1588
1660
|
},
|
|
1589
1661
|
"rowClass": {
|
|
1590
1662
|
"type": "string",
|
|
@@ -2936,16 +3008,9 @@ export class RevoGridComponent {
|
|
|
2936
3008
|
"text": "Emmited after the theme is changed"
|
|
2937
3009
|
},
|
|
2938
3010
|
"complexType": {
|
|
2939
|
-
"original": "
|
|
3011
|
+
"original": "string",
|
|
2940
3012
|
"resolved": "string",
|
|
2941
|
-
"references": {
|
|
2942
|
-
"Theme": {
|
|
2943
|
-
"location": "import",
|
|
2944
|
-
"path": "@type",
|
|
2945
|
-
"id": "src/types/index.ts::Theme",
|
|
2946
|
-
"referenceLocation": "Theme"
|
|
2947
|
-
}
|
|
2948
|
-
}
|
|
3013
|
+
"references": {}
|
|
2949
3014
|
}
|
|
2950
3015
|
}, {
|
|
2951
3016
|
"method": "created",
|
|
@@ -3732,9 +3797,15 @@ export class RevoGridComponent {
|
|
|
3732
3797
|
}, {
|
|
3733
3798
|
"propName": "rowSize",
|
|
3734
3799
|
"methodName": "rowSizeChanged"
|
|
3800
|
+
}, {
|
|
3801
|
+
"propName": "colSize",
|
|
3802
|
+
"methodName": "colSizeChanged"
|
|
3735
3803
|
}, {
|
|
3736
3804
|
"propName": "theme",
|
|
3737
3805
|
"methodName": "themeChanged"
|
|
3806
|
+
}, {
|
|
3807
|
+
"propName": "themeDefinitions",
|
|
3808
|
+
"methodName": "themeDefinitionsChanged"
|
|
3738
3809
|
}, {
|
|
3739
3810
|
"propName": "source",
|
|
3740
3811
|
"methodName": "dataSourceChanged"
|
|
@@ -17,6 +17,12 @@ revogr-viewport-scroll {
|
|
|
17
17
|
-ms-overflow-style: none;
|
|
18
18
|
scrollbar-width: none; /* Firefox */
|
|
19
19
|
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
20
|
+
}
|
|
21
|
+
revogr-viewport-scroll::-webkit-scrollbar {
|
|
22
|
+
display: none;
|
|
23
|
+
-webkit-appearance: none;
|
|
24
|
+
}
|
|
25
|
+
revogr-viewport-scroll {
|
|
20
26
|
overflow-x: auto;
|
|
21
27
|
overflow-y: hidden;
|
|
22
28
|
overscroll-behavior-x: contain;
|
|
@@ -24,10 +30,6 @@ revogr-viewport-scroll {
|
|
|
24
30
|
z-index: 1;
|
|
25
31
|
height: 100%;
|
|
26
32
|
}
|
|
27
|
-
revogr-viewport-scroll::-webkit-scrollbar {
|
|
28
|
-
display: none;
|
|
29
|
-
-webkit-appearance: none;
|
|
30
|
-
}
|
|
31
33
|
revogr-viewport-scroll.colPinStart, revogr-viewport-scroll.colPinEnd {
|
|
32
34
|
z-index: 2;
|
|
33
35
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
revogr-focus.focused-cell {
|
|
2
|
-
box-shadow: -1px 0 0
|
|
2
|
+
box-shadow: -1px 0 0 var(--rg-theme-selection-border) inset, 1px 0 0 var(--rg-theme-selection-border) inset, 0 -1px 0 var(--rg-theme-selection-border) inset, 0 1px 0 var(--rg-theme-selection-border) inset;
|
|
3
3
|
position: absolute;
|
|
4
4
|
pointer-events: none;
|
|
5
5
|
z-index: 9;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
position: absolute;
|
|
4
4
|
pointer-events: none;
|
|
5
5
|
z-index: 9;
|
|
6
|
-
border: 1px solid
|
|
6
|
+
border: 1px solid var(--rg-theme-temporary-range-border);
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
}
|
|
9
9
|
.temp-bg-range.Selection {
|
|
10
|
-
border: 1px dashed
|
|
10
|
+
border: 1px dashed var(--rg-theme-temporary-selection-border);
|
|
11
11
|
}
|
|
12
12
|
.temp-bg-range > div {
|
|
13
13
|
width: 1px;
|
package/dist/collection/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
.revo-button {
|
|
2
2
|
position: relative;
|
|
3
3
|
overflow: hidden;
|
|
4
|
-
color:
|
|
5
|
-
background-color:
|
|
4
|
+
color: var(--rg-theme-button-text);
|
|
5
|
+
background-color: var(--rg-theme-button-bg);
|
|
6
6
|
height: 32px;
|
|
7
7
|
line-height: 32px;
|
|
8
8
|
padding: 0 15px;
|
|
@@ -13,28 +13,23 @@
|
|
|
13
13
|
cursor: pointer;
|
|
14
14
|
}
|
|
15
15
|
.revo-button.green {
|
|
16
|
-
background-color:
|
|
16
|
+
background-color: var(--rg-theme-button-success-bg);
|
|
17
17
|
}
|
|
18
18
|
.revo-button.red {
|
|
19
|
-
background-color:
|
|
19
|
+
background-color: var(--rg-theme-button-danger-bg);
|
|
20
20
|
}
|
|
21
21
|
.revo-button:disabled, .revo-button[disabled] {
|
|
22
22
|
cursor: not-allowed !important;
|
|
23
23
|
filter: opacity(0.35) !important;
|
|
24
24
|
}
|
|
25
25
|
.revo-button.outline {
|
|
26
|
-
border: 1px solid
|
|
26
|
+
border: 1px solid var(--rg-theme-button-outline-border);
|
|
27
27
|
line-height: 30px;
|
|
28
28
|
background: none;
|
|
29
|
-
color:
|
|
29
|
+
color: var(--rg-theme-button-outline-text);
|
|
30
30
|
box-shadow: none;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
revo-grid[theme^=dark] .revo-button.outline {
|
|
34
|
-
border: 1px solid #404040;
|
|
35
|
-
color: #d8d8d8;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
33
|
revogr-filter-panel {
|
|
39
34
|
display: block;
|
|
40
35
|
}
|
|
@@ -48,10 +43,11 @@ revogr-filter-panel .filter-panel-dialog {
|
|
|
48
43
|
overflow: auto;
|
|
49
44
|
opacity: 1;
|
|
50
45
|
transform: none;
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
color: var(--rg-theme-filter-panel-text);
|
|
47
|
+
background-color: var(--rg-theme-filter-panel-bg);
|
|
48
|
+
border: 1px solid var(--rg-theme-filter-panel-border);
|
|
53
49
|
transform-origin: 62px 0px;
|
|
54
|
-
box-shadow: 0 5px 18px -2px var(--
|
|
50
|
+
box-shadow: 0 5px 18px -2px var(--rg-theme-filter-panel-shadow);
|
|
55
51
|
box-sizing: border-box;
|
|
56
52
|
padding: 10px;
|
|
57
53
|
border-radius: 8px;
|
|
@@ -76,7 +72,8 @@ revogr-filter-panel .filter-panel-dialog input[type=text] {
|
|
|
76
72
|
border: 0;
|
|
77
73
|
min-height: 34px;
|
|
78
74
|
margin: 5px 0;
|
|
79
|
-
|
|
75
|
+
color: var(--rg-theme-filter-panel-text);
|
|
76
|
+
background: var(--rg-theme-filter-panel-input-bg);
|
|
80
77
|
border-radius: 5px;
|
|
81
78
|
padding: 0 10px;
|
|
82
79
|
box-sizing: border-box;
|
|
@@ -91,8 +88,8 @@ revogr-filter-panel .filter-panel-dialog .filter-actions {
|
|
|
91
88
|
text-align: right;
|
|
92
89
|
margin: 10px -10px -10px;
|
|
93
90
|
padding: 0 5px 10px 10px;
|
|
94
|
-
background: var(--
|
|
95
|
-
border-top: 1px solid var(--
|
|
91
|
+
background: var(--rg-theme-filter-panel-bg);
|
|
92
|
+
border-top: 1px solid var(--rg-theme-filter-panel-divider);
|
|
96
93
|
}
|
|
97
94
|
revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
98
95
|
margin-top: 10px;
|
|
@@ -132,10 +129,10 @@ revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
|
132
129
|
border-radius: 4px;
|
|
133
130
|
}
|
|
134
131
|
.rgHeaderCell .rv-filter.active {
|
|
135
|
-
color:
|
|
132
|
+
color: var(--rg-theme-filter-panel-icon-active);
|
|
136
133
|
}
|
|
137
134
|
.rgHeaderCell .rv-filter .filter-img {
|
|
138
|
-
color:
|
|
135
|
+
color: var(--rg-theme-filter-panel-icon);
|
|
139
136
|
width: 11px;
|
|
140
137
|
}
|
|
141
138
|
|
|
@@ -148,44 +145,52 @@ revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
|
148
145
|
max-width: 100%; /* useful when width is set to anything other than 100% */
|
|
149
146
|
box-sizing: border-box;
|
|
150
147
|
margin: 0;
|
|
151
|
-
|
|
148
|
+
color: var(--rg-theme-filter-panel-text);
|
|
149
|
+
border: 1px solid var(--rg-theme-filter-panel-select-border);
|
|
152
150
|
box-shadow: transparent;
|
|
153
151
|
border-radius: 0.5em;
|
|
154
152
|
appearance: none;
|
|
155
|
-
background-color: var(--
|
|
156
|
-
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
|
|
153
|
+
background-color: var(--rg-theme-filter-panel-input-bg);
|
|
154
|
+
background-image: var(--revo-grid-filter-panel-select-arrow, url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"));
|
|
157
155
|
background-repeat: no-repeat, repeat;
|
|
158
156
|
/* arrow icon position (1em from the right, 50% vertical) , then gradient position*/
|
|
159
157
|
background-position: right 0.7em top 50%, 0 0;
|
|
160
158
|
/* icon size, then gradient */
|
|
161
159
|
background-size: 0.65em auto, 100%;
|
|
162
160
|
/* Hide arrow icon in IE browsers */
|
|
163
|
-
/* Hover style */
|
|
164
|
-
/* Focus style */
|
|
165
|
-
/* Set options to normal weight */
|
|
166
|
-
/* Disabled styles */
|
|
167
161
|
}
|
|
168
162
|
.select-css::-ms-expand {
|
|
169
163
|
display: none;
|
|
170
164
|
}
|
|
165
|
+
.select-css {
|
|
166
|
+
/* Hover style */
|
|
167
|
+
}
|
|
171
168
|
.select-css:hover {
|
|
172
|
-
border-color: var(--
|
|
169
|
+
border-color: var(--rg-theme-filter-panel-select-border);
|
|
170
|
+
}
|
|
171
|
+
.select-css {
|
|
172
|
+
/* Focus style */
|
|
173
173
|
}
|
|
174
174
|
.select-css:focus {
|
|
175
|
-
border-color: var(--
|
|
176
|
-
box-shadow:
|
|
177
|
-
box-shadow: 0 0 0 3px -moz-mac-focusring;
|
|
175
|
+
border-color: var(--rg-theme-filter-panel-select-border-hover);
|
|
176
|
+
box-shadow: var(--rg-theme-filter-panel-focus-ring);
|
|
178
177
|
outline: none;
|
|
179
178
|
}
|
|
179
|
+
.select-css {
|
|
180
|
+
/* Set options to normal weight */
|
|
181
|
+
}
|
|
180
182
|
.select-css option {
|
|
181
183
|
font-weight: normal;
|
|
182
184
|
}
|
|
185
|
+
.select-css {
|
|
186
|
+
/* Disabled styles */
|
|
187
|
+
}
|
|
183
188
|
.select-css:disabled, .select-css[aria-disabled=true] {
|
|
184
|
-
color:
|
|
185
|
-
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E")
|
|
189
|
+
color: var(--rg-theme-filter-panel-muted-text);
|
|
190
|
+
background-image: var(--revo-grid-filter-panel-select-arrow-disabled, url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22graytext%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"));
|
|
186
191
|
}
|
|
187
192
|
.select-css:disabled:hover, .select-css[aria-disabled=true] {
|
|
188
|
-
border-color: var(--
|
|
193
|
+
border-color: var(--rg-theme-filter-panel-select-border);
|
|
189
194
|
}
|
|
190
195
|
|
|
191
196
|
.multi-filter-list {
|
|
@@ -212,9 +217,9 @@ revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
|
212
217
|
left: 0;
|
|
213
218
|
z-index: 2;
|
|
214
219
|
height: 2px;
|
|
215
|
-
background: var(--
|
|
220
|
+
background: var(--rg-theme-filter-panel-reorder-accent);
|
|
216
221
|
border-radius: 999px;
|
|
217
|
-
box-shadow: 0 0 0 2px var(--
|
|
222
|
+
box-shadow: 0 0 0 2px var(--rg-theme-filter-panel-bg);
|
|
218
223
|
}
|
|
219
224
|
.multi-filter-list .multi-filter-list-row.filter-row-drop-active .filter-row-drop-target {
|
|
220
225
|
pointer-events: auto;
|
|
@@ -257,7 +262,7 @@ revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
|
257
262
|
.multi-filter-list .reorder-button {
|
|
258
263
|
border: 0;
|
|
259
264
|
background: transparent;
|
|
260
|
-
color: var(--
|
|
265
|
+
color: var(--rg-theme-filter-panel-reorder-color);
|
|
261
266
|
cursor: grab;
|
|
262
267
|
font-family: monospace;
|
|
263
268
|
font-size: 12px;
|
|
@@ -268,7 +273,7 @@ revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
|
268
273
|
width: 16px;
|
|
269
274
|
}
|
|
270
275
|
.multi-filter-list .reorder-button.filter-row-drag-over {
|
|
271
|
-
color: var(--
|
|
276
|
+
color: var(--rg-theme-filter-panel-reorder-accent);
|
|
272
277
|
}
|
|
273
278
|
.multi-filter-list .reorder-button:active {
|
|
274
279
|
cursor: grabbing;
|
|
@@ -283,7 +288,7 @@ revogr-filter-panel .filter-panel-dialog .filter-actions button {
|
|
|
283
288
|
.add-filter-divider {
|
|
284
289
|
display: block;
|
|
285
290
|
margin: 0 -10px 10px -10px;
|
|
286
|
-
border-bottom: 1px solid var(--
|
|
291
|
+
border-bottom: 1px solid var(--rg-theme-filter-panel-divider);
|
|
287
292
|
height: 10px;
|
|
288
293
|
}
|
|
289
294
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { generateFakeDataObjectAsync } from './data.js';
|
|
2
|
+
import { modernThemeDefinitions } from './build/index.esm.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Map of prevented events
|
|
@@ -296,12 +297,16 @@ globalThis.timerUpdate = function (checked, inteval = 3) {
|
|
|
296
297
|
*/
|
|
297
298
|
globalThis.theme = function (theme) {
|
|
298
299
|
const grid = document.querySelector('revo-grid');
|
|
299
|
-
|
|
300
|
+
const selectedTheme = theme || 'default';
|
|
301
|
+
const definition = modernThemeDefinitions.find(
|
|
302
|
+
item => item.name === selectedTheme,
|
|
303
|
+
);
|
|
304
|
+
if (definition?.colorScheme === 'dark' || selectedTheme.includes('dark')) {
|
|
300
305
|
document.documentElement.setAttribute('data-bs-theme', 'dark');
|
|
301
306
|
} else {
|
|
302
307
|
document.documentElement.removeAttribute('data-bs-theme');
|
|
303
308
|
}
|
|
304
|
-
grid.theme =
|
|
309
|
+
grid.theme = selectedTheme;
|
|
305
310
|
};
|
|
306
311
|
|
|
307
312
|
globalThis.onload = onLoad;
|
|
@@ -426,6 +431,7 @@ globalThis.setColumnGroupOffsetBugDemo = () => {
|
|
|
426
431
|
function onLoad() {
|
|
427
432
|
const grid = document.querySelector('revo-grid');
|
|
428
433
|
|
|
434
|
+
grid.themeDefinitions = modernThemeDefinitions;
|
|
429
435
|
grid.readonly = false;
|
|
430
436
|
grid.range = true;
|
|
431
437
|
grid.useClipboard = { rangeFill: true };
|
|
@@ -434,6 +440,16 @@ function onLoad() {
|
|
|
434
440
|
|
|
435
441
|
grid.exporting = true;
|
|
436
442
|
grid.rowHeaders = true;
|
|
443
|
+
const initialTheme = new URLSearchParams(location.search).get('theme');
|
|
444
|
+
if (initialTheme) {
|
|
445
|
+
globalThis.theme(initialTheme);
|
|
446
|
+
const themeOption = Array.from(
|
|
447
|
+
document.querySelectorAll('input[name="theme"]'),
|
|
448
|
+
).find(option => option.value === initialTheme);
|
|
449
|
+
if (themeOption) {
|
|
450
|
+
themeOption.checked = true;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
437
453
|
// grid.rowDefinitions = [{
|
|
438
454
|
// size: 200,
|
|
439
455
|
// type: 'rgRow',
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import { defineTheme } from "../../types/theme";
|
|
5
|
+
import { createPresetTokens } from "./shared";
|
|
6
|
+
const auroraFoundation = [
|
|
7
|
+
'#34d399',
|
|
8
|
+
'rgba(52, 211, 153, 0.88)',
|
|
9
|
+
'#071714',
|
|
10
|
+
'#ecfdf5',
|
|
11
|
+
'#285047',
|
|
12
|
+
'rgba(0, 0, 0, 0.5)',
|
|
13
|
+
'#d1fae5',
|
|
14
|
+
'#1c3d36',
|
|
15
|
+
];
|
|
16
|
+
const auroraGrid = [
|
|
17
|
+
'#0c2420',
|
|
18
|
+
'#ecfdf5',
|
|
19
|
+
'#245047',
|
|
20
|
+
null,
|
|
21
|
+
null,
|
|
22
|
+
'#17352f',
|
|
23
|
+
null,
|
|
24
|
+
'#103d34',
|
|
25
|
+
'#0d2e28',
|
|
26
|
+
'#0a201c',
|
|
27
|
+
'#86cbb8',
|
|
28
|
+
'rgba(110, 231, 183, 0.08)',
|
|
29
|
+
];
|
|
30
|
+
const auroraFilterPanel = [
|
|
31
|
+
'#0b201c',
|
|
32
|
+
'#285047',
|
|
33
|
+
'rgba(0, 0, 0, 0.52)',
|
|
34
|
+
'#12352e',
|
|
35
|
+
'#23483f',
|
|
36
|
+
'#37695d',
|
|
37
|
+
'#34d399',
|
|
38
|
+
'#2dd4bf',
|
|
39
|
+
'#86cbb8',
|
|
40
|
+
'#d1fae5',
|
|
41
|
+
'#86a89f',
|
|
42
|
+
'0 0 0 3px rgba(52, 211, 153, 0.2)',
|
|
43
|
+
'#86a89f',
|
|
44
|
+
'#5eead4',
|
|
45
|
+
];
|
|
46
|
+
const auroraTypography = [
|
|
47
|
+
'12px',
|
|
48
|
+
'42px',
|
|
49
|
+
'11px',
|
|
50
|
+
'650',
|
|
51
|
+
'uppercase',
|
|
52
|
+
'left',
|
|
53
|
+
'left',
|
|
54
|
+
'0 12px',
|
|
55
|
+
'0 12px',
|
|
56
|
+
];
|
|
57
|
+
const auroraSelection = [
|
|
58
|
+
'#34d399',
|
|
59
|
+
'rgba(52, 211, 153, 0.12)',
|
|
60
|
+
'#34d399',
|
|
61
|
+
'#071714',
|
|
62
|
+
'rgba(45, 212, 191, 0.22)',
|
|
63
|
+
'#fbbf24',
|
|
64
|
+
'#5eead4',
|
|
65
|
+
'#2dd4bf',
|
|
66
|
+
];
|
|
67
|
+
const auroraButtons = [
|
|
68
|
+
'#052e27',
|
|
69
|
+
'#34d399',
|
|
70
|
+
'#10b981',
|
|
71
|
+
'#fb7185',
|
|
72
|
+
'#37695d',
|
|
73
|
+
'#d1fae5',
|
|
74
|
+
];
|
|
75
|
+
/** Compact graphite and evergreen preset with luminous emerald states. */
|
|
76
|
+
export const auroraTheme = defineTheme({
|
|
77
|
+
name: 'aurora',
|
|
78
|
+
extends: 'darkCompact',
|
|
79
|
+
colorScheme: 'dark',
|
|
80
|
+
defaultRowSize: 34,
|
|
81
|
+
tokens: createPresetTokens({
|
|
82
|
+
foundation: auroraFoundation,
|
|
83
|
+
grid: auroraGrid,
|
|
84
|
+
filterPanel: auroraFilterPanel,
|
|
85
|
+
typography: auroraTypography,
|
|
86
|
+
selection: auroraSelection,
|
|
87
|
+
buttons: auroraButtons,
|
|
88
|
+
}),
|
|
89
|
+
});
|