handsontable 16.0.1 → 16.1.0-next-abd8f2e-20250904
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 +12 -2
- package/3rdparty/walkontable/src/overlays.mjs +12 -2
- package/3rdparty/walkontable/src/viewport.js +2 -6
- package/3rdparty/walkontable/src/viewport.mjs +2 -6
- package/CHANGELOG.md +37 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/autocompleteType/accessors/index.js +7 -0
- package/cellTypes/autocompleteType/accessors/index.mjs +2 -0
- package/cellTypes/autocompleteType/accessors/valueGetter.js +14 -0
- package/cellTypes/autocompleteType/accessors/valueGetter.mjs +10 -0
- package/cellTypes/autocompleteType/accessors/valueSetter.js +25 -0
- package/cellTypes/autocompleteType/accessors/valueSetter.mjs +21 -0
- package/cellTypes/autocompleteType/autocompleteType.js +4 -1
- package/cellTypes/autocompleteType/autocompleteType.mjs +4 -1
- package/cellTypes/checkboxType/accessors/index.js +5 -0
- package/cellTypes/checkboxType/accessors/index.mjs +1 -0
- package/cellTypes/checkboxType/accessors/valueSetter.js +26 -0
- package/cellTypes/checkboxType/accessors/valueSetter.mjs +22 -0
- package/cellTypes/checkboxType/checkboxType.js +3 -1
- package/cellTypes/checkboxType/checkboxType.mjs +3 -1
- package/cellTypes/dropdownType/accessors/index.js +7 -0
- package/cellTypes/dropdownType/accessors/index.mjs +2 -0
- package/cellTypes/dropdownType/accessors/valueGetter.js +14 -0
- package/cellTypes/dropdownType/accessors/valueGetter.mjs +10 -0
- package/cellTypes/dropdownType/accessors/valueSetter.js +17 -0
- package/cellTypes/dropdownType/accessors/valueSetter.mjs +13 -0
- package/cellTypes/dropdownType/dropdownType.js +4 -1
- package/cellTypes/dropdownType/dropdownType.mjs +4 -1
- package/cellTypes/numericType/accessors/index.js +5 -0
- package/cellTypes/numericType/accessors/index.mjs +1 -0
- package/cellTypes/numericType/accessors/valueSetter.js +19 -0
- package/cellTypes/numericType/accessors/valueSetter.mjs +15 -0
- package/cellTypes/numericType/numericType.js +3 -1
- package/cellTypes/numericType/numericType.mjs +3 -1
- package/core/focusCatcher/index.js +37 -112
- package/core/focusCatcher/index.mjs +35 -110
- package/core/focusCatcher/utils.js +31 -0
- package/core/focusCatcher/utils.mjs +27 -0
- package/core/hooks/constants.js +242 -0
- package/core/hooks/constants.mjs +242 -0
- package/core/hooks/index.d.ts +22 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.js +5 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +5 -1
- package/core/viewportScroll/utils.js +1 -1
- package/core/viewportScroll/utils.mjs +1 -1
- package/core.d.ts +4 -0
- package/core.js +237 -139
- package/core.mjs +240 -142
- package/dataMap/dataMap.js +13 -3
- package/dataMap/dataMap.mjs +14 -4
- package/dataMap/dataSource.js +16 -0
- package/dataMap/dataSource.mjs +16 -0
- package/dataMap/metaManager/lazyFactoryMap.js +4 -3
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +3 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +3 -2
- package/dataMap/metaManager/metaSchema.js +289 -4
- package/dataMap/metaManager/metaSchema.mjs +289 -4
- package/dataMap/metaManager/utils.js +0 -11
- package/dataMap/metaManager/utils.mjs +0 -10
- package/dataMap/replaceData.js +1 -0
- package/dataMap/replaceData.mjs +1 -0
- package/dist/handsontable.css +281 -4
- package/dist/handsontable.full.css +281 -4
- package/dist/handsontable.full.js +7844 -2990
- package/dist/handsontable.full.min.css +4 -5
- package/dist/handsontable.full.min.js +167 -165
- package/dist/handsontable.js +9639 -4806
- package/dist/handsontable.min.css +4 -4
- package/dist/handsontable.min.js +52 -50
- package/dist/languages/all.js +231 -21
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +11 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +11 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +11 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +11 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +11 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +11 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fa-IR.js +11 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/languages/fr-FR.js +11 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.js +11 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.js +11 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +11 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +11 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +11 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +11 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +11 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +11 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +11 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +11 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +11 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +11 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +11 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +4 -4
- package/editorManager.mjs +4 -4
- package/editors/autocompleteEditor/autocompleteEditor.js +50 -112
- package/editors/autocompleteEditor/autocompleteEditor.mjs +51 -113
- package/editors/baseEditor/baseEditor.js +10 -6
- package/editors/baseEditor/baseEditor.mjs +10 -6
- package/editors/handsontableEditor/handsontableEditor.js +9 -9
- package/editors/handsontableEditor/handsontableEditor.mjs +9 -9
- package/editors/textEditor/textEditor.js +0 -7
- package/editors/textEditor/textEditor.mjs +0 -7
- package/focusManager.js +2 -2
- package/focusManager.mjs +2 -2
- package/helpers/a11y.js +15 -2
- package/helpers/a11y.mjs +10 -2
- package/helpers/console.js +12 -0
- package/helpers/console.mjs +11 -0
- package/helpers/dom/element.js +4 -4
- package/helpers/dom/element.mjs +4 -4
- package/helpers/mixed.js +65 -2
- package/helpers/mixed.mjs +63 -2
- package/helpers/number.js +28 -0
- package/helpers/number.mjs +26 -0
- package/helpers/object.js +35 -0
- package/helpers/object.mjs +34 -0
- package/helpers/string.js +19 -0
- package/helpers/string.mjs +18 -0
- package/helpers/templateLiteralTag.js +57 -1
- package/helpers/templateLiteralTag.mjs +56 -1
- package/i18n/constants.js +13 -1
- package/i18n/constants.mjs +13 -1
- package/i18n/languages/ar-AR.js +11 -1
- package/i18n/languages/ar-AR.mjs +11 -1
- package/i18n/languages/cs-CZ.js +11 -1
- package/i18n/languages/cs-CZ.mjs +11 -1
- package/i18n/languages/de-CH.js +11 -1
- package/i18n/languages/de-CH.mjs +11 -1
- package/i18n/languages/de-DE.js +11 -1
- package/i18n/languages/de-DE.mjs +11 -1
- package/i18n/languages/en-US.js +11 -1
- package/i18n/languages/en-US.mjs +11 -1
- package/i18n/languages/es-MX.js +11 -1
- package/i18n/languages/es-MX.mjs +11 -1
- package/i18n/languages/fa-IR.js +11 -1
- package/i18n/languages/fa-IR.mjs +11 -1
- package/i18n/languages/fr-FR.js +11 -1
- package/i18n/languages/fr-FR.mjs +11 -1
- package/i18n/languages/hr-HR.js +11 -1
- package/i18n/languages/hr-HR.mjs +11 -1
- package/i18n/languages/it-IT.js +11 -1
- package/i18n/languages/it-IT.mjs +11 -1
- package/i18n/languages/ja-JP.js +11 -1
- package/i18n/languages/ja-JP.mjs +11 -1
- package/i18n/languages/ko-KR.js +11 -1
- package/i18n/languages/ko-KR.mjs +11 -1
- package/i18n/languages/lv-LV.js +11 -1
- package/i18n/languages/lv-LV.mjs +11 -1
- package/i18n/languages/nb-NO.js +11 -1
- package/i18n/languages/nb-NO.mjs +11 -1
- package/i18n/languages/nl-NL.js +11 -1
- package/i18n/languages/nl-NL.mjs +11 -1
- package/i18n/languages/pl-PL.js +11 -1
- package/i18n/languages/pl-PL.mjs +11 -1
- package/i18n/languages/pt-BR.js +11 -1
- package/i18n/languages/pt-BR.mjs +11 -1
- package/i18n/languages/ru-RU.js +11 -1
- package/i18n/languages/ru-RU.mjs +11 -1
- package/i18n/languages/sr-SP.js +11 -1
- package/i18n/languages/sr-SP.mjs +11 -1
- package/i18n/languages/zh-CN.js +11 -1
- package/i18n/languages/zh-CN.mjs +11 -1
- package/i18n/languages/zh-TW.js +11 -1
- package/i18n/languages/zh-TW.mjs +11 -1
- package/i18n/phraseFormatters/index.js +3 -1
- package/i18n/phraseFormatters/index.mjs +3 -1
- package/i18n/registry.js +5 -6
- package/i18n/registry.mjs +5 -6
- package/index.d.ts +27 -0
- package/languages/all.js +231 -21
- package/languages/ar-AR.js +11 -1
- package/languages/ar-AR.mjs +11 -1
- package/languages/cs-CZ.js +11 -1
- package/languages/cs-CZ.mjs +11 -1
- package/languages/de-CH.js +11 -1
- package/languages/de-CH.mjs +11 -1
- package/languages/de-DE.js +11 -1
- package/languages/de-DE.mjs +11 -1
- package/languages/en-US.js +11 -1
- package/languages/en-US.mjs +11 -1
- package/languages/es-MX.js +11 -1
- package/languages/es-MX.mjs +11 -1
- package/languages/fa-IR.js +11 -1
- package/languages/fa-IR.mjs +11 -1
- package/languages/fr-FR.js +11 -1
- package/languages/fr-FR.mjs +11 -1
- package/languages/hr-HR.js +11 -1
- package/languages/hr-HR.mjs +11 -1
- package/languages/index.js +231 -21
- package/languages/it-IT.js +11 -1
- package/languages/it-IT.mjs +11 -1
- package/languages/ja-JP.js +11 -1
- package/languages/ja-JP.mjs +11 -1
- package/languages/ko-KR.js +11 -1
- package/languages/ko-KR.mjs +11 -1
- package/languages/lv-LV.js +11 -1
- package/languages/lv-LV.mjs +11 -1
- package/languages/nb-NO.js +11 -1
- package/languages/nb-NO.mjs +11 -1
- package/languages/nl-NL.js +11 -1
- package/languages/nl-NL.mjs +11 -1
- package/languages/pl-PL.js +11 -1
- package/languages/pl-PL.mjs +11 -1
- package/languages/pt-BR.js +11 -1
- package/languages/pt-BR.mjs +11 -1
- package/languages/ru-RU.js +11 -1
- package/languages/ru-RU.mjs +11 -1
- package/languages/sr-SP.js +11 -1
- package/languages/sr-SP.mjs +11 -1
- package/languages/zh-CN.js +11 -1
- package/languages/zh-CN.mjs +11 -1
- package/languages/zh-TW.js +11 -1
- package/languages/zh-TW.mjs +11 -1
- package/mixins/localHooks.js +16 -0
- package/mixins/localHooks.mjs +16 -0
- package/package.json +19 -1
- package/plugins/autoRowSize/autoRowSize.js +43 -6
- package/plugins/autoRowSize/autoRowSize.mjs +43 -6
- package/plugins/autofill/autofill.js +50 -3
- package/plugins/autofill/autofill.mjs +50 -3
- package/plugins/base/base.js +86 -15
- package/plugins/base/base.mjs +87 -16
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -4
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +4 -4
- package/plugins/columnSorting/columnSorting.js +3 -3
- package/plugins/columnSorting/columnSorting.mjs +3 -3
- package/plugins/comments/comments.js +52 -22
- package/plugins/comments/comments.mjs +52 -22
- package/plugins/comments/contextMenuItem/addEditComment.js +3 -3
- package/plugins/comments/contextMenuItem/addEditComment.mjs +3 -3
- package/plugins/comments/contextMenuItem/readOnlyComment.js +2 -2
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +2 -2
- package/plugins/comments/contextMenuItem/removeComment.js +2 -2
- package/plugins/comments/contextMenuItem/removeComment.mjs +2 -2
- package/plugins/contextMenu/contextMenu.js +4 -5
- package/plugins/contextMenu/contextMenu.mjs +4 -5
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +5 -5
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +5 -5
- package/plugins/contextMenu/menu/menu.js +3 -3
- package/plugins/contextMenu/menu/menu.mjs +3 -3
- package/plugins/contextMenu/menu/positioner.js +1 -1
- package/plugins/contextMenu/menu/positioner.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
- package/plugins/copyPaste/contextMenuItem/copy.mjs +1 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +3 -3
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +3 -3
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +3 -3
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +75 -40
- package/plugins/copyPaste/copyPaste.mjs +76 -41
- package/plugins/customBorders/customBorders.js +1 -1
- package/plugins/customBorders/customBorders.mjs +1 -1
- package/plugins/dialog/dialog.d.ts +23 -0
- package/plugins/dialog/dialog.js +489 -0
- package/plugins/dialog/dialog.mjs +485 -0
- package/plugins/dialog/index.d.ts +1 -0
- package/plugins/dialog/index.js +7 -0
- package/plugins/dialog/index.mjs +1 -0
- package/plugins/dialog/ui.js +264 -0
- package/plugins/dialog/ui.mjs +259 -0
- package/plugins/dropdownMenu/dropdownMenu.js +5 -4
- package/plugins/dropdownMenu/dropdownMenu.mjs +5 -4
- package/plugins/filters/filters.js +2 -2
- package/plugins/filters/filters.mjs +2 -2
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -3
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +3 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +4 -4
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +4 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -3
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +3 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.js +4 -4
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +4 -4
- package/plugins/index.d.ts +9 -0
- package/plugins/index.js +9 -0
- package/plugins/index.mjs +7 -1
- package/plugins/loading/content.js +36 -0
- package/plugins/loading/content.mjs +31 -0
- package/plugins/loading/index.d.ts +1 -0
- package/plugins/loading/index.js +7 -0
- package/plugins/loading/index.mjs +1 -0
- package/plugins/loading/loading.d.ts +19 -0
- package/plugins/loading/loading.js +292 -0
- package/plugins/loading/loading.mjs +287 -0
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +3 -3
- package/plugins/manualColumnMove/manualColumnMove.mjs +3 -3
- package/plugins/manualColumnResize/manualColumnResize.js +3 -3
- package/plugins/manualColumnResize/manualColumnResize.mjs +3 -3
- package/plugins/manualRowMove/manualRowMove.js +4 -4
- package/plugins/manualRowMove/manualRowMove.mjs +4 -4
- package/plugins/manualRowResize/manualRowResize.js +5 -2
- package/plugins/manualRowResize/manualRowResize.mjs +5 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +15 -15
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +15 -15
- package/plugins/mergeCells/focusOrder.js +75 -39
- package/plugins/mergeCells/focusOrder.mjs +75 -39
- package/plugins/mergeCells/mergeCells.js +26 -19
- package/plugins/mergeCells/mergeCells.mjs +26 -19
- package/plugins/mergeCells/renderer.js +14 -8
- package/plugins/mergeCells/renderer.mjs +14 -8
- package/plugins/multiColumnSorting/multiColumnSorting.js +3 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +3 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +3 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +3 -3
- package/plugins/nestedHeaders/nestedHeaders.js +47 -41
- package/plugins/nestedHeaders/nestedHeaders.mjs +47 -41
- package/plugins/nestedRows/nestedRows.js +3 -3
- package/plugins/nestedRows/nestedRows.mjs +3 -3
- package/plugins/nestedRows/ui/collapsing.js +1 -2
- package/plugins/nestedRows/ui/collapsing.mjs +1 -2
- package/plugins/nestedRows/ui/contextMenu.js +4 -4
- package/plugins/nestedRows/ui/contextMenu.mjs +4 -4
- package/plugins/nestedRows/ui/headers.js +4 -1
- package/plugins/nestedRows/ui/headers.mjs +4 -1
- package/plugins/pagination/focusController.js +27 -0
- package/plugins/pagination/focusController.mjs +23 -0
- package/plugins/pagination/index.d.ts +1 -0
- package/plugins/pagination/index.js +7 -0
- package/plugins/pagination/index.mjs +1 -0
- package/plugins/pagination/pagination.d.ts +52 -0
- package/plugins/pagination/pagination.js +1034 -0
- package/plugins/pagination/pagination.mjs +1030 -0
- package/plugins/pagination/strategies/autoPageSize.js +96 -0
- package/plugins/pagination/strategies/autoPageSize.mjs +92 -0
- package/plugins/pagination/strategies/fixedPageSize.js +88 -0
- package/plugins/pagination/strategies/fixedPageSize.mjs +84 -0
- package/plugins/pagination/strategies/index.js +22 -0
- package/plugins/pagination/strategies/index.mjs +18 -0
- package/plugins/pagination/ui.js +449 -0
- package/plugins/pagination/ui.mjs +443 -0
- package/plugins/pagination/utils.js +28 -0
- package/plugins/pagination/utils.mjs +24 -0
- package/plugins/stretchColumns/calculator.js +4 -0
- package/plugins/stretchColumns/calculator.mjs +4 -0
- package/plugins/stretchColumns/stretchColumns.js +1 -1
- package/plugins/stretchColumns/stretchColumns.mjs +1 -1
- package/plugins/undoRedo/actions/dataChange.js +17 -15
- package/plugins/undoRedo/actions/dataChange.mjs +17 -15
- package/renderers/checkboxRenderer/checkboxRenderer.js +3 -3
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -3
- package/selection/range.js +11 -0
- package/selection/range.mjs +11 -0
- package/selection/selection.js +163 -124
- package/selection/selection.mjs +163 -124
- package/selection/transformation/_base.js +448 -0
- package/selection/transformation/_base.mjs +443 -0
- package/selection/transformation/extender.js +55 -0
- package/selection/transformation/extender.mjs +51 -0
- package/selection/transformation/focus.js +77 -0
- package/selection/transformation/focus.mjs +73 -0
- package/selection/transformation/index.js +7 -0
- package/selection/transformation/index.mjs +2 -0
- package/selection/utils.js +2 -1
- package/selection/utils.mjs +2 -1
- package/settings.d.ts +10 -1
- package/shortcutContexts/commands/editor/fastOpen.js +1 -1
- package/shortcutContexts/commands/editor/fastOpen.mjs +1 -1
- package/shortcutContexts/commands/editor/open.js +10 -4
- package/shortcutContexts/commands/editor/open.mjs +10 -4
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +2 -2
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +2 -2
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +2 -2
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +5 -2
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +5 -2
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +5 -2
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +5 -2
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +1 -1
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +2 -2
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +2 -2
- package/shortcutContexts/commands/scrollToFocusedCell.js +1 -1
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +1 -1
- package/shortcutContexts/grid.js +3 -3
- package/shortcutContexts/grid.mjs +3 -3
- package/shortcuts/context.js +4 -1
- package/shortcuts/context.mjs +4 -1
- package/shortcuts/manager.js +17 -3
- package/shortcuts/manager.mjs +17 -3
- package/styles/handsontable.css +288 -22
- package/styles/handsontable.min.css +3 -3
- package/styles/ht-theme-classic.css +828 -0
- package/styles/ht-theme-classic.min.css +30 -0
- package/styles/ht-theme-horizon.css +122 -26
- package/styles/ht-theme-horizon.min.css +3 -3
- package/styles/ht-theme-main.css +124 -28
- package/styles/ht-theme-main.min.css +3 -3
- package/tableView.js +61 -25
- package/tableView.mjs +61 -25
- package/utils/a11yAnnouncer.js +70 -0
- package/utils/a11yAnnouncer.mjs +64 -0
- package/{core/focusCatcher → utils}/focusDetector.js +30 -12
- package/{core/focusCatcher → utils}/focusDetector.mjs +30 -12
- package/utils/samplesGenerator.js +17 -1
- package/utils/samplesGenerator.mjs +17 -1
- package/utils/stylesHandler.js +23 -8
- package/utils/stylesHandler.mjs +23 -8
- package/utils/valueAccessors.js +45 -0
- package/utils/valueAccessors.mjs +40 -0
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -1
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -1
- package/selection/transformation.js +0 -335
- package/selection/transformation.mjs +0 -331
package/dataMap/dataMap.js
CHANGED
@@ -12,6 +12,7 @@ var _object = require("../helpers/object");
|
|
12
12
|
var _array = require("../helpers/array");
|
13
13
|
var _number = require("../helpers/number");
|
14
14
|
var _mixed = require("../helpers/mixed");
|
15
|
+
var _valueAccessors = require("../utils/valueAccessors");
|
15
16
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
16
17
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
17
18
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
@@ -669,9 +670,18 @@ class DataMap {
|
|
669
670
|
} else if (typeof prop === 'function') {
|
670
671
|
value = prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0]);
|
671
672
|
}
|
673
|
+
const visualColumnIndex = this.propToCol(prop);
|
674
|
+
const physicalColumn = this.hot.toPhysicalColumn(visualColumnIndex);
|
675
|
+
if ((0, _number.isUnsignedNumber)(physicalRow) && (0, _number.isUnsignedNumber)(physicalColumn)) {
|
676
|
+
value = (0, _valueAccessors.getValueGetterValue)(value, this.metaManager.getCellMeta(physicalRow, physicalColumn, {
|
677
|
+
visualRow: row,
|
678
|
+
visualColumn: visualColumnIndex,
|
679
|
+
skipMetaExtension: true
|
680
|
+
}));
|
681
|
+
}
|
672
682
|
if (this.hot.hasHook('modifyData')) {
|
673
683
|
const valueHolder = (0, _object.createObjectPropListener)(value);
|
674
|
-
this.hot.runHooks('modifyData', row,
|
684
|
+
this.hot.runHooks('modifyData', row, visualColumnIndex, valueHolder, 'get');
|
675
685
|
if (valueHolder.isTouched()) {
|
676
686
|
value = valueHolder.value;
|
677
687
|
}
|
@@ -682,7 +692,7 @@ class DataMap {
|
|
682
692
|
/**
|
683
693
|
* Returns single value from the data array (intended for clipboard copy to an external application).
|
684
694
|
*
|
685
|
-
* @param {number} row
|
695
|
+
* @param {number} row Visual row index.
|
686
696
|
* @param {number} prop The column property.
|
687
697
|
* @returns {string}
|
688
698
|
*/
|
@@ -697,7 +707,7 @@ class DataMap {
|
|
697
707
|
* Saves single value to the data array.
|
698
708
|
*
|
699
709
|
* @param {number} row Visual row index.
|
700
|
-
* @param {number} prop The column property.
|
710
|
+
* @param {number|string} prop The column property.
|
701
711
|
* @param {string} value The value to set.
|
702
712
|
*/
|
703
713
|
set(row, prop, value) {
|
package/dataMap/dataMap.mjs
CHANGED
@@ -10,8 +10,9 @@ import { stringify } from "../3rdparty/SheetClip/index.mjs";
|
|
10
10
|
import { countFirstRowKeys } from "../helpers/data.mjs";
|
11
11
|
import { createObjectPropListener, deepClone, deepExtend, deepObjectSize, duckSchema, hasOwnProperty, isObject, objectEach } from "../helpers/object.mjs";
|
12
12
|
import { extendArray, to2dArray } from "../helpers/array.mjs";
|
13
|
-
import { rangeEach } from "../helpers/number.mjs";
|
13
|
+
import { rangeEach, isUnsignedNumber } from "../helpers/number.mjs";
|
14
14
|
import { isDefined } from "../helpers/mixed.mjs";
|
15
|
+
import { getValueGetterValue } from "../utils/valueAccessors.mjs";
|
15
16
|
/*
|
16
17
|
This class contains open-source contributions covered by the MIT license.
|
17
18
|
|
@@ -665,9 +666,18 @@ class DataMap {
|
|
665
666
|
} else if (typeof prop === 'function') {
|
666
667
|
value = prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0]);
|
667
668
|
}
|
669
|
+
const visualColumnIndex = this.propToCol(prop);
|
670
|
+
const physicalColumn = this.hot.toPhysicalColumn(visualColumnIndex);
|
671
|
+
if (isUnsignedNumber(physicalRow) && isUnsignedNumber(physicalColumn)) {
|
672
|
+
value = getValueGetterValue(value, this.metaManager.getCellMeta(physicalRow, physicalColumn, {
|
673
|
+
visualRow: row,
|
674
|
+
visualColumn: visualColumnIndex,
|
675
|
+
skipMetaExtension: true
|
676
|
+
}));
|
677
|
+
}
|
668
678
|
if (this.hot.hasHook('modifyData')) {
|
669
679
|
const valueHolder = createObjectPropListener(value);
|
670
|
-
this.hot.runHooks('modifyData', row,
|
680
|
+
this.hot.runHooks('modifyData', row, visualColumnIndex, valueHolder, 'get');
|
671
681
|
if (valueHolder.isTouched()) {
|
672
682
|
value = valueHolder.value;
|
673
683
|
}
|
@@ -678,7 +688,7 @@ class DataMap {
|
|
678
688
|
/**
|
679
689
|
* Returns single value from the data array (intended for clipboard copy to an external application).
|
680
690
|
*
|
681
|
-
* @param {number} row
|
691
|
+
* @param {number} row Visual row index.
|
682
692
|
* @param {number} prop The column property.
|
683
693
|
* @returns {string}
|
684
694
|
*/
|
@@ -693,7 +703,7 @@ class DataMap {
|
|
693
703
|
* Saves single value to the data array.
|
694
704
|
*
|
695
705
|
* @param {number} row Visual row index.
|
696
|
-
* @param {number} prop The column property.
|
706
|
+
* @param {number|string} prop The column property.
|
697
707
|
* @param {string} value The value to set.
|
698
708
|
*/
|
699
709
|
set(row, prop, value) {
|
package/dataMap/dataSource.js
CHANGED
@@ -277,6 +277,22 @@ class DataSource {
|
|
277
277
|
return result;
|
278
278
|
}
|
279
279
|
|
280
|
+
/**
|
281
|
+
* Returns single value from the data array (intended for clipboard copy to an external application).
|
282
|
+
*
|
283
|
+
* @param {number} row Visual row index.
|
284
|
+
* @param {number} prop The column property.
|
285
|
+
* @since 16.1.0
|
286
|
+
* @returns {string}
|
287
|
+
*/
|
288
|
+
getCopyable(row, prop) {
|
289
|
+
const visualColumn = this.propToCol(prop);
|
290
|
+
if (this.hot.getCellMeta(row, visualColumn).copyable) {
|
291
|
+
return this.getAtCell(this.hot.toPhysicalRow(row), visualColumn);
|
292
|
+
}
|
293
|
+
return '';
|
294
|
+
}
|
295
|
+
|
280
296
|
/**
|
281
297
|
* Count number of rows.
|
282
298
|
*
|
package/dataMap/dataSource.mjs
CHANGED
@@ -274,6 +274,22 @@ class DataSource {
|
|
274
274
|
return result;
|
275
275
|
}
|
276
276
|
|
277
|
+
/**
|
278
|
+
* Returns single value from the data array (intended for clipboard copy to an external application).
|
279
|
+
*
|
280
|
+
* @param {number} row Visual row index.
|
281
|
+
* @param {number} prop The column property.
|
282
|
+
* @since 16.1.0
|
283
|
+
* @returns {string}
|
284
|
+
*/
|
285
|
+
getCopyable(row, prop) {
|
286
|
+
const visualColumn = this.propToCol(prop);
|
287
|
+
if (this.hot.getCellMeta(row, visualColumn).copyable) {
|
288
|
+
return this.getAtCell(this.hot.toPhysicalRow(row), visualColumn);
|
289
|
+
}
|
290
|
+
return '';
|
291
|
+
}
|
292
|
+
|
277
293
|
/**
|
278
294
|
* Count number of rows.
|
279
295
|
*
|
@@ -13,6 +13,7 @@ require("core-js/modules/es.set.union.v2.js");
|
|
13
13
|
require("core-js/modules/esnext.iterator.constructor.js");
|
14
14
|
require("core-js/modules/esnext.iterator.filter.js");
|
15
15
|
var _utils = require("./utils");
|
16
|
+
var _number = require("../../helpers/number");
|
16
17
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
17
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
18
19
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
@@ -179,7 +180,7 @@ class LazyFactoryMap {
|
|
179
180
|
* @returns {*}
|
180
181
|
*/
|
181
182
|
obtain(key) {
|
182
|
-
(0, _utils.assert)(() => (0,
|
183
|
+
(0, _utils.assert)(() => (0, _number.isUnsignedNumber)(key), 'Expecting an unsigned number.');
|
183
184
|
const dataIndex = this._getStorageIndexByKey(key);
|
184
185
|
let result;
|
185
186
|
if (dataIndex >= 0) {
|
@@ -213,7 +214,7 @@ class LazyFactoryMap {
|
|
213
214
|
*/
|
214
215
|
insert(key) {
|
215
216
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
216
|
-
(0, _utils.assert)(() => (0,
|
217
|
+
(0, _utils.assert)(() => (0, _number.isUnsignedNumber)(key) || (0, _utils.isNullish)(key), 'Expecting an unsigned number or null/undefined argument.');
|
217
218
|
const newIndexes = [];
|
218
219
|
const dataLength = this.data.length;
|
219
220
|
for (let i = 0; i < amount; i++) {
|
@@ -232,7 +233,7 @@ class LazyFactoryMap {
|
|
232
233
|
*/
|
233
234
|
remove(key) {
|
234
235
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
235
|
-
(0, _utils.assert)(() => (0,
|
236
|
+
(0, _utils.assert)(() => (0, _number.isUnsignedNumber)(key) || (0, _utils.isNullish)(key), 'Expecting an unsigned number or null/undefined argument.');
|
236
237
|
const removed = this.index.splice((0, _utils.isNullish)(key) ? this.index.length - amount : key, amount);
|
237
238
|
for (let i = 0; i < removed.length; i++) {
|
238
239
|
const removedIndex = removed[i];
|
@@ -12,7 +12,8 @@ import "core-js/modules/esnext.iterator.filter.js";
|
|
12
12
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
13
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
14
14
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
15
|
-
import { assert,
|
15
|
+
import { assert, isNullish } from "./utils.mjs";
|
16
|
+
import { isUnsignedNumber } from "../../helpers/number.mjs";
|
16
17
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
17
18
|
/**
|
18
19
|
* @class LazyFactoryMap
|
@@ -3,10 +3,11 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
-
var _object = require("../../../helpers/object");
|
7
6
|
var _utils = require("../utils");
|
8
7
|
var _lazyFactoryMap = _interopRequireDefault(require("../lazyFactoryMap"));
|
8
|
+
var _object = require("../../../helpers/object");
|
9
9
|
var _mixed = require("../../../helpers/mixed");
|
10
|
+
var _number = require("../../../helpers/number");
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
12
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
12
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
@@ -189,7 +190,7 @@ class CellMeta {
|
|
189
190
|
* @returns {object[]}
|
190
191
|
*/
|
191
192
|
getMetasAtRow(physicalRow) {
|
192
|
-
(0, _utils.assert)(() => (0,
|
193
|
+
(0, _utils.assert)(() => (0, _number.isUnsignedNumber)(physicalRow), 'Expecting an unsigned number.');
|
193
194
|
const rowsMeta = new Map(this.metas);
|
194
195
|
return rowsMeta.has(physicalRow) ? Array.from(rowsMeta.get(physicalRow).values()) : [];
|
195
196
|
}
|
@@ -3,10 +3,11 @@ import "core-js/modules/es.array.push.js";
|
|
3
3
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
4
4
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
5
5
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
6
|
-
import {
|
7
|
-
import { extendByMetaType, assert, isUnsignedNumber } from "../utils.mjs";
|
6
|
+
import { extendByMetaType, assert } from "../utils.mjs";
|
8
7
|
import LazyFactoryMap from "../lazyFactoryMap.mjs";
|
8
|
+
import { extend } from "../../../helpers/object.mjs";
|
9
9
|
import { isDefined } from "../../../helpers/mixed.mjs";
|
10
|
+
import { isUnsignedNumber } from "../../../helpers/number.mjs";
|
10
11
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
11
12
|
/**
|
12
13
|
* @class CellMeta
|
@@ -1797,6 +1797,117 @@ var _default = () => {
|
|
1797
1797
|
* ```
|
1798
1798
|
*/
|
1799
1799
|
disableVisualSelection: false,
|
1800
|
+
/**
|
1801
|
+
* @description
|
1802
|
+
* The `dialog` option configures the [`Dialog`](@/api/dialog.md) plugin.
|
1803
|
+
*
|
1804
|
+
* You can set the `dialog` option to one of the following:
|
1805
|
+
*
|
1806
|
+
* | Setting | Description |
|
1807
|
+
* | --------- | --------------------------------------------------------------------------- |
|
1808
|
+
* | `false` | Disable the [`Dialog`](@/api/dialog.md) plugin |
|
1809
|
+
* | `true` | Enable the [`Dialog`](@/api/dialog.md) plugin with default options |
|
1810
|
+
*
|
1811
|
+
* ##### dialog: Additional options
|
1812
|
+
*
|
1813
|
+
* | Option | Possible settings | Description |
|
1814
|
+
* | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------|
|
1815
|
+
* | `content` | A string, HTMLElement or DocumentFragment (default: `''`) | The content of the dialog |
|
1816
|
+
* | `customClassName` | A string (default: `''`) | The custom class name of the dialog |
|
1817
|
+
* | `background` | One of the options: `'solid'` or `'semi-transparent'` (default: `'solid'`) | The background of the dialog |
|
1818
|
+
* | `contentBackground` | Boolean (default: `false`) | Whether to show the content background |
|
1819
|
+
* | `animation` | Boolean (default: `true`) | Whether to show the animation |
|
1820
|
+
* | `closable` | Boolean (default: `false`) | Whether to make the dialog closable |
|
1821
|
+
* | `a11y` | Object with accessibility options (default: `{ role: 'dialog', ariaLabel: 'Dialog', ariaLabelledby: '', ariaDescribedby: '' }`) | Accessibility options for the dialog |
|
1822
|
+
*
|
1823
|
+
* Read more:
|
1824
|
+
* - [Plugins: `Dialog`](@/api/dialog.md)
|
1825
|
+
*
|
1826
|
+
* @since 16.1.0
|
1827
|
+
* @memberof Options#
|
1828
|
+
* @type {boolean|object}
|
1829
|
+
* @default false
|
1830
|
+
* @category Dialog
|
1831
|
+
*
|
1832
|
+
* @example
|
1833
|
+
* ::: only-for javascript
|
1834
|
+
* ```js
|
1835
|
+
* // enable the Dialog plugin with default option
|
1836
|
+
* dialog: true,
|
1837
|
+
*
|
1838
|
+
* // enable the Dialog plugin with custom configuration
|
1839
|
+
* dialog: {
|
1840
|
+
* content: 'Dialog content',
|
1841
|
+
* customClassName: 'custom-dialog',
|
1842
|
+
* background: 'semi-transparent',
|
1843
|
+
* contentBackground: false,
|
1844
|
+
* animation: false,
|
1845
|
+
* closable: true,
|
1846
|
+
* a11y: {
|
1847
|
+
* role: 'dialog',
|
1848
|
+
* ariaLabel: 'Dialog',
|
1849
|
+
* ariaLabelledby: 'titleID',
|
1850
|
+
* ariaDescribedby: 'descriptionID',
|
1851
|
+
* }
|
1852
|
+
* }
|
1853
|
+
* ```
|
1854
|
+
* :::
|
1855
|
+
*
|
1856
|
+
* ::: only-for react
|
1857
|
+
* ```jsx
|
1858
|
+
* // enable the Dialog plugin with default option
|
1859
|
+
* <HotTable
|
1860
|
+
* dialog={true}
|
1861
|
+
* />
|
1862
|
+
*
|
1863
|
+
* // enable the Dialog plugin with custom configuration
|
1864
|
+
* <HotTable
|
1865
|
+
* dialog={{
|
1866
|
+
* content: 'Dialog content',
|
1867
|
+
* customClassName: 'custom-dialog',
|
1868
|
+
* background: 'semi-transparent',
|
1869
|
+
* contentBackground: false,
|
1870
|
+
* animation: false,
|
1871
|
+
* closable: true,
|
1872
|
+
* a11y: {
|
1873
|
+
* role: 'dialog',
|
1874
|
+
* ariaLabel: 'Dialog',
|
1875
|
+
* ariaLabelledby: 'titleID',
|
1876
|
+
* ariaDescribedby: 'descriptionID',
|
1877
|
+
* }
|
1878
|
+
* }
|
1879
|
+
* }}
|
1880
|
+
* />
|
1881
|
+
* ```
|
1882
|
+
* :::
|
1883
|
+
*
|
1884
|
+
* ::: only-for angular
|
1885
|
+
* ```ts
|
1886
|
+
* settings = {
|
1887
|
+
* dialog: {
|
1888
|
+
* content: 'Dialog content',
|
1889
|
+
* customClassName: 'custom-dialog',
|
1890
|
+
* background: 'semi-transparent',
|
1891
|
+
* contentBackground: false,
|
1892
|
+
* animation: false,
|
1893
|
+
* closable: true,
|
1894
|
+
* a11y: {
|
1895
|
+
* role: 'dialog',
|
1896
|
+
* ariaLabel: 'Dialog',
|
1897
|
+
* ariaLabelledby: 'titleID',
|
1898
|
+
* ariaDescribedby: 'descriptionID',
|
1899
|
+
* }
|
1900
|
+
* }
|
1901
|
+
* };
|
1902
|
+
* ```
|
1903
|
+
*
|
1904
|
+
* ```html
|
1905
|
+
* <hot-table [settings]="settings" />
|
1906
|
+
* ```
|
1907
|
+
* :::
|
1908
|
+
*
|
1909
|
+
*/
|
1910
|
+
dialog: false,
|
1800
1911
|
/**
|
1801
1912
|
* @description
|
1802
1913
|
* The `dragToScroll` option configures the [`DragToScroll`](@/api/dragToScroll.md) plugin.
|
@@ -2520,6 +2631,28 @@ var _default = () => {
|
|
2520
2631
|
* ```
|
2521
2632
|
*/
|
2522
2633
|
hiddenRows: undefined,
|
2634
|
+
/**
|
2635
|
+
* The `initialState` option configures the grid's initial state.
|
2636
|
+
* This object accepts any grid configuration option. In case of conflicts between
|
2637
|
+
* `initialState` and table settings, the table settings take precedence.
|
2638
|
+
* Note: The `initialState` option is ignored when passed to the
|
2639
|
+
* [`updateSettings()`](@/api/core.md#updatesettings) method.
|
2640
|
+
*
|
2641
|
+
* @since 16.1.0
|
2642
|
+
* @memberof Options#
|
2643
|
+
* @type {object | undefined}
|
2644
|
+
* @default undefined
|
2645
|
+
* @category Core
|
2646
|
+
*
|
2647
|
+
* @example
|
2648
|
+
* ```js
|
2649
|
+
* initialState: {
|
2650
|
+
* // configure initial column order
|
2651
|
+
* manualColumnMove: [1, 0],
|
2652
|
+
* },
|
2653
|
+
* ```
|
2654
|
+
*/
|
2655
|
+
initialState: undefined,
|
2523
2656
|
/**
|
2524
2657
|
* The `invalidCellClassName` option lets you add a CSS class name to cells
|
2525
2658
|
* that were marked as `invalid` by the [cell validator](@/guides/cell-functions/cell-validator/cell-validator.md).
|
@@ -2818,6 +2951,50 @@ var _default = () => {
|
|
2818
2951
|
* ```
|
2819
2952
|
*/
|
2820
2953
|
locale: 'en-US',
|
2954
|
+
/**
|
2955
|
+
* @description
|
2956
|
+
* The `loading` option configures the [`Loading`](@/api/loading.md) plugin.
|
2957
|
+
*
|
2958
|
+
* Loading plugin, automatically loads [`Dialog`](@/api/dialog.md) plugin.
|
2959
|
+
*
|
2960
|
+
* You can set the `loading` option to one of the following:
|
2961
|
+
*
|
2962
|
+
* | Setting | Description |
|
2963
|
+
* | --------- | --------------------------------------------------------------------------- |
|
2964
|
+
* | `false` | Disable the [`Loading`](@/api/loading.md) plugin |
|
2965
|
+
* | `true` | Enable the [`Loading`](@/api/loading.md) plugin with default configuration |
|
2966
|
+
* | An object | - Enable the [`Loading`](@/api/loading.md) plugin<br>- Apply custom configuration |
|
2967
|
+
*
|
2968
|
+
* If you set the `loading` option to an object, you can configure the following loading options:
|
2969
|
+
*
|
2970
|
+
* | Option | Possible settings | Description |
|
2971
|
+
* | ------------- | ----------------- | --------------------------------------------------------- |
|
2972
|
+
* | `icon` | A string | Custom loading icon to display (default: `<svg />`) |
|
2973
|
+
* | `title` | A string | Custom loading title to display (default: `'Loading...'`) |
|
2974
|
+
* | `description` | A string | Custom loading description to display (default: `''`) |
|
2975
|
+
*
|
2976
|
+
* Read more:
|
2977
|
+
* - [Plugins: `Loading`](@/api/loading.md)
|
2978
|
+
* @since 16.1.0
|
2979
|
+
* @memberof Options#
|
2980
|
+
* @type {boolean|object}
|
2981
|
+
* @default false
|
2982
|
+
* @category Loading
|
2983
|
+
*
|
2984
|
+
* @example
|
2985
|
+
* ```js
|
2986
|
+
* // enable the `Loading` plugin with default configuration
|
2987
|
+
* loading: true,
|
2988
|
+
*
|
2989
|
+
* // enable the `Loading` plugin with custom configuration
|
2990
|
+
* loading: {
|
2991
|
+
* icon: 'A custom loading icon in SVG format',
|
2992
|
+
* title: 'Custom loading title',
|
2993
|
+
* description: 'Custom loading description',
|
2994
|
+
* }
|
2995
|
+
* ```
|
2996
|
+
*/
|
2997
|
+
loading: false,
|
2821
2998
|
/**
|
2822
2999
|
* The `manualColumnFreeze` option configures the [`ManualColumnFreeze`](@/api/manualColumnFreeze.md) plugin.
|
2823
3000
|
*
|
@@ -3485,6 +3662,48 @@ var _default = () => {
|
|
3485
3662
|
* ```
|
3486
3663
|
*/
|
3487
3664
|
outsideClickDeselects: true,
|
3665
|
+
/**
|
3666
|
+
* @description
|
3667
|
+
* The `pagination` option configures the [`Pagination`](@/api/pagination.md) plugin.
|
3668
|
+
*
|
3669
|
+
* You can set the `pagination` option to one of the following:
|
3670
|
+
*
|
3671
|
+
* | Setting | Description |
|
3672
|
+
* | -------------------------------- | --------------------------------------------------------------------------------------------- |
|
3673
|
+
* | `false` | Disable the [`Pagination`](@/api/pagination.md) plugin |
|
3674
|
+
* | `true` | Enable the [`Pagination`](@/api/pagination.md) plugin |
|
3675
|
+
*
|
3676
|
+
* ##### pagination: Additional options
|
3677
|
+
*
|
3678
|
+
* If you set the `pagination` option to an object, you can set the following `Pagination` plugin options:
|
3679
|
+
*
|
3680
|
+
* | Option | Possible settings | Description |
|
3681
|
+
* | ------------------------ | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
3682
|
+
* | `pageSize` | A number or `auto` (default: `10`) | Sets the number of rows displayed per page. If `'auto'` is set, the page size will be calculated to match all rows to the currently set table's viewport height |
|
3683
|
+
* | `pageSizeList` | An array (default: `['auto', 5, 10, 20, 50, 100]`) | Defines the selectable values for page size in the UI |
|
3684
|
+
* | `initialPage` | A number (default: `1`) | Specifies which page to display on initial load |
|
3685
|
+
* | `showPageSize` | Boolean (default: `true`) | Controls visibility of the "page size" section |
|
3686
|
+
* | `showCounter` | Boolean (default: `true`) | Controls visibility of the "page counter" section (e.g., "1 - 10 of 50"); |
|
3687
|
+
* | `showNavigation` | Boolean (default: `true`) | Controls visibility of the "page navigation" section |
|
3688
|
+
* | `uiContainer` | An HTML element (default: `null`) | The container element where the pagination UI will be installed. If not provided, the pagination container will be injected below the root table element. |
|
3689
|
+
*
|
3690
|
+
* Read more:
|
3691
|
+
* - [Rows pagination](@/guides/rows/rows-pagination/rows-pagination.md)
|
3692
|
+
* - [Plugins: `Pagination`](@/api/pagination.md)
|
3693
|
+
*
|
3694
|
+
* @since 16.1.0
|
3695
|
+
* @memberof Options#
|
3696
|
+
* @type {boolean}
|
3697
|
+
* @default undefined
|
3698
|
+
* @category Pagination
|
3699
|
+
*
|
3700
|
+
* @example
|
3701
|
+
* ```js
|
3702
|
+
* // enable the `Pagination` plugin
|
3703
|
+
* pagination: true,
|
3704
|
+
* ```
|
3705
|
+
*/
|
3706
|
+
pagination: undefined,
|
3488
3707
|
/**
|
3489
3708
|
* @description
|
3490
3709
|
* The `persistentState` option configures the [`PersistentState`](@/api/persistentState.md) plugin.
|
@@ -3886,7 +4105,7 @@ var _default = () => {
|
|
3886
4105
|
/**
|
3887
4106
|
* The `rowHeights` option sets rows' heights, in pixels.
|
3888
4107
|
*
|
3889
|
-
* In the rendering process, the default row height is `classic: 23px`, `main: 29px`, `horizon: 37px` (in the classic theme: 22px + 1px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
4108
|
+
* In the rendering process, the default row height is `classic (legacy): 23px`, `main: 29px`, `horizon: 37px` (in the classic (legacy) theme: 22px + 1px of the row's bottom border) or whatever is defined in the used theme (based on the line height, vertical padding and cell borders).
|
3890
4109
|
* You can change it to equal or greater than the default value, by setting the `rowHeights` option to one of the following:
|
3891
4110
|
*
|
3892
4111
|
* | Setting | Description | Example |
|
@@ -4178,9 +4397,13 @@ var _default = () => {
|
|
4178
4397
|
*
|
4179
4398
|
* You can set the `source` option to one of the following:
|
4180
4399
|
*
|
4181
|
-
* - An array
|
4400
|
+
* - An array of string values
|
4401
|
+
* - An array of objects with `key` and `value` properties
|
4182
4402
|
* - A function
|
4183
4403
|
*
|
4404
|
+
* Note: When defining the `source` option as an array of objects with `key` and `value` properties, the data format for that cell
|
4405
|
+
* needs to be an object with `key` and `value` properties as well.
|
4406
|
+
*
|
4184
4407
|
* Read more:
|
4185
4408
|
* - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type/autocomplete-cell-type.md)
|
4186
4409
|
* - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type/dropdown-cell-type.md)
|
@@ -4196,7 +4419,7 @@ var _default = () => {
|
|
4196
4419
|
*
|
4197
4420
|
* @example
|
4198
4421
|
* ```js
|
4199
|
-
* // set `source` to an array
|
4422
|
+
* // set `source` to an array of string values
|
4200
4423
|
* columns: [{
|
4201
4424
|
* // set the `type` of each cell in this column to `autocomplete`
|
4202
4425
|
* type: 'autocomplete',
|
@@ -4204,6 +4427,20 @@ var _default = () => {
|
|
4204
4427
|
* source: ['A', 'B', 'C', 'D']
|
4205
4428
|
* }],
|
4206
4429
|
*
|
4430
|
+
* // set `source` to an array of objects with `key` and `value` properties
|
4431
|
+
* columns: [{
|
4432
|
+
* // set the `type` of each cell in this column to `autocomplete`
|
4433
|
+
* type: 'autocomplete',
|
4434
|
+
* // set options available in every `autocomplete` cell of this column
|
4435
|
+
* source: [{
|
4436
|
+
* key: 'A',
|
4437
|
+
* value: 'Label A'
|
4438
|
+
* }, {
|
4439
|
+
* key: 'B',
|
4440
|
+
* value: 'Label B'
|
4441
|
+
* }]
|
4442
|
+
* }],
|
4443
|
+
*
|
4207
4444
|
* // set `source` to a function
|
4208
4445
|
* columns: [{
|
4209
4446
|
* // set the `type` of each cell in this column to `autocomplete`
|
@@ -4391,7 +4628,7 @@ var _default = () => {
|
|
4391
4628
|
/**
|
4392
4629
|
* The `themeName` option allows enabling a theme by that name.
|
4393
4630
|
*
|
4394
|
-
* If no `themeName` is provided, the table will use the classic theme (if the correct CSS files are imported).
|
4631
|
+
* If no `themeName` is provided, the table will use the classic (legacy) theme (if the correct CSS files are imported).
|
4395
4632
|
*
|
4396
4633
|
* Read more:
|
4397
4634
|
* - [Themes](@/guides/styling/themes/themes.md)
|
@@ -4757,6 +4994,54 @@ var _default = () => {
|
|
4757
4994
|
* ```
|
4758
4995
|
*/
|
4759
4996
|
validator: undefined,
|
4997
|
+
/**
|
4998
|
+
* @description
|
4999
|
+
* The `valueGetter` option configures a function that defines what value will be used when displaying the cell content.
|
5000
|
+
* It can be used to modify the value of a cell before it is displayed (for example, for object-based data).
|
5001
|
+
*
|
5002
|
+
* @example
|
5003
|
+
* ```js
|
5004
|
+
* // use the `label` property of the value object with a fallback to the value itself
|
5005
|
+
* valueGetter: (value, row, column, cellMeta) => {
|
5006
|
+
* return value?.label ?? value;
|
5007
|
+
* }
|
5008
|
+
* ```
|
5009
|
+
*
|
5010
|
+
* @memberof Options#
|
5011
|
+
* @type {function(any, number, number): any}
|
5012
|
+
* @param {*} value The value to be displayed in the cell.
|
5013
|
+
* @param {number} row The visual row index of the cell.
|
5014
|
+
* @param {number} column The visual column index of the cell.
|
5015
|
+
* @param {object} cellMeta The cell meta object.
|
5016
|
+
* @since 16.1.0
|
5017
|
+
* @default undefined
|
5018
|
+
* @category Core
|
5019
|
+
*/
|
5020
|
+
valueGetter: undefined,
|
5021
|
+
/**
|
5022
|
+
* @description
|
5023
|
+
* The `valueSetter` option configures a function that defines what value will be used when setting the cell content.
|
5024
|
+
* It can be used to modify the value of a cell before it is saved (for example, for object-based data).
|
5025
|
+
*
|
5026
|
+
* @example
|
5027
|
+
* ```js
|
5028
|
+
* // Modify the value of a cell before it is saved
|
5029
|
+
* valueSetter: (value, row, column, cellMeta) => {
|
5030
|
+
* return { id: value?.id ?? value, value: `${value?.value ?? value} at ${row}, ${column}` }
|
5031
|
+
* },
|
5032
|
+
* ```
|
5033
|
+
*
|
5034
|
+
* @memberof Options#
|
5035
|
+
* @type {function(any, number, number): any}
|
5036
|
+
* @param {*} value The value to be set to a cell.
|
5037
|
+
* @param {number} row The visual row index of the cell.
|
5038
|
+
* @param {number} column The visual column index of the cell.
|
5039
|
+
* @param {object} cellMeta The cell meta object.
|
5040
|
+
* @since 16.1.0
|
5041
|
+
* @default undefined
|
5042
|
+
* @category Core
|
5043
|
+
*/
|
5044
|
+
valueSetter: undefined,
|
4760
5045
|
/**
|
4761
5046
|
* @description
|
4762
5047
|
* The `viewportColumnRenderingOffset` option configures the number of columns
|