@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.
- 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-DSiFObaj.js → column.drag.plugin-E_K6cIAy.js} +101 -13
- 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 +19 -6
- 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.panel.js +36 -3
- package/dist/collection/plugins/filter/filter.plugin.js +21 -6
- 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-Cf9DYdQj.js → esm/column.drag.plugin-DKgC_0I1.js} +100 -14
- 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 +19 -6
- 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-Cf9DYdQj.js → revo-grid/column.drag.plugin-DKgC_0I1.js} +100 -14
- 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 +19 -6
- 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 +28 -7
- package/dist/types/index.d.ts +1 -0
- package/dist/types/plugins/filter/filter.panel.d.ts +4 -0
- package/dist/types/plugins/filter/filter.plugin.d.ts +1 -0
- package/dist/types/plugins/filter/filter.types.d.ts +5 -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 +1307 -597
- package/hydrate/index.mjs +1307 -597
- 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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance,
|
|
5
|
-
import { M as ColumnService, u as isGrouping } from './column.service-
|
|
6
|
-
import { B as ROW_FOCUSED_CLASS, b as getSourceItem, n as DATA_ROW, m as DATA_COL, M as MIN_COL_SIZE, r as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, F as FOCUS_CLASS, k as getItemByIndex, u as HEADER_ROW_CLASS, v as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-
|
|
7
|
-
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-
|
|
8
|
-
import { c as FilterButton } from './filter.button-
|
|
9
|
-
import { H as HeaderCellRenderer } from './header-cell-renderer-
|
|
4
|
+
import { r as registerInstance, a as createEvent, h, d as Host, g as getElement } from './index-CtimkLsB.js';
|
|
5
|
+
import { M as ColumnService, u as isGrouping } from './column.service-Cfw3L0PN.js';
|
|
6
|
+
import { B as ROW_FOCUSED_CLASS, b as getSourceItem, n as DATA_ROW, m as DATA_COL, M as MIN_COL_SIZE, r as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, F as FOCUS_CLASS, k as getItemByIndex, u as HEADER_ROW_CLASS, v as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-fl4HSSK9.js';
|
|
7
|
+
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-11cf-lu3.js';
|
|
8
|
+
import { c as FilterButton } from './filter.button-DMhpuAiw.js';
|
|
9
|
+
import { H as HeaderCellRenderer } from './header-cell-renderer-Cqtg1ETB.js';
|
|
10
10
|
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService, g as getContentSize } from './throttle-Cpk1LoGk.js';
|
|
11
11
|
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-CoCAvmZs.js';
|
|
12
12
|
import './debounce-PCRWZliA.js';
|
|
@@ -338,7 +338,7 @@ const HeaderGroupRenderer = (p) => {
|
|
|
338
338
|
return (h(HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start }), props: groupProps, additionalData: p.additionalData }));
|
|
339
339
|
};
|
|
340
340
|
|
|
341
|
-
const revogrHeaderStyleCss = () => `@charset "UTF-8";revogr-header{position:relative;z-index:5;display:block}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative;overflow:hidden}revogr-header .rgHeaderCell{position:absolute;box-sizing:border-box;height:100%;z-index:1;display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell .sort-indicator{display:inline-flex;align-items:flex-start;gap:1px}revogr-header .rgHeaderCell .sort-indicator i.asc:after,revogr-header .rgHeaderCell .sort-indicator i.desc:after{font-size:13px}revogr-header .rgHeaderCell .sort-indicator i.asc:after{content:"↑"}revogr-header .rgHeaderCell .sort-indicator i.desc:after{content:"↓"}revogr-header .rgHeaderCell .sort-indicator .sort-order-index{font-size:10px;line-height:1;top:0}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:
|
|
341
|
+
const revogrHeaderStyleCss = () => `@charset "UTF-8";revogr-header{position:relative;z-index:5;display:block}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative;overflow:hidden}revogr-header .rgHeaderCell{position:absolute;box-sizing:border-box;height:100%;z-index:1;display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell .sort-indicator{display:inline-flex;align-items:flex-start;gap:1px}revogr-header .rgHeaderCell .sort-indicator i.asc:after,revogr-header .rgHeaderCell .sort-indicator i.desc:after{font-size:13px}revogr-header .rgHeaderCell .sort-indicator i.asc:after{content:"↑"}revogr-header .rgHeaderCell .sort-indicator i.desc:after{content:"↓"}revogr-header .rgHeaderCell .sort-indicator .sort-order-index{font-size:10px;line-height:1;top:0}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:var(--rg-theme-header-resize-hover)}revogr-header .rgHeaderCell .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}revogr-header .rgHeaderCell .resizable{display:block;position:absolute;z-index:90;touch-action:none;user-select:none}revogr-header .rgHeaderCell .resizable:hover{background-color:var(--rg-theme-header-resize-hover)}revogr-header .rgHeaderCell>.resizable-r{cursor:ew-resize;width:6px;right:0;top:0;height:100%}revogr-header .rgHeaderCell>.resizable-rb{cursor:se-resize;width:6px;height:6px;right:0;bottom:0}revogr-header .rgHeaderCell>.resizable-b{cursor:s-resize;height:6px;bottom:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-lb{cursor:sw-resize;width:6px;height:6px;left:0;bottom:0}revogr-header .rgHeaderCell>.resizable-l{cursor:w-resize;width:6px;left:0;height:100%;top:0}revogr-header .rgHeaderCell>.resizable-lt{cursor:nw-resize;width:6px;height:6px;left:0;top:0}revogr-header .rgHeaderCell>.resizable-t{cursor:n-resize;height:6px;top:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-rt{cursor:ne-resize;width:6px;height:6px;right:0;top:0}revogr-header .rv-filter{visibility:hidden}`;
|
|
342
342
|
|
|
343
343
|
const RevogrHeaderComponent = class {
|
|
344
344
|
constructor(hostRef) {
|
|
@@ -616,7 +616,7 @@ class GridResizeService {
|
|
|
616
616
|
}
|
|
617
617
|
}
|
|
618
618
|
|
|
619
|
-
const revogrViewportScrollStyleCss = () => `.rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;position:relative;z-index:1;height:100%}revogr-viewport-scroll
|
|
619
|
+
const revogrViewportScrollStyleCss = () => `.rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;position:relative;z-index:1;height:100%}revogr-viewport-scroll.colPinStart,revogr-viewport-scroll.colPinEnd{z-index:2}revogr-viewport-scroll.colPinEnd:has(.active){overflow:visible}revogr-viewport-scroll.rgCol{flex-grow:1}revogr-viewport-scroll .content-wrapper{overflow:hidden}revogr-viewport-scroll .inner-content-table{display:flex;flex-direction:column;max-height:100%;width:100%;min-width:100%;position:relative;z-index:0}revogr-viewport-scroll .vertical-inner{overflow-y:auto;position:relative;width:100%;flex-grow:1;outline:none;-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll .vertical-inner::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll .vertical-inner revogr-data,revogr-viewport-scroll .vertical-inner revogr-overlay-selection{height:100%}`;
|
|
620
620
|
|
|
621
621
|
const RevogrViewportScroll = class {
|
|
622
622
|
constructor(hostRef) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance,
|
|
4
|
+
import { r as registerInstance, a as createEvent, h, d as Host, g as getElement } from './index-CtimkLsB.js';
|
|
5
5
|
import { d as debounce } from './debounce-PCRWZliA.js';
|
|
6
|
-
import { e as AndOrButton, f as ReorderButton, d as TrashButton, i as isFilterBtn } from './filter.button-
|
|
6
|
+
import { e as AndOrButton, f as ReorderButton, d as TrashButton, i as isFilterBtn } from './filter.button-DMhpuAiw.js';
|
|
7
7
|
|
|
8
8
|
(function closest() {
|
|
9
9
|
if (!Element.prototype.matches) {
|
|
@@ -66,7 +66,7 @@ function moveFilterItem(items, sourceId, targetId) {
|
|
|
66
66
|
return true;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
const filterStyleCss = () => `.revo-button{position:relative;overflow:hidden;color
|
|
69
|
+
const filterStyleCss = () => `.revo-button{position:relative;overflow:hidden;color:var(--rg-theme-button-text);background-color:var(--rg-theme-button-bg);height:32px;line-height:32px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:var(--rg-theme-button-success-bg)}.revo-button.red{background-color:var(--rg-theme-button-danger-bg)}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.outline{border:1px solid var(--rg-theme-button-outline-border);line-height:30px;background:none;color:var(--rg-theme-button-outline-text);box-shadow:none}revogr-filter-panel{display:block}revogr-filter-panel .filter-panel-dialog{position:fixed;top:0;left:0;z-index:100;max-height:calc(100vh - 16px);overflow:auto;opacity:1;transform:none;color:var(--rg-theme-filter-panel-text);background-color:var(--rg-theme-filter-panel-bg);border:1px solid var(--rg-theme-filter-panel-border);transform-origin:62px 0px;box-shadow:0 5px 18px -2px var(--rg-theme-filter-panel-shadow);box-sizing:border-box;padding:10px;border-radius:8px;margin:0;min-width:220px;text-align:left;animation:revogr-filter-panel-open 140ms cubic-bezier(0.2, 0, 0, 1)}revogr-filter-panel .filter-panel-dialog .filter-holder>div{display:flex;flex-direction:column}revogr-filter-panel .filter-panel-dialog label{font-size:13px;display:block;padding:8px 0}revogr-filter-panel .filter-panel-dialog select{width:100%}revogr-filter-panel .filter-panel-dialog input[type=text]{border:0;min-height:34px;margin:5px 0;color:var(--rg-theme-filter-panel-text);background:var(--rg-theme-filter-panel-input-bg);border-radius:5px;padding:0 10px;box-sizing:border-box;width:100%}revogr-filter-panel .filter-panel-dialog .filter-actions{position:sticky;right:0;bottom:-10px;left:0;z-index:1;text-align:right;margin:10px -10px -10px;padding:0 5px 10px 10px;background:var(--rg-theme-filter-panel-bg);border-top:1px solid var(--rg-theme-filter-panel-divider)}revogr-filter-panel .filter-panel-dialog .filter-actions button{margin-top:10px;margin-right:5px}@keyframes revogr-filter-panel-open{from{opacity:0;transform:translateY(-4px) scale(0.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){revogr-filter-panel .filter-panel-dialog{animation:none}}.rgHeaderCell:hover .rv-filter{transition:opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}.rgHeaderCell:hover .rv-filter,.rgHeaderCell .rv-filter.active{opacity:1}.rgHeaderCell .rv-filter{height:24px;width:24px;background:none;border:0;opacity:0;visibility:visible;cursor:pointer;border-radius:4px}.rgHeaderCell .rv-filter.active{color:var(--rg-theme-filter-panel-icon-active)}.rgHeaderCell .rv-filter .filter-img{color:var(--rg-theme-filter-panel-icon);width:11px}.select-css{display:block;font-family:sans-serif;line-height:1.3;padding:0.6em 1.4em 0.5em 0.8em;width:100%;max-width:100%;box-sizing:border-box;margin:0;color:var(--rg-theme-filter-panel-text);border:1px solid var(--rg-theme-filter-panel-select-border);box-shadow:transparent;border-radius:0.5em;appearance:none;background-color:var(--rg-theme-filter-panel-input-bg);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"));background-repeat:no-repeat, repeat;background-position:right 0.7em top 50%, 0 0;background-size:0.65em auto, 100%;}.select-css::-ms-expand{display:none}.select-css{}.select-css:hover{border-color:var(--rg-theme-filter-panel-select-border)}.select-css{}.select-css:focus{border-color:var(--rg-theme-filter-panel-select-border-hover);box-shadow:var(--rg-theme-filter-panel-focus-ring);outline:none}.select-css{}.select-css option{font-weight:normal}.select-css{}.select-css:disabled,.select-css[aria-disabled=true]{color:var(--rg-theme-filter-panel-muted-text);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"))}.select-css:disabled:hover,.select-css[aria-disabled=true]{border-color:var(--rg-theme-filter-panel-select-border)}.multi-filter-list{margin-top:5px;margin-bottom:5px}.multi-filter-list div{white-space:nowrap}.multi-filter-list .multi-filter-list-row{display:flex;align-items:center;gap:6px;position:relative}.multi-filter-list .multi-filter-list-row.filter-row-dragging{opacity:0.65}.multi-filter-list .multi-filter-list-row.filter-row-drag-over::before{content:"";position:absolute;top:-4px;right:0;left:0;z-index:2;height:2px;background:var(--rg-theme-filter-panel-reorder-accent);border-radius:999px;box-shadow:0 0 0 2px var(--rg-theme-filter-panel-bg)}.multi-filter-list .multi-filter-list-row.filter-row-drop-active .filter-row-drop-target{pointer-events:auto}.multi-filter-list .filter-row-drop-target{position:absolute;inset:0;z-index:1;padding:0;pointer-events:none;background:transparent;border:0}.multi-filter-list .multi-filter-list-action{display:flex;align-self:stretch;flex:0 0 auto;justify-content:flex-end;align-items:center}.multi-filter-list .and-or-button{margin:0 0 0 10px;min-width:58px;cursor:pointer}.multi-filter-list .trash-button{margin:0 0 -2px 6px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;width:22px;height:100%;font-size:16px}.multi-filter-list .trash-button .trash-img{width:1em}.multi-filter-list .reorder-button{border:0;background:transparent;color:var(--rg-theme-filter-panel-reorder-color);cursor:grab;font-family:monospace;font-size:12px;letter-spacing:0;line-height:1;padding:6px 2px;transform:scaleX(0.8);width:16px}.multi-filter-list .reorder-button.filter-row-drag-over{color:var(--rg-theme-filter-panel-reorder-accent)}.multi-filter-list .reorder-button:active{cursor:grabbing}.multi-filter-list-container{padding:0;margin:0;list-style:none}.add-filter-divider{display:block;margin:0 -10px 10px -10px;border-bottom:1px solid var(--rg-theme-filter-panel-divider);height:10px}.select-input{display:flex;align-items:center;flex:1 1 auto;gap:6px;min-width:0}.select-input .select-filter,.select-input .filter-extra{flex:1 1 0;min-width:0}.select-input .select-filter{width:auto}.select-input .filter-extra{display:flex}.select-input .filter-extra>*{width:100%}.select-input input[type=text],.select-input input[type=date]{margin:0}`;
|
|
70
70
|
|
|
71
71
|
const defaultType = 'none';
|
|
72
72
|
const FILTER_LIST_CLASS = 'multi-filter-list';
|
|
@@ -108,6 +108,10 @@ const FilterPanel = class {
|
|
|
108
108
|
* If true, closes the filter panel when clicking outside
|
|
109
109
|
*/
|
|
110
110
|
this.closeOnOutsideClick = true;
|
|
111
|
+
/**
|
|
112
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
113
|
+
*/
|
|
114
|
+
this.allowDuplicateOperators = true;
|
|
111
115
|
this.debouncedApplyFilter = debounce(() => {
|
|
112
116
|
this.filterChange.emit(this.filterItems);
|
|
113
117
|
}, 400);
|
|
@@ -421,11 +425,15 @@ const FilterPanel = class {
|
|
|
421
425
|
}
|
|
422
426
|
}
|
|
423
427
|
renderSelectOptions(type, isDefaultTypeRemoved = false) {
|
|
428
|
+
var _a;
|
|
424
429
|
if (!this.changes) {
|
|
425
430
|
return;
|
|
426
431
|
}
|
|
427
432
|
const options = [];
|
|
428
433
|
const prop = this.changes.prop;
|
|
434
|
+
if (prop === undefined) {
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
429
437
|
const hidden = new Set();
|
|
430
438
|
Object.keys(this.filterItems).forEach((prop) => {
|
|
431
439
|
const values = this.filterItems[prop];
|
|
@@ -435,6 +443,9 @@ const FilterPanel = class {
|
|
|
435
443
|
}
|
|
436
444
|
});
|
|
437
445
|
});
|
|
446
|
+
const selectedTypes = new Set(((_a = this.filterItems[prop]) !== null && _a !== void 0 ? _a : [])
|
|
447
|
+
.filter(filter => !filter.hidden)
|
|
448
|
+
.map(filter => filter.type));
|
|
438
449
|
if (!isDefaultTypeRemoved) {
|
|
439
450
|
const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
|
|
440
451
|
options.push(h("option", { selected: this.currentFilterType === defaultType, value: defaultType }, prop && this.filterItems[prop] && this.filterItems[prop].length > 0
|
|
@@ -442,7 +453,9 @@ const FilterPanel = class {
|
|
|
442
453
|
: this.filterNames[defaultType]));
|
|
443
454
|
}
|
|
444
455
|
for (let gIndex in this.changes.filterTypes) {
|
|
445
|
-
const group = this.changes.filterTypes[gIndex].filter(k => !hidden.has(k)
|
|
456
|
+
const group = this.changes.filterTypes[gIndex].filter(k => !hidden.has(k) && (this.allowDuplicateOperators ||
|
|
457
|
+
!selectedTypes.has(k) ||
|
|
458
|
+
(isDefaultTypeRemoved && type === k)));
|
|
446
459
|
if (group.length) {
|
|
447
460
|
options.push(...group.map(k => (h("option", { value: k, selected: type === k }, this.filterNames[k]))));
|
|
448
461
|
options.push(h("option", { disabled: true }));
|
|
@@ -537,7 +550,7 @@ const FilterPanel = class {
|
|
|
537
550
|
top: `${(_d = (_c = this.changes) === null || _c === void 0 ? void 0 : _c.y) !== null && _d !== void 0 ? _d : 0}px`,
|
|
538
551
|
};
|
|
539
552
|
const capts = Object.assign(Object.assign({}, this.filterCaptionsInternal), this.filterCaptions);
|
|
540
|
-
return (h(Host, { key: '
|
|
553
|
+
return (h(Host, { key: '8859c452eb08838f65f18efecbdde7f65fda2b49' }, h("dialog", { key: 'f603067ff0986a9f344cbbf816388d2bbac198bb', class: "filter-panel-dialog", style: style, ref: el => (this.dialog = el), onCancel: e => {
|
|
541
554
|
e.preventDefault();
|
|
542
555
|
this.onCancel();
|
|
543
556
|
} }, this.changes && [
|
|
@@ -546,7 +559,7 @@ const FilterPanel = class {
|
|
|
546
559
|
((_g = this.changes) === null || _g === void 0 ? void 0 : _g.hideDefaultFilters) !== true && [
|
|
547
560
|
h("label", { key: "filter-title" }, capts.title),
|
|
548
561
|
h("div", { key: "filter-holder", class: "filter-holder" }, this.getFilterItemsList()),
|
|
549
|
-
h("div", { key: "add-filter", class: "add-filter" }, h("select", { key: '
|
|
562
|
+
h("div", { key: "add-filter", class: "add-filter" }, h("select", { key: '2ec0a66918edf91bdde3962b6ec84c89f6f1c8f1', id: FILTER_ID, class: "select-css", onChange: e => this.onAddNewFilter(e) }, this.renderSelectOptions(this.currentFilterType))),
|
|
550
563
|
],
|
|
551
564
|
h("slot", { key: "default-slot" }),
|
|
552
565
|
((_j = (_h = this.changes).extraBottomContent) === null || _j === void 0 ? void 0 : _j.call(_h, this.changes)) || '',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { d as isTab, f as isEnterKeyValue } from './edit.utils-
|
|
5
|
-
import { t as timeout } from './index-
|
|
4
|
+
import { d as isTab, f as isEnterKeyValue } from './edit.utils-4e9fsqOR.js';
|
|
5
|
+
import { t as timeout } from './index-D24ku9ej.js';
|
|
6
6
|
|
|
7
7
|
class TextEditor {
|
|
8
8
|
constructor(data, saveCallback) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { j as getItemByPosition, K as createStore, l as setStore } from './dimension.helpers-
|
|
4
|
+
import { j as getItemByPosition, K as createStore, l as setStore } from './dimension.helpers-fl4HSSK9.js';
|
|
5
5
|
|
|
6
6
|
const LETTER_BLOCK_SIZE = 10;
|
|
7
7
|
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type VNode, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import type { MultiDimensionType, DimensionRows, DimensionCols, DimensionTypeCol, RowHeaders, ColumnRegular, ColumnGrouping, DataType, RowDefinition, ColumnType, FocusTemplateFunc, PositionItem, ColumnProp, ViewPortScrollEvent, InitialHeaderClick, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeRangeSaveDataDetails, Cell, ChangedRange, RangeArea, AfterEditEvent,
|
|
2
|
+
import type { MultiDimensionType, DimensionRows, DimensionCols, DimensionTypeCol, RowHeaders, ColumnRegular, ColumnGrouping, DataType, RowDefinition, ColumnType, FocusTemplateFunc, PositionItem, ColumnProp, ViewPortScrollEvent, InitialHeaderClick, AllDimensionType, Editors, BeforeSaveDataDetails, BeforeRangeSaveDataDetails, Cell, ChangedRange, RangeArea, AfterEditEvent, ThemeDefinition, PluginBaseComponent, PluginProviders, FocusAfterRenderEvent, ExtraNodeFuncConfig, RowDragStartDetails, AdditionalData, ClipboardConfig } from "../../types/index";
|
|
3
3
|
import ColumnDataProvider from '../../services/column.data.provider';
|
|
4
4
|
import { DataProvider } from '../../services/data.provider';
|
|
5
5
|
import { DSourceState } from "../../store/index";
|
|
@@ -115,7 +115,12 @@ export declare class RevoGridComponent {
|
|
|
115
115
|
[name: string]: ColumnType;
|
|
116
116
|
};
|
|
117
117
|
/** Theme name. */
|
|
118
|
-
theme:
|
|
118
|
+
theme: string;
|
|
119
|
+
/**
|
|
120
|
+
* Per-grid custom theme definitions.
|
|
121
|
+
* Assign as a JavaScript property; complex values cannot be serialized as HTML attributes.
|
|
122
|
+
*/
|
|
123
|
+
themeDefinitions: ThemeDefinition[];
|
|
119
124
|
/**
|
|
120
125
|
* Row class property mapping.
|
|
121
126
|
* Map custom classes to rows from row object data.
|
|
@@ -479,7 +484,7 @@ export declare class RevoGridComponent {
|
|
|
479
484
|
/**
|
|
480
485
|
* Emmited after the theme is changed
|
|
481
486
|
*/
|
|
482
|
-
afterthemechanged: EventEmitter<
|
|
487
|
+
afterthemechanged: EventEmitter<string>;
|
|
483
488
|
/**
|
|
484
489
|
* Emmited after grid created
|
|
485
490
|
*/
|
|
@@ -639,6 +644,9 @@ export declare class RevoGridComponent {
|
|
|
639
644
|
selectionStoreConnector?: SelectionStoreConnector;
|
|
640
645
|
scrollingService: GridScrollingService;
|
|
641
646
|
private pendingColumnFocusRestore?;
|
|
647
|
+
private appliedThemeRowSize?;
|
|
648
|
+
private pendingNormalizedTheme?;
|
|
649
|
+
private themeStyles;
|
|
642
650
|
columnTypesChanged(): void;
|
|
643
651
|
columnChanged(newVal?: (ColumnGrouping | ColumnRegular)[], _prevVal?: (ColumnGrouping | ColumnRegular)[] | undefined, __watchName?: string, init?: boolean): void;
|
|
644
652
|
/**
|
|
@@ -656,7 +664,11 @@ export declare class RevoGridComponent {
|
|
|
656
664
|
disableVirtualXChanged(newVal?: boolean, prevVal?: boolean): void;
|
|
657
665
|
virtualXChanged(newVal?: DimensionCols[], prevVal?: DimensionCols[]): void;
|
|
658
666
|
rowSizeChanged(s: number): void;
|
|
659
|
-
|
|
667
|
+
colSizeChanged(s: number): void;
|
|
668
|
+
themeChanged(t: string, _?: string, __?: string, init?: boolean): void;
|
|
669
|
+
themeDefinitionsChanged(definitions?: ThemeDefinition[]): void;
|
|
670
|
+
private applyTheme;
|
|
671
|
+
private getThemeStyles;
|
|
660
672
|
dataSourceChanged<T extends DataType>(newVal: T[] | undefined, _: T[] | undefined, watchName: string): void;
|
|
661
673
|
disableVirtualYChanged(newVal?: boolean, prevVal?: boolean): void;
|
|
662
674
|
rowDefChanged(after: RowDefinition[], before?: RowDefinition[], _watchName?: string, forceUpdate?: boolean): void;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
-
import { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ClipboardConfig, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange,
|
|
8
|
+
import { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ClipboardConfig, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, ThemeDefinition, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
9
9
|
import { GridPlugin } from "./plugins/base.plugin";
|
|
10
10
|
import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
|
|
11
11
|
import { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
|
|
@@ -21,7 +21,7 @@ import { ResizeProps } from "./components/header/resizable.directive";
|
|
|
21
21
|
import { HeaderRenderProps } from "./components/header/header-renderer";
|
|
22
22
|
import { HeaderGroupRendererProps } from "./components/header/header-group-renderer";
|
|
23
23
|
import { EventData } from "./components/overlay/selection.utils";
|
|
24
|
-
export { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ClipboardConfig, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange,
|
|
24
|
+
export { AdditionalData, AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, CellTemplateProp, ChangedRange, ClipboardConfig, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, ExtraNodeFuncConfig, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PluginProviders, PositionItem, ProvidersColumns, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowDragStartDetails, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, ThemeDefinition, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
|
|
25
25
|
export { GridPlugin } from "./plugins/base.plugin";
|
|
26
26
|
export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
|
|
27
27
|
export { ColumnFilterConfig, FilterCaptions, FilterCollectionItem, LogicFunction, MultiFilterItem, ShowData } from "./plugins/filter/filter.types";
|
|
@@ -326,7 +326,12 @@ export namespace Components {
|
|
|
326
326
|
* Theme name.
|
|
327
327
|
* @default 'default'
|
|
328
328
|
*/
|
|
329
|
-
"theme":
|
|
329
|
+
"theme": string;
|
|
330
|
+
/**
|
|
331
|
+
* Per-grid custom theme definitions. Assign as a JavaScript property; complex values cannot be serialized as HTML attributes.
|
|
332
|
+
* @default []
|
|
333
|
+
*/
|
|
334
|
+
"themeDefinitions": ThemeDefinition[];
|
|
330
335
|
/**
|
|
331
336
|
* Trimmed rows. Functionality which allows to hide rows from main data set. `trimmedRows` are physical `rgRow` indexes to hide.
|
|
332
337
|
* @default {}
|
|
@@ -494,6 +499,11 @@ export namespace Components {
|
|
|
494
499
|
"refresh": () => Promise<void>;
|
|
495
500
|
}
|
|
496
501
|
interface RevogrFilterPanel {
|
|
502
|
+
/**
|
|
503
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
504
|
+
* @default true
|
|
505
|
+
*/
|
|
506
|
+
"allowDuplicateOperators": boolean;
|
|
497
507
|
/**
|
|
498
508
|
* If true, closes the filter panel when clicking outside
|
|
499
509
|
* @default true
|
|
@@ -949,7 +959,7 @@ declare global {
|
|
|
949
959
|
"aftergridrender": any;
|
|
950
960
|
"aftergridinit": any;
|
|
951
961
|
"additionaldatachanged": any;
|
|
952
|
-
"afterthemechanged":
|
|
962
|
+
"afterthemechanged": string;
|
|
953
963
|
"created": any;
|
|
954
964
|
}
|
|
955
965
|
/**
|
|
@@ -1530,7 +1540,7 @@ declare namespace LocalJSX {
|
|
|
1530
1540
|
/**
|
|
1531
1541
|
* Emmited after the theme is changed
|
|
1532
1542
|
*/
|
|
1533
|
-
"onAfterthemechanged"?: (event: RevoGridCustomEvent<
|
|
1543
|
+
"onAfterthemechanged"?: (event: RevoGridCustomEvent<string>) => void;
|
|
1534
1544
|
/**
|
|
1535
1545
|
* Emitted after trimmed values have been applied. Useful for notifying when trimming of values has taken place.
|
|
1536
1546
|
*/
|
|
@@ -1761,7 +1771,12 @@ declare namespace LocalJSX {
|
|
|
1761
1771
|
* Theme name.
|
|
1762
1772
|
* @default 'default'
|
|
1763
1773
|
*/
|
|
1764
|
-
"theme"?:
|
|
1774
|
+
"theme"?: string;
|
|
1775
|
+
/**
|
|
1776
|
+
* Per-grid custom theme definitions. Assign as a JavaScript property; complex values cannot be serialized as HTML attributes.
|
|
1777
|
+
* @default []
|
|
1778
|
+
*/
|
|
1779
|
+
"themeDefinitions"?: ThemeDefinition[];
|
|
1765
1780
|
/**
|
|
1766
1781
|
* Trimmed rows. Functionality which allows to hide rows from main data set. `trimmedRows` are physical `rgRow` indexes to hide.
|
|
1767
1782
|
* @default {}
|
|
@@ -1989,6 +2004,11 @@ declare namespace LocalJSX {
|
|
|
1989
2004
|
)[];
|
|
1990
2005
|
}
|
|
1991
2006
|
interface RevogrFilterPanel {
|
|
2007
|
+
/**
|
|
2008
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
2009
|
+
* @default true
|
|
2010
|
+
*/
|
|
2011
|
+
"allowDuplicateOperators"?: boolean;
|
|
1992
2012
|
/**
|
|
1993
2013
|
* If true, closes the filter panel when clicking outside
|
|
1994
2014
|
* @default true
|
|
@@ -2515,7 +2535,7 @@ declare namespace LocalJSX {
|
|
|
2515
2535
|
"canFocus": boolean;
|
|
2516
2536
|
"useClipboard": boolean | ClipboardConfig;
|
|
2517
2537
|
"applyOnClose": boolean;
|
|
2518
|
-
"theme":
|
|
2538
|
+
"theme": string;
|
|
2519
2539
|
"rowClass": string;
|
|
2520
2540
|
"autoSizeColumn": boolean | AutoSizeColumnConfig;
|
|
2521
2541
|
"filter": boolean | ColumnFilterConfig;
|
|
@@ -2547,6 +2567,7 @@ declare namespace LocalJSX {
|
|
|
2547
2567
|
interface RevogrFilterPanelAttributes {
|
|
2548
2568
|
"disableDynamicFiltering": boolean;
|
|
2549
2569
|
"closeOnOutsideClick": boolean;
|
|
2570
|
+
"allowDuplicateOperators": boolean;
|
|
2550
2571
|
}
|
|
2551
2572
|
interface RevogrFocusAttributes {
|
|
2552
2573
|
"colType": DimensionCols;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ export declare class FilterPanel {
|
|
|
32
32
|
* If true, closes the filter panel when clicking outside
|
|
33
33
|
*/
|
|
34
34
|
closeOnOutsideClick: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
37
|
+
*/
|
|
38
|
+
allowDuplicateOperators: boolean;
|
|
35
39
|
filterChange: EventEmitter<MultiFilterItem>;
|
|
36
40
|
resetChange: EventEmitter<ColumnProp>;
|
|
37
41
|
onMouseDown(e: MouseEvent): void;
|
|
@@ -46,6 +46,7 @@ export declare class FilterPlugin extends BasePlugin {
|
|
|
46
46
|
filterNameIndexByType: Record<string, string>;
|
|
47
47
|
filterFunctionsIndexedByType: Record<string, LogicFunction>;
|
|
48
48
|
filterProp: string;
|
|
49
|
+
private allowDuplicateOperators;
|
|
49
50
|
extraHyperContent?: (data: ShowData) => VNode | VNode[];
|
|
50
51
|
extraBottomHyperContent?: (data: ShowData) => VNode | VNode[];
|
|
51
52
|
constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders, config?: ColumnFilterConfig | undefined);
|
|
@@ -86,6 +86,11 @@ export interface ColumnFilterConfig {
|
|
|
86
86
|
* Whether or not to close the filter panel when clicking outside
|
|
87
87
|
*/
|
|
88
88
|
closeFilterPanelOnOutsideClick?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the filter panel allows the same operator more than once per column.
|
|
91
|
+
* Defaults to true to preserve support for repeated conditions in multi-filter expressions.
|
|
92
|
+
*/
|
|
93
|
+
allowDuplicateOperators?: boolean;
|
|
89
94
|
}
|
|
90
95
|
export type FilterCollectionItem = {
|
|
91
96
|
type: FilterType;
|
|
@@ -1070,6 +1070,7 @@ export declare namespace JSXBase {
|
|
|
1070
1070
|
importance?: 'low' | 'auto' | 'high';
|
|
1071
1071
|
height?: number | string;
|
|
1072
1072
|
loading?: 'lazy' | 'auto' | 'eager';
|
|
1073
|
+
referrerPolicy?: ReferrerPolicy;
|
|
1073
1074
|
sizes?: string;
|
|
1074
1075
|
src?: string;
|
|
1075
1076
|
srcSet?: string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Compact graphite and evergreen preset with luminous emerald states. */
|
|
2
|
+
export declare const auroraTheme: {
|
|
3
|
+
name: string;
|
|
4
|
+
extends: string;
|
|
5
|
+
colorScheme: "dark";
|
|
6
|
+
defaultRowSize: number;
|
|
7
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** High-contrast dark preset with luminous yellow and cyan interaction states. */
|
|
2
|
+
export declare const highContrastDarkTheme: {
|
|
3
|
+
name: string;
|
|
4
|
+
extends: string;
|
|
5
|
+
colorScheme: "dark";
|
|
6
|
+
defaultRowSize: number;
|
|
7
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** High-contrast light preset with dark structure and vivid blue focus states. */
|
|
2
|
+
export declare const highContrastTheme: {
|
|
3
|
+
name: string;
|
|
4
|
+
extends: string;
|
|
5
|
+
colorScheme: "light";
|
|
6
|
+
defaultRowSize: number;
|
|
7
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export { oceanTheme } from './ocean';
|
|
2
|
+
export { midnightTheme } from './midnight';
|
|
3
|
+
export { auroraTheme } from './aurora';
|
|
4
|
+
export { highContrastTheme } from './high-contrast';
|
|
5
|
+
export { highContrastDarkTheme } from './high-contrast-dark';
|
|
6
|
+
/** Accessible light and dark high-contrast choices. */
|
|
7
|
+
export declare const highContrastThemeDefinitions: ({
|
|
8
|
+
name: string;
|
|
9
|
+
extends: string;
|
|
10
|
+
colorScheme: "light";
|
|
11
|
+
defaultRowSize: number;
|
|
12
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
13
|
+
} | {
|
|
14
|
+
name: string;
|
|
15
|
+
extends: string;
|
|
16
|
+
colorScheme: "dark";
|
|
17
|
+
defaultRowSize: number;
|
|
18
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
19
|
+
})[];
|
|
20
|
+
/** Ready-to-register modern presets. Presets remain opt-in and per grid. */
|
|
21
|
+
export declare const modernThemeDefinitions: ({
|
|
22
|
+
name: string;
|
|
23
|
+
extends: string;
|
|
24
|
+
colorScheme: "light";
|
|
25
|
+
defaultRowSize: number;
|
|
26
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
27
|
+
} | {
|
|
28
|
+
name: string;
|
|
29
|
+
extends: string;
|
|
30
|
+
colorScheme: "dark";
|
|
31
|
+
defaultRowSize: number;
|
|
32
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
33
|
+
})[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Deep navy preset with cyan selection and violet action accents. */
|
|
2
|
+
export declare const midnightTheme: {
|
|
3
|
+
name: string;
|
|
4
|
+
extends: string;
|
|
5
|
+
colorScheme: "dark";
|
|
6
|
+
defaultRowSize: number;
|
|
7
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Bright blue and slate preset for data-heavy daytime interfaces. */
|
|
2
|
+
export declare const oceanTheme: {
|
|
3
|
+
name: string;
|
|
4
|
+
extends: string;
|
|
5
|
+
colorScheme: "light";
|
|
6
|
+
defaultRowSize: number;
|
|
7
|
+
tokens: Partial<Record<"primary" | "primaryTransparent" | "background" | "foreground" | "divider" | "shadow" | "text" | "border" | "headerBg" | "headerColor" | "headerBorder" | "headerFocusedBg" | "headerHoverBg" | "cellBorder" | "cellVerticalBorder" | "focusedBg" | "rowHover" | "rowHeadersBg" | "rowHeadersColor" | "cellDisabledBg" | "filterPanelBg" | "filterPanelBorder" | "filterPanelShadow" | "filterPanelInputBg" | "filterPanelDivider" | "filterPanelSelectBorder" | "filterPanelSelectBorderHover" | "filterPanelReorderAccent" | "filterPanelReorderColor" | "filterPanelText" | "filterPanelMutedText" | "filterPanelFocusRing" | "filterPanelIcon" | "filterPanelIconActive" | "filterPanelSelectArrow" | "filterPanelSelectArrowDisabled" | "fontFamily" | "fontSize" | "headerHeight" | "headerFontSize" | "headerFontWeight" | "headerTextTransform" | "headerTextAlign" | "cellTextAlign" | "headerPadding" | "cellPadding" | "selectionBorder" | "selectionBg" | "autofillHandleBg" | "autofillHandleBorder" | "rangeHandleBg" | "temporaryRangeBorder" | "temporarySelectionBorder" | "headerResizeHover" | "buttonText" | "buttonBg" | "buttonSuccessBg" | "buttonDangerBg" | "buttonOutlineBorder" | "buttonOutlineText", string>>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { ThemeTokens } from '../../types/theme';
|
|
2
|
+
export declare const modernSystemFont = "Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif";
|
|
3
|
+
export type FoundationTokens = readonly [
|
|
4
|
+
primary: string,
|
|
5
|
+
primaryTransparent: string,
|
|
6
|
+
background: string,
|
|
7
|
+
foreground: string,
|
|
8
|
+
divider: string,
|
|
9
|
+
shadow: string,
|
|
10
|
+
text: string,
|
|
11
|
+
border: string
|
|
12
|
+
];
|
|
13
|
+
export type GridStateTokens = readonly [
|
|
14
|
+
headerBg: string,
|
|
15
|
+
headerColor: string,
|
|
16
|
+
headerBorder: string,
|
|
17
|
+
headerFocusedBg: string | null,
|
|
18
|
+
headerHoverBg: string | null,
|
|
19
|
+
cellBorder: string,
|
|
20
|
+
cellVerticalBorder: string | null,
|
|
21
|
+
focusedBg: string,
|
|
22
|
+
rowHover: string,
|
|
23
|
+
rowHeadersBg: string,
|
|
24
|
+
rowHeadersColor: string,
|
|
25
|
+
cellDisabledBg: string
|
|
26
|
+
];
|
|
27
|
+
export type FilterPanelTokens = readonly [
|
|
28
|
+
background: string,
|
|
29
|
+
border: string,
|
|
30
|
+
shadow: string,
|
|
31
|
+
inputBackground: string,
|
|
32
|
+
divider: string,
|
|
33
|
+
selectBorder: string,
|
|
34
|
+
selectBorderHover: string,
|
|
35
|
+
reorderAccent: string,
|
|
36
|
+
reorderColor: string,
|
|
37
|
+
text: string,
|
|
38
|
+
mutedText: string,
|
|
39
|
+
focusRing: string,
|
|
40
|
+
icon: string,
|
|
41
|
+
iconActive: string
|
|
42
|
+
];
|
|
43
|
+
export type TypographyTokens = readonly [
|
|
44
|
+
fontSize: string,
|
|
45
|
+
headerHeight: string,
|
|
46
|
+
headerFontSize: string,
|
|
47
|
+
headerFontWeight: string,
|
|
48
|
+
headerTextTransform: string,
|
|
49
|
+
headerTextAlign: string,
|
|
50
|
+
cellTextAlign: string,
|
|
51
|
+
headerPadding: string,
|
|
52
|
+
cellPadding: string
|
|
53
|
+
];
|
|
54
|
+
export type SelectionTokens = readonly [
|
|
55
|
+
border: string,
|
|
56
|
+
background: string,
|
|
57
|
+
autofillHandleBackground: string,
|
|
58
|
+
autofillHandleBorder: string,
|
|
59
|
+
rangeHandleBackground: string,
|
|
60
|
+
temporaryRangeBorder: string,
|
|
61
|
+
temporarySelectionBorder: string,
|
|
62
|
+
headerResizeHover: string
|
|
63
|
+
];
|
|
64
|
+
export type ButtonTokens = readonly [
|
|
65
|
+
text: string,
|
|
66
|
+
background: string,
|
|
67
|
+
successBackground: string,
|
|
68
|
+
dangerBackground: string,
|
|
69
|
+
outlineBorder: string,
|
|
70
|
+
outlineText: string
|
|
71
|
+
];
|
|
72
|
+
export interface PresetTokenGroups {
|
|
73
|
+
foundation: FoundationTokens;
|
|
74
|
+
grid: GridStateTokens;
|
|
75
|
+
filterPanel: FilterPanelTokens;
|
|
76
|
+
typography: TypographyTokens;
|
|
77
|
+
selection: SelectionTokens;
|
|
78
|
+
buttons: ButtonTokens;
|
|
79
|
+
}
|
|
80
|
+
/** Maps compact, typed preset data to the public semantic theme-token contract. */
|
|
81
|
+
export declare function createPresetTokens({ foundation, grid, filterPanel, typography, selection, buttons, }: PresetTokenGroups): ThemeTokens;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare const DEFAULT_THEME
|
|
3
|
-
export declare const allowedThemes:
|
|
1
|
+
import { type BuiltInTheme, type ResolvedTheme, type ThemeConfig, type ThemeDefinition } from '../types/theme';
|
|
2
|
+
export declare const DEFAULT_THEME: BuiltInTheme;
|
|
3
|
+
export declare const allowedThemes: BuiltInTheme[];
|
|
4
4
|
export default class ThemeService {
|
|
5
5
|
private currentTheme;
|
|
6
|
+
private customThemes;
|
|
6
7
|
private customRowSize;
|
|
7
|
-
get theme():
|
|
8
|
+
get theme(): ResolvedTheme;
|
|
8
9
|
get rowSize(): number;
|
|
9
10
|
set rowSize(size: number);
|
|
10
11
|
constructor(cfg: ThemeConfig);
|
|
11
|
-
|
|
12
|
+
setDefinitions(definitions?: ThemeDefinition[]): void;
|
|
13
|
+
register(theme: string): ResolvedTheme;
|
|
14
|
+
private resolveDefinition;
|
|
12
15
|
}
|
|
13
|
-
export declare function getTheme(theme?: string | null):
|
|
16
|
+
export declare function getTheme(theme?: string | null): string;
|