handsontable 16.2.0 → 17.0.0-rc1
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/calculator/calculationType/fullyVisibleColumns.js +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleColumns.mjs +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.js +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.mjs +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.js +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.mjs +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.js +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.mjs +0 -3
- package/3rdparty/walkontable/src/calculator/calculationType/renderedAllColumns.js +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedAllColumns.mjs +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedAllRows.js +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedAllRows.mjs +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +0 -1
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +0 -1
- package/3rdparty/walkontable/src/calculator/viewportBase.js +0 -3
- package/3rdparty/walkontable/src/calculator/viewportBase.mjs +0 -3
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +0 -2
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/viewportRows.js +0 -2
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +0 -2
- package/3rdparty/walkontable/src/cell/coords.js +0 -1
- package/3rdparty/walkontable/src/cell/coords.mjs +0 -1
- package/3rdparty/walkontable/src/cell/range.js +0 -2
- package/3rdparty/walkontable/src/cell/range.mjs +0 -2
- package/3rdparty/walkontable/src/core/_base.js +0 -2
- package/3rdparty/walkontable/src/core/_base.mjs +0 -2
- package/3rdparty/walkontable/src/core/clone.js +0 -1
- package/3rdparty/walkontable/src/core/clone.mjs +0 -1
- package/3rdparty/walkontable/src/core/core.js +0 -1
- package/3rdparty/walkontable/src/core/core.mjs +0 -1
- package/3rdparty/walkontable/src/event.js +0 -1
- package/3rdparty/walkontable/src/event.mjs +0 -1
- package/3rdparty/walkontable/src/filter/column.js +0 -1
- package/3rdparty/walkontable/src/filter/column.mjs +0 -1
- package/3rdparty/walkontable/src/filter/row.js +0 -1
- package/3rdparty/walkontable/src/filter/row.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/_base.js +6 -4
- package/3rdparty/walkontable/src/overlay/_base.mjs +6 -4
- package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
- package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/index.js +0 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/top.js +2 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +0 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +0 -1
- package/3rdparty/walkontable/src/overlays.js +5 -8
- package/3rdparty/walkontable/src/overlays.mjs +5 -8
- package/3rdparty/walkontable/src/renderer/_base.js +0 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +0 -1
- package/3rdparty/walkontable/src/renderer/cells.js +0 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +0 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -2
- package/3rdparty/walkontable/src/renderer/rows.js +1 -12
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -12
- package/3rdparty/walkontable/src/renderer/table.js +0 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -1
- package/3rdparty/walkontable/src/scroll.js +0 -1
- package/3rdparty/walkontable/src/scroll.mjs +0 -1
- package/3rdparty/walkontable/src/selection/border/border.js +13 -26
- package/3rdparty/walkontable/src/selection/border/border.mjs +13 -26
- package/3rdparty/walkontable/src/selection/border/utils.js +0 -9
- package/3rdparty/walkontable/src/selection/border/utils.mjs +0 -9
- package/3rdparty/walkontable/src/selection/index.js +0 -2
- package/3rdparty/walkontable/src/selection/manager.js +0 -13
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -13
- package/3rdparty/walkontable/src/selection/scanner.js +0 -8
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -8
- package/3rdparty/walkontable/src/settings.js +2 -2
- package/3rdparty/walkontable/src/settings.mjs +2 -2
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/master.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +3 -6
- package/3rdparty/walkontable/src/table.mjs +3 -6
- package/3rdparty/walkontable/src/utils/column.js +0 -1
- package/3rdparty/walkontable/src/utils/column.mjs +0 -1
- package/3rdparty/walkontable/src/utils/nodesPool.js +7 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +7 -1
- package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/differBasedRendererAdapter.js +100 -0
- package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/differBasedRendererAdapter.mjs +96 -0
- package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/directDomRendererAdapter.js +117 -0
- package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/directDomRendererAdapter.mjs +113 -0
- package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/index.js +19 -0
- package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/index.mjs +15 -0
- package/3rdparty/walkontable/src/utils/orderView/view.js +16 -58
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +16 -58
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.js +0 -2
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +0 -2
- package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +0 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +0 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +0 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +0 -1
- package/3rdparty/walkontable/src/utils/row.js +0 -1
- package/3rdparty/walkontable/src/utils/row.mjs +0 -1
- package/3rdparty/walkontable/src/viewport.js +0 -2
- package/3rdparty/walkontable/src/viewport.mjs +0 -2
- package/CHANGELOG.md +1 -1
- package/README.md +4 -23
- package/base.js +13 -2
- package/base.mjs +14 -3
- package/cellTypes/autocompleteType/accessors/valueSetter.js +2 -4
- package/cellTypes/autocompleteType/accessors/valueSetter.mjs +1 -3
- package/cellTypes/autocompleteType/autocompleteType.js +2 -1
- package/cellTypes/autocompleteType/autocompleteType.mjs +2 -1
- package/cellTypes/dropdownType/dropdownType.js +2 -1
- package/cellTypes/dropdownType/dropdownType.mjs +2 -1
- package/cellTypes/index.d.ts +6 -0
- package/cellTypes/index.js +12 -0
- package/cellTypes/index.mjs +7 -1
- package/cellTypes/intlDateType/index.d.ts +1 -0
- package/cellTypes/intlDateType/index.js +6 -0
- package/cellTypes/intlDateType/index.mjs +1 -0
- package/cellTypes/intlDateType/intlDateType.d.ts +23 -0
- package/cellTypes/intlDateType/intlDateType.js +16 -0
- package/cellTypes/intlDateType/intlDateType.mjs +13 -0
- package/cellTypes/intlTimeType/index.d.ts +1 -0
- package/cellTypes/intlTimeType/index.js +6 -0
- package/cellTypes/intlTimeType/index.mjs +1 -0
- package/cellTypes/intlTimeType/intlTimeType.d.ts +23 -0
- package/cellTypes/intlTimeType/intlTimeType.js +16 -0
- package/cellTypes/intlTimeType/intlTimeType.mjs +13 -0
- package/cellTypes/multiSelectType/accessors/index.js +7 -0
- package/cellTypes/multiSelectType/accessors/index.mjs +2 -0
- package/cellTypes/multiSelectType/accessors/valueGetter.js +20 -0
- package/cellTypes/multiSelectType/accessors/valueGetter.mjs +16 -0
- package/cellTypes/multiSelectType/accessors/valueSetter.js +27 -0
- package/cellTypes/multiSelectType/accessors/valueSetter.mjs +23 -0
- package/cellTypes/multiSelectType/index.js +6 -0
- package/cellTypes/multiSelectType/index.mjs +1 -0
- package/cellTypes/multiSelectType/multiSelectType.js +19 -0
- package/cellTypes/multiSelectType/multiSelectType.mjs +16 -0
- package/cellTypes/numericType/numericType.d.ts +3 -1
- package/cellTypes/numericType/numericType.js +2 -1
- package/cellTypes/numericType/numericType.mjs +3 -2
- package/cellTypes/registry.js +2 -2
- package/cellTypes/registry.mjs +2 -2
- package/common.d.ts +3 -1
- package/core/coordsMapper/index.js +0 -2
- package/core/coordsMapper/rangeToRenderableMapper.js +0 -1
- package/core/coordsMapper/rangeToRenderableMapper.mjs +0 -1
- package/core/hooks/bucket.js +0 -14
- package/core/hooks/bucket.mjs +0 -14
- package/core/hooks/constants.js +0 -28
- package/core/hooks/constants.mjs +0 -28
- package/core/hooks/index.d.ts +0 -3
- package/core/hooks/index.js +0 -2
- package/core/hooks/index.mjs +0 -2
- package/core/index.js +0 -2
- package/core.d.ts +0 -5
- package/core.js +193 -104
- package/core.mjs +194 -105
- package/dataMap/dataMap.js +6 -8
- package/dataMap/dataMap.mjs +6 -8
- package/dataMap/dataSource.js +0 -4
- package/dataMap/dataSource.mjs +0 -4
- package/dataMap/index.js +5 -0
- package/dataMap/index.mjs +3 -1
- package/dataMap/metaManager/index.js +2 -4
- package/dataMap/metaManager/index.mjs +2 -4
- package/dataMap/metaManager/lazyFactoryMap.js +0 -11
- package/dataMap/metaManager/lazyFactoryMap.mjs +0 -11
- package/dataMap/metaManager/metaLayers/cellMeta.js +0 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +0 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +0 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +0 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +0 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +0 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +0 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +0 -1
- package/dataMap/metaManager/metaSchema.js +862 -79
- package/dataMap/metaManager/metaSchema.mjs +862 -79
- package/dataMap/metaManager/mods/dynamicCellMeta.js +0 -8
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +0 -8
- package/dataMap/metaManager/mods/extendMetaProperties.js +23 -15
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +23 -15
- package/dataMap/metaManager/utils.js +2 -9
- package/dataMap/metaManager/utils.mjs +2 -9
- package/dataMap/replaceData.js +6 -3
- package/dataMap/replaceData.mjs +6 -3
- package/dataMap/sourceDataValidator.js +122 -0
- package/dataMap/sourceDataValidator.mjs +117 -0
- package/dist/handsontable.full.js +57523 -54761
- package/dist/handsontable.full.min.js +228 -213
- package/dist/handsontable.js +39604 -37938
- package/dist/handsontable.min.js +51 -51
- package/dist/languages/all.js +1 -1
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fa-IR.js +1 -1
- package/dist/languages/fa-IR.min.js +1 -1
- package/dist/languages/fr-FR.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/dist/themes/classic.js +467 -0
- package/dist/themes/classic.min.js +31 -0
- package/dist/themes/horizon.js +467 -0
- package/dist/themes/horizon.min.js +31 -0
- package/dist/themes/main.js +467 -0
- package/dist/themes/main.min.js +31 -0
- package/dist/themes/static/variables/colors/ant.js +137 -0
- package/dist/themes/static/variables/colors/ant.min.js +31 -0
- package/dist/themes/static/variables/colors/classic.js +137 -0
- package/dist/themes/static/variables/colors/classic.min.js +31 -0
- package/dist/themes/static/variables/colors/horizon.js +137 -0
- package/dist/themes/static/variables/colors/horizon.min.js +31 -0
- package/dist/themes/static/variables/colors/main.js +137 -0
- package/dist/themes/static/variables/colors/main.min.js +31 -0
- package/dist/themes/static/variables/colors/material.js +137 -0
- package/dist/themes/static/variables/colors/material.min.js +31 -0
- package/dist/themes/static/variables/colors/shadcn.js +137 -0
- package/dist/themes/static/variables/colors/shadcn.min.js +31 -0
- package/dist/themes/static/variables/density.js +163 -0
- package/dist/themes/static/variables/density.min.js +31 -0
- package/dist/themes/static/variables/helpers/iconsMap.js +240 -0
- package/dist/themes/static/variables/helpers/iconsMap.min.js +31 -0
- package/dist/themes/static/variables/icons/horizon.js +135 -0
- package/dist/themes/static/variables/icons/horizon.min.js +31 -0
- package/dist/themes/static/variables/icons/main.js +135 -0
- package/dist/themes/static/variables/icons/main.min.js +31 -0
- package/dist/themes/static/variables/sizing.js +126 -0
- package/dist/themes/static/variables/sizing.min.js +31 -0
- package/dist/themes/static/variables/tokens/classic.js +375 -0
- package/dist/themes/static/variables/tokens/classic.min.js +31 -0
- package/dist/themes/static/variables/tokens/horizon.js +375 -0
- package/dist/themes/static/variables/tokens/horizon.min.js +31 -0
- package/dist/themes/static/variables/tokens/main.js +375 -0
- package/dist/themes/static/variables/tokens/main.min.js +31 -0
- package/editorManager.js +0 -1
- package/editorManager.mjs +0 -1
- package/editors/autocompleteEditor/autocompleteEditor.js +5 -23
- package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -24
- package/editors/baseEditor/baseEditor.js +18 -13
- package/editors/baseEditor/baseEditor.mjs +18 -13
- package/editors/dateEditor/dateEditor.js +9 -3
- package/editors/dateEditor/dateEditor.mjs +9 -3
- package/editors/dropdownEditor/dropdownEditor.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.mjs +0 -2
- package/editors/factory.d.ts +48 -0
- package/editors/factory.js +372 -0
- package/editors/factory.mjs +368 -0
- package/editors/handsontableEditor/handsontableEditor.js +0 -1
- package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
- package/editors/index.d.ts +7 -0
- package/editors/index.js +14 -0
- package/editors/index.mjs +9 -2
- package/editors/intlDateEditor/index.d.ts +1 -0
- package/editors/intlDateEditor/index.js +6 -0
- package/editors/intlDateEditor/index.mjs +1 -0
- package/editors/intlDateEditor/intlDateEditor.d.ts +7 -0
- package/editors/intlDateEditor/intlDateEditor.js +76 -0
- package/editors/intlDateEditor/intlDateEditor.mjs +72 -0
- package/editors/intlTimeEditor/index.d.ts +1 -0
- package/editors/intlTimeEditor/index.js +6 -0
- package/editors/intlTimeEditor/index.mjs +1 -0
- package/editors/intlTimeEditor/intlTimeEditor.d.ts +7 -0
- package/editors/intlTimeEditor/intlTimeEditor.js +72 -0
- package/editors/intlTimeEditor/intlTimeEditor.mjs +68 -0
- package/editors/multiSelectEditor/controllers/dropdownController.js +566 -0
- package/editors/multiSelectEditor/controllers/dropdownController.mjs +561 -0
- package/editors/multiSelectEditor/controllers/inputController.js +101 -0
- package/editors/multiSelectEditor/controllers/inputController.mjs +96 -0
- package/editors/multiSelectEditor/controllers/selectedItemsController.js +124 -0
- package/editors/multiSelectEditor/controllers/selectedItemsController.mjs +120 -0
- package/editors/multiSelectEditor/controllers/utils.js +275 -0
- package/editors/multiSelectEditor/controllers/utils.mjs +258 -0
- package/editors/multiSelectEditor/index.js +6 -0
- package/editors/multiSelectEditor/index.mjs +1 -0
- package/editors/multiSelectEditor/multiSelectEditor.js +509 -0
- package/editors/multiSelectEditor/multiSelectEditor.mjs +504 -0
- package/editors/multiSelectEditor/utils/utils.js +57 -0
- package/editors/multiSelectEditor/utils/utils.mjs +50 -0
- package/editors/passwordEditor/passwordEditor.js +0 -1
- package/editors/passwordEditor/passwordEditor.mjs +0 -1
- package/editors/registry.js +4 -4
- package/editors/registry.mjs +4 -4
- package/editors/selectEditor/selectEditor.js +1 -1
- package/editors/selectEditor/selectEditor.mjs +1 -1
- package/editors/textEditor/textEditor.js +4 -2
- package/editors/textEditor/textEditor.mjs +4 -2
- package/eventManager.js +0 -2
- package/eventManager.mjs +0 -2
- package/focusManager/grid.js +0 -1
- package/focusManager/grid.mjs +0 -1
- package/focusManager/index.js +0 -2
- package/focusManager/scopeManager.js +5 -8
- package/focusManager/scopeManager.mjs +5 -8
- package/focusManager/utils/focusDetector.js +5 -11
- package/focusManager/utils/focusDetector.mjs +5 -11
- package/helpers/a11y.js +2 -0
- package/helpers/a11y.mjs +1 -0
- package/helpers/array.js +26 -15
- package/helpers/array.mjs +25 -15
- package/helpers/console.js +33 -0
- package/helpers/console.mjs +32 -0
- package/helpers/constants.js +4 -0
- package/helpers/constants.mjs +1 -0
- package/helpers/data.js +0 -4
- package/helpers/data.mjs +0 -4
- package/helpers/dateTime.d.ts +5 -0
- package/helpers/dateTime.js +110 -0
- package/helpers/dateTime.mjs +102 -0
- package/helpers/dom/element.d.ts +1 -1
- package/helpers/dom/element.js +23 -20
- package/helpers/dom/element.mjs +23 -20
- package/helpers/errors.d.ts +1 -0
- package/helpers/errors.js +21 -0
- package/helpers/errors.mjs +17 -0
- package/helpers/index.d.ts +2 -1
- package/helpers/mixed.js +10 -7
- package/helpers/mixed.mjs +10 -6
- package/helpers/moves.js +0 -4
- package/helpers/moves.mjs +0 -4
- package/helpers/number.js +0 -9
- package/helpers/number.mjs +0 -9
- package/helpers/object.js +47 -6
- package/helpers/object.mjs +45 -6
- package/helpers/string.js +15 -2
- package/helpers/string.mjs +14 -2
- package/helpers/templateLiteralTag.js +0 -3
- package/helpers/templateLiteralTag.mjs +0 -3
- package/helpers/unicode.js +0 -1
- package/helpers/unicode.mjs +0 -1
- package/helpers/wrappers/jquery.js +2 -2
- package/helpers/wrappers/jquery.mjs +2 -2
- package/i18n/index.js +0 -2
- package/i18n/phraseFormatters/substituteVariables.js +0 -2
- package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
- package/i18n/registry.js +0 -2
- package/i18n/registry.mjs +0 -2
- package/index.d.ts +85 -9
- package/index.js +18 -3
- package/index.mjs +18 -3
- package/languages/all.js +1 -1
- package/languages/ar-AR.js +1 -1
- package/languages/cs-CZ.js +1 -1
- package/languages/de-CH.js +1 -1
- package/languages/de-DE.js +1 -1
- package/languages/en-US.js +1 -1
- package/languages/es-MX.js +1 -1
- package/languages/fa-IR.js +1 -1
- package/languages/fr-FR.js +1 -1
- package/languages/hr-HR.js +1 -1
- package/languages/index.js +1 -1
- package/languages/it-IT.js +1 -1
- package/languages/ja-JP.js +1 -1
- package/languages/ko-KR.js +1 -1
- package/languages/lv-LV.js +1 -1
- package/languages/nb-NO.js +1 -1
- package/languages/nl-NL.js +1 -1
- package/languages/pl-PL.js +1 -1
- package/languages/pt-BR.js +1 -1
- package/languages/ru-RU.js +1 -1
- package/languages/sr-SP.js +1 -1
- package/languages/zh-CN.js +1 -1
- package/languages/zh-TW.js +1 -1
- package/mixins/hooksRefRegisterer.js +0 -1
- package/mixins/hooksRefRegisterer.mjs +0 -1
- package/mixins/localHooks.js +0 -1
- package/mixins/localHooks.mjs +0 -1
- package/package.json +184 -78
- package/plugins/autoColumnSize/autoColumnSize.js +4 -7
- package/plugins/autoColumnSize/autoColumnSize.mjs +4 -7
- package/plugins/autoRowSize/autoRowSize.js +8 -9
- package/plugins/autoRowSize/autoRowSize.mjs +8 -9
- package/plugins/autofill/autofill.js +7 -8
- package/plugins/autofill/autofill.mjs +7 -8
- package/plugins/base/base.js +3 -7
- package/plugins/base/base.mjs +3 -7
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +0 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +0 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +2 -3
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +2 -3
- package/plugins/columnSorting/columnSorting.js +2 -64
- package/plugins/columnSorting/columnSorting.mjs +2 -64
- package/plugins/columnSorting/columnStatesManager.js +0 -3
- package/plugins/columnSorting/columnStatesManager.mjs +0 -3
- package/plugins/columnSorting/domHelpers.js +0 -1
- package/plugins/columnSorting/domHelpers.mjs +0 -1
- package/plugins/columnSorting/sortFunction/intlDate.js +17 -0
- package/plugins/columnSorting/sortFunction/intlDate.mjs +13 -0
- package/plugins/columnSorting/sortFunction/intlTime.js +17 -0
- package/plugins/columnSorting/sortFunction/intlTime.mjs +13 -0
- package/plugins/columnSorting/sortService/registry.js +5 -1
- package/plugins/columnSorting/sortService/registry.mjs +4 -0
- package/plugins/columnSorting/utils.js +107 -10
- package/plugins/columnSorting/utils.mjs +105 -10
- package/plugins/columnSummary/columnSummary.js +2 -2
- package/plugins/columnSummary/columnSummary.mjs +2 -2
- package/plugins/columnSummary/endpoints.js +0 -5
- package/plugins/columnSummary/endpoints.mjs +0 -5
- package/plugins/comments/commentEditor.js +0 -1
- package/plugins/comments/commentEditor.mjs +0 -1
- package/plugins/comments/comments.js +5 -6
- package/plugins/comments/comments.mjs +5 -6
- package/plugins/comments/displaySwitch.js +0 -1
- package/plugins/comments/displaySwitch.mjs +0 -1
- package/plugins/comments/editorResizeObserver.js +0 -3
- package/plugins/comments/editorResizeObserver.mjs +0 -3
- package/plugins/contextMenu/commandExecutor.js +2 -4
- package/plugins/contextMenu/commandExecutor.mjs +2 -4
- package/plugins/contextMenu/contextMenu.js +0 -1
- package/plugins/contextMenu/contextMenu.mjs +0 -1
- package/plugins/contextMenu/itemsFactory.js +0 -2
- package/plugins/contextMenu/itemsFactory.mjs +0 -2
- package/plugins/contextMenu/menu/cursor.js +0 -1
- package/plugins/contextMenu/menu/cursor.mjs +0 -1
- package/plugins/contextMenu/menu/index.js +0 -2
- package/plugins/contextMenu/menu/menu.js +3 -15
- package/plugins/contextMenu/menu/menu.mjs +3 -15
- package/plugins/contextMenu/menu/menuItemRenderer.js +4 -2
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +4 -2
- package/plugins/contextMenu/menu/positioner.js +0 -1
- package/plugins/contextMenu/menu/positioner.mjs +0 -1
- package/plugins/contextMenu/menu/shortcuts.js +0 -3
- package/plugins/contextMenu/menu/shortcuts.mjs +0 -3
- package/plugins/contextMenu/menu/utils.js +0 -1
- package/plugins/contextMenu/menu/utils.mjs +0 -1
- package/plugins/copyPaste/copyPaste.js +53 -31
- package/plugins/copyPaste/copyPaste.mjs +54 -32
- package/plugins/copyPaste/copyableRanges.js +0 -2
- package/plugins/copyPaste/copyableRanges.mjs +0 -2
- package/plugins/customBorders/customBorders.js +3 -6
- package/plugins/customBorders/customBorders.mjs +3 -6
- package/plugins/customBorders/utils.js +0 -2
- package/plugins/customBorders/utils.mjs +0 -2
- package/plugins/dialog/dialog.js +3 -6
- package/plugins/dialog/dialog.mjs +3 -6
- package/plugins/dialog/templates/base.js +2 -2
- package/plugins/dialog/templates/base.mjs +2 -2
- package/plugins/dialog/templates/confirm.js +2 -5
- package/plugins/dialog/templates/confirm.mjs +2 -5
- package/plugins/dialog/ui.js +13 -8
- package/plugins/dialog/ui.mjs +13 -8
- package/plugins/dragToScroll/dragToScroll.js +0 -1
- package/plugins/dragToScroll/dragToScroll.mjs +0 -1
- package/plugins/dropdownMenu/dropdownMenu.js +0 -1
- package/plugins/dropdownMenu/dropdownMenu.mjs +0 -1
- package/plugins/emptyDataState/emptyDataState.js +0 -6
- package/plugins/emptyDataState/emptyDataState.mjs +0 -6
- package/plugins/emptyDataState/ui.js +0 -4
- package/plugins/emptyDataState/ui.mjs +0 -4
- package/plugins/exportFile/dataProvider.js +0 -2
- package/plugins/exportFile/dataProvider.mjs +0 -2
- package/plugins/exportFile/exportFile.js +3 -3
- package/plugins/exportFile/exportFile.mjs +3 -3
- package/plugins/exportFile/types/_base.js +0 -1
- package/plugins/exportFile/types/_base.mjs +0 -1
- package/plugins/exportFile/types/csv.js +0 -3
- package/plugins/exportFile/types/csv.mjs +0 -3
- package/plugins/filters/component/_base.js +3 -3
- package/plugins/filters/component/_base.mjs +3 -3
- package/plugins/filters/component/actionBar.js +0 -2
- package/plugins/filters/component/actionBar.mjs +0 -2
- package/plugins/filters/component/condition.js +2 -4
- package/plugins/filters/component/condition.mjs +2 -4
- package/plugins/filters/component/operators.js +2 -5
- package/plugins/filters/component/operators.mjs +2 -5
- package/plugins/filters/component/value.js +4 -12
- package/plugins/filters/component/value.mjs +4 -12
- package/plugins/filters/condition/intlDate/after.js +31 -0
- package/plugins/filters/condition/intlDate/after.mjs +26 -0
- package/plugins/filters/condition/intlDate/before.js +31 -0
- package/plugins/filters/condition/intlDate/before.mjs +26 -0
- package/plugins/filters/condition/intlDate/between.js +30 -0
- package/plugins/filters/condition/intlDate/between.mjs +25 -0
- package/plugins/filters/condition/intlDate/today.js +27 -0
- package/plugins/filters/condition/intlDate/today.mjs +22 -0
- package/plugins/filters/condition/intlDate/tomorrow.js +28 -0
- package/plugins/filters/condition/intlDate/tomorrow.mjs +23 -0
- package/plugins/filters/condition/intlDate/yesterday.js +28 -0
- package/plugins/filters/condition/intlDate/yesterday.mjs +23 -0
- package/plugins/filters/condition/intlTime/after.js +31 -0
- package/plugins/filters/condition/intlTime/after.mjs +26 -0
- package/plugins/filters/condition/intlTime/before.js +31 -0
- package/plugins/filters/condition/intlTime/before.mjs +26 -0
- package/plugins/filters/condition/intlTime/between.js +30 -0
- package/plugins/filters/condition/intlTime/between.mjs +25 -0
- package/plugins/filters/conditionCollection.js +3 -9
- package/plugins/filters/conditionCollection.mjs +3 -9
- package/plugins/filters/conditionRegisterer.js +3 -3
- package/plugins/filters/conditionRegisterer.mjs +3 -3
- package/plugins/filters/conditionUpdateObserver.js +3 -7
- package/plugins/filters/conditionUpdateObserver.mjs +3 -7
- package/plugins/filters/constants.js +14 -2
- package/plugins/filters/constants.mjs +14 -2
- package/plugins/filters/dataFilter.js +1 -3
- package/plugins/filters/dataFilter.mjs +1 -3
- package/plugins/filters/filters.js +36 -44
- package/plugins/filters/filters.mjs +36 -44
- package/plugins/filters/logicalOperationRegisterer.js +2 -2
- package/plugins/filters/logicalOperationRegisterer.mjs +2 -2
- package/plugins/filters/logicalOperations/conjunction.js +0 -2
- package/plugins/filters/logicalOperations/conjunction.mjs +0 -2
- package/plugins/filters/logicalOperations/disjunction.js +0 -2
- package/plugins/filters/logicalOperations/disjunction.mjs +0 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -4
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -4
- package/plugins/filters/menu/focusController.js +0 -2
- package/plugins/filters/menu/focusController.mjs +0 -2
- package/plugins/filters/ui/_base.js +0 -1
- package/plugins/filters/ui/_base.mjs +0 -1
- package/plugins/filters/ui/input.js +1 -1
- package/plugins/filters/ui/input.mjs +1 -1
- package/plugins/filters/ui/link.js +0 -1
- package/plugins/filters/ui/link.mjs +0 -1
- package/plugins/filters/ui/multipleSelect.js +0 -6
- package/plugins/filters/ui/multipleSelect.mjs +0 -6
- package/plugins/filters/ui/radioInput.js +0 -1
- package/plugins/filters/ui/radioInput.mjs +0 -1
- package/plugins/filters/ui/select.js +0 -1
- package/plugins/filters/ui/select.mjs +0 -1
- package/plugins/filters/utils.js +0 -11
- package/plugins/filters/utils.mjs +0 -11
- package/plugins/formulas/engine/register.js +0 -4
- package/plugins/formulas/engine/register.mjs +0 -4
- package/plugins/formulas/engine/settings.js +0 -3
- package/plugins/formulas/engine/settings.mjs +0 -3
- package/plugins/formulas/formulas.js +0 -14
- package/plugins/formulas/formulas.mjs +0 -14
- package/plugins/formulas/indexSyncer/axisSyncer.js +0 -5
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -5
- package/plugins/formulas/indexSyncer/index.js +0 -1
- package/plugins/formulas/indexSyncer/index.mjs +0 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +0 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +0 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +0 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +0 -3
- package/plugins/hiddenColumns/hiddenColumns.js +1 -13
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -13
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +0 -1
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +0 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +0 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +0 -3
- package/plugins/hiddenRows/hiddenRows.js +1 -13
- package/plugins/hiddenRows/hiddenRows.mjs +1 -13
- package/plugins/index.d.ts +0 -3
- package/plugins/index.js +0 -3
- package/plugins/index.mjs +1 -3
- package/plugins/loading/loading.js +0 -1
- package/plugins/loading/loading.mjs +0 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +0 -4
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +0 -4
- package/plugins/manualColumnMove/manualColumnMove.js +2 -36
- package/plugins/manualColumnMove/manualColumnMove.mjs +2 -36
- package/plugins/manualColumnMove/ui/_base.js +0 -1
- package/plugins/manualColumnMove/ui/_base.mjs +0 -1
- package/plugins/manualColumnResize/manualColumnResize.js +4 -39
- package/plugins/manualColumnResize/manualColumnResize.mjs +4 -39
- package/plugins/manualRowMove/manualRowMove.js +2 -37
- package/plugins/manualRowMove/manualRowMove.mjs +2 -37
- package/plugins/manualRowMove/ui/_base.js +0 -1
- package/plugins/manualRowMove/ui/_base.mjs +0 -1
- package/plugins/manualRowResize/manualRowResize.js +3 -38
- package/plugins/manualRowResize/manualRowResize.mjs +3 -38
- package/plugins/mergeCells/calculations/autofill.js +0 -3
- package/plugins/mergeCells/calculations/autofill.mjs +0 -3
- package/plugins/mergeCells/calculations/selection.js +0 -2
- package/plugins/mergeCells/calculations/selection.mjs +0 -2
- package/plugins/mergeCells/cellCoords.js +0 -1
- package/plugins/mergeCells/cellCoords.mjs +0 -1
- package/plugins/mergeCells/cellsCollection.js +0 -14
- package/plugins/mergeCells/cellsCollection.mjs +0 -14
- package/plugins/mergeCells/focusOrder.js +0 -4
- package/plugins/mergeCells/focusOrder.mjs +0 -4
- package/plugins/mergeCells/mergeCells.js +0 -14
- package/plugins/mergeCells/mergeCells.mjs +0 -14
- package/plugins/multiColumnSorting/domHelpers.js +0 -3
- package/plugins/multiColumnSorting/domHelpers.mjs +0 -3
- package/plugins/multiColumnSorting/multiColumnSorting.js +0 -1
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +0 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +0 -4
- package/plugins/nestedHeaders/nestedHeaders.mjs +0 -4
- package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
- package/plugins/nestedHeaders/stateManager/index.js +0 -4
- package/plugins/nestedHeaders/stateManager/index.mjs +0 -4
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +0 -1
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +0 -1
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +0 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +0 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +0 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +0 -7
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -4
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -4
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -2
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -2
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -3
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -3
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +0 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +0 -1
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -2
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -2
- package/plugins/nestedRows/data/dataManager.js +0 -2
- package/plugins/nestedRows/data/dataManager.mjs +0 -2
- package/plugins/nestedRows/nestedRows.js +0 -12
- package/plugins/nestedRows/nestedRows.mjs +0 -12
- package/plugins/nestedRows/ui/_base.js +0 -1
- package/plugins/nestedRows/ui/_base.mjs +0 -1
- package/plugins/nestedRows/ui/collapsing.js +0 -1
- package/plugins/nestedRows/ui/collapsing.mjs +0 -1
- package/plugins/nestedRows/ui/contextMenu.js +0 -1
- package/plugins/nestedRows/ui/contextMenu.mjs +0 -1
- package/plugins/nestedRows/ui/headers.js +2 -4
- package/plugins/nestedRows/ui/headers.mjs +2 -4
- package/plugins/nestedRows/utils/rowMoveController.js +0 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +0 -6
- package/plugins/pagination/pagination.js +1 -7
- package/plugins/pagination/pagination.mjs +1 -7
- package/plugins/pagination/strategies/autoPageSize.js +0 -2
- package/plugins/pagination/strategies/autoPageSize.mjs +0 -2
- package/plugins/pagination/strategies/fixedPageSize.js +0 -1
- package/plugins/pagination/strategies/fixedPageSize.mjs +0 -1
- package/plugins/pagination/strategies/index.js +2 -2
- package/plugins/pagination/strategies/index.mjs +2 -2
- package/plugins/pagination/ui.js +0 -3
- package/plugins/pagination/ui.mjs +0 -3
- package/plugins/registry.js +2 -2
- package/plugins/registry.mjs +2 -2
- package/plugins/search/search.js +0 -2
- package/plugins/search/search.mjs +0 -2
- package/plugins/stretchColumns/calculator.js +1 -6
- package/plugins/stretchColumns/calculator.mjs +1 -6
- package/plugins/stretchColumns/strategies/_base.js +0 -1
- package/plugins/stretchColumns/strategies/_base.mjs +0 -1
- package/plugins/stretchColumns/strategies/all.js +0 -4
- package/plugins/stretchColumns/strategies/all.mjs +0 -4
- package/plugins/stretchColumns/strategies/last.js +0 -3
- package/plugins/stretchColumns/strategies/last.mjs +0 -3
- package/plugins/stretchColumns/stretchColumns.js +0 -3
- package/plugins/stretchColumns/stretchColumns.mjs +0 -3
- package/plugins/touchScroll/touchScroll.js +0 -2
- package/plugins/touchScroll/touchScroll.mjs +0 -2
- package/plugins/trimRows/trimRows.js +1 -12
- package/plugins/trimRows/trimRows.mjs +1 -12
- package/plugins/undoRedo/actions/_base.js +3 -3
- package/plugins/undoRedo/actions/_base.mjs +3 -3
- package/plugins/undoRedo/actions/cellAlignment.js +0 -1
- package/plugins/undoRedo/actions/cellAlignment.mjs +0 -1
- package/plugins/undoRedo/actions/columnMove.js +0 -3
- package/plugins/undoRedo/actions/columnMove.mjs +0 -3
- package/plugins/undoRedo/actions/columnSort.js +0 -1
- package/plugins/undoRedo/actions/columnSort.mjs +0 -1
- package/plugins/undoRedo/actions/createColumn.js +0 -1
- package/plugins/undoRedo/actions/createColumn.mjs +0 -1
- package/plugins/undoRedo/actions/createRow.js +0 -1
- package/plugins/undoRedo/actions/createRow.mjs +0 -1
- package/plugins/undoRedo/actions/dataChange.js +0 -6
- package/plugins/undoRedo/actions/dataChange.mjs +0 -6
- package/plugins/undoRedo/actions/filters.js +0 -3
- package/plugins/undoRedo/actions/filters.mjs +0 -3
- package/plugins/undoRedo/actions/mergeCells.js +0 -1
- package/plugins/undoRedo/actions/mergeCells.mjs +0 -1
- package/plugins/undoRedo/actions/removeColumn.js +0 -4
- package/plugins/undoRedo/actions/removeColumn.mjs +0 -4
- package/plugins/undoRedo/actions/removeRow.js +0 -4
- package/plugins/undoRedo/actions/removeRow.mjs +0 -4
- package/plugins/undoRedo/actions/rowMove.js +0 -3
- package/plugins/undoRedo/actions/rowMove.mjs +0 -3
- package/plugins/undoRedo/actions/unmergeCells.js +0 -1
- package/plugins/undoRedo/actions/unmergeCells.mjs +0 -1
- package/plugins/undoRedo/undoRedo.js +0 -87
- package/plugins/undoRedo/undoRedo.mjs +0 -87
- package/plugins/undoRedo/utils.js +1 -13
- package/plugins/undoRedo/utils.mjs +1 -13
- package/renderers/baseRenderer/baseRenderer.js +3 -1
- package/renderers/baseRenderer/baseRenderer.mjs +3 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -7
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +2 -7
- package/renderers/dateRenderer/dateRenderer.js +6 -0
- package/renderers/dateRenderer/dateRenderer.mjs +6 -0
- package/renderers/factory.d.ts +20 -0
- package/renderers/factory.js +51 -0
- package/renderers/factory.mjs +47 -0
- package/renderers/htmlRenderer/htmlRenderer.js +1 -4
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -4
- package/renderers/index.d.ts +7 -0
- package/renderers/index.js +10 -0
- package/renderers/index.mjs +7 -2
- package/renderers/intlDateRenderer/index.d.ts +1 -0
- package/renderers/intlDateRenderer/index.js +7 -0
- package/renderers/intlDateRenderer/index.mjs +1 -0
- package/renderers/intlDateRenderer/intlDateRenderer.d.ts +6 -0
- package/renderers/intlDateRenderer/intlDateRenderer.js +58 -0
- package/renderers/intlDateRenderer/intlDateRenderer.mjs +53 -0
- package/renderers/intlTimeRenderer/index.d.ts +1 -0
- package/renderers/intlTimeRenderer/index.js +7 -0
- package/renderers/intlTimeRenderer/index.mjs +1 -0
- package/renderers/intlTimeRenderer/intlTimeRenderer.d.ts +6 -0
- package/renderers/intlTimeRenderer/intlTimeRenderer.js +57 -0
- package/renderers/intlTimeRenderer/intlTimeRenderer.mjs +52 -0
- package/renderers/multiSelectRenderer/index.js +7 -0
- package/renderers/multiSelectRenderer/index.mjs +1 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.js +60 -0
- package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +56 -0
- package/renderers/multiSelectRenderer/utils/utils.js +270 -0
- package/renderers/multiSelectRenderer/utils/utils.mjs +258 -0
- package/renderers/numericRenderer/index.d.ts +1 -1
- package/renderers/numericRenderer/index.js +1 -1
- package/renderers/numericRenderer/index.mjs +1 -1
- package/renderers/numericRenderer/numericRenderer.d.ts +1 -0
- package/renderers/numericRenderer/numericRenderer.js +19 -22
- package/renderers/numericRenderer/numericRenderer.mjs +18 -20
- package/renderers/numericRenderer/utils.js +64 -0
- package/renderers/numericRenderer/utils.mjs +57 -0
- package/renderers/passwordRenderer/passwordRenderer.js +22 -12
- package/renderers/passwordRenderer/passwordRenderer.mjs +21 -12
- package/renderers/registry.d.ts +1 -1
- package/renderers/registry.js +51 -3
- package/renderers/registry.mjs +51 -3
- package/renderers/textRenderer/textRenderer.js +0 -2
- package/renderers/textRenderer/textRenderer.mjs +0 -2
- package/renderers/timeRenderer/timeRenderer.js +6 -0
- package/renderers/timeRenderer/timeRenderer.mjs +6 -0
- package/selection/highlight/highlight.js +0 -2
- package/selection/highlight/highlight.mjs +0 -2
- package/selection/highlight/visualSelection.js +0 -1
- package/selection/highlight/visualSelection.mjs +0 -1
- package/selection/index.js +0 -2
- package/selection/mouseEventHandler.js +0 -2
- package/selection/mouseEventHandler.mjs +0 -2
- package/selection/range.js +0 -7
- package/selection/range.mjs +0 -7
- package/selection/selection.js +6 -15
- package/selection/selection.mjs +6 -15
- package/selection/transformation/_base.js +6 -6
- package/selection/transformation/_base.mjs +6 -6
- package/selection/transformation/focus.js +2 -2
- package/selection/transformation/focus.mjs +2 -2
- package/selection/utils.js +3 -13
- package/selection/utils.mjs +3 -13
- package/settings.d.ts +9 -3
- package/shortcutContexts/commands/editor/open.js +0 -2
- package/shortcutContexts/commands/editor/open.mjs +0 -2
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -2
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -2
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -2
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -2
- package/shortcutContexts/grid.js +11 -12
- package/shortcutContexts/grid.mjs +11 -12
- package/shortcutContexts/index.js +0 -2
- package/shortcuts/context.js +4 -8
- package/shortcuts/context.mjs +4 -8
- package/shortcuts/keyObserver.js +0 -7
- package/shortcuts/keyObserver.mjs +0 -7
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/shortcuts/recorder.js +0 -1
- package/shortcuts/recorder.mjs +0 -1
- package/shortcuts/utils.js +0 -2
- package/shortcuts/utils.mjs +0 -2
- package/styles/handsontable.css +302 -83
- package/styles/handsontable.min.css +3 -3
- package/styles/handsontableStyles.js +6 -0
- package/styles/handsontableStyles.mjs +4 -0
- package/styles/ht-icons-horizon.css +55 -61
- package/styles/ht-icons-horizon.min.css +3 -3
- package/styles/ht-icons-main.css +55 -61
- package/styles/ht-icons-main.min.css +3 -3
- package/styles/ht-theme-classic-no-icons.css +302 -374
- package/styles/ht-theme-classic-no-icons.min.css +3 -3
- package/styles/ht-theme-classic.css +383 -408
- package/styles/ht-theme-classic.min.css +3 -3
- package/styles/ht-theme-horizon-no-icons.css +300 -378
- package/styles/ht-theme-horizon-no-icons.min.css +3 -3
- package/styles/ht-theme-horizon.css +381 -412
- package/styles/ht-theme-horizon.min.css +3 -3
- package/styles/ht-theme-main-no-icons.css +302 -371
- package/styles/ht-theme-main-no-icons.min.css +3 -3
- package/styles/ht-theme-main.css +383 -405
- package/styles/ht-theme-main.min.css +3 -3
- package/tableView.js +16 -4
- package/tableView.mjs +16 -4
- package/themes/engine/builder.js +251 -0
- package/themes/engine/builder.mjs +246 -0
- package/themes/engine/index.js +7 -0
- package/themes/engine/index.mjs +2 -0
- package/themes/engine/manager.js +188 -0
- package/themes/engine/manager.mjs +183 -0
- package/themes/engine/utils/cssVariables.js +132 -0
- package/themes/engine/utils/cssVariables.mjs +128 -0
- package/themes/engine/utils/validation.js +348 -0
- package/themes/engine/utils/validation.mjs +342 -0
- package/themes/index.js +15 -0
- package/themes/index.mjs +2 -0
- package/themes/registry.js +131 -0
- package/themes/registry.mjs +122 -0
- package/themes/static/variables/colors/ant.d.ts +4 -0
- package/themes/static/variables/colors/ant.js +32 -0
- package/themes/static/variables/colors/ant.mjs +30 -0
- package/themes/static/variables/colors/classic.d.ts +4 -0
- package/themes/static/variables/colors/classic.js +32 -0
- package/themes/static/variables/colors/classic.mjs +30 -0
- package/themes/static/variables/colors/horizon.d.ts +4 -0
- package/themes/static/variables/colors/horizon.js +32 -0
- package/themes/static/variables/colors/horizon.mjs +30 -0
- package/themes/static/variables/colors/main.d.ts +4 -0
- package/themes/static/variables/colors/main.js +32 -0
- package/themes/static/variables/colors/main.mjs +30 -0
- package/themes/static/variables/colors/material.d.ts +4 -0
- package/themes/static/variables/colors/material.js +32 -0
- package/themes/static/variables/colors/material.mjs +30 -0
- package/themes/static/variables/colors/shadcn.d.ts +4 -0
- package/themes/static/variables/colors/shadcn.js +32 -0
- package/themes/static/variables/colors/shadcn.mjs +30 -0
- package/themes/static/variables/density.d.ts +4 -0
- package/themes/static/variables/density.js +59 -0
- package/themes/static/variables/density.mjs +57 -0
- package/themes/static/variables/helpers/iconsMap.d.ts +3 -0
- package/themes/static/variables/helpers/iconsMap.js +139 -0
- package/themes/static/variables/helpers/iconsMap.mjs +135 -0
- package/themes/static/variables/icons/horizon.d.ts +4 -0
- package/themes/static/variables/icons/horizon.js +29 -0
- package/themes/static/variables/icons/horizon.mjs +28 -0
- package/themes/static/variables/icons/main.d.ts +4 -0
- package/themes/static/variables/icons/main.js +29 -0
- package/themes/static/variables/icons/main.mjs +28 -0
- package/themes/static/variables/sizing.d.ts +4 -0
- package/themes/static/variables/sizing.js +22 -0
- package/themes/static/variables/sizing.mjs +20 -0
- package/themes/static/variables/tokens/classic.d.ts +4 -0
- package/themes/static/variables/tokens/classic.js +270 -0
- package/themes/static/variables/tokens/classic.mjs +268 -0
- package/themes/static/variables/tokens/horizon.d.ts +4 -0
- package/themes/static/variables/tokens/horizon.js +270 -0
- package/themes/static/variables/tokens/horizon.mjs +268 -0
- package/themes/static/variables/tokens/main.d.ts +4 -0
- package/themes/static/variables/tokens/main.js +270 -0
- package/themes/static/variables/tokens/main.mjs +268 -0
- package/themes/theme/classic.d.ts +3 -0
- package/themes/theme/classic.js +14 -0
- package/themes/theme/classic.mjs +11 -0
- package/themes/theme/horizon.d.ts +3 -0
- package/themes/theme/horizon.js +14 -0
- package/themes/theme/horizon.mjs +11 -0
- package/themes/theme/index.d.ts +5 -0
- package/themes/theme/index.js +9 -0
- package/themes/theme/index.mjs +3 -0
- package/themes/theme/main.d.ts +3 -0
- package/themes/theme/main.js +14 -0
- package/themes/theme/main.mjs +11 -0
- package/themes.d.ts +491 -0
- package/translations/changesObservable/observable.js +0 -10
- package/translations/changesObservable/observable.mjs +0 -10
- package/translations/changesObservable/observer.js +0 -1
- package/translations/changesObservable/observer.mjs +0 -1
- package/translations/changesObservable/utils.js +0 -1
- package/translations/changesObservable/utils.mjs +0 -1
- package/translations/index.js +0 -2
- package/translations/indexMapper.js +3 -14
- package/translations/indexMapper.mjs +3 -14
- package/translations/mapCollections/aggregatedCollection.js +0 -2
- package/translations/mapCollections/aggregatedCollection.mjs +0 -2
- package/translations/mapCollections/index.js +0 -2
- package/translations/mapCollections/mapCollection.js +0 -3
- package/translations/mapCollections/mapCollection.mjs +0 -3
- package/translations/maps/hidingMap.js +0 -1
- package/translations/maps/hidingMap.mjs +0 -1
- package/translations/maps/index.js +2 -4
- package/translations/maps/index.mjs +2 -2
- package/translations/maps/indexMap.js +0 -2
- package/translations/maps/indexMap.mjs +0 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +0 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +0 -3
- package/translations/maps/trimmingMap.js +0 -1
- package/translations/maps/trimmingMap.mjs +0 -1
- package/translations/maps/utils/actionsOnIndexes.js +0 -2
- package/translations/maps/utils/actionsOnIndexes.mjs +0 -2
- package/translations/maps/utils/index.js +2 -2
- package/translations/maps/utils/index.mjs +2 -2
- package/translations/maps/utils/physicallyIndexed.js +0 -2
- package/translations/maps/utils/physicallyIndexed.mjs +0 -2
- package/utils/dataStructures/linkedList.js +0 -1
- package/utils/dataStructures/linkedList.mjs +0 -1
- package/utils/dataStructures/priorityMap.js +3 -5
- package/utils/dataStructures/priorityMap.mjs +3 -5
- package/utils/dataStructures/queue.js +0 -1
- package/utils/dataStructures/queue.mjs +0 -1
- package/utils/dataStructures/stack.js +0 -1
- package/utils/dataStructures/stack.mjs +0 -1
- package/utils/dataStructures/tree.js +2 -3
- package/utils/dataStructures/tree.mjs +2 -3
- package/utils/dataStructures/uniqueMap.js +2 -4
- package/utils/dataStructures/uniqueMap.mjs +2 -4
- package/utils/dataStructures/uniqueSet.js +2 -9
- package/utils/dataStructures/uniqueSet.mjs +2 -9
- package/utils/ghostTable.js +3 -6
- package/utils/ghostTable.mjs +3 -6
- package/utils/interval.js +0 -1
- package/utils/interval.mjs +0 -1
- package/utils/paginator.js +0 -7
- package/utils/paginator.mjs +0 -7
- package/utils/parseTable.js +0 -6
- package/utils/parseTable.mjs +0 -6
- package/utils/samplesGenerator.js +2 -3
- package/utils/samplesGenerator.mjs +2 -3
- package/utils/stylesHandler.js +49 -60
- package/utils/stylesHandler.mjs +48 -60
- package/validators/autocompleteValidator/autocompleteValidator.js +9 -1
- package/validators/autocompleteValidator/autocompleteValidator.mjs +10 -2
- package/validators/dateValidator/dateValidator.js +2 -2
- package/validators/dateValidator/dateValidator.mjs +1 -1
- package/validators/index.d.ts +6 -0
- package/validators/index.js +12 -0
- package/validators/index.mjs +7 -1
- package/validators/intlDateValidator/index.d.ts +1 -0
- package/validators/intlDateValidator/index.js +8 -0
- package/validators/intlDateValidator/index.mjs +1 -0
- package/validators/intlDateValidator/intlDateValidator.d.ts +6 -0
- package/validators/intlDateValidator/intlDateValidator.js +39 -0
- package/validators/intlDateValidator/intlDateValidator.mjs +34 -0
- package/validators/intlTimeValidator/index.d.ts +1 -0
- package/validators/intlTimeValidator/index.js +8 -0
- package/validators/intlTimeValidator/index.mjs +1 -0
- package/validators/intlTimeValidator/intlTimeValidator.d.ts +6 -0
- package/validators/intlTimeValidator/intlTimeValidator.js +39 -0
- package/validators/intlTimeValidator/intlTimeValidator.mjs +34 -0
- package/validators/multiSelectValidator/index.js +6 -0
- package/validators/multiSelectValidator/index.mjs +1 -0
- package/validators/multiSelectValidator/multiSelectValidator.js +84 -0
- package/validators/multiSelectValidator/multiSelectValidator.mjs +80 -0
- package/validators/registry.js +2 -2
- package/validators/registry.mjs +2 -2
- package/dist/README.md +0 -54
- package/dist/handsontable.css +0 -2551
- package/dist/handsontable.full.css +0 -2781
- package/dist/handsontable.full.min.css +0 -51
- package/dist/handsontable.min.css +0 -46
- package/helpers/date.d.ts +0 -1
- package/helpers/date.js +0 -22
- package/helpers/date.mjs +0 -18
- package/plugins/persistentState/index.d.ts +0 -1
- package/plugins/persistentState/index.js +0 -7
- package/plugins/persistentState/index.mjs +0 -1
- package/plugins/persistentState/persistentState.d.ts +0 -16
- package/plugins/persistentState/persistentState.js +0 -159
- package/plugins/persistentState/persistentState.mjs +0 -154
- package/plugins/persistentState/storage.js +0 -120
- package/plugins/persistentState/storage.mjs +0 -117
package/core.mjs
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
import "core-js/modules/es.error.cause.js";
|
|
2
|
-
import "core-js/modules/es.array.push.js";
|
|
3
|
-
import "core-js/modules/es.object.from-entries.js";
|
|
4
|
-
import "core-js/modules/es.set.difference.v2.js";
|
|
5
|
-
import "core-js/modules/es.set.intersection.v2.js";
|
|
6
|
-
import "core-js/modules/es.set.is-disjoint-from.v2.js";
|
|
7
|
-
import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
8
|
-
import "core-js/modules/es.set.is-superset-of.v2.js";
|
|
9
|
-
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
|
10
|
-
import "core-js/modules/es.set.union.v2.js";
|
|
11
|
-
import "core-js/modules/esnext.iterator.constructor.js";
|
|
12
|
-
import "core-js/modules/esnext.iterator.filter.js";
|
|
13
|
-
import "core-js/modules/esnext.iterator.for-each.js";
|
|
14
|
-
import "core-js/modules/esnext.iterator.map.js";
|
|
15
|
-
import "core-js/modules/web.immediate.js";
|
|
16
1
|
import { addClass, empty, observeVisibilityChangeOnce, removeClass } from "./helpers/dom/element.mjs";
|
|
17
2
|
import { isFunction } from "./helpers/function.mjs";
|
|
18
3
|
import { isDefined, isUndefined, isRegExp, _injectProductInfo, isEmpty } from "./helpers/mixed.mjs";
|
|
@@ -30,7 +15,6 @@ import { getValidator } from "./validators/registry.mjs";
|
|
|
30
15
|
import { randomString, toUpperCaseFirst } from "./helpers/string.mjs";
|
|
31
16
|
import { rangeEach, rangeEachReverse } from "./helpers/number.mjs";
|
|
32
17
|
import TableView from "./tableView.mjs";
|
|
33
|
-
import DataSource from "./dataMap/dataSource.mjs";
|
|
34
18
|
import { spreadsheetColumnLabel } from "./helpers/data.mjs";
|
|
35
19
|
import { IndexMapper } from "./translations/index.mjs";
|
|
36
20
|
import { registerAsRootInstance, hasValidParameter, isRootInstance } from "./utils/rootInstance.mjs";
|
|
@@ -38,7 +22,7 @@ import { DEFAULT_COLUMN_WIDTH } from "./3rdparty/walkontable/src/index.mjs";
|
|
|
38
22
|
import { hasLanguageDictionary, getValidLanguageCode, getTranslatedPhrase } from "./i18n/registry.mjs";
|
|
39
23
|
import { warnUserAboutLanguageRegistration, normalizeLanguageCode } from "./i18n/utils.mjs";
|
|
40
24
|
import { Selection } from "./selection/index.mjs";
|
|
41
|
-
import { MetaManager, DynamicCellMetaMod, ExtendMetaPropertiesMod, replaceData } from "./dataMap/index.mjs";
|
|
25
|
+
import { DataSource, MetaManager, DynamicCellMetaMod, ExtendMetaPropertiesMod, replaceData, runSourceDataValidator, runSourceDataValidators } from "./dataMap/index.mjs";
|
|
42
26
|
import { createViewportScroller, Hooks, CellRangeToRenderableMapper } from "./core/index.mjs";
|
|
43
27
|
import { FocusGridManager, createFocusScopeManager, registerAllFocusScopes } from "./focusManager/index.mjs";
|
|
44
28
|
import { createUniqueMap } from "./utils/dataStructures/uniqueMap.mjs";
|
|
@@ -46,18 +30,14 @@ import { createShortcutManager } from "./shortcuts/index.mjs";
|
|
|
46
30
|
import { registerAllShortcutContexts } from "./shortcutContexts/index.mjs";
|
|
47
31
|
import { getThemeClassName } from "./helpers/themes.mjs";
|
|
48
32
|
import { StylesHandler } from "./utils/stylesHandler.mjs";
|
|
49
|
-
import {
|
|
33
|
+
import { warn } from "./helpers/console.mjs";
|
|
34
|
+
import { throwWithCause } from "./helpers/errors.mjs";
|
|
50
35
|
import { install as installAccessibilityAnnouncer, uninstall as uninstallAccessibilityAnnouncer } from "./utils/a11yAnnouncer.mjs";
|
|
51
36
|
import { getValueSetterValue } from "./utils/valueAccessors.mjs";
|
|
37
|
+
import { createThemeManager } from "./themes/engine/index.mjs";
|
|
38
|
+
import { getTheme, hasTheme, registerTheme, mainTheme } from "./themes/index.mjs";
|
|
52
39
|
let activeGuid = null;
|
|
53
40
|
|
|
54
|
-
/**
|
|
55
|
-
* A set of deprecated warn instances.
|
|
56
|
-
*
|
|
57
|
-
* @type {Set<string>}
|
|
58
|
-
*/
|
|
59
|
-
const deprecatedWarnInstances = new WeakSet();
|
|
60
|
-
|
|
61
41
|
/**
|
|
62
42
|
* Keeps the collection of the all Handsontable instances created on the same page. The
|
|
63
43
|
* list is then used to trigger the "afterUnlisten" hook when the "listen()" method was
|
|
@@ -140,7 +120,7 @@ const deprecationWarns = new Set();
|
|
|
140
120
|
* standalone: true,
|
|
141
121
|
* imports: [HotTableModule],
|
|
142
122
|
* template: ` <div>
|
|
143
|
-
* <hot-table
|
|
123
|
+
* <hot-table [settings]="gridSettings" />
|
|
144
124
|
* </div>`,
|
|
145
125
|
* })
|
|
146
126
|
* export class ExampleComponent implements AfterViewInit {
|
|
@@ -338,21 +318,29 @@ export default function Core(rootContainer, userSettings) {
|
|
|
338
318
|
hot: instance,
|
|
339
319
|
rootElement: instance.rootElement,
|
|
340
320
|
rootDocument: instance.rootDocument,
|
|
341
|
-
onThemeChange:
|
|
321
|
+
onThemeChange: themeName => {
|
|
342
322
|
if (isRootInstance(this)) {
|
|
343
323
|
removeClass(this.rootWrapperElement, /ht-theme-.*/g);
|
|
344
324
|
removeClass(this.rootPortalElement, /ht-theme-.*/g);
|
|
345
|
-
if (
|
|
346
|
-
addClass(this.rootWrapperElement,
|
|
347
|
-
addClass(this.rootPortalElement,
|
|
325
|
+
if (themeName) {
|
|
326
|
+
addClass(this.rootWrapperElement, themeName);
|
|
327
|
+
addClass(this.rootPortalElement, themeName);
|
|
348
328
|
if (!getComputedStyle(this.rootWrapperElement).getPropertyValue('--ht-line-height')) {
|
|
349
|
-
warn(`The "${
|
|
350
|
-
Import the correct CSS files in order to use that theme.`);
|
|
329
|
+
warn(`The "${themeName}" theme is enabled, but its stylesheets are missing` + ' or not imported correctly. Import the correct CSS files in order to use that theme.');
|
|
351
330
|
}
|
|
352
331
|
}
|
|
353
332
|
}
|
|
354
|
-
}
|
|
333
|
+
},
|
|
334
|
+
injectCoreCss: typeof (userSettings === null || userSettings === void 0 ? void 0 : userSettings.injectCoreCss) === 'boolean' ? userSettings.injectCoreCss : true
|
|
355
335
|
});
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* ThemeManager instance.
|
|
339
|
+
*
|
|
340
|
+
* @private
|
|
341
|
+
* @type {ThemeManager|null}
|
|
342
|
+
*/
|
|
343
|
+
this.themeManager = null;
|
|
356
344
|
mergedUserSettings.language = getValidLanguageCode(mergedUserSettings.language);
|
|
357
345
|
const settingsWithoutHooks = Object.fromEntries(Object.entries(mergedUserSettings).filter(_ref => {
|
|
358
346
|
let [key] = _ref;
|
|
@@ -501,7 +489,9 @@ export default function Core(rootContainer, userSettings) {
|
|
|
501
489
|
const selectionLayerLevel = selectionRange.size() - 1;
|
|
502
490
|
this.runHooks('afterSelection', from.row, from.col, to.row, to.col, preventScrolling, selectionLayerLevel);
|
|
503
491
|
this.runHooks('afterSelectionByProp', from.row, instance.colToProp(from.col), to.row, instance.colToProp(to.col), preventScrolling, selectionLayerLevel);
|
|
504
|
-
|
|
492
|
+
const selectionSource = selection.getSelectionSource();
|
|
493
|
+
const ignoreScrollSources = ['loadData', 'updateData'];
|
|
494
|
+
if (isLastSelectionLayer && !ignoreScrollSources.includes(selectionSource) && (!preventScrolling.isTouched() || preventScrolling.isTouched() && !preventScrolling.value)) {
|
|
505
495
|
viewportScroller.scrollTo(cellCoords);
|
|
506
496
|
}
|
|
507
497
|
const isSelectedByRowHeader = selection.isSelectedByRowHeader();
|
|
@@ -521,10 +511,10 @@ export default function Core(rootContainer, userSettings) {
|
|
|
521
511
|
} else {
|
|
522
512
|
removeClass(this.rootElement, ['ht__selection--rows', 'ht__selection--columns']);
|
|
523
513
|
}
|
|
524
|
-
if (!['shift', 'refresh'].includes(
|
|
514
|
+
if (!['shift', 'refresh', 'loadData', 'updateData'].includes(selectionSource)) {
|
|
525
515
|
editorManager.closeEditor(null);
|
|
526
516
|
}
|
|
527
|
-
if (
|
|
517
|
+
if (!['refresh', 'loadData', 'updateData'].includes(selectionSource)) {
|
|
528
518
|
instance.view.render();
|
|
529
519
|
editorManager.prepareEditor();
|
|
530
520
|
}
|
|
@@ -873,7 +863,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
873
863
|
}
|
|
874
864
|
break;
|
|
875
865
|
default:
|
|
876
|
-
|
|
866
|
+
throwWithCause(`There is no such action "${action}"`);
|
|
877
867
|
}
|
|
878
868
|
if (!keepEmptyRows) {
|
|
879
869
|
grid.adjustRowsAndCols(); // makes sure that we did not add rows that will be removed in next refresh
|
|
@@ -1117,6 +1107,12 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1117
1107
|
}
|
|
1118
1108
|
if (!hasValueSetter && (typeof orgValue !== 'object' || orgValue === null)) {
|
|
1119
1109
|
pushData = false;
|
|
1110
|
+
|
|
1111
|
+
// Enabling `parsePastedValue` relaxes schema validation, so object-based values can be pasted
|
|
1112
|
+
// into non-object-based cells
|
|
1113
|
+
if (cellMeta.parsePastedValue && source === 'CopyPaste.paste') {
|
|
1114
|
+
pushData = true;
|
|
1115
|
+
}
|
|
1120
1116
|
} else if (orgValue !== null) {
|
|
1121
1117
|
const orgValueSchema = duckSchema(Array.isArray(orgValue) ? orgValue : orgValue[0] || orgValue);
|
|
1122
1118
|
const valueSchema = duckSchema(Array.isArray(value) ? value : value[0] || value);
|
|
@@ -1210,7 +1206,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1210
1206
|
focusGridManager.init();
|
|
1211
1207
|
if (isRootInstance(this)) {
|
|
1212
1208
|
installAccessibilityAnnouncer(instance.rootPortalElement);
|
|
1213
|
-
_injectProductInfo(mergedUserSettings.licenseKey, this.rootWrapperElement);
|
|
1209
|
+
_injectProductInfo(mergedUserSettings.licenseKey, this.rootWrapperElement, "20/02/2026");
|
|
1214
1210
|
}
|
|
1215
1211
|
instance.runHooks('init');
|
|
1216
1212
|
this.render();
|
|
@@ -1231,6 +1227,31 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1231
1227
|
instance.runHooks('afterInit');
|
|
1232
1228
|
};
|
|
1233
1229
|
|
|
1230
|
+
/**
|
|
1231
|
+
* Initializes the ThemeManager with the given theme configuration.
|
|
1232
|
+
*
|
|
1233
|
+
* @param {object|boolean} theme - The theme configuration object or `true` to use the default theme.
|
|
1234
|
+
*/
|
|
1235
|
+
function initializeThemeManager(theme) {
|
|
1236
|
+
let themeObject;
|
|
1237
|
+
if (typeof theme === 'undefined') {
|
|
1238
|
+
if (hasTheme('main')) {
|
|
1239
|
+
themeObject = getTheme('main');
|
|
1240
|
+
} else {
|
|
1241
|
+
themeObject = registerTheme(mainTheme);
|
|
1242
|
+
}
|
|
1243
|
+
themeObject = getTheme('main');
|
|
1244
|
+
} else if (typeof theme.getThemeConfig !== 'function') {
|
|
1245
|
+
themeObject = registerTheme(theme);
|
|
1246
|
+
} else {
|
|
1247
|
+
themeObject = theme;
|
|
1248
|
+
}
|
|
1249
|
+
instance.themeManager = createThemeManager({
|
|
1250
|
+
hot: instance,
|
|
1251
|
+
themeObject
|
|
1252
|
+
});
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1234
1255
|
/**
|
|
1235
1256
|
* @ignore
|
|
1236
1257
|
* @returns {object}
|
|
@@ -1274,7 +1295,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1274
1295
|
const waitingForValidator = new ValidatorsQueue();
|
|
1275
1296
|
let shouldBeCanceled = true;
|
|
1276
1297
|
waitingForValidator.onQueueEmpty = () => {
|
|
1277
|
-
if (activeEditor && shouldBeCanceled) {
|
|
1298
|
+
if (activeEditor && shouldBeCanceled && activeEditor._closeAfterDataChange) {
|
|
1278
1299
|
activeEditor.cancelChanges();
|
|
1279
1300
|
}
|
|
1280
1301
|
callback(); // called when async validators are resolved and beforeChange was not async
|
|
@@ -1299,7 +1320,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1299
1320
|
instance.validateCell(newValue, cellProperties, function (index, cellPropertiesReference) {
|
|
1300
1321
|
return function (result) {
|
|
1301
1322
|
if (typeof result !== 'boolean') {
|
|
1302
|
-
|
|
1323
|
+
throwWithCause('Validation error: result is not boolean');
|
|
1303
1324
|
}
|
|
1304
1325
|
if (result === false && cellPropertiesReference.allowInvalid === false) {
|
|
1305
1326
|
shouldBeCanceled = false;
|
|
@@ -1370,15 +1391,20 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1370
1391
|
datamap.set(changes[i][0], changes[i][1], changes[i][3]);
|
|
1371
1392
|
}
|
|
1372
1393
|
const hasChanges = changes.length > 0;
|
|
1394
|
+
const activeEditor = editorManager.getActiveEditor();
|
|
1395
|
+
const closeEditorAfterDataChange = activeEditor === null || activeEditor === void 0 ? void 0 : activeEditor._closeAfterDataChange;
|
|
1373
1396
|
if (hasChanges) {
|
|
1374
1397
|
grid.adjustRowsAndCols();
|
|
1375
1398
|
instance.runHooks('beforeChangeRender', changes, source);
|
|
1376
|
-
|
|
1399
|
+
if (activeEditor !== null && activeEditor !== void 0 && activeEditor.isOpened() && closeEditorAfterDataChange) {
|
|
1400
|
+
editorManager.closeEditor();
|
|
1401
|
+
}
|
|
1377
1402
|
instance.view.adjustElementsSize();
|
|
1378
1403
|
instance.render();
|
|
1379
|
-
|
|
1404
|
+
if (activeEditor !== null && activeEditor !== void 0 && activeEditor.isOpened() && closeEditorAfterDataChange || !(activeEditor !== null && activeEditor !== void 0 && activeEditor.isOpened())) {
|
|
1405
|
+
editorManager.prepareEditor();
|
|
1406
|
+
}
|
|
1380
1407
|
instance.runHooks('afterChange', changes, source || 'edit');
|
|
1381
|
-
const activeEditor = instance.getActiveEditor();
|
|
1382
1408
|
if (activeEditor && isDefined(activeEditor.refreshValue)) {
|
|
1383
1409
|
activeEditor.refreshValue();
|
|
1384
1410
|
}
|
|
@@ -1466,7 +1492,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1466
1492
|
value = instance.runHooks('beforeValidate', value, cellProperties.visualRow, cellProperties.prop, source);
|
|
1467
1493
|
|
|
1468
1494
|
// To provide consistent behavior, validation should be always asynchronous
|
|
1469
|
-
instance.
|
|
1495
|
+
instance._registerMicrotask(() => {
|
|
1470
1496
|
validator.call(cellProperties, value, valid => {
|
|
1471
1497
|
if (!instance) {
|
|
1472
1498
|
return;
|
|
@@ -1480,7 +1506,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1480
1506
|
});
|
|
1481
1507
|
} else {
|
|
1482
1508
|
// resolve callback even if validator function was not found
|
|
1483
|
-
instance.
|
|
1509
|
+
instance._registerMicrotask(() => {
|
|
1484
1510
|
cellProperties.valid = true;
|
|
1485
1511
|
done(cellProperties.valid, false);
|
|
1486
1512
|
});
|
|
@@ -1560,10 +1586,11 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1560
1586
|
for (i = 0, ilen = input.length; i < ilen; i++) {
|
|
1561
1587
|
const [visualRow, visualColumn, newValue] = input[i];
|
|
1562
1588
|
if (typeof input[i] !== 'object') {
|
|
1563
|
-
|
|
1589
|
+
throwWithCause('Method `setDataAtCell` accepts row number or changes array of arrays as its first parameter');
|
|
1564
1590
|
}
|
|
1565
|
-
if (typeof
|
|
1566
|
-
|
|
1591
|
+
if (typeof input[i][1] !== 'number') {
|
|
1592
|
+
// eslint-disable-next-line max-len
|
|
1593
|
+
throwWithCause('Method `setDataAtCell` accepts row and column number as its parameters. If you want to use object property name, use method `setDataAtRowProp`');
|
|
1567
1594
|
}
|
|
1568
1595
|
if (visualColumn >= this.countCols()) {
|
|
1569
1596
|
prop = visualColumn;
|
|
@@ -1701,7 +1728,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1701
1728
|
*/
|
|
1702
1729
|
this.populateFromArray = function (row, column, input, endRow, endCol, source, method) {
|
|
1703
1730
|
if (!(typeof input === 'object' && typeof input[0] === 'object')) {
|
|
1704
|
-
|
|
1731
|
+
throwWithCause('populateFromArray parameter `input` must be an array of arrays'); // API changed in 0.9-beta2, let's check if you use it correctly
|
|
1705
1732
|
}
|
|
1706
1733
|
const c = typeof endRow === 'number' ? instance._createCellCoords(endRow, endCol) : null;
|
|
1707
1734
|
return grid.populateFromArray(instance._createCellCoords(row, column), input, c, source, method);
|
|
@@ -1791,7 +1818,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
1791
1818
|
* has visible focus highlight.
|
|
1792
1819
|
*
|
|
1793
1820
|
* @memberof Core#
|
|
1794
|
-
* @function
|
|
1821
|
+
* @function getSelectedActive
|
|
1795
1822
|
* @since 16.1.0
|
|
1796
1823
|
* @returns {number[]|undefined} Selected range as an array of coordinates or `undefined` if there is no selection.
|
|
1797
1824
|
*/
|
|
@@ -2272,7 +2299,9 @@ export default function Core(rootContainer, userSettings) {
|
|
|
2272
2299
|
instance.columnIndexMapper.fitToLength(this.getInitialColumnCount());
|
|
2273
2300
|
instance.rowIndexMapper.fitToLength(this.countSourceRows());
|
|
2274
2301
|
grid.adjustRowsAndCols();
|
|
2302
|
+
selection.markSource('updateData');
|
|
2275
2303
|
selection.refresh();
|
|
2304
|
+
selection.markEndSource();
|
|
2276
2305
|
}, {
|
|
2277
2306
|
hotInstance: instance,
|
|
2278
2307
|
dataMap: datamap,
|
|
@@ -2313,7 +2342,9 @@ export default function Core(rootContainer, userSettings) {
|
|
|
2313
2342
|
metaManager.clearCellsCache();
|
|
2314
2343
|
instance.initIndexMappers();
|
|
2315
2344
|
grid.adjustRowsAndCols();
|
|
2345
|
+
selection.markSource('loadData');
|
|
2316
2346
|
selection.refresh();
|
|
2347
|
+
selection.markEndSource();
|
|
2317
2348
|
if (firstRun) {
|
|
2318
2349
|
firstRun = [null, 'loadData'];
|
|
2319
2350
|
}
|
|
@@ -2500,13 +2531,13 @@ export default function Core(rootContainer, userSettings) {
|
|
|
2500
2531
|
let i;
|
|
2501
2532
|
let j;
|
|
2502
2533
|
if (isDefined(settings.rows)) {
|
|
2503
|
-
|
|
2534
|
+
throwWithCause('The "rows" setting is no longer supported. Do you mean startRows, minRows or maxRows?');
|
|
2504
2535
|
}
|
|
2505
2536
|
if (isDefined(settings.cols)) {
|
|
2506
|
-
|
|
2537
|
+
throwWithCause('The "cols" setting is no longer supported. Do you mean startCols, minCols or maxCols?');
|
|
2507
2538
|
}
|
|
2508
2539
|
if (isDefined(settings.ganttChart)) {
|
|
2509
|
-
|
|
2540
|
+
throwWithCause('Since 8.0.0 the "ganttChart" setting is no longer supported.');
|
|
2510
2541
|
}
|
|
2511
2542
|
if (isDefined(settings.rowHeights) && isDefined(settings.minRowHeights)) {
|
|
2512
2543
|
warn('Both `rowHeights` and `minRowHeights` are defined in your configuration. ' + 'As one is the alias of the other, only one of them can be used at a time. ' + '`rowHeights` will be used as the row height configuration.');
|
|
@@ -2535,24 +2566,56 @@ export default function Core(rootContainer, userSettings) {
|
|
|
2535
2566
|
globalMeta[i] = settings[i];
|
|
2536
2567
|
}
|
|
2537
2568
|
}
|
|
2569
|
+
const rootContainerThemeClassName = getThemeClassName(instance.rootContainer);
|
|
2570
|
+
const themeNameOptionExists = hasOwnProperty(settings, 'themeName');
|
|
2571
|
+
const themeOptionExists = hasOwnProperty(settings, 'theme');
|
|
2572
|
+
if (themeNameOptionExists && themeOptionExists) {
|
|
2573
|
+
warn('Both `theme` and `themeName` are defined in your configuration. ' + 'These options are aliases and cannot be used together. ' + 'The `themeName` option will be ignored.');
|
|
2574
|
+
}
|
|
2575
|
+
|
|
2576
|
+
// Update the theme via the `theme` or `themeName` option as a string or undefined.
|
|
2538
2577
|
if (init) {
|
|
2539
|
-
|
|
2540
|
-
|
|
2578
|
+
let themeName;
|
|
2579
|
+
if (themeOptionExists && typeof settings.theme === 'string') {
|
|
2580
|
+
themeName = settings.theme;
|
|
2581
|
+
} else if (themeNameOptionExists && typeof settings.themeName === 'string' && settings.themeName && !themeOptionExists) {
|
|
2582
|
+
themeName = settings.themeName;
|
|
2583
|
+
tableMeta.theme = settings.themeName;
|
|
2584
|
+
tableMeta.themeName = undefined;
|
|
2585
|
+
} else if (rootContainerThemeClassName) {
|
|
2586
|
+
themeName = rootContainerThemeClassName;
|
|
2587
|
+
} else if (instance.themeManager) {
|
|
2588
|
+
themeName = instance.themeManager.getClassName();
|
|
2589
|
+
}
|
|
2590
|
+
instance.useTheme(themeName);
|
|
2541
2591
|
} else {
|
|
2542
2592
|
const currentThemeName = instance.getCurrentThemeName();
|
|
2543
|
-
|
|
2544
|
-
if (
|
|
2593
|
+
|
|
2594
|
+
// Use `theme` option if it's a string and differs from current theme (takes priority over `themeName`).
|
|
2595
|
+
if (themeOptionExists && typeof settings.theme === 'string' && currentThemeName !== settings.theme) {
|
|
2596
|
+
var _instance$themeManage;
|
|
2597
|
+
instance.useTheme(settings.theme);
|
|
2598
|
+
(_instance$themeManage = instance.themeManager) === null || _instance$themeManage === void 0 || _instance$themeManage.unmount();
|
|
2599
|
+
|
|
2600
|
+
// Use `themeName` option if `theme` is not provided and the name differs from current theme.
|
|
2601
|
+
} else if (themeNameOptionExists && !themeOptionExists && currentThemeName !== settings.themeName) {
|
|
2602
|
+
var _instance$themeManage2;
|
|
2603
|
+
tableMeta.theme = settings.themeName;
|
|
2604
|
+
tableMeta.themeName = undefined;
|
|
2545
2605
|
instance.useTheme(settings.themeName);
|
|
2606
|
+
(_instance$themeManage2 = instance.themeManager) === null || _instance$themeManage2 === void 0 || _instance$themeManage2.unmount();
|
|
2607
|
+
|
|
2608
|
+
// Initialize or update the themeManager when theme is an object.
|
|
2609
|
+
} else if (isRootInstance(instance) && !rootContainerThemeClassName && isObject(settings.theme)) {
|
|
2610
|
+
if (instance.themeManager === null) {
|
|
2611
|
+
initializeThemeManager(settings.theme);
|
|
2612
|
+
instance.useTheme(instance.themeManager.getClassName());
|
|
2613
|
+
} else {
|
|
2614
|
+
instance.themeManager.update(settings.theme);
|
|
2615
|
+
instance.useTheme(instance.themeManager.getClassName());
|
|
2616
|
+
}
|
|
2546
2617
|
}
|
|
2547
2618
|
}
|
|
2548
|
-
if (deprecatedWarnInstances.has(instance) && instance.stylesHandler.getThemeName() !== undefined) {
|
|
2549
|
-
deprecatedWarnInstances.delete(instance);
|
|
2550
|
-
}
|
|
2551
|
-
if (isRootInstance(instance) && !deprecatedWarnInstances.has(instance) && instance.stylesHandler.isClassicTheme()) {
|
|
2552
|
-
// eslint-disable-next-line max-len
|
|
2553
|
-
deprecatedWarn('The stylesheet you are using is deprecated and will be removed in version 17.0. Please update your theme configuration to ensure compatibility with future releases.');
|
|
2554
|
-
deprecatedWarnInstances.add(instance);
|
|
2555
|
-
}
|
|
2556
2619
|
|
|
2557
2620
|
// Load data or create data map
|
|
2558
2621
|
if (settings.data === undefined && tableMeta.data === undefined) {
|
|
@@ -2598,6 +2661,12 @@ export default function Core(rootContainer, userSettings) {
|
|
|
2598
2661
|
});
|
|
2599
2662
|
}
|
|
2600
2663
|
instance.runHooks('afterCellMetaReset');
|
|
2664
|
+
|
|
2665
|
+
// for the first run, we need to run the source data warnings after cell meta initialization
|
|
2666
|
+
// otherwise there is no access to `sourceDataValidator` function
|
|
2667
|
+
if (firstRun) {
|
|
2668
|
+
runSourceDataValidators(instance, 'init');
|
|
2669
|
+
}
|
|
2601
2670
|
let currentHeight = instance.rootElement.style.height;
|
|
2602
2671
|
if (currentHeight !== '') {
|
|
2603
2672
|
currentHeight = parseInt(instance.rootElement.style.height, 10);
|
|
@@ -2624,7 +2693,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
2624
2693
|
}
|
|
2625
2694
|
} else if (height !== undefined) {
|
|
2626
2695
|
instance.rootElement.style.height = isNaN(height) ? `${height}` : `${height}px`;
|
|
2627
|
-
instance.rootElement.style.overflow = '
|
|
2696
|
+
instance.rootElement.style.overflow = 'clip';
|
|
2628
2697
|
}
|
|
2629
2698
|
}
|
|
2630
2699
|
if (typeof settings.width !== 'undefined') {
|
|
@@ -3097,8 +3166,11 @@ export default function Core(rootContainer, userSettings) {
|
|
|
3097
3166
|
}
|
|
3098
3167
|
arrayEach(input, _ref0 => {
|
|
3099
3168
|
let [changeRow, changeProp, changeValue] = _ref0;
|
|
3100
|
-
const
|
|
3101
|
-
|
|
3169
|
+
const cellMeta = getCellProperties(changeRow, changeProp);
|
|
3170
|
+
const newValue = getValueSetterValue(changeValue, cellMeta);
|
|
3171
|
+
if (runSourceDataValidator(newValue, cellMeta, source !== null && source !== void 0 ? source : 'setSourceDataAtCell')) {
|
|
3172
|
+
dataSource.setAtCell(changeRow, changeProp, newValue);
|
|
3173
|
+
}
|
|
3102
3174
|
});
|
|
3103
3175
|
if (isThereAnySetSourceListener) {
|
|
3104
3176
|
this.runHooks('afterSetSourceDataAtCell', changesForHook, source);
|
|
@@ -3239,7 +3311,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
3239
3311
|
cellMetaRows[_key18 - 2] = arguments[_key18];
|
|
3240
3312
|
}
|
|
3241
3313
|
if (cellMetaRows.length > 0 && !Array.isArray(cellMetaRows[0])) {
|
|
3242
|
-
|
|
3314
|
+
throwWithCause('The 3rd argument (cellMetaRows) has to be passed as an array of cell meta objects array.');
|
|
3243
3315
|
}
|
|
3244
3316
|
if (deleteAmount > 0) {
|
|
3245
3317
|
metaManager.removeRow(this.toPhysicalRow(visualIndex), deleteAmount);
|
|
@@ -3505,7 +3577,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
3505
3577
|
*/
|
|
3506
3578
|
this.validateRows = function (rows, callback) {
|
|
3507
3579
|
if (!Array.isArray(rows)) {
|
|
3508
|
-
|
|
3580
|
+
throwWithCause('validateRows parameter `rows` must be an array');
|
|
3509
3581
|
}
|
|
3510
3582
|
this._validateCells(callback, rows);
|
|
3511
3583
|
};
|
|
@@ -3531,7 +3603,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
3531
3603
|
*/
|
|
3532
3604
|
this.validateColumns = function (columns, callback) {
|
|
3533
3605
|
if (!Array.isArray(columns)) {
|
|
3534
|
-
|
|
3606
|
+
throwWithCause('validateColumns parameter `columns` must be an array');
|
|
3535
3607
|
}
|
|
3536
3608
|
this._validateCells(callback, undefined, columns);
|
|
3537
3609
|
};
|
|
@@ -3570,7 +3642,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
3570
3642
|
waitingForValidator.addValidatorToQueue();
|
|
3571
3643
|
instance.validateCell(instance.getDataAtCell(i, j), instance.getCellMeta(i, j), result => {
|
|
3572
3644
|
if (typeof result !== 'boolean') {
|
|
3573
|
-
|
|
3645
|
+
throwWithCause('Validation error: result is not boolean');
|
|
3574
3646
|
}
|
|
3575
3647
|
if (result === false) {
|
|
3576
3648
|
waitingForValidator.valid = false;
|
|
@@ -4440,7 +4512,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
4440
4512
|
*/
|
|
4441
4513
|
this.destroy = function () {
|
|
4442
4514
|
instance._clearTimeouts();
|
|
4443
|
-
instance.
|
|
4515
|
+
instance._clearMicrotasks();
|
|
4444
4516
|
if (instance.view) {
|
|
4445
4517
|
// in case HT is destroyed before initialization has finished
|
|
4446
4518
|
instance.view.destroy();
|
|
@@ -4450,8 +4522,10 @@ export default function Core(rootContainer, userSettings) {
|
|
|
4450
4522
|
}
|
|
4451
4523
|
dataSource = null;
|
|
4452
4524
|
if (isRootInstance(this)) {
|
|
4525
|
+
var _instance$themeManage3;
|
|
4453
4526
|
uninstallAccessibilityAnnouncer();
|
|
4454
4527
|
this.getFocusScopeManager().destroy();
|
|
4528
|
+
(_instance$themeManage3 = instance.themeManager) === null || _instance$themeManage3 === void 0 || _instance$themeManage3.destroy();
|
|
4455
4529
|
}
|
|
4456
4530
|
this.getShortcutManager().destroy();
|
|
4457
4531
|
moduleRegisterer.clear();
|
|
@@ -4514,7 +4588,7 @@ export default function Core(rootContainer, userSettings) {
|
|
|
4514
4588
|
*/
|
|
4515
4589
|
function postMortem(method) {
|
|
4516
4590
|
return () => {
|
|
4517
|
-
|
|
4591
|
+
throwWithCause(`The "${method}" method cannot be called because this Handsontable instance has been destroyed`);
|
|
4518
4592
|
};
|
|
4519
4593
|
}
|
|
4520
4594
|
|
|
@@ -4702,10 +4776,6 @@ export default function Core(rootContainer, userSettings) {
|
|
|
4702
4776
|
* @returns {string}
|
|
4703
4777
|
*/
|
|
4704
4778
|
this.getPluginName = function (plugin) {
|
|
4705
|
-
// Workaround for the UndoRedo plugin which, currently doesn't follow the plugin architecture.
|
|
4706
|
-
if (plugin === this.undoRedo) {
|
|
4707
|
-
return this.undoRedo.constructor.PLUGIN_KEY;
|
|
4708
|
-
}
|
|
4709
4779
|
return pluginsRegistry.getId(plugin);
|
|
4710
4780
|
};
|
|
4711
4781
|
|
|
@@ -4878,15 +4948,13 @@ export default function Core(rootContainer, userSettings) {
|
|
|
4878
4948
|
const isFirstRun = !!firstRun;
|
|
4879
4949
|
this.stylesHandler.useTheme(themeName);
|
|
4880
4950
|
const validThemeName = this.stylesHandler.getThemeName();
|
|
4881
|
-
if (!isFirstRun) {
|
|
4882
|
-
instance.render();
|
|
4883
|
-
instance.scrollViewportTo(0, 0);
|
|
4951
|
+
if (!isFirstRun && validThemeName) {
|
|
4884
4952
|
if (getThemeClassName(this.rootContainer)) {
|
|
4885
4953
|
removeClass(this.rootContainer, /ht-theme-.*/g);
|
|
4886
|
-
|
|
4887
|
-
addClass(this.rootContainer, validThemeName);
|
|
4888
|
-
}
|
|
4954
|
+
addClass(this.rootContainer, validThemeName);
|
|
4889
4955
|
}
|
|
4956
|
+
instance.render();
|
|
4957
|
+
instance.scrollViewportTo(0, 0);
|
|
4890
4958
|
}
|
|
4891
4959
|
this.runHooks('afterSetTheme', validThemeName, isFirstRun);
|
|
4892
4960
|
};
|
|
@@ -4954,51 +5022,66 @@ export default function Core(rootContainer, userSettings) {
|
|
|
4954
5022
|
clearTimeout(handler);
|
|
4955
5023
|
});
|
|
4956
5024
|
};
|
|
4957
|
-
this.
|
|
5025
|
+
this.microtasks = [];
|
|
4958
5026
|
|
|
4959
5027
|
/**
|
|
4960
|
-
* Execute function execution to the next event loop cycle.
|
|
5028
|
+
* Execute function execution to the next event loop cycle.
|
|
4961
5029
|
*
|
|
4962
5030
|
* @param {Function} callback Function to be delayed in execution.
|
|
4963
5031
|
* @private
|
|
4964
5032
|
*/
|
|
4965
|
-
this.
|
|
4966
|
-
|
|
5033
|
+
this._registerMicrotask = function (callback) {
|
|
5034
|
+
const entry = {
|
|
5035
|
+
cancelled: false
|
|
5036
|
+
};
|
|
5037
|
+
this.microtasks.push(entry);
|
|
5038
|
+
this.rootWindow.queueMicrotask(() => {
|
|
5039
|
+
if (!entry.cancelled) {
|
|
5040
|
+
callback();
|
|
5041
|
+
}
|
|
5042
|
+
});
|
|
4967
5043
|
};
|
|
4968
5044
|
|
|
4969
5045
|
/**
|
|
4970
|
-
* Clears all known
|
|
5046
|
+
* Clears all known microtasks (prevents pending callbacks from running).
|
|
4971
5047
|
*
|
|
4972
5048
|
* @private
|
|
4973
5049
|
*/
|
|
4974
|
-
this.
|
|
4975
|
-
arrayEach(this.
|
|
4976
|
-
|
|
5050
|
+
this._clearMicrotasks = function () {
|
|
5051
|
+
arrayEach(this.microtasks, entry => {
|
|
5052
|
+
entry.cancelled = true;
|
|
4977
5053
|
});
|
|
5054
|
+
this.microtasks.length = 0;
|
|
4978
5055
|
};
|
|
4979
5056
|
|
|
4980
5057
|
/**
|
|
4981
|
-
*
|
|
5058
|
+
* Gets the instance of the EditorManager.
|
|
4982
5059
|
*
|
|
4983
|
-
* @param {Function} callback Function to be delayed in execution.
|
|
4984
5060
|
* @private
|
|
5061
|
+
* @returns {EditorManager}
|
|
4985
5062
|
*/
|
|
4986
|
-
this.
|
|
4987
|
-
|
|
4988
|
-
if (!this.isDestroyed) {
|
|
4989
|
-
callback();
|
|
4990
|
-
}
|
|
4991
|
-
});
|
|
5063
|
+
this._getEditorManager = function () {
|
|
5064
|
+
return editorManager;
|
|
4992
5065
|
};
|
|
4993
5066
|
|
|
4994
5067
|
/**
|
|
4995
|
-
* Gets the instance of the
|
|
5068
|
+
* Gets the instance of the DataSource.
|
|
4996
5069
|
*
|
|
4997
5070
|
* @private
|
|
4998
|
-
* @returns {
|
|
5071
|
+
* @returns {DataSource}
|
|
4999
5072
|
*/
|
|
5000
|
-
this.
|
|
5001
|
-
return
|
|
5073
|
+
this._getDataSource = function () {
|
|
5074
|
+
return dataSource;
|
|
5075
|
+
};
|
|
5076
|
+
|
|
5077
|
+
/**
|
|
5078
|
+
* Gets the instance of the MetaManager.
|
|
5079
|
+
*
|
|
5080
|
+
* @private
|
|
5081
|
+
* @returns {MetaManager}
|
|
5082
|
+
*/
|
|
5083
|
+
this._getMetaManager = function () {
|
|
5084
|
+
return metaManager;
|
|
5002
5085
|
};
|
|
5003
5086
|
const shortcutManager = createShortcutManager({
|
|
5004
5087
|
handleEvent() {
|
|
@@ -5072,10 +5155,16 @@ export default function Core(rootContainer, userSettings) {
|
|
|
5072
5155
|
*/
|
|
5073
5156
|
this.getFocusScopeManager = function () {
|
|
5074
5157
|
if (!isRootInstance(instance)) {
|
|
5075
|
-
|
|
5158
|
+
throwWithCause('The FocusScopeManager is only available for the main Handsontable instance.');
|
|
5076
5159
|
}
|
|
5077
5160
|
return focusScopeManager;
|
|
5078
5161
|
};
|
|
5162
|
+
const theme = mergedUserSettings.theme;
|
|
5163
|
+
const themeName = mergedUserSettings.themeName;
|
|
5164
|
+
const rootContainerThemeClassName = getThemeClassName(instance.rootContainer);
|
|
5165
|
+
if (isRootInstance(instance) && !rootContainerThemeClassName && (isObject(theme) || !theme && !themeName)) {
|
|
5166
|
+
initializeThemeManager(theme);
|
|
5167
|
+
}
|
|
5079
5168
|
getPluginsNames().forEach(pluginName => {
|
|
5080
5169
|
const PluginClass = getPlugin(pluginName);
|
|
5081
5170
|
pluginsRegistry.addItem(pluginName, new PluginClass(this));
|
package/dataMap/dataMap.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
|
-
require("core-js/modules/es.array.push.js");
|
|
6
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
9
4
|
var _SheetClip = require("../3rdparty/SheetClip");
|
|
10
5
|
var _data = require("../helpers/data");
|
|
11
6
|
var _object = require("../helpers/object");
|
|
@@ -13,6 +8,7 @@ var _array = require("../helpers/array");
|
|
|
13
8
|
var _number = require("../helpers/number");
|
|
14
9
|
var _mixed = require("../helpers/mixed");
|
|
15
10
|
var _valueAccessors = require("../utils/valueAccessors");
|
|
11
|
+
var _errors = require("../helpers/errors");
|
|
16
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; }
|
|
17
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
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); }
|
|
@@ -128,7 +124,7 @@ class DataMap {
|
|
|
128
124
|
createMap() {
|
|
129
125
|
const schema = this.getSchema();
|
|
130
126
|
if (typeof schema === 'undefined') {
|
|
131
|
-
|
|
127
|
+
(0, _errors.throwWithCause)('trying to create `columns` definition but you didn\'t provide `schema` nor `data`');
|
|
132
128
|
}
|
|
133
129
|
const columns = this.tableMeta.columns;
|
|
134
130
|
let i;
|
|
@@ -383,7 +379,9 @@ class DataMap {
|
|
|
383
379
|
mode = 'start'
|
|
384
380
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
385
381
|
if (!this.hot.isColumnModificationAllowed()) {
|
|
386
|
-
|
|
382
|
+
(0, _errors.throwWithCause)('Cannot create new column. When data source in an object, ' +
|
|
383
|
+
// eslint-disable-next-line max-len
|
|
384
|
+
'you can only have as much columns as defined in first data row, data schema or in the \'columns\' setting.' + 'If you want to be able to add new columns, you have to use array datasource.');
|
|
387
385
|
}
|
|
388
386
|
const dataSource = this.dataSource;
|
|
389
387
|
const maxCols = this.tableMeta.maxCols;
|
|
@@ -492,7 +490,7 @@ class DataMap {
|
|
|
492
490
|
let amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
493
491
|
let source = arguments.length > 2 ? arguments[2] : undefined;
|
|
494
492
|
if (this.hot.dataType === 'object' || this.tableMeta.columns) {
|
|
495
|
-
|
|
493
|
+
(0, _errors.throwWithCause)('cannot remove column with object data source or columns option specified');
|
|
496
494
|
}
|
|
497
495
|
let columnIndex = typeof index !== 'number' ? -amount : index;
|
|
498
496
|
columnIndex = (this.hot.countCols() + columnIndex) % this.hot.countCols();
|