handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
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/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/index.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- 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 +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -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/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
package/editorManager.mjs
CHANGED
@@ -2,17 +2,16 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
3
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
6
6
|
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); }
|
7
|
-
function
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
8
8
|
import { isFunctionKey, isCtrlMetaKey } from "./helpers/unicode.mjs";
|
9
9
|
import { isImmediatePropagationStopped } from "./helpers/dom/event.mjs";
|
10
10
|
import { getEditorInstance } from "./editors/registry.mjs";
|
11
11
|
import EventManager from "./eventManager.mjs";
|
12
12
|
import { isDefined } from "./helpers/mixed.mjs";
|
13
13
|
export const SHORTCUTS_GROUP_NAVIGATION = 'editorManager.navigation';
|
14
|
-
var
|
15
|
-
var _onCellDblClick = /*#__PURE__*/new WeakSet();
|
14
|
+
var _EditorManager_brand = /*#__PURE__*/new WeakSet();
|
16
15
|
class EditorManager {
|
17
16
|
/**
|
18
17
|
* @param {Core} hotInstance The Handsontable instance.
|
@@ -20,19 +19,12 @@ class EditorManager {
|
|
20
19
|
* @param {Selection} selection The selection instance.
|
21
20
|
*/
|
22
21
|
constructor(hotInstance, tableMeta, _selection) {
|
23
|
-
/**
|
24
|
-
* OnCellDblClick callback.
|
25
|
-
*
|
26
|
-
* @param {MouseEvent} event The mouse event object.
|
27
|
-
* @param {object} coords The cell coordinates.
|
28
|
-
*/
|
29
|
-
_classPrivateMethodInitSpec(this, _onCellDblClick);
|
30
22
|
/**
|
31
23
|
* OnAfterDocumentKeyDown callback.
|
32
24
|
*
|
33
25
|
* @param {KeyboardEvent} event The keyboard event object.
|
34
26
|
*/
|
35
|
-
_classPrivateMethodInitSpec(this,
|
27
|
+
_classPrivateMethodInitSpec(this, _EditorManager_brand);
|
36
28
|
/**
|
37
29
|
* Instance of {@link Handsontable}.
|
38
30
|
*
|
@@ -92,7 +84,7 @@ class EditorManager {
|
|
92
84
|
this.tableMeta = tableMeta;
|
93
85
|
this.selection = _selection;
|
94
86
|
this.eventManager = new EventManager(hotInstance);
|
95
|
-
this.hot.addHook('afterDocumentKeyDown', event =>
|
87
|
+
this.hot.addHook('afterDocumentKeyDown', event => _assertClassBrand(_EditorManager_brand, this, _onAfterDocumentKeyDown).call(this, event));
|
96
88
|
|
97
89
|
// Open editor when text composition is started (IME editor)
|
98
90
|
this.eventManager.addEventListener(this.hot.rootDocument.documentElement, 'compositionstart', event => {
|
@@ -100,7 +92,7 @@ class EditorManager {
|
|
100
92
|
this.openEditor('', event);
|
101
93
|
}
|
102
94
|
});
|
103
|
-
this.hot.view._wt.update('onCellDblClick', (event, coords, elem) =>
|
95
|
+
this.hot.view._wt.update('onCellDblClick', (event, coords, elem) => _assertClassBrand(_EditorManager_brand, this, _onCellDblClick).call(this, event, coords, elem));
|
104
96
|
}
|
105
97
|
|
106
98
|
/**
|
@@ -314,18 +306,22 @@ class EditorManager {
|
|
314
306
|
}
|
315
307
|
|
316
308
|
/**
|
317
|
-
* Controls selection's
|
309
|
+
* Controls selection's behavior after clicking `Enter`.
|
318
310
|
*
|
319
311
|
* @private
|
320
|
-
* @param {
|
312
|
+
* @param {KeyboardEvent} event The keyboard event object.
|
321
313
|
*/
|
322
|
-
moveSelectionAfterEnter(
|
323
|
-
const enterMoves =
|
324
|
-
|
325
|
-
|
326
|
-
|
314
|
+
moveSelectionAfterEnter(event) {
|
315
|
+
const enterMoves = {
|
316
|
+
...(typeof this.tableMeta.enterMoves === 'function' ? this.tableMeta.enterMoves(event) : this.tableMeta.enterMoves)
|
317
|
+
};
|
318
|
+
if (event.shiftKey) {
|
319
|
+
enterMoves.row = -enterMoves.row;
|
320
|
+
enterMoves.col = -enterMoves.col;
|
321
|
+
}
|
322
|
+
if (this.hot.selection.isMultiple()) {
|
323
|
+
this.selection.transformFocus(enterMoves.row, enterMoves.col);
|
327
324
|
} else {
|
328
|
-
// move selection down (add a new row if needed)
|
329
325
|
this.selection.transformStart(enterMoves.row, enterMoves.col, true);
|
330
326
|
}
|
331
327
|
}
|
@@ -337,7 +333,7 @@ class EditorManager {
|
|
337
333
|
this.eventManager.destroy();
|
338
334
|
}
|
339
335
|
}
|
340
|
-
function
|
336
|
+
function _onAfterDocumentKeyDown(event) {
|
341
337
|
const selection = this.hot.getSelectedRangeLast();
|
342
338
|
if (!this.hot.isListening() || !selection || selection.highlight.isHeader() || isImmediatePropagationStopped(event)) {
|
343
339
|
return;
|
@@ -381,7 +377,13 @@ function _onAfterDocumentKeyDown2(event) {
|
|
381
377
|
}
|
382
378
|
}
|
383
379
|
}
|
384
|
-
|
380
|
+
/**
|
381
|
+
* OnCellDblClick callback.
|
382
|
+
*
|
383
|
+
* @param {MouseEvent} event The mouse event object.
|
384
|
+
* @param {object} coords The cell coordinates.
|
385
|
+
*/
|
386
|
+
function _onCellDblClick(event, coords) {
|
385
387
|
if (coords.isCell()) {
|
386
388
|
this.openEditor(null, event, true);
|
387
389
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
require("core-js/modules/es.error.cause.js");
|
4
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
6
|
var _handsontableEditor = require("../handsontableEditor");
|
7
7
|
var _array = require("../../helpers/array");
|
@@ -15,11 +15,10 @@ var _a11y = require("../../helpers/a11y");
|
|
15
15
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
16
16
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
17
17
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
18
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
19
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); }
|
20
|
-
function _classPrivateFieldGet(
|
21
|
-
function
|
22
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
20
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
21
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
23
22
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'autocomplete';
|
24
23
|
|
25
24
|
/**
|
@@ -53,10 +52,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
53
52
|
*
|
54
53
|
* @type {string}
|
55
54
|
*/
|
56
|
-
_classPrivateFieldInitSpec(this, _idPrefix,
|
57
|
-
writable: true,
|
58
|
-
value: this.hot.guid.slice(0, 9)
|
59
|
-
});
|
55
|
+
_classPrivateFieldInitSpec(this, _idPrefix, this.hot.guid.slice(0, 9));
|
60
56
|
/**
|
61
57
|
* Filters and sorts by relevance.
|
62
58
|
*
|
@@ -168,7 +164,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
168
164
|
prepare(row, col, prop, td, value, cellProperties) {
|
169
165
|
super.prepare(row, col, prop, td, value, cellProperties);
|
170
166
|
if (this.hot.getSettings().ariaTags) {
|
171
|
-
(0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_EXPANDED)('false'), (0, _a11y.A11Y_CONTROLS)(`${_classPrivateFieldGet(
|
167
|
+
(0, _element.setAttribute)(this.TEXTAREA, [(0, _a11y.A11Y_EXPANDED)('false'), (0, _a11y.A11Y_CONTROLS)(`${_classPrivateFieldGet(_idPrefix, this)}-listbox-${row}-${col}`)]);
|
172
168
|
}
|
173
169
|
}
|
174
170
|
|
@@ -232,7 +228,7 @@ class AutocompleteEditor extends _handsontableEditor.HandsontableEditor {
|
|
232
228
|
if (rootInstanceAriaTagsEnabled) {
|
233
229
|
// Add `role=presentation` to the main table to prevent the readers from treating the option list as a table.
|
234
230
|
(0, _element.setAttribute)(this.htEditor.view._wt.wtOverlays.wtTable.TABLE, ...(0, _a11y.A11Y_PRESENTATION)());
|
235
|
-
(0, _element.setAttribute)(this.htEditor.rootElement, [(0, _a11y.A11Y_LISTBOX)(), (0, _a11y.A11Y_LIVE)('polite'), (0, _a11y.A11Y_RELEVANT)('text'), ['id', `${_classPrivateFieldGet(
|
231
|
+
(0, _element.setAttribute)(this.htEditor.rootElement, [(0, _a11y.A11Y_LISTBOX)(), (0, _a11y.A11Y_LIVE)('polite'), (0, _a11y.A11Y_RELEVANT)('text'), ['id', `${_classPrivateFieldGet(_idPrefix, this)}-listbox-${rowIndex}-${colIndex}`]]);
|
236
232
|
(0, _element.setAttribute)(this.TEXTAREA, ...(0, _a11y.A11Y_EXPANDED)('true'));
|
237
233
|
}
|
238
234
|
this.hot._registerTimeout(() => {
|
@@ -1,13 +1,12 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
7
7
|
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); }
|
8
|
-
function _classPrivateFieldGet(
|
9
|
-
function
|
10
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
8
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
9
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
11
10
|
import { HandsontableEditor } from "../handsontableEditor/index.mjs";
|
12
11
|
import { arrayMap, pivot } from "../../helpers/array.mjs";
|
13
12
|
import { addClass, getCaretPosition, getScrollbarWidth, getSelectionEndPosition, getTrimmingContainer, offset, outerHeight, outerWidth, setAttribute, setCaretPosition } from "../../helpers/dom/element.mjs";
|
@@ -50,10 +49,7 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
50
49
|
*
|
51
50
|
* @type {string}
|
52
51
|
*/
|
53
|
-
_classPrivateFieldInitSpec(this, _idPrefix,
|
54
|
-
writable: true,
|
55
|
-
value: this.hot.guid.slice(0, 9)
|
56
|
-
});
|
52
|
+
_classPrivateFieldInitSpec(this, _idPrefix, this.hot.guid.slice(0, 9));
|
57
53
|
/**
|
58
54
|
* Filters and sorts by relevance.
|
59
55
|
*
|
@@ -165,7 +161,7 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
165
161
|
prepare(row, col, prop, td, value, cellProperties) {
|
166
162
|
super.prepare(row, col, prop, td, value, cellProperties);
|
167
163
|
if (this.hot.getSettings().ariaTags) {
|
168
|
-
setAttribute(this.TEXTAREA, [A11Y_EXPANDED('false'), A11Y_CONTROLS(`${_classPrivateFieldGet(
|
164
|
+
setAttribute(this.TEXTAREA, [A11Y_EXPANDED('false'), A11Y_CONTROLS(`${_classPrivateFieldGet(_idPrefix, this)}-listbox-${row}-${col}`)]);
|
169
165
|
}
|
170
166
|
}
|
171
167
|
|
@@ -229,7 +225,7 @@ export class AutocompleteEditor extends HandsontableEditor {
|
|
229
225
|
if (rootInstanceAriaTagsEnabled) {
|
230
226
|
// Add `role=presentation` to the main table to prevent the readers from treating the option list as a table.
|
231
227
|
setAttribute(this.htEditor.view._wt.wtOverlays.wtTable.TABLE, ...A11Y_PRESENTATION());
|
232
|
-
setAttribute(this.htEditor.rootElement, [A11Y_LISTBOX(), A11Y_LIVE('polite'), A11Y_RELEVANT('text'), ['id', `${_classPrivateFieldGet(
|
228
|
+
setAttribute(this.htEditor.rootElement, [A11Y_LISTBOX(), A11Y_LIVE('polite'), A11Y_RELEVANT('text'), ['id', `${_classPrivateFieldGet(_idPrefix, this)}-listbox-${rowIndex}-${colIndex}`]]);
|
233
229
|
setAttribute(this.TEXTAREA, ...A11Y_EXPANDED('true'));
|
234
230
|
}
|
235
231
|
this.hot._registerTimeout(() => {
|
@@ -9,7 +9,7 @@ var _hooksRefRegisterer = _interopRequireDefault(require("../../mixins/hooksRefR
|
|
9
9
|
var _element = require("../../helpers/dom/element");
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
11
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
12
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
13
13
|
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); }
|
14
14
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'base';
|
15
15
|
const EDITOR_STATE = exports.EDITOR_STATE = Object.freeze({
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
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); }
|
5
5
|
import { isDefined, stringify } from "../../helpers/mixed.mjs";
|
6
6
|
import { mixin } from "../../helpers/object.mjs";
|
@@ -4,13 +4,14 @@ exports.__esModule = true;
|
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
var _moment = _interopRequireDefault(require("moment"));
|
6
6
|
var _pikaday = _interopRequireDefault(require("@handsontable/pikaday"));
|
7
|
+
var _baseEditor = require("../baseEditor");
|
7
8
|
var _textEditor = require("../textEditor");
|
8
9
|
var _element = require("../../helpers/dom/element");
|
9
10
|
var _object = require("../../helpers/object");
|
10
11
|
var _unicode = require("../../helpers/unicode");
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
13
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
13
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
14
15
|
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
16
|
const EDITOR_TYPE = exports.EDITOR_TYPE = 'date';
|
16
17
|
const SHORTCUTS_GROUP_EDITOR = 'dateEditor';
|
@@ -115,8 +116,8 @@ class DateEditor extends _textEditor.TextEditor {
|
|
115
116
|
let event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
116
117
|
const shortcutManager = this.hot.getShortcutManager();
|
117
118
|
const editorContext = shortcutManager.getContext('editor');
|
118
|
-
super.open();
|
119
119
|
this.showDatepicker(event);
|
120
|
+
super.open();
|
120
121
|
editorContext.addShortcuts([{
|
121
122
|
keys: [['ArrowLeft']],
|
122
123
|
callback: () => {
|
@@ -180,7 +181,6 @@ class DateEditor extends _textEditor.TextEditor {
|
|
180
181
|
* @param {Event} event The event object.
|
181
182
|
*/
|
182
183
|
showDatepicker(event) {
|
183
|
-
const offset = this.TD.getBoundingClientRect();
|
184
184
|
const dateFormat = this.cellProperties.dateFormat || this.defaultDateFormat;
|
185
185
|
const isMouseDown = this.hot.view.isMouseDown();
|
186
186
|
const isMeta = event ? (0, _unicode.isFunctionKey)(event.keyCode) : false;
|
@@ -191,14 +191,6 @@ class DateEditor extends _textEditor.TextEditor {
|
|
191
191
|
this.$datePicker.useMoment(_moment.default);
|
192
192
|
}
|
193
193
|
this.$datePicker._onInputFocus = function () {};
|
194
|
-
this.datePickerStyle.top = `${this.hot.rootWindow.pageYOffset + offset.top + (0, _element.outerHeight)(this.TD)}px`;
|
195
|
-
let pickerLeftPosition = this.hot.rootWindow.pageXOffset;
|
196
|
-
if (this.hot.isRtl()) {
|
197
|
-
pickerLeftPosition = offset.right - (0, _element.outerWidth)(this.datePicker);
|
198
|
-
} else {
|
199
|
-
pickerLeftPosition = offset.left;
|
200
|
-
}
|
201
|
-
this.datePickerStyle.left = `${pickerLeftPosition}px`;
|
202
194
|
if (this.originalValue) {
|
203
195
|
dateStr = this.originalValue;
|
204
196
|
if ((0, _moment.default)(dateStr, dateFormat, true).isValid()) {
|
@@ -279,5 +271,51 @@ class DateEditor extends _textEditor.TextEditor {
|
|
279
271
|
};
|
280
272
|
return options;
|
281
273
|
}
|
274
|
+
|
275
|
+
/**
|
276
|
+
* Refreshes datepicker's size and position. The method is called internally by Handsontable.
|
277
|
+
*
|
278
|
+
* @private
|
279
|
+
* @param {boolean} force Indicates if the refreshing editor dimensions should be triggered.
|
280
|
+
*/
|
281
|
+
refreshDimensions(force) {
|
282
|
+
var _wtOverlays$getParent;
|
283
|
+
super.refreshDimensions(force);
|
284
|
+
if (this.state !== _baseEditor.EDITOR_STATE.EDITING) {
|
285
|
+
return;
|
286
|
+
}
|
287
|
+
this.TD = this.getEditedCell();
|
288
|
+
if (!this.TD) {
|
289
|
+
this.hideDatepicker();
|
290
|
+
return;
|
291
|
+
}
|
292
|
+
const {
|
293
|
+
rowIndexMapper,
|
294
|
+
columnIndexMapper
|
295
|
+
} = this.hot;
|
296
|
+
const {
|
297
|
+
wtOverlays
|
298
|
+
} = this.hot.view._wt;
|
299
|
+
const {
|
300
|
+
wtTable
|
301
|
+
} = (_wtOverlays$getParent = wtOverlays.getParentOverlay(this.TD)) !== null && _wtOverlays$getParent !== void 0 ? _wtOverlays$getParent : this.hot.view._wt;
|
302
|
+
const firstVisibleRow = rowIndexMapper.getVisualFromRenderableIndex(wtTable.getFirstPartiallyVisibleRow());
|
303
|
+
const lastVisibleRow = rowIndexMapper.getVisualFromRenderableIndex(wtTable.getLastPartiallyVisibleRow());
|
304
|
+
const firstVisibleColumn = columnIndexMapper.getVisualFromRenderableIndex(wtTable.getFirstPartiallyVisibleColumn());
|
305
|
+
const lastVisibleColumn = columnIndexMapper.getVisualFromRenderableIndex(wtTable.getLastPartiallyVisibleColumn());
|
306
|
+
if (this.row >= firstVisibleRow && this.row <= lastVisibleRow && this.col >= firstVisibleColumn && this.col <= lastVisibleColumn) {
|
307
|
+
const offset = this.TD.getBoundingClientRect();
|
308
|
+
this.datePickerStyle.top = `${this.hot.rootWindow.pageYOffset + offset.top + (0, _element.outerHeight)(this.TD)}px`;
|
309
|
+
let pickerLeftPosition = this.hot.rootWindow.pageXOffset;
|
310
|
+
if (this.hot.isRtl()) {
|
311
|
+
pickerLeftPosition += offset.right - (0, _element.outerWidth)(this.datePicker);
|
312
|
+
} else {
|
313
|
+
pickerLeftPosition += offset.left;
|
314
|
+
}
|
315
|
+
this.datePickerStyle.left = `${pickerLeftPosition}px`;
|
316
|
+
} else {
|
317
|
+
this.hideDatepicker();
|
318
|
+
}
|
319
|
+
}
|
282
320
|
}
|
283
321
|
exports.DateEditor = DateEditor;
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
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); }
|
5
5
|
import moment from 'moment';
|
6
6
|
import Pikaday from '@handsontable/pikaday';
|
7
|
+
import { EDITOR_STATE } from "../baseEditor/index.mjs";
|
7
8
|
import { TextEditor } from "../textEditor/index.mjs";
|
8
9
|
import { addClass, hasClass, outerHeight, outerWidth } from "../../helpers/dom/element.mjs";
|
9
10
|
import { deepExtend } from "../../helpers/object.mjs";
|
@@ -111,8 +112,8 @@ export class DateEditor extends TextEditor {
|
|
111
112
|
let event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
112
113
|
const shortcutManager = this.hot.getShortcutManager();
|
113
114
|
const editorContext = shortcutManager.getContext('editor');
|
114
|
-
super.open();
|
115
115
|
this.showDatepicker(event);
|
116
|
+
super.open();
|
116
117
|
editorContext.addShortcuts([{
|
117
118
|
keys: [['ArrowLeft']],
|
118
119
|
callback: () => {
|
@@ -176,7 +177,6 @@ export class DateEditor extends TextEditor {
|
|
176
177
|
* @param {Event} event The event object.
|
177
178
|
*/
|
178
179
|
showDatepicker(event) {
|
179
|
-
const offset = this.TD.getBoundingClientRect();
|
180
180
|
const dateFormat = this.cellProperties.dateFormat || this.defaultDateFormat;
|
181
181
|
const isMouseDown = this.hot.view.isMouseDown();
|
182
182
|
const isMeta = event ? isFunctionKey(event.keyCode) : false;
|
@@ -187,14 +187,6 @@ export class DateEditor extends TextEditor {
|
|
187
187
|
this.$datePicker.useMoment(moment);
|
188
188
|
}
|
189
189
|
this.$datePicker._onInputFocus = function () {};
|
190
|
-
this.datePickerStyle.top = `${this.hot.rootWindow.pageYOffset + offset.top + outerHeight(this.TD)}px`;
|
191
|
-
let pickerLeftPosition = this.hot.rootWindow.pageXOffset;
|
192
|
-
if (this.hot.isRtl()) {
|
193
|
-
pickerLeftPosition = offset.right - outerWidth(this.datePicker);
|
194
|
-
} else {
|
195
|
-
pickerLeftPosition = offset.left;
|
196
|
-
}
|
197
|
-
this.datePickerStyle.left = `${pickerLeftPosition}px`;
|
198
190
|
if (this.originalValue) {
|
199
191
|
dateStr = this.originalValue;
|
200
192
|
if (moment(dateStr, dateFormat, true).isValid()) {
|
@@ -275,4 +267,50 @@ export class DateEditor extends TextEditor {
|
|
275
267
|
};
|
276
268
|
return options;
|
277
269
|
}
|
270
|
+
|
271
|
+
/**
|
272
|
+
* Refreshes datepicker's size and position. The method is called internally by Handsontable.
|
273
|
+
*
|
274
|
+
* @private
|
275
|
+
* @param {boolean} force Indicates if the refreshing editor dimensions should be triggered.
|
276
|
+
*/
|
277
|
+
refreshDimensions(force) {
|
278
|
+
var _wtOverlays$getParent;
|
279
|
+
super.refreshDimensions(force);
|
280
|
+
if (this.state !== EDITOR_STATE.EDITING) {
|
281
|
+
return;
|
282
|
+
}
|
283
|
+
this.TD = this.getEditedCell();
|
284
|
+
if (!this.TD) {
|
285
|
+
this.hideDatepicker();
|
286
|
+
return;
|
287
|
+
}
|
288
|
+
const {
|
289
|
+
rowIndexMapper,
|
290
|
+
columnIndexMapper
|
291
|
+
} = this.hot;
|
292
|
+
const {
|
293
|
+
wtOverlays
|
294
|
+
} = this.hot.view._wt;
|
295
|
+
const {
|
296
|
+
wtTable
|
297
|
+
} = (_wtOverlays$getParent = wtOverlays.getParentOverlay(this.TD)) !== null && _wtOverlays$getParent !== void 0 ? _wtOverlays$getParent : this.hot.view._wt;
|
298
|
+
const firstVisibleRow = rowIndexMapper.getVisualFromRenderableIndex(wtTable.getFirstPartiallyVisibleRow());
|
299
|
+
const lastVisibleRow = rowIndexMapper.getVisualFromRenderableIndex(wtTable.getLastPartiallyVisibleRow());
|
300
|
+
const firstVisibleColumn = columnIndexMapper.getVisualFromRenderableIndex(wtTable.getFirstPartiallyVisibleColumn());
|
301
|
+
const lastVisibleColumn = columnIndexMapper.getVisualFromRenderableIndex(wtTable.getLastPartiallyVisibleColumn());
|
302
|
+
if (this.row >= firstVisibleRow && this.row <= lastVisibleRow && this.col >= firstVisibleColumn && this.col <= lastVisibleColumn) {
|
303
|
+
const offset = this.TD.getBoundingClientRect();
|
304
|
+
this.datePickerStyle.top = `${this.hot.rootWindow.pageYOffset + offset.top + outerHeight(this.TD)}px`;
|
305
|
+
let pickerLeftPosition = this.hot.rootWindow.pageXOffset;
|
306
|
+
if (this.hot.isRtl()) {
|
307
|
+
pickerLeftPosition += offset.right - outerWidth(this.datePicker);
|
308
|
+
} else {
|
309
|
+
pickerLeftPosition += offset.left;
|
310
|
+
}
|
311
|
+
this.datePickerStyle.left = `${pickerLeftPosition}px`;
|
312
|
+
} else {
|
313
|
+
this.hideDatepicker();
|
314
|
+
}
|
315
|
+
}
|
278
316
|
}
|
@@ -194,31 +194,32 @@ class SelectEditor extends _baseEditor.BaseEditor {
|
|
194
194
|
group: SHORTCUTS_GROUP
|
195
195
|
};
|
196
196
|
|
197
|
-
//
|
198
|
-
if (this.isInFullEditMode() === false) {
|
199
|
-
return;
|
200
|
-
}
|
197
|
+
// The `TAB`-related shortcuts should work both in full and fast edit modes.
|
201
198
|
editorContext.addShortcuts([{
|
202
199
|
keys: [['Tab'], ['Shift', 'Tab']],
|
203
200
|
forwardToContext: gridContext,
|
204
201
|
callback: () => {}
|
205
|
-
},
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
202
|
+
}], contextConfig);
|
203
|
+
if (this.isInFullEditMode() === true) {
|
204
|
+
// The arrow-related shortcuts should work only in full edit mode.
|
205
|
+
editorContext.addShortcuts([{
|
206
|
+
keys: [['ArrowUp']],
|
207
|
+
callback: () => {
|
208
|
+
const previousOptionIndex = this.select.selectedIndex - 1;
|
209
|
+
if (previousOptionIndex >= 0) {
|
210
|
+
this.select[previousOptionIndex].selected = true;
|
211
|
+
}
|
211
212
|
}
|
212
|
-
}
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
213
|
+
}, {
|
214
|
+
keys: [['ArrowDown']],
|
215
|
+
callback: () => {
|
216
|
+
const nextOptionIndex = this.select.selectedIndex + 1;
|
217
|
+
if (nextOptionIndex <= this.select.length - 1) {
|
218
|
+
this.select[nextOptionIndex].selected = true;
|
219
|
+
}
|
219
220
|
}
|
220
|
-
}
|
221
|
-
}
|
221
|
+
}], contextConfig);
|
222
|
+
}
|
222
223
|
}
|
223
224
|
|
224
225
|
/**
|
@@ -191,31 +191,32 @@ export class SelectEditor extends BaseEditor {
|
|
191
191
|
group: SHORTCUTS_GROUP
|
192
192
|
};
|
193
193
|
|
194
|
-
//
|
195
|
-
if (this.isInFullEditMode() === false) {
|
196
|
-
return;
|
197
|
-
}
|
194
|
+
// The `TAB`-related shortcuts should work both in full and fast edit modes.
|
198
195
|
editorContext.addShortcuts([{
|
199
196
|
keys: [['Tab'], ['Shift', 'Tab']],
|
200
197
|
forwardToContext: gridContext,
|
201
198
|
callback: () => {}
|
202
|
-
},
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
199
|
+
}], contextConfig);
|
200
|
+
if (this.isInFullEditMode() === true) {
|
201
|
+
// The arrow-related shortcuts should work only in full edit mode.
|
202
|
+
editorContext.addShortcuts([{
|
203
|
+
keys: [['ArrowUp']],
|
204
|
+
callback: () => {
|
205
|
+
const previousOptionIndex = this.select.selectedIndex - 1;
|
206
|
+
if (previousOptionIndex >= 0) {
|
207
|
+
this.select[previousOptionIndex].selected = true;
|
208
|
+
}
|
208
209
|
}
|
209
|
-
}
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
210
|
+
}, {
|
211
|
+
keys: [['ArrowDown']],
|
212
|
+
callback: () => {
|
213
|
+
const nextOptionIndex = this.select.selectedIndex + 1;
|
214
|
+
if (nextOptionIndex <= this.select.length - 1) {
|
215
|
+
this.select[nextOptionIndex].selected = true;
|
216
|
+
}
|
216
217
|
}
|
217
|
-
}
|
218
|
-
}
|
218
|
+
}], contextConfig);
|
219
|
+
}
|
219
220
|
}
|
220
221
|
|
221
222
|
/**
|
@@ -15,7 +15,7 @@ var _caretPositioner = require("./caretPositioner");
|
|
15
15
|
var _a11y = require("../../helpers/a11y");
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
17
17
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
18
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
19
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); }
|
20
20
|
const EDITOR_VISIBLE_CLASS_NAME = 'ht_editor_visible';
|
21
21
|
const EDITOR_HIDDEN_CLASS_NAME = 'ht_editor_hidden';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
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); }
|
5
5
|
import { BaseEditor, EDITOR_STATE } from "../baseEditor/index.mjs";
|
6
6
|
import EventManager from "../../eventManager.mjs";
|
package/eventManager.js
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.getListenersCounter = getListenersCounter;
|
5
|
-
require("core-js/modules/es.array.push.js");
|
6
5
|
require("core-js/modules/es.error.cause.js");
|
6
|
+
require("core-js/modules/es.array.push.js");
|
7
7
|
var _event = require("./helpers/dom/event");
|
8
8
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
9
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
10
10
|
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); }
|
11
11
|
/**
|
12
12
|
* Counter which tracks unregistered listeners (useful for detecting memory leaks).
|
package/eventManager.mjs
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
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
6
|
import { stopImmediatePropagation as _stopImmediatePropagation } from "./helpers/dom/event.mjs";
|
7
7
|
/**
|