handsontable 15.1.0 → 15.2.0-next-9a1a15b-20250314
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/3rdparty/walkontable/src/selection/border/border.js +16 -3
- package/3rdparty/walkontable/src/selection/border/border.mjs +17 -4
- package/3rdparty/walkontable/src/selection/scanner.js +1 -1
- package/3rdparty/walkontable/src/selection/scanner.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +3 -2
- package/3rdparty/walkontable/src/table.mjs +4 -3
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +1 -0
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +1 -0
- package/3rdparty/walkontable/src/viewport.js +30 -3
- package/3rdparty/walkontable/src/viewport.mjs +30 -3
- package/CHANGELOG.md +40 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +2 -37
- package/core.mjs +2 -37
- package/dataMap/dataMap.js +4 -12
- package/dataMap/dataMap.mjs +4 -12
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/metaSchema.js +2 -2
- package/dataMap/metaManager/metaSchema.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +500 -412
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +73 -73
- package/dist/handsontable.js +500 -412
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +43 -43
- package/dist/languages/all.js +139 -28
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/fa-IR.js +167 -0
- package/dist/languages/fa-IR.min.js +1 -0
- package/dist/languages/it-IT.js +3 -0
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/sr-SP.js +3 -0
- package/dist/languages/sr-SP.min.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.js +25 -20
- package/editors/autocompleteEditor/autocompleteEditor.mjs +25 -20
- package/editors/dateEditor/dateEditor.d.ts +0 -2
- package/editors/dateEditor/dateEditor.js +18 -7
- package/editors/dateEditor/dateEditor.mjs +17 -6
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +2 -2
- package/focusManager.js +5 -3
- package/focusManager.mjs +6 -4
- package/helpers/dom/element.d.ts +1 -0
- package/helpers/dom/element.js +23 -4
- package/helpers/dom/element.mjs +21 -3
- package/helpers/dom/event.js +2 -1
- package/helpers/dom/event.mjs +2 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.js +1 -0
- package/helpers/number.mjs +1 -0
- package/i18n/languages/fa-IR.d.ts +5 -0
- package/i18n/languages/fa-IR.js +96 -0
- package/i18n/languages/fa-IR.mjs +90 -0
- package/i18n/languages/index.d.ts +2 -0
- package/i18n/languages/index.js +2 -0
- package/i18n/languages/index.mjs +2 -1
- package/i18n/languages/it-IT.js +3 -0
- package/i18n/languages/it-IT.mjs +3 -0
- package/i18n/languages/sr-SP.js +3 -0
- package/i18n/languages/sr-SP.mjs +3 -0
- package/i18n/phraseFormatters/substituteVariables.js +1 -0
- package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
- package/languages/all.js +139 -28
- package/languages/fa-IR.js +167 -0
- package/languages/fa-IR.mjs +92 -0
- package/languages/index.js +139 -28
- package/languages/index.mjs +2 -1
- package/languages/it-IT.js +3 -0
- package/languages/it-IT.mjs +3 -0
- package/languages/sr-SP.js +3 -0
- package/languages/sr-SP.mjs +3 -0
- package/package.json +13 -2
- package/plugins/columnSorting/columnSorting.js +17 -1
- package/plugins/columnSorting/columnSorting.mjs +18 -2
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/utils.js +14 -0
- package/plugins/columnSorting/utils.mjs +13 -0
- package/plugins/comments/comments.js +5 -2
- package/plugins/comments/comments.mjs +6 -3
- package/plugins/contextMenu/menu/menu.js +9 -3
- package/plugins/contextMenu/menu/menu.mjs +9 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -8
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -8
- package/plugins/contextMenu/predefinedItems/columnRight.js +2 -9
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +2 -9
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -8
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -8
- package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -9
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +2 -9
- package/plugins/copyPaste/copyPaste.js +6 -12
- package/plugins/copyPaste/copyPaste.mjs +7 -13
- package/plugins/exportFile/types/csv.js +1 -0
- package/plugins/exportFile/types/csv.mjs +1 -0
- package/plugins/filters/conditionCollection.js +0 -26
- package/plugins/filters/conditionCollection.mjs +0 -26
- package/plugins/filters/filters.d.ts +2 -0
- package/plugins/filters/filters.js +77 -8
- package/plugins/filters/filters.mjs +77 -8
- package/plugins/mergeCells/mergeCells.js +9 -6
- package/plugins/mergeCells/mergeCells.mjs +9 -6
- package/plugins/multiColumnSorting/multiColumnSorting.js +1 -21
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +1 -21
- package/plugins/nestedHeaders/nestedHeaders.js +5 -3
- package/plugins/nestedHeaders/nestedHeaders.mjs +5 -3
- package/plugins/nestedHeaders/stateManager/index.js +1 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
- package/plugins/undoRedo/actions/_base.js +10 -0
- package/plugins/undoRedo/actions/_base.mjs +10 -0
- package/plugins/undoRedo/actions/cellAlignment.js +1 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +1 -1
- package/plugins/undoRedo/actions/columnMove.js +1 -1
- package/plugins/undoRedo/actions/columnMove.mjs +1 -1
- package/plugins/undoRedo/actions/columnSort.js +1 -1
- package/plugins/undoRedo/actions/columnSort.mjs +1 -1
- package/plugins/undoRedo/actions/createColumn.js +1 -1
- package/plugins/undoRedo/actions/createColumn.mjs +1 -1
- package/plugins/undoRedo/actions/createRow.js +1 -1
- package/plugins/undoRedo/actions/createRow.mjs +1 -1
- package/plugins/undoRedo/actions/dataChange.js +1 -1
- package/plugins/undoRedo/actions/dataChange.mjs +1 -1
- package/plugins/undoRedo/actions/filters.js +3 -3
- package/plugins/undoRedo/actions/filters.mjs +3 -3
- package/plugins/undoRedo/actions/mergeCells.js +4 -1
- package/plugins/undoRedo/actions/mergeCells.mjs +4 -1
- package/plugins/undoRedo/actions/removeColumn.js +4 -2
- package/plugins/undoRedo/actions/removeColumn.mjs +4 -2
- package/plugins/undoRedo/actions/removeRow.js +1 -1
- package/plugins/undoRedo/actions/removeRow.mjs +1 -1
- package/plugins/undoRedo/actions/rowMove.js +1 -1
- package/plugins/undoRedo/actions/rowMove.mjs +1 -1
- package/plugins/undoRedo/actions/unmergeCells.js +4 -1
- package/plugins/undoRedo/actions/unmergeCells.mjs +4 -1
- package/plugins/undoRedo/undoRedo.d.ts +48 -17
- package/renderers/checkboxRenderer/checkboxRenderer.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +2 -2
- package/renderers/numericRenderer/numericRenderer.js +10 -2
- package/renderers/numericRenderer/numericRenderer.mjs +10 -2
- package/renderers/textRenderer/textRenderer.js +3 -12
- package/renderers/textRenderer/textRenderer.mjs +4 -13
- package/shortcuts/utils.js +1 -0
- package/shortcuts/utils.mjs +1 -0
- package/styles/handsontable.css +83 -99
- package/styles/handsontable.min.css +3 -3
- package/styles/ht-theme-horizon.css +14 -2
- package/styles/ht-theme-horizon.min.css +3 -3
- package/styles/ht-theme-main.css +14 -2
- package/styles/ht-theme-main.min.css +3 -3
- package/tableView.js +9 -0
- package/tableView.mjs +9 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/plugins/multiColumnSorting/utils.js +0 -13
- package/plugins/multiColumnSorting/utils.mjs +0 -9
@@ -17,7 +17,10 @@ class UnmergeCellsAction extends _base.BaseAction {
|
|
17
17
|
let {
|
18
18
|
cellRange
|
19
19
|
} = _ref;
|
20
|
-
super();
|
20
|
+
super('unmerge_cells');
|
21
|
+
/**
|
22
|
+
* @param {CellRange} cellRange The merged cell range.
|
23
|
+
*/
|
21
24
|
_defineProperty(this, "cellRange", void 0);
|
22
25
|
this.cellRange = cellRange;
|
23
26
|
}
|
@@ -14,7 +14,10 @@ export class UnmergeCellsAction extends BaseAction {
|
|
14
14
|
let {
|
15
15
|
cellRange
|
16
16
|
} = _ref;
|
17
|
-
super();
|
17
|
+
super('unmerge_cells');
|
18
|
+
/**
|
19
|
+
* @param {CellRange} cellRange The merged cell range.
|
20
|
+
*/
|
18
21
|
_defineProperty(this, "cellRange", void 0);
|
19
22
|
this.cellRange = cellRange;
|
20
23
|
}
|
@@ -1,30 +1,59 @@
|
|
1
|
+
import CellRange from '../../3rdparty/walkontable/src/cell/range';
|
1
2
|
import Core from '../../core';
|
2
3
|
import { CellValue, CellChange } from '../../common';
|
3
4
|
import { ColumnConditions } from '../filters';
|
4
5
|
import { BasePlugin } from '../base';
|
6
|
+
import { Config as ColumnSortingConfig } from '../columnSorting';
|
5
7
|
|
6
8
|
export type Settings = boolean;
|
7
9
|
|
8
|
-
export interface
|
9
|
-
actionType: '
|
10
|
-
|
11
|
-
|
10
|
+
export interface CellAlignmentAction {
|
11
|
+
actionType: 'cell_alignment';
|
12
|
+
stateBefore: { [row: number]: string[] };
|
13
|
+
range: CellRange[];
|
14
|
+
type: 'horizontal' | 'vertical';
|
15
|
+
alignment: 'htLeft' | 'htCenter' | 'htRight' | 'htJustify' | 'htTop' | 'htMiddle' | 'htBottom';
|
12
16
|
}
|
13
|
-
export interface
|
14
|
-
actionType: '
|
15
|
-
|
16
|
-
|
17
|
+
export interface ColumnMoveAction {
|
18
|
+
actionType: 'col_move';
|
19
|
+
columns: number[];
|
20
|
+
finalColumnIndex: number;
|
17
21
|
}
|
18
|
-
export interface
|
19
|
-
actionType: '
|
20
|
-
|
21
|
-
|
22
|
+
export interface ColumnSortAction {
|
23
|
+
actionType: 'col_sort';
|
24
|
+
previousSortState: ColumnSortingConfig[];
|
25
|
+
nextSortState: ColumnSortingConfig[];
|
22
26
|
}
|
23
27
|
export interface InsertColAction {
|
24
28
|
actionType: 'insert_col';
|
25
29
|
amount: number;
|
26
30
|
index: number;
|
27
31
|
}
|
32
|
+
export interface InsertRowAction {
|
33
|
+
actionType: 'insert_row';
|
34
|
+
amount: number;
|
35
|
+
index: number;
|
36
|
+
}
|
37
|
+
export interface ChangeAction {
|
38
|
+
actionType: 'change';
|
39
|
+
changes: CellChange[];
|
40
|
+
selected: Array<[number, number]>;
|
41
|
+
countCols: number;
|
42
|
+
countRows: number;
|
43
|
+
}
|
44
|
+
export interface FilterAction {
|
45
|
+
actionType: 'filter';
|
46
|
+
conditionsStack: ColumnConditions[];
|
47
|
+
previousConditionsStack: ColumnConditions[];
|
48
|
+
}
|
49
|
+
export interface MergeAction {
|
50
|
+
actionType: 'merge_cells';
|
51
|
+
cellRange: CellRange[];
|
52
|
+
}
|
53
|
+
export interface UnmergeAction {
|
54
|
+
actionType: 'unmerge_cells';
|
55
|
+
cellRange: CellRange[];
|
56
|
+
}
|
28
57
|
export interface RemoveColAction {
|
29
58
|
actionType: 'remove_col';
|
30
59
|
amount: number;
|
@@ -34,13 +63,15 @@ export interface RemoveColAction {
|
|
34
63
|
headers: string[];
|
35
64
|
data: CellValue[][];
|
36
65
|
}
|
37
|
-
export interface
|
38
|
-
actionType: '
|
39
|
-
|
66
|
+
export interface RemoveRowAction {
|
67
|
+
actionType: 'remove_row';
|
68
|
+
index: number;
|
69
|
+
data: CellValue[][];
|
40
70
|
}
|
41
71
|
|
42
|
-
export type Action =
|
43
|
-
|
72
|
+
export type Action = CellAlignmentAction | ColumnMoveAction | ColumnSortAction |
|
73
|
+
InsertColAction | InsertRowAction | ChangeAction | FilterAction | MergeAction |
|
74
|
+
UnmergeAction | RemoveColAction | RemoveRowAction;
|
44
75
|
|
45
76
|
export class UndoRedo extends BasePlugin {
|
46
77
|
constructor(hotInstance: Core);
|
@@ -309,7 +309,7 @@ function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellProperties
|
|
309
309
|
continue;
|
310
310
|
}
|
311
311
|
const cell = hotInstance.getCell(visualRow, visualColumn);
|
312
|
-
if (
|
312
|
+
if ((0, _element.isHTMLElement)(cell)) {
|
313
313
|
const checkboxes = cell.querySelectorAll('input[type=checkbox]');
|
314
314
|
if (checkboxes.length > 0) {
|
315
315
|
return true;
|
@@ -4,7 +4,7 @@ import "core-js/modules/esnext.iterator.every.js";
|
|
4
4
|
import "core-js/modules/esnext.iterator.map.js";
|
5
5
|
import { baseRenderer } from "../baseRenderer/index.mjs";
|
6
6
|
import EventManager from "../../eventManager.mjs";
|
7
|
-
import { empty, addClass, setAttribute } from "../../helpers/dom/element.mjs";
|
7
|
+
import { empty, addClass, setAttribute, isHTMLElement } from "../../helpers/dom/element.mjs";
|
8
8
|
import { isEmpty, stringify } from "../../helpers/mixed.mjs";
|
9
9
|
import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
|
10
10
|
import { Hooks } from "../../core/hooks/index.mjs";
|
@@ -304,7 +304,7 @@ export function checkboxRenderer(hotInstance, TD, row, col, prop, value, cellPro
|
|
304
304
|
continue;
|
305
305
|
}
|
306
306
|
const cell = hotInstance.getCell(visualRow, visualColumn);
|
307
|
-
if (cell
|
307
|
+
if (isHTMLElement(cell)) {
|
308
308
|
const checkboxes = cell.querySelectorAll('input[type=checkbox]');
|
309
309
|
if (checkboxes.length > 0) {
|
310
310
|
return true;
|
@@ -50,8 +50,16 @@ function getRenderedValue(value, cellProperties) {
|
|
50
50
|
function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
51
51
|
let newValue = value;
|
52
52
|
if ((0, _number.isNumeric)(newValue)) {
|
53
|
-
|
54
|
-
|
53
|
+
let classArr = [];
|
54
|
+
if (Array.isArray(cellProperties.className)) {
|
55
|
+
classArr = cellProperties.className;
|
56
|
+
} else {
|
57
|
+
var _cellProperties$class;
|
58
|
+
const className = (_cellProperties$class = cellProperties.className) !== null && _cellProperties$class !== void 0 ? _cellProperties$class : '';
|
59
|
+
if (className.length) {
|
60
|
+
classArr = className.split(' ');
|
61
|
+
}
|
62
|
+
}
|
55
63
|
newValue = getRenderedValue(newValue, cellProperties);
|
56
64
|
if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
|
57
65
|
classArr.push('htRight');
|
@@ -44,8 +44,16 @@ export function getRenderedValue(value, cellProperties) {
|
|
44
44
|
export function numericRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
45
45
|
let newValue = value;
|
46
46
|
if (isNumeric(newValue)) {
|
47
|
-
|
48
|
-
|
47
|
+
let classArr = [];
|
48
|
+
if (Array.isArray(cellProperties.className)) {
|
49
|
+
classArr = cellProperties.className;
|
50
|
+
} else {
|
51
|
+
var _cellProperties$class;
|
52
|
+
const className = (_cellProperties$class = cellProperties.className) !== null && _cellProperties$class !== void 0 ? _cellProperties$class : '';
|
53
|
+
if (className.length) {
|
54
|
+
classArr = className.split(' ');
|
55
|
+
}
|
56
|
+
}
|
49
57
|
newValue = getRenderedValue(newValue, cellProperties);
|
50
58
|
if (classArr.indexOf('htLeft') < 0 && classArr.indexOf('htCenter') < 0 && classArr.indexOf('htRight') < 0 && classArr.indexOf('htJustify') < 0) {
|
51
59
|
classArr.push('htRight');
|
@@ -29,17 +29,8 @@ function textRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
|
29
29
|
if (cellProperties.trimWhitespace) {
|
30
30
|
escaped = escaped.trim();
|
31
31
|
}
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
TEMPLATE.setAttribute('bind', '{{}}');
|
36
|
-
TEMPLATE.innerHTML = cellProperties.rendererTemplate;
|
37
|
-
HTMLTemplateElement.decorate(TEMPLATE);
|
38
|
-
TEMPLATE.model = hotInstance.getSourceDataAtRow(row);
|
39
|
-
TD.appendChild(TEMPLATE);
|
40
|
-
} else {
|
41
|
-
// this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
|
42
|
-
(0, _element.fastInnerText)(TD, escaped);
|
43
|
-
}
|
32
|
+
|
33
|
+
// this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
|
34
|
+
(0, _element.fastInnerText)(TD, escaped);
|
44
35
|
}
|
45
36
|
textRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { baseRenderer } from "../baseRenderer/index.mjs";
|
2
|
-
import {
|
2
|
+
import { fastInnerText } from "../../helpers/dom/element.mjs";
|
3
3
|
import { stringify } from "../../helpers/mixed.mjs";
|
4
4
|
export const RENDERER_TYPE = 'text';
|
5
5
|
|
@@ -25,17 +25,8 @@ export function textRenderer(hotInstance, TD, row, col, prop, value, cellPropert
|
|
25
25
|
if (cellProperties.trimWhitespace) {
|
26
26
|
escaped = escaped.trim();
|
27
27
|
}
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
TEMPLATE.setAttribute('bind', '{{}}');
|
32
|
-
TEMPLATE.innerHTML = cellProperties.rendererTemplate;
|
33
|
-
HTMLTemplateElement.decorate(TEMPLATE);
|
34
|
-
TEMPLATE.model = hotInstance.getSourceDataAtRow(row);
|
35
|
-
TD.appendChild(TEMPLATE);
|
36
|
-
} else {
|
37
|
-
// this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
|
38
|
-
fastInnerText(TD, escaped);
|
39
|
-
}
|
28
|
+
|
29
|
+
// this is faster than innerHTML. See: https://github.com/handsontable/handsontable/wiki/JavaScript-&-DOM-performance-tips
|
30
|
+
fastInnerText(TD, escaped);
|
40
31
|
}
|
41
32
|
textRenderer.RENDERER_TYPE = RENDERER_TYPE;
|
package/shortcuts/utils.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
4
5
|
require("core-js/modules/esnext.iterator.map.js");
|
5
6
|
// This file handles key-name discrepancies between browsers.
|
6
7
|
// For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
|
package/shortcuts/utils.mjs
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
1
2
|
import "core-js/modules/esnext.iterator.map.js";
|
2
3
|
// This file handles key-name discrepancies between browsers.
|
3
4
|
// For the list of discrepancies, go to: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values.
|
package/styles/handsontable.css
CHANGED
@@ -25,10 +25,12 @@
|
|
25
25
|
* INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
|
26
26
|
* USE OR INABILITY TO USE THIS SOFTWARE.
|
27
27
|
*
|
28
|
-
* Version: 15.
|
29
|
-
* Release date:
|
28
|
+
* Version: 15.2.0-next-9a1a15b-20250314
|
29
|
+
* Release date: 19/03/2025 (built at 14/03/2025 11:50:19)
|
30
30
|
*/
|
31
31
|
.ht-wrapper:not([class*=ht-theme]) {
|
32
|
+
--ht-gap-size: 4px;
|
33
|
+
--ht-checkbox-size: 16px;
|
32
34
|
--ht-cell-horizontal-padding: 8px;
|
33
35
|
--ht-cell-vertical-padding: 4px;
|
34
36
|
--ht-font-size: 14px;
|
@@ -87,8 +89,13 @@
|
|
87
89
|
.handsontable.htGhostTable table tbody tr th {
|
88
90
|
border-top-width: 0;
|
89
91
|
}
|
92
|
+
.handsontable.htGhostTable table tbody tr:first-of-type th,
|
93
|
+
.handsontable.htGhostTable table tbody tr:first-of-type td {
|
94
|
+
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
|
95
|
+
}
|
90
96
|
.handsontable.htHasScrollX .ht_master .wtHolder, .handsontable.htHasScrollY .ht_master .wtHolder {
|
91
97
|
background-color: var(--ht-background-color);
|
98
|
+
border-radius: var(--ht-wrapper-border-radius, 0);
|
92
99
|
}
|
93
100
|
.handsontable tr.ht__row_even th {
|
94
101
|
background-color: var(--ht-row-header-even-background-color);
|
@@ -176,17 +183,10 @@
|
|
176
183
|
color: var(--ht-header-highlighted-foreground-color);
|
177
184
|
background-color: var(--ht-header-highlighted-background-color);
|
178
185
|
}
|
179
|
-
.handsontable th.ht__highlight .relative::after {
|
180
|
-
content: "";
|
181
|
-
display: block;
|
182
|
-
position: absolute;
|
183
|
-
background-color: var(--ht-accent-color);
|
184
|
-
}
|
185
186
|
.handsontable th.ht__active_highlight {
|
186
187
|
border-color: var(--ht-header-active-border-color);
|
187
188
|
color: var(--ht-header-active-foreground-color);
|
188
189
|
background-color: var(--ht-header-active-background-color);
|
189
|
-
box-shadow: -1px 0 0 0 var(--ht-header-active-border-color);
|
190
190
|
}
|
191
191
|
.handsontable tbody tr.ht__row_odd th.ht__highlight, .handsontable tbody tr.ht__row_even th.ht__highlight {
|
192
192
|
color: var(--ht-header-row-highlighted-foreground-color);
|
@@ -196,45 +196,37 @@
|
|
196
196
|
color: var(--ht-header-row-active-foreground-color);
|
197
197
|
background-color: var(--ht-header-row-active-background-color);
|
198
198
|
}
|
199
|
+
.handsontable tbody tr:first-of-type th,
|
200
|
+
.handsontable tbody tr:first-of-type td {
|
201
|
+
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 2px);
|
202
|
+
}
|
199
203
|
.handsontable tbody tr th {
|
200
204
|
padding: 0;
|
201
205
|
color: var(--ht-header-row-foreground-color);
|
202
206
|
background-color: var(--ht-header-row-background-color);
|
203
207
|
}
|
208
|
+
.handsontable tbody tr th.ht__active_highlight {
|
209
|
+
box-shadow: 0 -1px 0 0 var(--ht-header-active-border-color);
|
210
|
+
}
|
204
211
|
.handsontable tbody tr th .relative {
|
205
212
|
padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
|
206
213
|
height: 100%;
|
207
214
|
}
|
208
|
-
.handsontable tbody tr th .relative::after {
|
209
|
-
top: -1px;
|
210
|
-
right: -1px;
|
211
|
-
bottom: -1px;
|
212
|
-
width: var(--ht-header-highlighted-shadow-size);
|
213
|
-
}
|
214
|
-
.handsontable tbody tr th.ht__active_highlight {
|
215
|
-
box-shadow: 0 -1px 0 0 var(--ht-header-active-border-color);
|
216
|
-
}
|
217
215
|
.handsontable tbody tr td:first-child {
|
218
216
|
border-inline-start-color: var(--ht-border-color);
|
219
217
|
}
|
220
218
|
.handsontable tbody tr td:last-child {
|
221
219
|
border-inline-end-color: var(--ht-border-color);
|
222
220
|
}
|
223
|
-
.handsontable thead tr:only-of-type th .relative::after {
|
224
|
-
bottom: 0;
|
225
|
-
}
|
226
221
|
.handsontable thead tr th {
|
227
222
|
padding: 0;
|
228
223
|
}
|
224
|
+
.handsontable thead tr th.ht__active_highlight {
|
225
|
+
box-shadow: -1px 0 0 0 var(--ht-header-active-border-color);
|
226
|
+
}
|
229
227
|
.handsontable thead tr th .relative {
|
230
228
|
padding: var(--ht-cell-vertical-padding) var(--ht-cell-horizontal-padding);
|
231
229
|
}
|
232
|
-
.handsontable thead tr th .relative::after {
|
233
|
-
left: -1px;
|
234
|
-
right: -1px;
|
235
|
-
bottom: -1px;
|
236
|
-
height: var(--ht-header-highlighted-shadow-size);
|
237
|
-
}
|
238
230
|
.handsontable thead tr th .relative .colHeader {
|
239
231
|
text-overflow: ellipsis;
|
240
232
|
overflow: hidden;
|
@@ -261,6 +253,29 @@
|
|
261
253
|
.handsontable tr:last-child td.ht__active_highlight {
|
262
254
|
border-bottom-color: var(--ht-header-active-border-color);
|
263
255
|
}
|
256
|
+
.handsontable div[class^=ht_clone] thead .ht__highlight .relative::after {
|
257
|
+
content: "";
|
258
|
+
display: block;
|
259
|
+
position: absolute;
|
260
|
+
left: -1px;
|
261
|
+
right: -1px;
|
262
|
+
bottom: -1px;
|
263
|
+
height: var(--ht-header-highlighted-shadow-size);
|
264
|
+
background-color: var(--ht-accent-color);
|
265
|
+
}
|
266
|
+
.handsontable div[class^=ht_clone] thead tr:only-of-type .ht__highlight .relative::after {
|
267
|
+
bottom: 0;
|
268
|
+
}
|
269
|
+
.handsontable div[class^=ht_clone] tbody .ht__highlight .relative::after {
|
270
|
+
content: "";
|
271
|
+
display: block;
|
272
|
+
position: absolute;
|
273
|
+
top: -1px;
|
274
|
+
right: -1px;
|
275
|
+
bottom: -1px;
|
276
|
+
width: var(--ht-header-highlighted-shadow-size);
|
277
|
+
background-color: var(--ht-accent-color);
|
278
|
+
}
|
264
279
|
.handsontable thead tr:not(:last-child) th {
|
265
280
|
/* Fix for - nested columns with hidden column */
|
266
281
|
overflow: hidden;
|
@@ -395,11 +410,30 @@
|
|
395
410
|
[dir=rtl].handsontable tbody tr td[dir=ltr]:last-child {
|
396
411
|
border-inline-start-color: var(--ht-border-color);
|
397
412
|
}
|
398
|
-
[dir=rtl].handsontable tbody
|
413
|
+
[dir=rtl].handsontable div[class^=ht_clone] tbody .ht__highlight .relative::after {
|
399
414
|
right: auto;
|
400
415
|
left: -1px;
|
401
416
|
}
|
402
417
|
|
418
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_master .htCore tbody tr:first-child td:first-child {
|
419
|
+
border-start-start-radius: var(--ht-wrapper-border-radius);
|
420
|
+
}
|
421
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_master .htCore tbody tr:first-child td:last-child {
|
422
|
+
border-start-end-radius: var(--ht-wrapper-border-radius);
|
423
|
+
}
|
424
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top_inline_start_corner .htCore tbody tr:first-child td:first-child {
|
425
|
+
border-start-start-radius: var(--ht-wrapper-border-radius);
|
426
|
+
}
|
427
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top .htCore tbody tr:first-child td:first-child {
|
428
|
+
border-start-start-radius: var(--ht-wrapper-border-radius);
|
429
|
+
}
|
430
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_top .htCore tbody tr:first-child td:last-child {
|
431
|
+
border-start-end-radius: var(--ht-wrapper-border-radius);
|
432
|
+
}
|
433
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_inline_start .htCore tbody tr:first-child th:first-child,
|
434
|
+
.handsontable.ht-wrapper:not(.htColumnHeaders) .ht_clone_inline_start .htCore tbody tr:first-child td:first-child {
|
435
|
+
border-start-start-radius: var(--ht-wrapper-border-radius);
|
436
|
+
}
|
403
437
|
.handsontable.ht-wrapper .ht_master .htCore {
|
404
438
|
border-radius: var(--ht-wrapper-border-radius);
|
405
439
|
}
|
@@ -409,11 +443,11 @@
|
|
409
443
|
.handsontable.ht-wrapper .ht_master .htCore thead tr:first-child th:last-child {
|
410
444
|
border-start-end-radius: var(--ht-wrapper-border-radius);
|
411
445
|
}
|
412
|
-
.handsontable.ht-wrapper .ht_master .htCore
|
413
|
-
border-
|
446
|
+
.handsontable.ht-wrapper .ht_master .htCore thead tr:last-child th:first-child {
|
447
|
+
border-end-start-radius: var(--ht-wrapper-border-radius);
|
414
448
|
}
|
415
|
-
.handsontable.ht-wrapper .ht_master .htCore
|
416
|
-
border-
|
449
|
+
.handsontable.ht-wrapper .ht_master .htCore thead tr:last-child th:last-child {
|
450
|
+
border-end-end-radius: var(--ht-wrapper-border-radius);
|
417
451
|
}
|
418
452
|
.handsontable.ht-wrapper .ht_master .htCore tbody tr:last-child td:first-child {
|
419
453
|
border-end-start-radius: var(--ht-wrapper-border-radius);
|
@@ -421,40 +455,12 @@
|
|
421
455
|
.handsontable.ht-wrapper .ht_master .htCore tbody tr:last-child td:last-child {
|
422
456
|
border-end-end-radius: var(--ht-wrapper-border-radius);
|
423
457
|
}
|
424
|
-
.handsontable.ht-wrapper:has(.ht_clone_top thead tr th) .ht_master .htCore tbody tr:first-child td:first-child, .handsontable.ht-wrapper:has(.ht_clone_top tbody tr td) .ht_master .htCore tbody tr:first-child td:first-child {
|
425
|
-
border-start-start-radius: 0;
|
426
|
-
}
|
427
|
-
.handsontable.ht-wrapper:has(.ht_clone_top thead tr th) .ht_master .htCore tbody tr:first-child td:last-child, .handsontable.ht-wrapper:has(.ht_clone_top tbody tr td) .ht_master .htCore tbody tr:first-child td:last-child {
|
428
|
-
border-start-end-radius: 0;
|
429
|
-
}
|
430
458
|
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore {
|
431
459
|
border-start-start-radius: var(--ht-wrapper-border-radius);
|
432
460
|
}
|
433
461
|
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore thead tr:first-child th:first-child {
|
434
462
|
border-start-start-radius: var(--ht-wrapper-border-radius);
|
435
463
|
}
|
436
|
-
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore tbody tr:first-child td:first-child,
|
437
|
-
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore tbody tr:first-child th:first-child {
|
438
|
-
border-start-start-radius: var(--ht-wrapper-border-radius);
|
439
|
-
}
|
440
|
-
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore:has(thead tr th) tbody tr:first-child td:first-child,
|
441
|
-
.handsontable.ht-wrapper .ht_clone_top_inline_start_corner .htCore:has(thead tr th) tbody tr:first-child th:first-child {
|
442
|
-
border-start-start-radius: 0 !important;
|
443
|
-
}
|
444
|
-
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore {
|
445
|
-
border-end-start-radius: var(--ht-wrapper-border-radius);
|
446
|
-
}
|
447
|
-
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore thead tr:last-child th:first-child {
|
448
|
-
border-end-start-radius: var(--ht-wrapper-border-radius);
|
449
|
-
}
|
450
|
-
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tbody tr:last-child td:first-child,
|
451
|
-
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tbody tr:last-child th:first-child {
|
452
|
-
border-end-start-radius: var(--ht-wrapper-border-radius);
|
453
|
-
}
|
454
|
-
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore:has(thead tr td) tbody tr:last-child td:first-child,
|
455
|
-
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore:has(thead tr td) tbody tr:last-child th:first-child {
|
456
|
-
border-end-start-radius: 0 !important;
|
457
|
-
}
|
458
464
|
.handsontable.ht-wrapper .ht_clone_top .htCore {
|
459
465
|
border-start-start-radius: var(--ht-wrapper-border-radius);
|
460
466
|
border-start-end-radius: var(--ht-wrapper-border-radius);
|
@@ -465,18 +471,6 @@
|
|
465
471
|
.handsontable.ht-wrapper .ht_clone_top .htCore thead tr:first-child th:last-child {
|
466
472
|
border-start-end-radius: var(--ht-wrapper-border-radius);
|
467
473
|
}
|
468
|
-
.handsontable.ht-wrapper .ht_clone_top .htCore tbody tr:first-child td:first-child {
|
469
|
-
border-start-start-radius: var(--ht-wrapper-border-radius);
|
470
|
-
}
|
471
|
-
.handsontable.ht-wrapper .ht_clone_top .htCore tbody tr:first-child td:last-child {
|
472
|
-
border-start-end-radius: var(--ht-wrapper-border-radius);
|
473
|
-
}
|
474
|
-
.handsontable.ht-wrapper .ht_clone_top .htCore:has(thead tr th) tbody tr:first-child td:first-child {
|
475
|
-
border-start-start-radius: 0;
|
476
|
-
}
|
477
|
-
.handsontable.ht-wrapper .ht_clone_top .htCore:has(thead tr th) tbody tr:first-child td:last-child {
|
478
|
-
border-start-end-radius: 0;
|
479
|
-
}
|
480
474
|
.handsontable.ht-wrapper .ht_clone_inline_start .htCore {
|
481
475
|
border-start-start-radius: var(--ht-wrapper-border-radius);
|
482
476
|
border-end-start-radius: var(--ht-wrapper-border-radius);
|
@@ -484,40 +478,29 @@
|
|
484
478
|
.handsontable.ht-wrapper .ht_clone_inline_start .htCore thead tr:first-child th:first-child {
|
485
479
|
border-start-start-radius: var(--ht-wrapper-border-radius);
|
486
480
|
}
|
487
|
-
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:
|
488
|
-
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:
|
489
|
-
border-start-start-radius: var(--ht-wrapper-border-radius);
|
490
|
-
}
|
491
|
-
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child td:first-child,
|
492
|
-
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child th:first-child {
|
481
|
+
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child th:first-child,
|
482
|
+
.handsontable.ht-wrapper .ht_clone_inline_start .htCore tbody tr:last-child td:first-child {
|
493
483
|
border-end-start-radius: var(--ht-wrapper-border-radius);
|
494
484
|
}
|
495
|
-
.handsontable.ht-wrapper .
|
496
|
-
.handsontable.ht-wrapper .ht_clone_inline_start .htCore:has(thead tr th) tbody tr:first-child th:first-child {
|
497
|
-
border-start-start-radius: 0;
|
498
|
-
}
|
499
|
-
.handsontable.ht-wrapper .ht_clone_bottom .htCore {
|
485
|
+
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore {
|
500
486
|
border-end-start-radius: var(--ht-wrapper-border-radius);
|
501
|
-
border-end-end-radius: var(--ht-wrapper-border-radius);
|
502
487
|
}
|
503
|
-
.handsontable.ht-wrapper .
|
488
|
+
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tr:last-child th:first-child,
|
489
|
+
.handsontable.ht-wrapper .ht_clone_bottom_inline_start_corner .htCore tr:last-child td:first-child {
|
504
490
|
border-end-start-radius: var(--ht-wrapper-border-radius);
|
505
491
|
}
|
506
|
-
.handsontable.ht-wrapper .ht_clone_bottom .htCore
|
492
|
+
.handsontable.ht-wrapper .ht_clone_bottom .htCore {
|
493
|
+
border-end-start-radius: var(--ht-wrapper-border-radius);
|
507
494
|
border-end-end-radius: var(--ht-wrapper-border-radius);
|
508
495
|
}
|
509
|
-
.handsontable.ht-wrapper .ht_clone_bottom .htCore
|
496
|
+
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child th:first-child,
|
497
|
+
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child td:first-child {
|
510
498
|
border-end-start-radius: var(--ht-wrapper-border-radius);
|
511
499
|
}
|
512
|
-
.handsontable.ht-wrapper .ht_clone_bottom .htCore
|
500
|
+
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child th:last-child,
|
501
|
+
.handsontable.ht-wrapper .ht_clone_bottom .htCore tr:last-child td:last-child {
|
513
502
|
border-end-end-radius: var(--ht-wrapper-border-radius);
|
514
503
|
}
|
515
|
-
.handsontable.ht-wrapper .ht_clone_bottom .htCore:has(thead tr th) tbody tr:last-child td:first-child {
|
516
|
-
border-end-start-radius: 0;
|
517
|
-
}
|
518
|
-
.handsontable.ht-wrapper .ht_clone_bottom .htCore:has(thead tr th) tbody tr:last-child td:last-child {
|
519
|
-
border-end-end-radius: 0;
|
520
|
-
}
|
521
504
|
.handsontable.ht-wrapper.htHasScrollX .htCore {
|
522
505
|
border-end-start-radius: 0;
|
523
506
|
border-end-end-radius: 0;
|
@@ -525,12 +508,12 @@
|
|
525
508
|
.handsontable.ht-wrapper.htHasScrollX .htCore thead tr:last-child th:first-child,
|
526
509
|
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child td:first-child,
|
527
510
|
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child th:first-child {
|
528
|
-
border-end-start-radius: 0;
|
511
|
+
border-end-start-radius: 0 !important;
|
529
512
|
}
|
530
513
|
.handsontable.ht-wrapper.htHasScrollX .htCore thead tr:last-child th:last-child,
|
531
514
|
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child td:last-child,
|
532
515
|
.handsontable.ht-wrapper.htHasScrollX .htCore tbody tr:last-child th:last-child {
|
533
|
-
border-end-end-radius: 0;
|
516
|
+
border-end-end-radius: 0 !important;
|
534
517
|
}
|
535
518
|
.handsontable.ht-wrapper.htHasScrollY .htCore {
|
536
519
|
border-start-end-radius: 0;
|
@@ -539,12 +522,12 @@
|
|
539
522
|
.handsontable.ht-wrapper.htHasScrollY .htCore thead tr:first-child th:last-child,
|
540
523
|
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:first-child td:last-child,
|
541
524
|
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:first-child th:last-child {
|
542
|
-
border-start-end-radius: 0;
|
525
|
+
border-start-end-radius: 0 !important;
|
543
526
|
}
|
544
527
|
.handsontable.ht-wrapper.htHasScrollY .htCore thead tr:last-child th:last-child,
|
545
528
|
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:last-child td:last-child,
|
546
529
|
.handsontable.ht-wrapper.htHasScrollY .htCore tbody tr:last-child th:last-child {
|
547
|
-
border-end-end-radius: 0;
|
530
|
+
border-end-end-radius: 0 !important;
|
548
531
|
}
|
549
532
|
|
550
533
|
.handsontable.mobile {
|
@@ -793,7 +776,6 @@
|
|
793
776
|
margin: 0;
|
794
777
|
vertical-align: middle;
|
795
778
|
cursor: pointer;
|
796
|
-
appearance: none;
|
797
779
|
margin-top: -2px;
|
798
780
|
}
|
799
781
|
.handsontable .htCheckboxRendererInput:first-child {
|
@@ -936,6 +918,7 @@
|
|
936
918
|
background-color: var(--ht-cell-editor-background-color, #ffffff);
|
937
919
|
box-shadow: inset 0 0 0 var(--ht-cell-editor-border-width, 2px) var(--ht-cell-editor-border-color, #1a42e8), 0 0 var(--ht-cell-editor-shadow-blur-radius, 0) 0 var(--ht-cell-editor-shadow-color, transparent);
|
938
920
|
border: none;
|
921
|
+
border-radius: 0;
|
939
922
|
-webkit-appearance: none !important;
|
940
923
|
box-sizing: border-box;
|
941
924
|
/* Miscellaneous */
|
@@ -967,6 +950,7 @@
|
|
967
950
|
line-height: inherit !important;
|
968
951
|
box-shadow: inset 0 0 0 var(--ht-cell-editor-border-width, 2px) var(--ht-cell-editor-border-color, #1a42e8), 0 0 var(--ht-cell-editor-shadow-blur-radius, 0) 0 var(--ht-cell-editor-shadow-color, transparent);
|
969
952
|
border: none;
|
953
|
+
border-radius: 0;
|
970
954
|
box-sizing: border-box;
|
971
955
|
-webkit-appearance: none !important;
|
972
956
|
}
|