handsontable 0.0.0-next-4ad1863-20241122 → 0.0.0-next-3058de1-20241122
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/calculator/index.js +1 -2
- package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +3 -0
- package/3rdparty/walkontable/src/core/_base.mjs +3 -0
- package/3rdparty/walkontable/src/core/clone.js +1 -0
- package/3rdparty/walkontable/src/core/clone.mjs +1 -0
- package/3rdparty/walkontable/src/core/core.js +2 -0
- package/3rdparty/walkontable/src/core/core.mjs +2 -0
- package/3rdparty/walkontable/src/facade/core.js +3 -0
- package/3rdparty/walkontable/src/facade/core.mjs +3 -0
- package/3rdparty/walkontable/src/index.js +0 -1
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +3 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +3 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +2 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/index.js +4 -2
- package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
- package/3rdparty/walkontable/src/renderer/table.js +12 -3
- package/3rdparty/walkontable/src/renderer/table.mjs +12 -3
- package/3rdparty/walkontable/src/settings.js +0 -2
- package/3rdparty/walkontable/src/settings.mjs +0 -2
- package/3rdparty/walkontable/src/table.js +17 -9
- package/3rdparty/walkontable/src/table.mjs +17 -9
- package/3rdparty/walkontable/src/types.js +1 -0
- package/3rdparty/walkontable/src/types.mjs +1 -0
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/stylesHandler.js +287 -0
- package/3rdparty/walkontable/src/utils/stylesHandler.mjs +283 -0
- package/3rdparty/walkontable/src/viewport.js +1 -0
- package/3rdparty/walkontable/src/viewport.mjs +1 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/hooks/constants.js +9 -0
- package/core/hooks/constants.mjs +9 -0
- package/core/hooks/index.d.ts +1 -0
- package/core.d.ts +2 -0
- package/core.js +47 -0
- package/core.mjs +47 -0
- package/dataMap/metaManager/metaSchema.js +23 -3
- package/dataMap/metaManager/metaSchema.mjs +23 -3
- package/dist/handsontable.css +17 -9
- package/dist/handsontable.full.css +249 -240
- package/dist/handsontable.full.js +4554 -4222
- package/dist/handsontable.full.min.css +11 -9
- package/dist/handsontable.full.min.js +53 -53
- package/dist/handsontable.js +4261 -3923
- package/dist/handsontable.min.css +5 -4
- package/dist/handsontable.min.js +24 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.mjs +1 -1
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +9 -0
- package/editors/dateEditor/dateEditor.mjs +10 -1
- package/editors/handsontableEditor/handsontableEditor.js +7 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +7 -1
- package/editors/selectEditor/selectEditor.js +20 -9
- package/editors/selectEditor/selectEditor.mjs +20 -9
- package/editors/textEditor/textEditor.js +4 -11
- package/editors/textEditor/textEditor.mjs +4 -11
- package/helpers/dom/element.js +32 -1
- package/helpers/dom/element.mjs +31 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/themes.js +17 -0
- package/helpers/themes.mjs +13 -0
- package/package.json +10 -3
- package/plugins/comments/commentEditor.js +9 -0
- package/plugins/comments/commentEditor.mjs +9 -0
- package/plugins/comments/comments.js +14 -0
- package/plugins/comments/comments.mjs +15 -1
- package/plugins/contextMenu/menu/menu.js +9 -4
- package/plugins/contextMenu/menu/menu.mjs +9 -4
- package/plugins/filters/filters.js +0 -2
- package/plugins/filters/filters.mjs +0 -2
- package/plugins/filters/ui/multipleSelect.js +6 -0
- package/plugins/filters/ui/multipleSelect.mjs +6 -0
- package/plugins/manualRowMove/manualRowMove.js +1 -1
- package/plugins/manualRowMove/manualRowMove.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +1 -2
- package/plugins/manualRowResize/manualRowResize.mjs +2 -3
- package/plugins/mergeCells/mergeCells.js +1 -1
- package/plugins/mergeCells/mergeCells.mjs +1 -1
- package/plugins/nestedRows/ui/headers.js +7 -1
- package/plugins/nestedRows/ui/headers.mjs +7 -1
- package/plugins/stretchColumns/calculator.js +2 -1
- package/plugins/stretchColumns/calculator.mjs +3 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
- package/settings.d.ts +1 -0
- package/styles/handsontable.css +2178 -0
- package/styles/handsontable.min.css +30 -0
- package/styles/ht-theme-horizon.css +607 -0
- package/styles/ht-theme-horizon.min.css +30 -0
- package/styles/ht-theme-main.css +613 -0
- package/styles/ht-theme-main.min.css +30 -0
- package/tableView.js +46 -0
- package/tableView.mjs +47 -1
- package/utils/autoResize.js +4 -1
- package/utils/autoResize.mjs +4 -1
- package/utils/ghostTable.js +5 -3
- package/utils/ghostTable.mjs +5 -3
package/core.js
CHANGED
@@ -47,6 +47,7 @@ var _index3 = require("./core/index");
|
|
47
47
|
var _uniqueMap = require("./utils/dataStructures/uniqueMap");
|
48
48
|
var _shortcuts = require("./shortcuts");
|
49
49
|
var _shortcutContexts = require("./shortcutContexts");
|
50
|
+
var _themes = require("./helpers/themes");
|
50
51
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
51
52
|
let activeGuid = null;
|
52
53
|
|
@@ -234,6 +235,7 @@ function Core(rootElement, userSettings) {
|
|
234
235
|
rootElement.insertBefore(this.container, rootElement.firstChild);
|
235
236
|
if ((0, _rootInstance.isRootInstance)(this)) {
|
236
237
|
(0, _mixed._injectProductInfo)(userSettings.licenseKey, rootElement);
|
238
|
+
(0, _element.addClass)(rootElement, 'ht-wrapper');
|
237
239
|
}
|
238
240
|
this.guid = `ht_${(0, _string.randomString)()}`; // this is the namespace for global events
|
239
241
|
|
@@ -1034,6 +1036,13 @@ function Core(rootElement, userSettings) {
|
|
1034
1036
|
}
|
1035
1037
|
this.updateSettings(tableMeta, true);
|
1036
1038
|
this.view = new _tableView.default(this);
|
1039
|
+
const themeName = tableMeta.themeName || (0, _themes.getThemeClassName)(instance.rootElement);
|
1040
|
+
|
1041
|
+
// Use the theme defined as a root element class or in the settings (in that order).
|
1042
|
+
instance.useTheme(themeName);
|
1043
|
+
|
1044
|
+
// Add the theme class name to the license info element.
|
1045
|
+
instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
|
1037
1046
|
editorManager = _editorManager.default.getInstance(instance, tableMeta, selection);
|
1038
1047
|
viewportScroller = (0, _index3.createViewportScroller)(instance);
|
1039
1048
|
focusManager = new _focusManager.FocusManager(instance);
|
@@ -2387,6 +2396,19 @@ function Core(rootElement, userSettings) {
|
|
2387
2396
|
if (instance.view) {
|
2388
2397
|
instance.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
|
2389
2398
|
instance.view._wt.exportSettingsAsClassNames();
|
2399
|
+
const currentThemeName = instance.getCurrentThemeName();
|
2400
|
+
const themeNameOptionExists = (0, _object.hasOwnProperty)(settings, 'themeName');
|
2401
|
+
if (currentThemeName && themeNameOptionExists) {
|
2402
|
+
instance.view.getStylesHandler().removeClassNames();
|
2403
|
+
instance.view.removeClassNameFromLicenseElement(currentThemeName);
|
2404
|
+
}
|
2405
|
+
const themeName = themeNameOptionExists && settings.themeName || (0, _themes.getThemeClassName)(instance.rootElement);
|
2406
|
+
|
2407
|
+
// Use the theme defined as a root element class or in the settings (in that order).
|
2408
|
+
instance.useTheme(themeName);
|
2409
|
+
|
2410
|
+
// Add the theme class name to the license info element.
|
2411
|
+
instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
|
2390
2412
|
}
|
2391
2413
|
instance.runHooks('afterUpdateSettings', settings);
|
2392
2414
|
}
|
@@ -4590,6 +4612,31 @@ function Core(rootElement, userSettings) {
|
|
4590
4612
|
};
|
4591
4613
|
this.timeouts = [];
|
4592
4614
|
|
4615
|
+
/**
|
4616
|
+
* Use the theme specified by the provided name.
|
4617
|
+
*
|
4618
|
+
* @memberof Core#
|
4619
|
+
* @function useTheme
|
4620
|
+
* @since 15.0.0
|
4621
|
+
* @param {string|boolean|undefined} themeName The name of the theme to use.
|
4622
|
+
*/
|
4623
|
+
this.useTheme = themeName => {
|
4624
|
+
this.view.getStylesHandler().useTheme(themeName);
|
4625
|
+
this.runHooks('afterSetTheme', themeName, !!firstRun);
|
4626
|
+
};
|
4627
|
+
|
4628
|
+
/**
|
4629
|
+
* Gets the name of the currently used theme.
|
4630
|
+
*
|
4631
|
+
* @memberof Core#
|
4632
|
+
* @function getCurrentThemeName
|
4633
|
+
* @since 15.0.0
|
4634
|
+
* @returns {string|undefined} The name of the currently used theme.
|
4635
|
+
*/
|
4636
|
+
this.getCurrentThemeName = () => {
|
4637
|
+
return this.view.getStylesHandler().getThemeName();
|
4638
|
+
};
|
4639
|
+
|
4593
4640
|
/**
|
4594
4641
|
* Sets timeout. Purpose of this method is to clear all known timeouts when `destroy` method is called.
|
4595
4642
|
*
|
package/core.mjs
CHANGED
@@ -43,6 +43,7 @@ import { installFocusCatcher, createViewportScroller } from "./core/index.mjs";
|
|
43
43
|
import { createUniqueMap } from "./utils/dataStructures/uniqueMap.mjs";
|
44
44
|
import { createShortcutManager } from "./shortcuts/index.mjs";
|
45
45
|
import { registerAllShortcutContexts } from "./shortcutContexts/index.mjs";
|
46
|
+
import { getThemeClassName } from "./helpers/themes.mjs";
|
46
47
|
let activeGuid = null;
|
47
48
|
|
48
49
|
/**
|
@@ -229,6 +230,7 @@ export default function Core(rootElement, userSettings) {
|
|
229
230
|
rootElement.insertBefore(this.container, rootElement.firstChild);
|
230
231
|
if (isRootInstance(this)) {
|
231
232
|
_injectProductInfo(userSettings.licenseKey, rootElement);
|
233
|
+
addClass(rootElement, 'ht-wrapper');
|
232
234
|
}
|
233
235
|
this.guid = `ht_${randomString()}`; // this is the namespace for global events
|
234
236
|
|
@@ -1029,6 +1031,13 @@ export default function Core(rootElement, userSettings) {
|
|
1029
1031
|
}
|
1030
1032
|
this.updateSettings(tableMeta, true);
|
1031
1033
|
this.view = new TableView(this);
|
1034
|
+
const themeName = tableMeta.themeName || getThemeClassName(instance.rootElement);
|
1035
|
+
|
1036
|
+
// Use the theme defined as a root element class or in the settings (in that order).
|
1037
|
+
instance.useTheme(themeName);
|
1038
|
+
|
1039
|
+
// Add the theme class name to the license info element.
|
1040
|
+
instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
|
1032
1041
|
editorManager = EditorManager.getInstance(instance, tableMeta, selection);
|
1033
1042
|
viewportScroller = createViewportScroller(instance);
|
1034
1043
|
focusManager = new FocusManager(instance);
|
@@ -2382,6 +2391,19 @@ export default function Core(rootElement, userSettings) {
|
|
2382
2391
|
if (instance.view) {
|
2383
2392
|
instance.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
|
2384
2393
|
instance.view._wt.exportSettingsAsClassNames();
|
2394
|
+
const currentThemeName = instance.getCurrentThemeName();
|
2395
|
+
const themeNameOptionExists = hasOwnProperty(settings, 'themeName');
|
2396
|
+
if (currentThemeName && themeNameOptionExists) {
|
2397
|
+
instance.view.getStylesHandler().removeClassNames();
|
2398
|
+
instance.view.removeClassNameFromLicenseElement(currentThemeName);
|
2399
|
+
}
|
2400
|
+
const themeName = themeNameOptionExists && settings.themeName || getThemeClassName(instance.rootElement);
|
2401
|
+
|
2402
|
+
// Use the theme defined as a root element class or in the settings (in that order).
|
2403
|
+
instance.useTheme(themeName);
|
2404
|
+
|
2405
|
+
// Add the theme class name to the license info element.
|
2406
|
+
instance.view.addClassNameToLicenseElement(instance.getCurrentThemeName());
|
2385
2407
|
}
|
2386
2408
|
instance.runHooks('afterUpdateSettings', settings);
|
2387
2409
|
}
|
@@ -4585,6 +4607,31 @@ export default function Core(rootElement, userSettings) {
|
|
4585
4607
|
};
|
4586
4608
|
this.timeouts = [];
|
4587
4609
|
|
4610
|
+
/**
|
4611
|
+
* Use the theme specified by the provided name.
|
4612
|
+
*
|
4613
|
+
* @memberof Core#
|
4614
|
+
* @function useTheme
|
4615
|
+
* @since 15.0.0
|
4616
|
+
* @param {string|boolean|undefined} themeName The name of the theme to use.
|
4617
|
+
*/
|
4618
|
+
this.useTheme = themeName => {
|
4619
|
+
this.view.getStylesHandler().useTheme(themeName);
|
4620
|
+
this.runHooks('afterSetTheme', themeName, !!firstRun);
|
4621
|
+
};
|
4622
|
+
|
4623
|
+
/**
|
4624
|
+
* Gets the name of the currently used theme.
|
4625
|
+
*
|
4626
|
+
* @memberof Core#
|
4627
|
+
* @function getCurrentThemeName
|
4628
|
+
* @since 15.0.0
|
4629
|
+
* @returns {string|undefined} The name of the currently used theme.
|
4630
|
+
*/
|
4631
|
+
this.getCurrentThemeName = () => {
|
4632
|
+
return this.view.getStylesHandler().getThemeName();
|
4633
|
+
};
|
4634
|
+
|
4588
4635
|
/**
|
4589
4636
|
* Sets timeout. Purpose of this method is to clear all known timeouts when `destroy` method is called.
|
4590
4637
|
*
|
@@ -3842,8 +3842,8 @@ var _default = () => {
|
|
3842
3842
|
/**
|
3843
3843
|
* The `rowHeights` option sets rows' heights, in pixels.
|
3844
3844
|
*
|
3845
|
-
* In the rendering process, the default row height is 23 px (22 px + 1 px of the row's bottom border).
|
3846
|
-
* You can change it to equal or greater than
|
3845
|
+
* In the rendering process, the default row height is 23 px (in the classic theme: 22 px + 1 px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
3846
|
+
* You can change it to equal or greater than the defautl value, by setting the `rowHeights` option to one of the following:
|
3847
3847
|
*
|
3848
3848
|
* | Setting | Description | Example |
|
3849
3849
|
* | ----------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
@@ -3875,7 +3875,7 @@ var _default = () => {
|
|
3875
3875
|
* // set the first (by visual index) row's height to 100
|
3876
3876
|
* // set the second (by visual index) row's height to 120
|
3877
3877
|
* // set the third (by visual index) row's height to `undefined`
|
3878
|
-
* // set any other row's height to the default
|
3878
|
+
* // set any other row's height to the default height value
|
3879
3879
|
* rowHeights: [100, 120, undefined],
|
3880
3880
|
*
|
3881
3881
|
* // set each row's height individually, using a function
|
@@ -4313,6 +4313,26 @@ var _default = () => {
|
|
4313
4313
|
* ```
|
4314
4314
|
*/
|
4315
4315
|
tableClassName: undefined,
|
4316
|
+
/**
|
4317
|
+
* The `themeName` option allows enabling a theme by that name.
|
4318
|
+
*
|
4319
|
+
* If no `themeName` is provided, the table will use the classic theme (if the correct CSS files are imported).
|
4320
|
+
*
|
4321
|
+
* Read more:
|
4322
|
+
* - [Themes](@/guides/styling/themes/themes.md)
|
4323
|
+
*
|
4324
|
+
* @memberof Options#
|
4325
|
+
* @type {string|boolean|undefined}
|
4326
|
+
* @default undefined
|
4327
|
+
* @category Core
|
4328
|
+
* @since 15.0.0
|
4329
|
+
*
|
4330
|
+
* @example
|
4331
|
+
* ```js
|
4332
|
+
* themeName: 'ht-theme-name',
|
4333
|
+
* ```
|
4334
|
+
*/
|
4335
|
+
themeName: undefined,
|
4316
4336
|
/**
|
4317
4337
|
* The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
|
4318
4338
|
*
|
@@ -3839,8 +3839,8 @@ export default () => {
|
|
3839
3839
|
/**
|
3840
3840
|
* The `rowHeights` option sets rows' heights, in pixels.
|
3841
3841
|
*
|
3842
|
-
* In the rendering process, the default row height is 23 px (22 px + 1 px of the row's bottom border).
|
3843
|
-
* You can change it to equal or greater than
|
3842
|
+
* In the rendering process, the default row height is 23 px (in the classic theme: 22 px + 1 px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
3843
|
+
* You can change it to equal or greater than the defautl value, by setting the `rowHeights` option to one of the following:
|
3844
3844
|
*
|
3845
3845
|
* | Setting | Description | Example |
|
3846
3846
|
* | ----------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
@@ -3872,7 +3872,7 @@ export default () => {
|
|
3872
3872
|
* // set the first (by visual index) row's height to 100
|
3873
3873
|
* // set the second (by visual index) row's height to 120
|
3874
3874
|
* // set the third (by visual index) row's height to `undefined`
|
3875
|
-
* // set any other row's height to the default
|
3875
|
+
* // set any other row's height to the default height value
|
3876
3876
|
* rowHeights: [100, 120, undefined],
|
3877
3877
|
*
|
3878
3878
|
* // set each row's height individually, using a function
|
@@ -4310,6 +4310,26 @@ export default () => {
|
|
4310
4310
|
* ```
|
4311
4311
|
*/
|
4312
4312
|
tableClassName: undefined,
|
4313
|
+
/**
|
4314
|
+
* The `themeName` option allows enabling a theme by that name.
|
4315
|
+
*
|
4316
|
+
* If no `themeName` is provided, the table will use the classic theme (if the correct CSS files are imported).
|
4317
|
+
*
|
4318
|
+
* Read more:
|
4319
|
+
* - [Themes](@/guides/styling/themes/themes.md)
|
4320
|
+
*
|
4321
|
+
* @memberof Options#
|
4322
|
+
* @type {string|boolean|undefined}
|
4323
|
+
* @default undefined
|
4324
|
+
* @category Core
|
4325
|
+
* @since 15.0.0
|
4326
|
+
*
|
4327
|
+
* @example
|
4328
|
+
* ```js
|
4329
|
+
* themeName: 'ht-theme-name',
|
4330
|
+
* ```
|
4331
|
+
*/
|
4332
|
+
themeName: undefined,
|
4313
4333
|
/**
|
4314
4334
|
* The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
|
4315
4335
|
*
|
package/dist/handsontable.css
CHANGED
@@ -25,13 +25,13 @@
|
|
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: 0.0.0-next-
|
29
|
-
* Release date: 17/10/2024 (built at 22/11/2024
|
28
|
+
* Version: 0.0.0-next-3058de1-20241122
|
29
|
+
* Release date: 17/10/2024 (built at 22/11/2024 13:42:16)
|
30
30
|
*/
|
31
31
|
/**
|
32
32
|
* Fix for bootstrap styles
|
33
33
|
*/
|
34
|
-
.handsontable .table th, .handsontable .table td {
|
34
|
+
.handsontable .table th, .handsontable .table td {
|
35
35
|
border-top: none;
|
36
36
|
}
|
37
37
|
|
@@ -589,6 +589,7 @@ innerBorderBottom - Property controlled by bottom overlay
|
|
589
589
|
color: #000;
|
590
590
|
border-radius: 0;
|
591
591
|
background-color: #FFF;
|
592
|
+
box-sizing: border-box !important;
|
592
593
|
/*overwrite styles potentionally made by a framework*/
|
593
594
|
}
|
594
595
|
|
@@ -603,16 +604,25 @@ innerBorderBottom - Property controlled by bottom overlay
|
|
603
604
|
}
|
604
605
|
|
605
606
|
.htSelectEditor {
|
606
|
-
-webkit-appearance: menulist-button !important;
|
607
607
|
position: absolute;
|
608
|
-
|
609
|
-
|
608
|
+
|
609
|
+
select {
|
610
|
+
-webkit-appearance: menulist-button !important;
|
611
|
+
width: 100%;
|
612
|
+
height: 100%;
|
613
|
+
border: 2px solid #4b89ff;
|
614
|
+
box-sizing: border-box !important;
|
615
|
+
}
|
610
616
|
}
|
611
617
|
|
612
|
-
.htSelectEditor:focus {
|
618
|
+
.htSelectEditor select:focus {
|
613
619
|
outline: none;
|
614
620
|
}
|
615
621
|
|
622
|
+
.htSelectEditor .htAutocompleteArrow {
|
623
|
+
display: none;
|
624
|
+
}
|
625
|
+
|
616
626
|
/*
|
617
627
|
TextRenderer readOnly cell
|
618
628
|
*/
|
@@ -2056,5 +2066,3 @@ textarea.HandsontableCopyPaste {
|
|
2056
2066
|
left: 0;
|
2057
2067
|
right: unset;
|
2058
2068
|
}
|
2059
|
-
|
2060
|
-
/*# sourceMappingURL=handsontable.css.map*/
|