handsontable 16.1.1 → 16.2.0-next-90d1117-20251117
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/overlays.js +1 -1
- package/3rdparty/walkontable/src/overlays.mjs +1 -1
- package/3rdparty/walkontable/src/selection/border/border.js +19 -3
- package/3rdparty/walkontable/src/selection/border/border.mjs +19 -3
- package/CHANGELOG.md +39 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/coordsMapper/index.js +11 -0
- package/core/coordsMapper/index.mjs +1 -0
- package/core/hooks/bucket.js +7 -1
- package/core/hooks/bucket.mjs +7 -1
- package/core/hooks/constants.js +54 -0
- package/core/hooks/constants.mjs +54 -0
- package/core/hooks/index.d.ts +6 -0
- package/core/index.js +10 -4
- package/core/index.mjs +2 -1
- package/core.d.ts +3 -2
- package/core.js +67 -26
- package/core.mjs +56 -15
- package/dataMap/metaManager/metaSchema.js +197 -20
- package/dataMap/metaManager/metaSchema.mjs +197 -20
- package/dist/handsontable.css +175 -3
- package/dist/handsontable.full.css +175 -3
- package/dist/handsontable.full.js +10864 -8426
- package/dist/handsontable.full.min.css +5 -4
- package/dist/handsontable.full.min.js +194 -193
- package/dist/handsontable.js +7126 -4827
- package/dist/handsontable.min.css +4 -4
- package/dist/handsontable.min.js +43 -42
- package/dist/languages/all.js +168 -21
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +8 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +8 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +8 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +8 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +8 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +8 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fa-IR.js +8 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/languages/fr-FR.js +8 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.js +8 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.js +8 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +8 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +8 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +8 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +8 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +8 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +8 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +8 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +8 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +8 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +8 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +8 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editors/autocompleteEditor/autocompleteEditor.js +21 -1
- package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -2
- package/focusManager/constants.js +25 -0
- package/focusManager/constants.mjs +22 -0
- package/focusManager/eventListener.js +107 -0
- package/focusManager/eventListener.mjs +103 -0
- package/{focusManager.d.ts → focusManager/grid.d.ts} +1 -1
- package/{focusManager.js → focusManager/grid.js} +48 -17
- package/{focusManager.mjs → focusManager/grid.mjs} +47 -16
- package/focusManager/index.d.ts +2 -0
- package/focusManager/index.js +20 -0
- package/focusManager/index.mjs +20 -0
- package/focusManager/scope.js +133 -0
- package/focusManager/scope.mjs +129 -0
- package/focusManager/scopeManager.d.ts +19 -0
- package/focusManager/scopeManager.js +268 -0
- package/focusManager/scopeManager.mjs +263 -0
- package/focusManager/scopes/grid.js +120 -0
- package/focusManager/scopes/grid.mjs +116 -0
- package/focusManager/scopes/index.js +13 -0
- package/focusManager/scopes/index.mjs +9 -0
- package/{utils → focusManager/utils}/focusDetector.js +21 -31
- package/{utils → focusManager/utils}/focusDetector.mjs +21 -31
- package/focusManager/utils/utils.js +95 -0
- package/focusManager/utils/utils.mjs +89 -0
- package/helpers/dom/element.js +1 -1
- package/helpers/dom/element.mjs +2 -2
- package/helpers/dom/event.js +1 -1
- package/helpers/dom/event.mjs +1 -1
- package/helpers/mixed.js +2 -65
- package/helpers/mixed.mjs +2 -63
- package/i18n/constants.js +10 -1
- package/i18n/constants.mjs +10 -1
- package/i18n/languages/ar-AR.js +8 -1
- package/i18n/languages/ar-AR.mjs +8 -1
- package/i18n/languages/cs-CZ.js +8 -1
- package/i18n/languages/cs-CZ.mjs +8 -1
- package/i18n/languages/de-CH.js +8 -1
- package/i18n/languages/de-CH.mjs +8 -1
- package/i18n/languages/de-DE.js +8 -1
- package/i18n/languages/de-DE.mjs +8 -1
- package/i18n/languages/en-US.js +8 -1
- package/i18n/languages/en-US.mjs +8 -1
- package/i18n/languages/es-MX.js +8 -1
- package/i18n/languages/es-MX.mjs +8 -1
- package/i18n/languages/fa-IR.js +8 -1
- package/i18n/languages/fa-IR.mjs +8 -1
- package/i18n/languages/fr-FR.js +8 -1
- package/i18n/languages/fr-FR.mjs +8 -1
- package/i18n/languages/hr-HR.js +8 -1
- package/i18n/languages/hr-HR.mjs +8 -1
- package/i18n/languages/it-IT.js +8 -1
- package/i18n/languages/it-IT.mjs +8 -1
- package/i18n/languages/ja-JP.js +8 -1
- package/i18n/languages/ja-JP.mjs +8 -1
- package/i18n/languages/ko-KR.js +8 -1
- package/i18n/languages/ko-KR.mjs +8 -1
- package/i18n/languages/lv-LV.js +8 -1
- package/i18n/languages/lv-LV.mjs +8 -1
- package/i18n/languages/nb-NO.js +8 -1
- package/i18n/languages/nb-NO.mjs +8 -1
- package/i18n/languages/nl-NL.js +8 -1
- package/i18n/languages/nl-NL.mjs +8 -1
- package/i18n/languages/pl-PL.js +8 -1
- package/i18n/languages/pl-PL.mjs +8 -1
- package/i18n/languages/pt-BR.js +8 -1
- package/i18n/languages/pt-BR.mjs +8 -1
- package/i18n/languages/ru-RU.js +8 -1
- package/i18n/languages/ru-RU.mjs +8 -1
- package/i18n/languages/sr-SP.js +8 -1
- package/i18n/languages/sr-SP.mjs +8 -1
- package/i18n/languages/zh-CN.js +8 -1
- package/i18n/languages/zh-CN.mjs +8 -1
- package/i18n/languages/zh-TW.js +8 -1
- package/i18n/languages/zh-TW.mjs +8 -1
- package/index.d.ts +9 -0
- package/languages/all.js +168 -21
- package/languages/ar-AR.js +8 -1
- package/languages/ar-AR.mjs +8 -1
- package/languages/cs-CZ.js +8 -1
- package/languages/cs-CZ.mjs +8 -1
- package/languages/de-CH.js +8 -1
- package/languages/de-CH.mjs +8 -1
- package/languages/de-DE.js +8 -1
- package/languages/de-DE.mjs +8 -1
- package/languages/en-US.js +8 -1
- package/languages/en-US.mjs +8 -1
- package/languages/es-MX.js +8 -1
- package/languages/es-MX.mjs +8 -1
- package/languages/fa-IR.js +8 -1
- package/languages/fa-IR.mjs +8 -1
- package/languages/fr-FR.js +8 -1
- package/languages/fr-FR.mjs +8 -1
- package/languages/hr-HR.js +8 -1
- package/languages/hr-HR.mjs +8 -1
- package/languages/index.js +168 -21
- package/languages/it-IT.js +8 -1
- package/languages/it-IT.mjs +8 -1
- package/languages/ja-JP.js +8 -1
- package/languages/ja-JP.mjs +8 -1
- package/languages/ko-KR.js +8 -1
- package/languages/ko-KR.mjs +8 -1
- package/languages/lv-LV.js +8 -1
- package/languages/lv-LV.mjs +8 -1
- package/languages/nb-NO.js +8 -1
- package/languages/nb-NO.mjs +8 -1
- package/languages/nl-NL.js +8 -1
- package/languages/nl-NL.mjs +8 -1
- package/languages/pl-PL.js +8 -1
- package/languages/pl-PL.mjs +8 -1
- package/languages/pt-BR.js +8 -1
- package/languages/pt-BR.mjs +8 -1
- package/languages/ru-RU.js +8 -1
- package/languages/ru-RU.mjs +8 -1
- package/languages/sr-SP.js +8 -1
- package/languages/sr-SP.mjs +8 -1
- package/languages/zh-CN.js +8 -1
- package/languages/zh-CN.mjs +8 -1
- package/languages/zh-TW.js +8 -1
- package/languages/zh-TW.mjs +8 -1
- package/package.json +25 -7
- package/plugins/autoRowSize/autoRowSize.js +8 -1
- package/plugins/autoRowSize/autoRowSize.mjs +8 -1
- package/plugins/base/base.js +36 -10
- package/plugins/base/base.mjs +36 -10
- package/plugins/columnSummary/endpoints.js +13 -3
- package/plugins/columnSummary/endpoints.mjs +13 -3
- package/plugins/customBorders/customBorders.d.ts +1 -0
- package/plugins/customBorders/customBorders.js +32 -2
- package/plugins/customBorders/customBorders.mjs +32 -2
- package/plugins/dialog/constants.js +7 -0
- package/plugins/dialog/constants.mjs +4 -0
- package/plugins/dialog/dialog.d.ts +22 -2
- package/plugins/dialog/dialog.js +197 -81
- package/plugins/dialog/dialog.mjs +196 -81
- package/plugins/dialog/templates/base.js +60 -0
- package/plugins/dialog/templates/base.mjs +56 -0
- package/plugins/dialog/templates/confirm.js +106 -0
- package/plugins/dialog/templates/confirm.mjs +102 -0
- package/plugins/dialog/templates/index.js +6 -0
- package/plugins/dialog/templates/index.mjs +4 -0
- package/plugins/dialog/ui.js +125 -41
- package/plugins/dialog/ui.mjs +119 -35
- package/plugins/emptyDataState/emptyDataState.d.ts +24 -0
- package/plugins/emptyDataState/emptyDataState.js +526 -0
- package/plugins/emptyDataState/emptyDataState.mjs +521 -0
- package/plugins/emptyDataState/index.d.ts +1 -0
- package/plugins/emptyDataState/index.js +7 -0
- package/plugins/emptyDataState/index.mjs +1 -0
- package/plugins/emptyDataState/ui.js +282 -0
- package/plugins/emptyDataState/ui.mjs +278 -0
- package/plugins/filters/component/value.js +16 -1
- package/plugins/filters/component/value.mjs +16 -1
- package/plugins/filters/filters.d.ts +5 -1
- package/plugins/filters/filters.js +22 -1
- package/plugins/filters/filters.mjs +22 -1
- package/plugins/filters/ui/multipleSelect.js +90 -79
- package/plugins/filters/ui/multipleSelect.mjs +90 -79
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +3 -0
- package/plugins/index.mjs +3 -1
- package/plugins/mergeCells/utils.js +1 -5
- package/plugins/mergeCells/utils.mjs +1 -5
- package/plugins/pagination/pagination.js +37 -175
- package/plugins/pagination/pagination.mjs +37 -175
- package/plugins/pagination/strategies/autoPageSize.js +2 -2
- package/plugins/pagination/strategies/autoPageSize.mjs +2 -2
- package/plugins/pagination/ui.js +6 -10
- package/plugins/pagination/ui.mjs +7 -11
- package/plugins/stretchColumns/calculator.js +3 -1
- package/plugins/stretchColumns/calculator.mjs +3 -1
- package/plugins/undoRedo/undoRedo.js +16 -6
- package/plugins/undoRedo/undoRedo.mjs +16 -5
- package/renderers/checkboxRenderer/checkboxRenderer.js +12 -15
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +12 -15
- package/selection/selection.js +1 -1
- package/selection/selection.mjs +1 -1
- package/settings.d.ts +3 -0
- package/shortcutContexts/commands/index.js +2 -1
- package/shortcutContexts/commands/index.mjs +2 -1
- package/shortcutContexts/commands/tabNavigation.js +51 -0
- package/shortcutContexts/commands/tabNavigation.mjs +48 -0
- package/shortcutContexts/constants.js +16 -1
- package/shortcutContexts/constants.mjs +16 -1
- package/shortcutContexts/editor.js +2 -2
- package/shortcutContexts/editor.mjs +3 -3
- package/shortcutContexts/grid.js +19 -3
- package/shortcutContexts/grid.mjs +20 -4
- package/shortcuts/manager.d.ts +1 -0
- package/shortcuts/manager.js +17 -2
- package/shortcuts/manager.mjs +17 -2
- package/styles/handsontable.css +192 -35
- package/styles/handsontable.min.css +3 -3
- package/styles/ht-icons-horizon.css +233 -0
- package/styles/ht-icons-horizon.min.css +30 -0
- package/styles/ht-icons-main.css +233 -0
- package/styles/ht-icons-main.min.css +30 -0
- package/styles/ht-theme-classic-no-icons.css +399 -0
- package/styles/ht-theme-classic-no-icons.min.css +30 -0
- package/styles/ht-theme-classic.css +308 -556
- package/styles/ht-theme-classic.min.css +3 -3
- package/styles/ht-theme-horizon-no-icons.css +405 -0
- package/styles/ht-theme-horizon-no-icons.min.css +30 -0
- package/styles/ht-theme-horizon.css +312 -556
- package/styles/ht-theme-horizon.min.css +3 -3
- package/styles/ht-theme-main-no-icons.css +396 -0
- package/styles/ht-theme-main-no-icons.min.css +30 -0
- package/styles/ht-theme-main.css +303 -556
- package/styles/ht-theme-main.min.css +3 -3
- package/tableView.js +23 -5
- package/tableView.mjs +23 -5
- package/utils/dataStructures/uniqueMap.js +10 -0
- package/utils/dataStructures/uniqueMap.mjs +10 -0
- package/utils/ghostTable.js +0 -3
- package/utils/ghostTable.mjs +0 -3
- package/utils/stylesHandler.js +19 -4
- package/utils/stylesHandler.mjs +19 -4
- package/core/focusCatcher/index.js +0 -131
- package/core/focusCatcher/index.mjs +0 -127
- package/core/focusCatcher/utils.js +0 -31
- package/core/focusCatcher/utils.mjs +0 -27
- package/plugins/pagination/focusController.js +0 -27
- package/plugins/pagination/focusController.mjs +0 -23
package/shortcutContexts/grid.js
CHANGED
|
@@ -11,7 +11,7 @@ var _commands = require("./commands");
|
|
|
11
11
|
* @param {Handsontable} hot The Handsontable instance.
|
|
12
12
|
*/
|
|
13
13
|
function shortcutsGridContext(hot) {
|
|
14
|
-
const context = hot.getShortcutManager().addContext(
|
|
14
|
+
const context = hot.getShortcutManager().addContext(_constants.GRID_SCOPE);
|
|
15
15
|
const commandsPool = (0, _commands.createKeyboardShortcutCommandsPool)(hot);
|
|
16
16
|
const config = {
|
|
17
17
|
runOnlyIf: () => {
|
|
@@ -168,16 +168,32 @@ function shortcutsGridContext(hot) {
|
|
|
168
168
|
callback: () => commandsPool.extendCellsSelectionDownByViewportHeight()
|
|
169
169
|
}, {
|
|
170
170
|
keys: [['Tab']],
|
|
171
|
-
// The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
|
|
172
171
|
preventDefault: false,
|
|
173
172
|
callback: event => commandsPool.moveCellSelectionInlineStart(event)
|
|
174
173
|
}, {
|
|
175
174
|
keys: [['Shift', 'Tab']],
|
|
176
|
-
// The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
|
|
177
175
|
preventDefault: false,
|
|
178
176
|
callback: event => commandsPool.moveCellSelectionInlineEnd(event)
|
|
179
177
|
}, {
|
|
180
178
|
keys: [['Control/Meta', 'Backspace']],
|
|
181
179
|
callback: () => commandsPool.scrollToFocusedCell()
|
|
182
180
|
}], config);
|
|
181
|
+
const tabNavigationCommand = commandsPool.tabNavigation();
|
|
182
|
+
context.addShortcuts([{
|
|
183
|
+
keys: [['Tab'], ['Shift', 'Tab']],
|
|
184
|
+
preventDefault: false,
|
|
185
|
+
stopPropagation: false,
|
|
186
|
+
relativeToGroup: _constants.GRID_GROUP,
|
|
187
|
+
group: _constants.GRID_TAB_NAVIGATION_GROUP,
|
|
188
|
+
position: 'before',
|
|
189
|
+
callback: event => tabNavigationCommand.before(event)
|
|
190
|
+
}, {
|
|
191
|
+
keys: [['Tab'], ['Shift', 'Tab']],
|
|
192
|
+
preventDefault: false,
|
|
193
|
+
stopPropagation: false,
|
|
194
|
+
relativeToGroup: _constants.GRID_GROUP,
|
|
195
|
+
group: _constants.GRID_TAB_NAVIGATION_GROUP,
|
|
196
|
+
callback: event => tabNavigationCommand.after(event),
|
|
197
|
+
position: 'after'
|
|
198
|
+
}]);
|
|
183
199
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isDefined } from "../helpers/mixed.mjs";
|
|
2
|
-
import { GRID_GROUP, EDITOR_EDIT_GROUP } from "./constants.mjs";
|
|
2
|
+
import { GRID_GROUP, EDITOR_EDIT_GROUP, GRID_SCOPE, GRID_TAB_NAVIGATION_GROUP } from "./constants.mjs";
|
|
3
3
|
import { createKeyboardShortcutCommandsPool } from "./commands/index.mjs";
|
|
4
4
|
/**
|
|
5
5
|
* The context that defines shortcut list available for selected cell or cells.
|
|
@@ -7,7 +7,7 @@ import { createKeyboardShortcutCommandsPool } from "./commands/index.mjs";
|
|
|
7
7
|
* @param {Handsontable} hot The Handsontable instance.
|
|
8
8
|
*/
|
|
9
9
|
export function shortcutsGridContext(hot) {
|
|
10
|
-
const context = hot.getShortcutManager().addContext(
|
|
10
|
+
const context = hot.getShortcutManager().addContext(GRID_SCOPE);
|
|
11
11
|
const commandsPool = createKeyboardShortcutCommandsPool(hot);
|
|
12
12
|
const config = {
|
|
13
13
|
runOnlyIf: () => {
|
|
@@ -164,16 +164,32 @@ export function shortcutsGridContext(hot) {
|
|
|
164
164
|
callback: () => commandsPool.extendCellsSelectionDownByViewportHeight()
|
|
165
165
|
}, {
|
|
166
166
|
keys: [['Tab']],
|
|
167
|
-
// The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
|
|
168
167
|
preventDefault: false,
|
|
169
168
|
callback: event => commandsPool.moveCellSelectionInlineStart(event)
|
|
170
169
|
}, {
|
|
171
170
|
keys: [['Shift', 'Tab']],
|
|
172
|
-
// The property value is controlled by focusCatcher module (https://github.com/handsontable/handsontable/blob/master/handsontable/src/core/focusCatcher/index.js)
|
|
173
171
|
preventDefault: false,
|
|
174
172
|
callback: event => commandsPool.moveCellSelectionInlineEnd(event)
|
|
175
173
|
}, {
|
|
176
174
|
keys: [['Control/Meta', 'Backspace']],
|
|
177
175
|
callback: () => commandsPool.scrollToFocusedCell()
|
|
178
176
|
}], config);
|
|
177
|
+
const tabNavigationCommand = commandsPool.tabNavigation();
|
|
178
|
+
context.addShortcuts([{
|
|
179
|
+
keys: [['Tab'], ['Shift', 'Tab']],
|
|
180
|
+
preventDefault: false,
|
|
181
|
+
stopPropagation: false,
|
|
182
|
+
relativeToGroup: GRID_GROUP,
|
|
183
|
+
group: GRID_TAB_NAVIGATION_GROUP,
|
|
184
|
+
position: 'before',
|
|
185
|
+
callback: event => tabNavigationCommand.before(event)
|
|
186
|
+
}, {
|
|
187
|
+
keys: [['Tab'], ['Shift', 'Tab']],
|
|
188
|
+
preventDefault: false,
|
|
189
|
+
stopPropagation: false,
|
|
190
|
+
relativeToGroup: GRID_GROUP,
|
|
191
|
+
group: GRID_TAB_NAVIGATION_GROUP,
|
|
192
|
+
callback: event => tabNavigationCommand.after(event),
|
|
193
|
+
position: 'after'
|
|
194
|
+
}]);
|
|
179
195
|
}
|
package/shortcuts/manager.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface ShortcutManager {
|
|
|
4
4
|
addContext(contextName: string): Context;
|
|
5
5
|
getActiveContextName(): string;
|
|
6
6
|
getContext(contextName: string): Context | undefined;
|
|
7
|
+
getOrCreateContext(contextName: string): Context;
|
|
7
8
|
setActiveContextName(contextName: string): void;
|
|
8
9
|
isCtrlPressed(): boolean;
|
|
9
10
|
destroy(): void;
|
package/shortcuts/manager.js
CHANGED
|
@@ -74,13 +74,27 @@ const createShortcutManager = _ref => {
|
|
|
74
74
|
* Get a keyboard shortcut context by its name.
|
|
75
75
|
*
|
|
76
76
|
* @memberof ShortcutManager#
|
|
77
|
-
* @param {string} contextName The name of the shortcut context
|
|
78
|
-
* @returns {object|undefined} A [`ShortcutContext`](@/api/shortcutContext.md) object that stores registered shortcuts
|
|
77
|
+
* @param {string} contextName The name of the shortcut context.
|
|
78
|
+
* @returns {object|undefined} A [`ShortcutContext`](@/api/shortcutContext.md) object that stores registered shortcuts.
|
|
79
79
|
*/
|
|
80
80
|
const getContext = contextName => {
|
|
81
81
|
return CONTEXTS.getItem(contextName);
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
+
/**
|
|
85
|
+
* Get a keyboard shortcut context by its name, or create it if it doesn't exist.
|
|
86
|
+
*
|
|
87
|
+
* @memberof ShortcutManager#
|
|
88
|
+
* @param {string} contextName The name of the shortcut context
|
|
89
|
+
* @param {string} [scope='table'] The scope of the shortcut: `'table'` or `'global'`
|
|
90
|
+
* @returns {object} A [`ShortcutContext`](@/api/shortcutContext.md) object that stores registered shortcuts
|
|
91
|
+
*/
|
|
92
|
+
const getOrCreateContext = function (contextName) {
|
|
93
|
+
var _getContext;
|
|
94
|
+
let scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'table';
|
|
95
|
+
return (_getContext = getContext(contextName)) !== null && _getContext !== void 0 ? _getContext : addContext(contextName, scope);
|
|
96
|
+
};
|
|
97
|
+
|
|
84
98
|
/**
|
|
85
99
|
* Start listening to keyboard shortcuts within a given [`ShortcutContext`](@/api/shortcutContext.md).
|
|
86
100
|
*
|
|
@@ -178,6 +192,7 @@ const createShortcutManager = _ref => {
|
|
|
178
192
|
addContext,
|
|
179
193
|
getActiveContextName,
|
|
180
194
|
getContext,
|
|
195
|
+
getOrCreateContext,
|
|
181
196
|
setActiveContextName,
|
|
182
197
|
/**
|
|
183
198
|
* Returns whether `control` or `meta` keys are pressed.
|
package/shortcuts/manager.mjs
CHANGED
|
@@ -71,13 +71,27 @@ export const createShortcutManager = _ref => {
|
|
|
71
71
|
* Get a keyboard shortcut context by its name.
|
|
72
72
|
*
|
|
73
73
|
* @memberof ShortcutManager#
|
|
74
|
-
* @param {string} contextName The name of the shortcut context
|
|
75
|
-
* @returns {object|undefined} A [`ShortcutContext`](@/api/shortcutContext.md) object that stores registered shortcuts
|
|
74
|
+
* @param {string} contextName The name of the shortcut context.
|
|
75
|
+
* @returns {object|undefined} A [`ShortcutContext`](@/api/shortcutContext.md) object that stores registered shortcuts.
|
|
76
76
|
*/
|
|
77
77
|
const getContext = contextName => {
|
|
78
78
|
return CONTEXTS.getItem(contextName);
|
|
79
79
|
};
|
|
80
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Get a keyboard shortcut context by its name, or create it if it doesn't exist.
|
|
83
|
+
*
|
|
84
|
+
* @memberof ShortcutManager#
|
|
85
|
+
* @param {string} contextName The name of the shortcut context
|
|
86
|
+
* @param {string} [scope='table'] The scope of the shortcut: `'table'` or `'global'`
|
|
87
|
+
* @returns {object} A [`ShortcutContext`](@/api/shortcutContext.md) object that stores registered shortcuts
|
|
88
|
+
*/
|
|
89
|
+
const getOrCreateContext = function (contextName) {
|
|
90
|
+
var _getContext;
|
|
91
|
+
let scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'table';
|
|
92
|
+
return (_getContext = getContext(contextName)) !== null && _getContext !== void 0 ? _getContext : addContext(contextName, scope);
|
|
93
|
+
};
|
|
94
|
+
|
|
81
95
|
/**
|
|
82
96
|
* Start listening to keyboard shortcuts within a given [`ShortcutContext`](@/api/shortcutContext.md).
|
|
83
97
|
*
|
|
@@ -175,6 +189,7 @@ export const createShortcutManager = _ref => {
|
|
|
175
189
|
addContext,
|
|
176
190
|
getActiveContextName,
|
|
177
191
|
getContext,
|
|
192
|
+
getOrCreateContext,
|
|
178
193
|
setActiveContextName,
|
|
179
194
|
/**
|
|
180
195
|
* Returns whether `control` or `meta` keys are pressed.
|
package/styles/handsontable.css
CHANGED
|
@@ -25,9 +25,26 @@
|
|
|
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: 16.
|
|
29
|
-
* Release date:
|
|
28
|
+
* Version: 16.2.0-next-90d1117-20251117
|
|
29
|
+
* Release date: 20/11/2025 (built at 17/11/2025 11:48:52)
|
|
30
30
|
*/
|
|
31
|
+
.htBorders .wtBorder.ht-border-style-dashed-vertical {
|
|
32
|
+
background-image: repeating-linear-gradient(to bottom, var(--ht-custom-border-color) 0 5px, transparent 0 10px);
|
|
33
|
+
}
|
|
34
|
+
.htBorders .wtBorder.ht-border-style-dashed-horizontal {
|
|
35
|
+
background-image: repeating-linear-gradient(to right, var(--ht-custom-border-color) 0 5px, transparent 0 10px);
|
|
36
|
+
}
|
|
37
|
+
.htBorders .wtBorder.ht-border-style-dotted-horizontal {
|
|
38
|
+
background-image: radial-gradient(circle, var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2), transparent 0);
|
|
39
|
+
background-size: calc(var(--ht-custom-border-size) * 2) var(--ht-custom-border-size);
|
|
40
|
+
background-repeat: repeat-x;
|
|
41
|
+
}
|
|
42
|
+
.htBorders .wtBorder.ht-border-style-dotted-vertical {
|
|
43
|
+
background-image: radial-gradient(circle, var(--ht-custom-border-color) calc(var(--ht-custom-border-size) / 2), transparent 0);
|
|
44
|
+
background-size: var(--ht-custom-border-size) calc(var(--ht-custom-border-size) * 2);
|
|
45
|
+
background-repeat: repeat-y;
|
|
46
|
+
}
|
|
47
|
+
|
|
31
48
|
.ht-root-wrapper:not([class*=ht-theme]),
|
|
32
49
|
.ht-portal:not([class*=ht-theme]) {
|
|
33
50
|
--ht-gap-size: 4px;
|
|
@@ -111,6 +128,8 @@
|
|
|
111
128
|
}
|
|
112
129
|
.handsontable.ht-wrapper {
|
|
113
130
|
border-radius: var(--ht-wrapper-border-radius, 0);
|
|
131
|
+
height: 100%;
|
|
132
|
+
width: 100%;
|
|
114
133
|
}
|
|
115
134
|
.handsontable.ht-wrapper:not(.htFirstDatasetColumnNotRendered) td:first-of-type {
|
|
116
135
|
border-inline-start-width: 1px;
|
|
@@ -138,11 +157,6 @@
|
|
|
138
157
|
border-top-width: 0;
|
|
139
158
|
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 1px);
|
|
140
159
|
}
|
|
141
|
-
.handsontable.htGhostTable table.htGhostTableFirstRow tbody tr th,
|
|
142
|
-
.handsontable.htGhostTable table.htGhostTableFirstRow tbody tr td {
|
|
143
|
-
border-top-width: 1px;
|
|
144
|
-
height: calc(var(--ht-cell-vertical-padding) * 2 + var(--ht-line-height) + 2px);
|
|
145
|
-
}
|
|
146
160
|
.handsontable.htHasScrollX:not(.htHorizontallyScrollableByWindow) .ht_master .wtHolder, .handsontable.htHasScrollY:not(.htVerticallyScrollableByWindow) .ht_master .wtHolder {
|
|
147
161
|
border-radius: var(--ht-wrapper-border-radius, 0);
|
|
148
162
|
}
|
|
@@ -245,9 +259,11 @@
|
|
|
245
259
|
color: var(--ht-header-row-active-foreground-color);
|
|
246
260
|
background-color: var(--ht-header-row-active-background-color);
|
|
247
261
|
}
|
|
248
|
-
.handsontable tbody tr:first-of-type th:first-child,
|
|
249
|
-
.handsontable tbody tr:first-of-type td:first-child {
|
|
250
|
-
|
|
262
|
+
.handsontable tbody tr:first-of-type th:first-child:empty::after,
|
|
263
|
+
.handsontable tbody tr:first-of-type td:first-child:empty::after {
|
|
264
|
+
content: "";
|
|
265
|
+
display: block;
|
|
266
|
+
min-height: var(--ht-line-height);
|
|
251
267
|
}
|
|
252
268
|
.handsontable tbody tr th {
|
|
253
269
|
padding: 0;
|
|
@@ -283,7 +299,7 @@
|
|
|
283
299
|
max-width: calc(100% + 1px);
|
|
284
300
|
}
|
|
285
301
|
.handsontable thead tr th .relative:has(.collapsibleIndicator, .changeType) .colHeader {
|
|
286
|
-
max-width: calc(100% - (var(--ht-icon-size) + var(--ht-gap-size)));
|
|
302
|
+
max-width: calc(100% - (var(--ht-icon-size) + var(--ht-gap-size)) - 1px);
|
|
287
303
|
}
|
|
288
304
|
.handsontable tr:first-child th,
|
|
289
305
|
.handsontable tr:first-child td {
|
|
@@ -427,12 +443,12 @@
|
|
|
427
443
|
.handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) thead tr.lastChild th, .handsontable .ht_master:not(.innerBorderTop):not(.innerBorderBottom) ~ .handsontable thead tr.lastChild th {
|
|
428
444
|
border-bottom-width: 0;
|
|
429
445
|
}
|
|
430
|
-
.handsontable .ht_master.innerBorderTop tbody tr:first-child th,
|
|
431
|
-
.handsontable .ht_master.innerBorderTop tbody tr:first-child td {
|
|
446
|
+
.handsontable.htAutoRowSize .ht_master.innerBorderTop tbody tr:first-child th,
|
|
447
|
+
.handsontable.htAutoRowSize .ht_master.innerBorderTop tbody tr:first-child td {
|
|
432
448
|
border-top-width: 0;
|
|
433
449
|
}
|
|
434
|
-
.handsontable .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child th,
|
|
435
|
-
.handsontable .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child td {
|
|
450
|
+
.handsontable.htAutoRowSize .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child th,
|
|
451
|
+
.handsontable.htAutoRowSize .ht_master.innerBorderTop ~ .ht_clone_inline_start tbody tr:first-child td {
|
|
436
452
|
border-top-width: 0;
|
|
437
453
|
}
|
|
438
454
|
.handsontable .ht_master table.htCore > thead,
|
|
@@ -1196,6 +1212,7 @@
|
|
|
1196
1212
|
color: var(--ht-accent-color);
|
|
1197
1213
|
background: none;
|
|
1198
1214
|
border: none;
|
|
1215
|
+
padding: 0;
|
|
1199
1216
|
}
|
|
1200
1217
|
.pika-single .pika-prev {
|
|
1201
1218
|
order: 1;
|
|
@@ -1369,11 +1386,7 @@
|
|
|
1369
1386
|
position: absolute;
|
|
1370
1387
|
}
|
|
1371
1388
|
|
|
1372
|
-
.handsontable .htUIInput.htUIButton {
|
|
1373
|
-
cursor: pointer;
|
|
1374
|
-
display: inline-block;
|
|
1375
|
-
}
|
|
1376
|
-
.handsontable .htUIInput.htUIButton input {
|
|
1389
|
+
.handsontable .htUIInput.htUIButton input, .handsontable .ht-button {
|
|
1377
1390
|
min-width: 64px;
|
|
1378
1391
|
padding: var(--ht-button-vertical-padding) var(--ht-button-horizontal-padding);
|
|
1379
1392
|
font-family: inherit;
|
|
@@ -1381,50 +1394,51 @@
|
|
|
1381
1394
|
line-height: var(--ht-line-height);
|
|
1382
1395
|
font-weight: var(--ht-font-weight);
|
|
1383
1396
|
border-radius: var(--ht-button-border-radius);
|
|
1397
|
+
border-width: 1px;
|
|
1398
|
+
border-style: solid;
|
|
1384
1399
|
box-sizing: border-box;
|
|
1385
|
-
cursor: pointer;
|
|
1386
1400
|
outline: none !important;
|
|
1387
|
-
|
|
1401
|
+
cursor: pointer;
|
|
1402
|
+
transition: var(--ht-table-transition) all ease-in-out;
|
|
1403
|
+
}
|
|
1404
|
+
.handsontable .htUIInput.htUIButtonCancel input, .handsontable .ht-button--secondary {
|
|
1405
|
+
border-color: var(--ht-secondary-button-border-color);
|
|
1388
1406
|
background-color: var(--ht-secondary-button-background-color);
|
|
1389
1407
|
color: var(--ht-secondary-button-foreground-color);
|
|
1390
|
-
transition: var(--ht-table-transition) all ease-in-out;
|
|
1391
1408
|
}
|
|
1392
|
-
.handsontable .htUIInput.
|
|
1409
|
+
.handsontable .htUIInput.htUIButtonCancel input:hover, .handsontable .ht-button--secondary:hover {
|
|
1393
1410
|
border-color: var(--ht-secondary-button-hover-border-color);
|
|
1394
1411
|
background-color: var(--ht-secondary-button-hover-background-color);
|
|
1395
1412
|
color: var(--ht-secondary-button-hover-foreground-color);
|
|
1396
1413
|
}
|
|
1397
|
-
.handsontable .htUIInput.
|
|
1414
|
+
.handsontable .htUIInput.htUIButtonCancel input:disabled, .handsontable .ht-button--secondary:disabled {
|
|
1398
1415
|
border-color: var(--ht-secondary-button-disabled-border-color);
|
|
1399
1416
|
background-color: var(--ht-secondary-button-disabled-background-color);
|
|
1400
1417
|
color: var(--ht-secondary-button-disabled-foreground-color);
|
|
1401
1418
|
}
|
|
1402
|
-
.handsontable .htUIInput.
|
|
1419
|
+
.handsontable .htUIInput.htUIButtonCancel input:focus, .handsontable .ht-button--secondary:focus {
|
|
1403
1420
|
border-color: var(--ht-secondary-button-focus-border-color);
|
|
1404
1421
|
background-color: var(--ht-secondary-button-focus-background-color);
|
|
1405
1422
|
color: var(--ht-secondary-button-focus-foreground-color);
|
|
1406
1423
|
box-shadow: 0 0 0 1px var(--ht-accent-color);
|
|
1407
1424
|
}
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
margin-inline-end: calc(2 * var(--ht-gap-size, 2px));
|
|
1411
|
-
}
|
|
1412
|
-
.handsontable .htUIInput.htUIButtonOK input {
|
|
1425
|
+
|
|
1426
|
+
.htUIInput.htUIButtonOK input, .ht-button--primary {
|
|
1413
1427
|
border-color: var(--ht-primary-button-border-color);
|
|
1414
1428
|
background-color: var(--ht-primary-button-background-color);
|
|
1415
1429
|
color: var(--ht-primary-button-foreground-color);
|
|
1416
1430
|
}
|
|
1417
|
-
.
|
|
1431
|
+
.htUIInput.htUIButtonOK input:hover, .ht-button--primary:hover {
|
|
1418
1432
|
border-color: var(--ht-primary-button-hover-border-color);
|
|
1419
1433
|
background-color: var(--ht-primary-button-hover-background-color);
|
|
1420
1434
|
color: var(--ht-primary-button-hover-foreground-color);
|
|
1421
1435
|
}
|
|
1422
|
-
.
|
|
1436
|
+
.htUIInput.htUIButtonOK input:disabled, .ht-button--primary:disabled {
|
|
1423
1437
|
border-color: var(--ht-primary-button-disabled-border-color);
|
|
1424
1438
|
background-color: var(--ht-primary-button-disabled-background-color);
|
|
1425
1439
|
color: var(--ht-primary-button-disabled-foreground-color);
|
|
1426
1440
|
}
|
|
1427
|
-
.
|
|
1441
|
+
.htUIInput.htUIButtonOK input:focus, .ht-button--primary:focus {
|
|
1428
1442
|
border-color: var(--ht-primary-button-focus-border-color);
|
|
1429
1443
|
background-color: var(--ht-primary-button-focus-background-color);
|
|
1430
1444
|
color: var(--ht-primary-button-focus-foreground-color);
|
|
@@ -2035,6 +2049,14 @@
|
|
|
2035
2049
|
.handsontable .htUIMultipleSelect .ht_master .wtHolder td {
|
|
2036
2050
|
background: none;
|
|
2037
2051
|
}
|
|
2052
|
+
.handsontable .htUIInput.htUIButton {
|
|
2053
|
+
cursor: pointer;
|
|
2054
|
+
display: inline-block;
|
|
2055
|
+
}
|
|
2056
|
+
.handsontable .htUIInput.htUIButtonOK {
|
|
2057
|
+
margin-inline-start: 0;
|
|
2058
|
+
margin-inline-end: calc(2 * var(--ht-gap-size, 2px));
|
|
2059
|
+
}
|
|
2038
2060
|
|
|
2039
2061
|
.handsontable .htCommentCell {
|
|
2040
2062
|
position: relative;
|
|
@@ -2087,7 +2109,7 @@
|
|
|
2087
2109
|
padding-inline-start: calc(var(--ht-icon-size, 16px) + 2px);
|
|
2088
2110
|
padding-inline-end: calc(var(--ht-icon-size, 16px) + 2px);
|
|
2089
2111
|
min-width: calc(var(--ht-icon-size, 16px) + 8px);
|
|
2090
|
-
max-width: calc(100% - var(--ht-icon-size, 16px) * 2 -
|
|
2112
|
+
max-width: calc(100% - var(--ht-icon-size, 16px) * 2 - 5px) !important;
|
|
2091
2113
|
}
|
|
2092
2114
|
.handsontable .columnSorting:not(.indicatorDisabled).sortAction:hover {
|
|
2093
2115
|
text-decoration: none;
|
|
@@ -2491,6 +2513,58 @@
|
|
|
2491
2513
|
border-radius: var(--ht-dialog-content-border-radius);
|
|
2492
2514
|
background-color: var(--ht-dialog-content-background-color);
|
|
2493
2515
|
}
|
|
2516
|
+
.ht-dialog--confirm .ht-dialog__content-wrapper {
|
|
2517
|
+
text-align: center;
|
|
2518
|
+
padding: calc(var(--ht-gap-size) * 2);
|
|
2519
|
+
}
|
|
2520
|
+
.ht-dialog--confirm .ht-dialog__content-wrapper-inner {
|
|
2521
|
+
display: flex;
|
|
2522
|
+
flex-direction: column;
|
|
2523
|
+
align-items: center;
|
|
2524
|
+
justify-content: center;
|
|
2525
|
+
max-width: 480px;
|
|
2526
|
+
padding: calc(var(--ht-gap-size) * 2);
|
|
2527
|
+
border-radius: var(--ht-wrapper-border-radius);
|
|
2528
|
+
}
|
|
2529
|
+
.ht-dialog--confirm .ht-dialog__content-wrapper-inner--background {
|
|
2530
|
+
box-shadow: var(--ht-shadow-x, 0) var(--ht-shadow-y, 0) var(--ht-shadow-blur, 8px) var(--ht-shadow-color, rgba(0, 0, 0, 0.08));
|
|
2531
|
+
border-radius: var(--ht-dialog-content-border-radius);
|
|
2532
|
+
background-color: var(--ht-dialog-content-background-color);
|
|
2533
|
+
}
|
|
2534
|
+
.ht-dialog--confirm .ht-dialog__content-wrapper-inner:focus {
|
|
2535
|
+
outline: none;
|
|
2536
|
+
box-shadow: 0 0 0 1px var(--ht-accent-color);
|
|
2537
|
+
}
|
|
2538
|
+
.ht-dialog--confirm .ht-dialog__content {
|
|
2539
|
+
display: flex;
|
|
2540
|
+
flex-direction: column;
|
|
2541
|
+
align-items: center;
|
|
2542
|
+
justify-content: center;
|
|
2543
|
+
gap: var(--ht-gap-size);
|
|
2544
|
+
}
|
|
2545
|
+
.ht-dialog--confirm .ht-dialog__content:has(.ht-dialog__buttons) {
|
|
2546
|
+
gap: calc(var(--ht-gap-size) * 2);
|
|
2547
|
+
}
|
|
2548
|
+
.ht-dialog--confirm .ht-dialog__title {
|
|
2549
|
+
margin: 0;
|
|
2550
|
+
font-size: var(--ht-font-size);
|
|
2551
|
+
font-weight: var(--ht-font-weight);
|
|
2552
|
+
line-height: var(--ht-line-height);
|
|
2553
|
+
}
|
|
2554
|
+
.ht-dialog--confirm .ht-dialog__description {
|
|
2555
|
+
margin: 0;
|
|
2556
|
+
color: var(--ht-foreground-secondary-color);
|
|
2557
|
+
font-size: var(--ht-font-size-small);
|
|
2558
|
+
line-height: var(--ht-line-height-small);
|
|
2559
|
+
font-weight: var(--ht-font-weight);
|
|
2560
|
+
}
|
|
2561
|
+
.ht-dialog--confirm .ht-dialog__buttons {
|
|
2562
|
+
display: flex;
|
|
2563
|
+
justify-content: center;
|
|
2564
|
+
flex-direction: row;
|
|
2565
|
+
flex-wrap: wrap;
|
|
2566
|
+
gap: calc(var(--ht-gap-size) * 2);
|
|
2567
|
+
}
|
|
2494
2568
|
|
|
2495
2569
|
.handsontable.ht-pagination {
|
|
2496
2570
|
color: var(--ht-pagination-bar-foreground-color);
|
|
@@ -2660,3 +2734,86 @@
|
|
|
2660
2734
|
transform: rotate(360deg);
|
|
2661
2735
|
}
|
|
2662
2736
|
}
|
|
2737
|
+
.ht-empty-data-state {
|
|
2738
|
+
display: none;
|
|
2739
|
+
position: absolute;
|
|
2740
|
+
width: 100%;
|
|
2741
|
+
left: 0;
|
|
2742
|
+
z-index: 999;
|
|
2743
|
+
overflow-y: auto;
|
|
2744
|
+
border: 1px solid var(--ht-border-color);
|
|
2745
|
+
border-radius: var(--ht-wrapper-border-radius);
|
|
2746
|
+
box-sizing: border-box;
|
|
2747
|
+
background-color: var(--ht-background-color);
|
|
2748
|
+
}
|
|
2749
|
+
.ht-empty-data-state * {
|
|
2750
|
+
box-sizing: border-box !important;
|
|
2751
|
+
}
|
|
2752
|
+
.ht-empty-data-state__content-wrapper {
|
|
2753
|
+
display: flex;
|
|
2754
|
+
align-items: center;
|
|
2755
|
+
justify-content: center;
|
|
2756
|
+
text-align: center;
|
|
2757
|
+
width: 100%;
|
|
2758
|
+
min-height: 100%;
|
|
2759
|
+
padding: calc(var(--ht-gap-size) * 2);
|
|
2760
|
+
border-radius: var(--ht-wrapper-border-radius);
|
|
2761
|
+
}
|
|
2762
|
+
.ht-empty-data-state__content-wrapper-inner {
|
|
2763
|
+
display: flex;
|
|
2764
|
+
flex-direction: column;
|
|
2765
|
+
align-items: center;
|
|
2766
|
+
justify-content: center;
|
|
2767
|
+
max-width: 480px;
|
|
2768
|
+
padding: calc(var(--ht-gap-size) * 2);
|
|
2769
|
+
border-radius: var(--ht-wrapper-border-radius);
|
|
2770
|
+
}
|
|
2771
|
+
.ht-empty-data-state__content-wrapper-inner:focus {
|
|
2772
|
+
outline: none;
|
|
2773
|
+
box-shadow: 0 0 0 1px var(--ht-accent-color);
|
|
2774
|
+
}
|
|
2775
|
+
.ht-empty-data-state__content {
|
|
2776
|
+
display: flex;
|
|
2777
|
+
flex-direction: column;
|
|
2778
|
+
align-items: center;
|
|
2779
|
+
justify-content: center;
|
|
2780
|
+
gap: var(--ht-gap-size);
|
|
2781
|
+
}
|
|
2782
|
+
.ht-empty-data-state__title {
|
|
2783
|
+
margin: 0;
|
|
2784
|
+
font-size: var(--ht-font-size);
|
|
2785
|
+
font-weight: var(--ht-font-weight);
|
|
2786
|
+
line-height: var(--ht-line-height);
|
|
2787
|
+
}
|
|
2788
|
+
.ht-empty-data-state__description {
|
|
2789
|
+
margin: 0;
|
|
2790
|
+
color: var(--ht-foreground-secondary-color);
|
|
2791
|
+
font-size: var(--ht-font-size-small);
|
|
2792
|
+
line-height: var(--ht-line-height-small);
|
|
2793
|
+
font-weight: var(--ht-font-weight);
|
|
2794
|
+
}
|
|
2795
|
+
.ht-empty-data-state__buttons {
|
|
2796
|
+
display: flex;
|
|
2797
|
+
justify-content: center;
|
|
2798
|
+
flex-direction: row;
|
|
2799
|
+
flex-wrap: wrap;
|
|
2800
|
+
gap: calc(var(--ht-gap-size) * 2);
|
|
2801
|
+
}
|
|
2802
|
+
.ht-empty-data-state__buttons--has-buttons {
|
|
2803
|
+
margin-top: calc(var(--ht-gap-size) * 2);
|
|
2804
|
+
}
|
|
2805
|
+
.ht-empty-data-state--disable-top-border {
|
|
2806
|
+
border-start-start-radius: 0;
|
|
2807
|
+
border-start-end-radius: 0;
|
|
2808
|
+
border-top-width: 0;
|
|
2809
|
+
}
|
|
2810
|
+
.ht-empty-data-state--disable-inline-border {
|
|
2811
|
+
border-start-start-radius: 0;
|
|
2812
|
+
border-end-start-radius: 0;
|
|
2813
|
+
border-inline-start-width: 0;
|
|
2814
|
+
}
|
|
2815
|
+
.ht-empty-data-state--disable-bottom-border, .ht-empty-data-state:has(~ .ht-pagination) {
|
|
2816
|
+
border-end-start-radius: 0;
|
|
2817
|
+
border-end-end-radius: 0;
|
|
2818
|
+
border-bottom-width: 0;
|
|
2819
|
+
}
|