@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
|
@@ -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';
|
|
@@ -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 {}
|
|
@@ -954,7 +959,7 @@ declare global {
|
|
|
954
959
|
"aftergridrender": any;
|
|
955
960
|
"aftergridinit": any;
|
|
956
961
|
"additionaldatachanged": any;
|
|
957
|
-
"afterthemechanged":
|
|
962
|
+
"afterthemechanged": string;
|
|
958
963
|
"created": any;
|
|
959
964
|
}
|
|
960
965
|
/**
|
|
@@ -1535,7 +1540,7 @@ declare namespace LocalJSX {
|
|
|
1535
1540
|
/**
|
|
1536
1541
|
* Emmited after the theme is changed
|
|
1537
1542
|
*/
|
|
1538
|
-
"onAfterthemechanged"?: (event: RevoGridCustomEvent<
|
|
1543
|
+
"onAfterthemechanged"?: (event: RevoGridCustomEvent<string>) => void;
|
|
1539
1544
|
/**
|
|
1540
1545
|
* Emitted after trimmed values have been applied. Useful for notifying when trimming of values has taken place.
|
|
1541
1546
|
*/
|
|
@@ -1766,7 +1771,12 @@ declare namespace LocalJSX {
|
|
|
1766
1771
|
* Theme name.
|
|
1767
1772
|
* @default 'default'
|
|
1768
1773
|
*/
|
|
1769
|
-
"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[];
|
|
1770
1780
|
/**
|
|
1771
1781
|
* Trimmed rows. Functionality which allows to hide rows from main data set. `trimmedRows` are physical `rgRow` indexes to hide.
|
|
1772
1782
|
* @default {}
|
|
@@ -2525,7 +2535,7 @@ declare namespace LocalJSX {
|
|
|
2525
2535
|
"canFocus": boolean;
|
|
2526
2536
|
"useClipboard": boolean | ClipboardConfig;
|
|
2527
2537
|
"applyOnClose": boolean;
|
|
2528
|
-
"theme":
|
|
2538
|
+
"theme": string;
|
|
2529
2539
|
"rowClass": string;
|
|
2530
2540
|
"autoSizeColumn": boolean | AutoSizeColumnConfig;
|
|
2531
2541
|
"filter": boolean | ColumnFilterConfig;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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;
|
|
@@ -4,4 +4,91 @@ export interface ThemePackage {
|
|
|
4
4
|
export type ThemeConfig = {
|
|
5
5
|
rowSize: number;
|
|
6
6
|
};
|
|
7
|
-
export type
|
|
7
|
+
export type BuiltInTheme = 'default' | 'material' | 'compact' | 'darkMaterial' | 'darkCompact';
|
|
8
|
+
export type ThemeBase = 'default' | 'material' | 'compact';
|
|
9
|
+
export type ThemeColorScheme = 'light' | 'dark';
|
|
10
|
+
/**
|
|
11
|
+
* Public theme tokens and their CSS custom-property counterparts.
|
|
12
|
+
* Keep this map as the single source of truth for typed theme definitions.
|
|
13
|
+
*/
|
|
14
|
+
export declare const themeTokenCssVariables: {
|
|
15
|
+
readonly primary: "--revo-grid-primary";
|
|
16
|
+
readonly primaryTransparent: "--revo-grid-primary-transparent";
|
|
17
|
+
readonly background: "--revo-grid-background";
|
|
18
|
+
readonly foreground: "--revo-grid-foreground";
|
|
19
|
+
readonly divider: "--revo-grid-divider";
|
|
20
|
+
readonly shadow: "--revo-grid-shadow";
|
|
21
|
+
readonly text: "--revo-grid-text";
|
|
22
|
+
readonly border: "--revo-grid-border";
|
|
23
|
+
readonly headerBg: "--revo-grid-header-bg";
|
|
24
|
+
readonly headerColor: "--revo-grid-header-color";
|
|
25
|
+
readonly headerBorder: "--revo-grid-header-border";
|
|
26
|
+
readonly headerFocusedBg: "--revo-grid-header-focused-bg";
|
|
27
|
+
readonly headerHoverBg: "--revo-grid-header-hover-bg";
|
|
28
|
+
readonly cellBorder: "--revo-grid-cell-border";
|
|
29
|
+
readonly cellVerticalBorder: "--revo-grid-cell-vertical-border";
|
|
30
|
+
readonly focusedBg: "--revo-grid-focused-bg";
|
|
31
|
+
readonly rowHover: "--revo-grid-row-hover";
|
|
32
|
+
readonly rowHeadersBg: "--revo-grid-row-headers-bg";
|
|
33
|
+
readonly rowHeadersColor: "--revo-grid-row-headers-color";
|
|
34
|
+
readonly cellDisabledBg: "--revo-grid-cell-disabled-bg";
|
|
35
|
+
readonly filterPanelBg: "--revo-grid-filter-panel-bg";
|
|
36
|
+
readonly filterPanelBorder: "--revo-grid-filter-panel-border";
|
|
37
|
+
readonly filterPanelShadow: "--revo-grid-filter-panel-shadow";
|
|
38
|
+
readonly filterPanelInputBg: "--revo-grid-filter-panel-input-bg";
|
|
39
|
+
readonly filterPanelDivider: "--revo-grid-filter-panel-divider";
|
|
40
|
+
readonly filterPanelSelectBorder: "--revo-grid-filter-panel-select-border";
|
|
41
|
+
readonly filterPanelSelectBorderHover: "--revo-grid-filter-panel-select-border-hover";
|
|
42
|
+
readonly filterPanelReorderAccent: "--revo-grid-filter-panel-reorder-accent";
|
|
43
|
+
readonly filterPanelReorderColor: "--revo-grid-filter-panel-reorder-color";
|
|
44
|
+
readonly filterPanelText: "--revo-grid-filter-panel-text";
|
|
45
|
+
readonly filterPanelMutedText: "--revo-grid-filter-panel-muted-text";
|
|
46
|
+
readonly filterPanelFocusRing: "--revo-grid-filter-panel-focus-ring";
|
|
47
|
+
readonly filterPanelIcon: "--revo-grid-filter-panel-icon";
|
|
48
|
+
readonly filterPanelIconActive: "--revo-grid-filter-panel-icon-active";
|
|
49
|
+
readonly filterPanelSelectArrow: "--revo-grid-filter-panel-select-arrow";
|
|
50
|
+
readonly filterPanelSelectArrowDisabled: "--revo-grid-filter-panel-select-arrow-disabled";
|
|
51
|
+
readonly fontFamily: "--revo-grid-font-family";
|
|
52
|
+
readonly fontSize: "--revo-grid-font-size";
|
|
53
|
+
readonly headerHeight: "--revo-grid-header-height";
|
|
54
|
+
readonly headerFontSize: "--revo-grid-header-font-size";
|
|
55
|
+
readonly headerFontWeight: "--revo-grid-header-font-weight";
|
|
56
|
+
readonly headerTextTransform: "--revo-grid-header-text-transform";
|
|
57
|
+
readonly headerTextAlign: "--revo-grid-header-text-align";
|
|
58
|
+
readonly cellTextAlign: "--revo-grid-cell-text-align";
|
|
59
|
+
readonly headerPadding: "--revo-grid-header-padding";
|
|
60
|
+
readonly cellPadding: "--revo-grid-cell-padding";
|
|
61
|
+
readonly selectionBorder: "--revo-grid-selection-border";
|
|
62
|
+
readonly selectionBg: "--revo-grid-selection-bg";
|
|
63
|
+
readonly autofillHandleBg: "--revo-grid-autofill-handle-bg";
|
|
64
|
+
readonly autofillHandleBorder: "--revo-grid-autofill-handle-border";
|
|
65
|
+
readonly rangeHandleBg: "--revo-grid-range-handle-bg";
|
|
66
|
+
readonly temporaryRangeBorder: "--revo-grid-temporary-range-border";
|
|
67
|
+
readonly temporarySelectionBorder: "--revo-grid-temporary-selection-border";
|
|
68
|
+
readonly headerResizeHover: "--revo-grid-header-resize-hover";
|
|
69
|
+
readonly buttonText: "--revo-grid-button-text";
|
|
70
|
+
readonly buttonBg: "--revo-grid-button-bg";
|
|
71
|
+
readonly buttonSuccessBg: "--revo-grid-button-success-bg";
|
|
72
|
+
readonly buttonDangerBg: "--revo-grid-button-danger-bg";
|
|
73
|
+
readonly buttonOutlineBorder: "--revo-grid-button-outline-border";
|
|
74
|
+
readonly buttonOutlineText: "--revo-grid-button-outline-text";
|
|
75
|
+
};
|
|
76
|
+
export type ThemeTokenName = keyof typeof themeTokenCssVariables;
|
|
77
|
+
export type ThemeTokens = Partial<Record<ThemeTokenName, string>>;
|
|
78
|
+
export interface ThemeDefinition {
|
|
79
|
+
name: string;
|
|
80
|
+
/** Built-in or registered custom theme to inherit from. */
|
|
81
|
+
extends?: string;
|
|
82
|
+
colorScheme?: ThemeColorScheme;
|
|
83
|
+
defaultRowSize?: number;
|
|
84
|
+
tokens?: ThemeTokens;
|
|
85
|
+
}
|
|
86
|
+
export interface ResolvedTheme extends ThemePackage {
|
|
87
|
+
name: string;
|
|
88
|
+
base: ThemeBase;
|
|
89
|
+
colorScheme: ThemeColorScheme;
|
|
90
|
+
tokens: ThemeTokens;
|
|
91
|
+
custom: boolean;
|
|
92
|
+
}
|
|
93
|
+
/** Type-safe identity helper for reusable theme definitions. */
|
|
94
|
+
export declare function defineTheme<T extends ThemeDefinition>(theme: T): T;
|