handsontable 0.0.0-next-9379dd1-20231020 → 0.0.0-next-9059914-20231025
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
- package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
- package/3rdparty/walkontable/src/cell/coords.js +11 -50
- package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
- package/3rdparty/walkontable/src/cell/range.js +7 -38
- package/3rdparty/walkontable/src/cell/range.mjs +7 -38
- package/3rdparty/walkontable/src/core/_base.js +3 -9
- package/3rdparty/walkontable/src/core/_base.mjs +3 -9
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +2 -3
- package/3rdparty/walkontable/src/core/core.mjs +2 -3
- package/3rdparty/walkontable/src/event.js +10 -12
- package/3rdparty/walkontable/src/event.mjs +10 -12
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +2 -10
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +2 -13
- package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
- package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
- package/3rdparty/walkontable/src/overlay/top.js +6 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/cells.js +0 -10
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
- package/3rdparty/walkontable/src/renderer/rows.js +0 -13
- package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
- package/3rdparty/walkontable/src/renderer/table.js +0 -9
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
- package/3rdparty/walkontable/src/scroll.js +0 -2
- package/3rdparty/walkontable/src/scroll.mjs +0 -2
- package/3rdparty/walkontable/src/selection.js +295 -0
- package/3rdparty/walkontable/src/selection.mjs +290 -0
- package/3rdparty/walkontable/src/settings.js +4 -13
- package/3rdparty/walkontable/src/settings.mjs +4 -13
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
- package/3rdparty/walkontable/src/table.js +78 -19
- package/3rdparty/walkontable/src/table.mjs +79 -20
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +2 -2
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +2 -2
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/cellTypes/index.d.ts +0 -3
- package/cellTypes/index.js +0 -4
- package/cellTypes/index.mjs +1 -3
- package/core.d.ts +4 -9
- package/core.js +327 -285
- package/core.mjs +327 -285
- package/dataMap/metaManager/metaSchema.js +0 -65
- package/dataMap/metaManager/metaSchema.mjs +0 -65
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
- package/dataMap/replaceData.js +0 -5
- package/dataMap/replaceData.mjs +0 -5
- package/dist/handsontable.css +5 -40
- package/dist/handsontable.full.css +5 -40
- package/dist/handsontable.full.js +8038 -12837
- package/dist/handsontable.full.min.css +4 -4
- package/dist/handsontable.full.min.js +141 -141
- package/dist/handsontable.js +11488 -16287
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +21 -21
- package/dist/languages/all.js +2 -6
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +1 -3
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +1 -3
- package/dist/languages/pl-PL.min.js +1 -1
- package/editorManager.js +87 -15
- package/editorManager.mjs +87 -16
- package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
- package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
- package/editors/dateEditor/dateEditor.js +7 -26
- package/editors/dateEditor/dateEditor.mjs +8 -27
- package/editors/handsontableEditor/handsontableEditor.js +1 -9
- package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
- package/editors/textEditor/textEditor.js +27 -19
- package/editors/textEditor/textEditor.mjs +30 -22
- package/helpers/dom/element.js +9 -188
- package/helpers/dom/element.mjs +9 -182
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +0 -1
- package/helpers/number.js +0 -18
- package/helpers/number.mjs +0 -17
- package/i18n/constants.js +1 -7
- package/i18n/constants.mjs +1 -4
- package/i18n/languages/en-US.js +1 -3
- package/i18n/languages/en-US.mjs +1 -3
- package/i18n/languages/pl-PL.js +1 -3
- package/i18n/languages/pl-PL.mjs +1 -3
- package/languages/all.js +2 -6
- package/languages/en-US.js +1 -3
- package/languages/en-US.mjs +1 -3
- package/languages/index.js +2 -6
- package/languages/pl-PL.js +1 -3
- package/languages/pl-PL.mjs +1 -3
- package/package.json +99 -116
- package/pluginHooks.d.ts +1 -12
- package/pluginHooks.js +1 -152
- package/pluginHooks.mjs +1 -152
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
- package/plugins/columnSorting/columnSorting.js +0 -43
- package/plugins/columnSorting/columnSorting.mjs +3 -44
- package/plugins/columnSorting/index.js +1 -3
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/commentEditor.js +0 -1
- package/plugins/comments/commentEditor.mjs +0 -1
- package/plugins/comments/comments.js +189 -252
- package/plugins/comments/comments.mjs +190 -251
- package/plugins/contextMenu/commandExecutor.js +3 -2
- package/plugins/contextMenu/commandExecutor.mjs +3 -2
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +36 -75
- package/plugins/contextMenu/contextMenu.mjs +35 -74
- package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
- package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
- package/plugins/contextMenu/itemsFactory.js +3 -2
- package/plugins/contextMenu/itemsFactory.mjs +4 -3
- package/plugins/contextMenu/{menu/menu.js → menu.js} +308 -96
- package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +309 -97
- package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
- package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
- package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
- package/plugins/contextMenu/predefinedItems.mjs +68 -0
- package/plugins/contextMenu/utils.js +151 -35
- package/plugins/contextMenu/utils.mjs +144 -35
- package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
- package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
- package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
- package/plugins/copyPaste/copyPaste.js +78 -127
- package/plugins/copyPaste/copyPaste.mjs +79 -128
- package/plugins/copyPaste/focusableElement.js +186 -0
- package/plugins/copyPaste/focusableElement.mjs +180 -0
- package/plugins/customBorders/customBorders.js +20 -23
- package/plugins/customBorders/customBorders.mjs +21 -24
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +38 -97
- package/plugins/dropdownMenu/dropdownMenu.mjs +37 -96
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/filters.js +14 -31
- package/plugins/filters/filters.mjs +14 -31
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +2 -2
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
- package/plugins/hiddenRows/hiddenRows.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +1 -3
- package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
- package/plugins/mergeCells/mergeCells.js +16 -5
- package/plugins/mergeCells/mergeCells.mjs +16 -5
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
- package/plugins/nestedHeaders/nestedHeaders.js +10 -240
- package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
- package/plugins/nestedHeaders/stateManager/index.js +3 -102
- package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
- package/plugins/nestedRows/nestedRows.js +0 -41
- package/plugins/nestedRows/nestedRows.mjs +0 -41
- package/plugins/nestedRows/ui/headers.js +0 -11
- package/plugins/nestedRows/ui/headers.mjs +1 -12
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
- package/renderers/baseRenderer/baseRenderer.js +0 -17
- package/renderers/baseRenderer/baseRenderer.mjs +1 -18
- package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
- package/renderers/index.d.ts +0 -9
- package/selection/highlight/constants.js +15 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +71 -256
- package/selection/highlight/highlight.mjs +71 -250
- package/selection/highlight/types/activeHeader.js +8 -10
- package/selection/highlight/types/activeHeader.mjs +8 -10
- package/selection/highlight/types/area.js +18 -6
- package/selection/highlight/types/area.mjs +18 -6
- package/selection/highlight/types/{focus.js → cell.js} +7 -5
- package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
- package/selection/highlight/types/customSelection.js +9 -7
- package/selection/highlight/types/customSelection.mjs +9 -7
- package/selection/highlight/types/fill.js +7 -5
- package/selection/highlight/types/fill.mjs +7 -5
- package/selection/highlight/types/header.js +18 -9
- package/selection/highlight/types/header.mjs +18 -9
- package/selection/highlight/types/index.js +35 -0
- package/selection/highlight/types/index.mjs +31 -0
- package/selection/highlight/visualSelection.js +27 -31
- package/selection/highlight/visualSelection.mjs +27 -31
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- package/selection/mouseEventHandler.js +1 -7
- package/selection/mouseEventHandler.mjs +1 -7
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +152 -321
- package/selection/selection.mjs +151 -318
- package/selection/transformation.js +90 -232
- package/selection/transformation.mjs +90 -232
- package/selection/utils.js +21 -15
- package/selection/utils.mjs +21 -16
- package/settings.d.ts +0 -4
- package/shortcuts/context.js +2 -20
- package/shortcuts/context.mjs +3 -20
- package/shortcuts/manager.js +7 -25
- package/shortcuts/manager.mjs +7 -26
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +5 -19
- package/shortcuts/utils.mjs +4 -18
- package/tableView.js +13 -111
- package/tableView.mjs +14 -112
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/selection/constants.js +0 -62
- package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
- package/3rdparty/walkontable/src/selection/index.js +0 -26
- package/3rdparty/walkontable/src/selection/index.mjs +0 -5
- package/3rdparty/walkontable/src/selection/manager.js +0 -274
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
- package/3rdparty/walkontable/src/selection/scanner.js +0 -270
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
- package/3rdparty/walkontable/src/selection/selection.js +0 -101
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
- package/cellTypes/selectType/index.d.ts +0 -1
- package/cellTypes/selectType/index.js +0 -6
- package/cellTypes/selectType/index.mjs +0 -1
- package/cellTypes/selectType/selectType.d.ts +0 -14
- package/cellTypes/selectType/selectType.js +0 -13
- package/cellTypes/selectType/selectType.mjs +0 -8
- package/core/focusCatcher/focusDetector.js +0 -63
- package/core/focusCatcher/focusDetector.mjs +0 -59
- package/core/focusCatcher/index.js +0 -142
- package/core/focusCatcher/index.mjs +0 -138
- package/core/index.js +0 -9
- package/core/index.mjs +0 -1
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -265
- package/focusManager.mjs +0 -261
- package/helpers/a11y.js +0 -79
- package/helpers/a11y.mjs +0 -38
- package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
- package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
- package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
- package/plugins/comments/contextMenuItem/removeComment.js +0 -38
- package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
- package/plugins/contextMenu/menu/index.js +0 -9
- package/plugins/contextMenu/menu/index.mjs +0 -1
- package/plugins/contextMenu/menu/navigator.js +0 -152
- package/plugins/contextMenu/menu/navigator.mjs +0 -148
- package/plugins/contextMenu/menu/positioner.js +0 -213
- package/plugins/contextMenu/menu/positioner.mjs +0 -209
- package/plugins/contextMenu/menu/utils.js +0 -177
- package/plugins/contextMenu/menu/utils.mjs +0 -163
- package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
- package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
- package/renderers/dateRenderer/dateRenderer.js +0 -29
- package/renderers/dateRenderer/dateRenderer.mjs +0 -24
- package/renderers/dateRenderer/index.d.ts +0 -1
- package/renderers/dateRenderer/index.js +0 -6
- package/renderers/dateRenderer/index.mjs +0 -1
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
- package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
- package/renderers/handsontableRenderer/index.d.ts +0 -1
- package/renderers/handsontableRenderer/index.js +0 -6
- package/renderers/handsontableRenderer/index.mjs +0 -1
- package/renderers/selectRenderer/index.d.ts +0 -1
- package/renderers/selectRenderer/index.js +0 -6
- package/renderers/selectRenderer/index.mjs +0 -1
- package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
- package/renderers/selectRenderer/selectRenderer.js +0 -27
- package/renderers/selectRenderer/selectRenderer.mjs +0 -22
- package/selection/highlight/types/areaLayered.js +0 -31
- package/selection/highlight/types/areaLayered.mjs +0 -26
- package/selection/highlight/types/column.js +0 -27
- package/selection/highlight/types/column.mjs +0 -22
- package/selection/highlight/types/row.js +0 -27
- package/selection/highlight/types/row.mjs +0 -22
- package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
- package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
- package/shortcutContexts/commands/editor/fastOpen.js +0 -16
- package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
- package/shortcutContexts/commands/editor/index.js +0 -16
- package/shortcutContexts/commands/editor/index.mjs +0 -12
- package/shortcutContexts/commands/editor/open.js +0 -27
- package/shortcutContexts/commands/editor/open.mjs +0 -23
- package/shortcutContexts/commands/emptySelectedCells.js +0 -11
- package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
- package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
- package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
- package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
- package/shortcutContexts/commands/index.js +0 -35
- package/shortcutContexts/commands/index.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
- package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
- package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
- package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
- package/shortcutContexts/commands/selectAll.js +0 -12
- package/shortcutContexts/commands/selectAll.mjs +0 -8
- package/shortcutContexts/constants.js +0 -13
- package/shortcutContexts/constants.mjs +0 -8
- package/shortcutContexts/editor.js +0 -25
- package/shortcutContexts/editor.mjs +0 -21
- package/shortcutContexts/grid.js +0 -163
- package/shortcutContexts/grid.mjs +0 -159
- package/shortcutContexts/index.js +0 -24
- package/shortcutContexts/index.mjs +0 -11
package/helpers/dom/element.js
CHANGED
@@ -36,30 +36,23 @@ exports.isChildOf = isChildOf;
|
|
36
36
|
exports.isDetached = isDetached;
|
37
37
|
exports.isInput = isInput;
|
38
38
|
exports.isOutsideInput = isOutsideInput;
|
39
|
-
exports.isThisHotChild = isThisHotChild;
|
40
39
|
exports.isVisible = isVisible;
|
41
|
-
exports.makeElementContentEditableAndSelectItsContent = makeElementContentEditableAndSelectItsContent;
|
42
40
|
exports.matchesCSSRules = matchesCSSRules;
|
43
41
|
exports.observeVisibilityChangeOnce = observeVisibilityChangeOnce;
|
44
42
|
exports.offset = offset;
|
45
43
|
exports.outerHeight = outerHeight;
|
46
44
|
exports.outerWidth = outerWidth;
|
47
45
|
exports.overlayContainsElement = overlayContainsElement;
|
48
|
-
exports.removeAttribute = removeAttribute;
|
49
46
|
exports.removeClass = removeClass;
|
50
|
-
exports.removeContentEditableFromElementAndDeselect = removeContentEditableFromElementAndDeselect;
|
51
47
|
exports.removeEvent = removeEvent;
|
52
48
|
exports.removeTextNodes = removeTextNodes;
|
53
49
|
exports.resetCssTransform = resetCssTransform;
|
54
|
-
exports.runWithSelectedContendEditableElement = runWithSelectedContendEditableElement;
|
55
50
|
exports.selectElementIfAllowed = selectElementIfAllowed;
|
56
|
-
exports.setAttribute = setAttribute;
|
57
51
|
exports.setCaretPosition = setCaretPosition;
|
58
52
|
exports.setOverlayPosition = setOverlayPosition;
|
59
53
|
require("core-js/modules/es.array.push.js");
|
60
54
|
require("core-js/modules/es.error.cause.js");
|
61
55
|
var _string = require("../string");
|
62
|
-
var _a11y = require("../a11y");
|
63
56
|
/**
|
64
57
|
* Get the parent of the specified node in the DOM tree.
|
65
58
|
*
|
@@ -87,18 +80,6 @@ function getParent(element) {
|
|
87
80
|
return parent;
|
88
81
|
}
|
89
82
|
|
90
|
-
/**
|
91
|
-
* Check if the provided element is a child of the provided Handsontable container.
|
92
|
-
*
|
93
|
-
* @param {HTMLElement} element Element to be analyzed.
|
94
|
-
* @param {HTMLElement} thisHotContainer The Handsontable container.
|
95
|
-
* @returns {boolean}
|
96
|
-
*/
|
97
|
-
function isThisHotChild(element, thisHotContainer) {
|
98
|
-
const closestHandsontableContainer = element.closest('.handsontable');
|
99
|
-
return !!closestHandsontableContainer && (closestHandsontableContainer.parentNode === thisHotContainer || closestHandsontableContainer === thisHotContainer);
|
100
|
-
}
|
101
|
-
|
102
83
|
/**
|
103
84
|
* Gets `frameElement` of the specified frame. Returns null if it is a top frame or if script has no access to read property.
|
104
85
|
*
|
@@ -112,7 +93,7 @@ function getFrameElement(frame) {
|
|
112
93
|
/**
|
113
94
|
* Gets parent frame of the specified frame. Returns null if it is a top frame or if script has no access to read property.
|
114
95
|
*
|
115
|
-
* @param {Window} frame Frame from which should get frameElement in
|
96
|
+
* @param {Window} frame Frame from which should be get frameElement in safe way.
|
116
97
|
* @returns {Window|null}
|
117
98
|
*/
|
118
99
|
function getParentWindow(frame) {
|
@@ -122,7 +103,7 @@ function getParentWindow(frame) {
|
|
122
103
|
/**
|
123
104
|
* Checks if script has access to read from parent frame of specified frame.
|
124
105
|
*
|
125
|
-
* @param {Window} frame Frame from which should get frameElement in
|
106
|
+
* @param {Window} frame Frame from which should be get frameElement in safe way.
|
126
107
|
* @returns {boolean}
|
127
108
|
*/
|
128
109
|
function hasAccessToParentWindow(frame) {
|
@@ -257,7 +238,7 @@ function overlayContainsElement(overlayType, element, root) {
|
|
257
238
|
}
|
258
239
|
|
259
240
|
/**
|
260
|
-
* @param {string
|
241
|
+
* @param {string} classNames The element "class" attribute string.
|
261
242
|
* @returns {string[]}
|
262
243
|
*/
|
263
244
|
function filterEmptyClassNames(classNames) {
|
@@ -267,35 +248,6 @@ function filterEmptyClassNames(classNames) {
|
|
267
248
|
return classNames.filter(x => !!x);
|
268
249
|
}
|
269
250
|
|
270
|
-
/**
|
271
|
-
* Filter out the RegExp entries from an array.
|
272
|
-
*
|
273
|
-
* @param {(string|RegExp)[]} list Array of either strings, Regexes or a mix of both.
|
274
|
-
* @param {boolean} [returnBoth] If `true`, both the array without regexes and an array of regexes will be returned.
|
275
|
-
* @returns {string[]|{regexFree: string[], regexes: RegExp[]}}
|
276
|
-
*/
|
277
|
-
function filterRegexes(list, returnBoth) {
|
278
|
-
if (!list || !list.length) {
|
279
|
-
return returnBoth ? {
|
280
|
-
regexFree: [],
|
281
|
-
regexes: []
|
282
|
-
} : [];
|
283
|
-
}
|
284
|
-
const regexes = [];
|
285
|
-
const regexFree = [];
|
286
|
-
regexFree.push(...list.filter(entry => {
|
287
|
-
const isRegex = entry instanceof RegExp;
|
288
|
-
if (isRegex && returnBoth) {
|
289
|
-
regexes.push(entry);
|
290
|
-
}
|
291
|
-
return !isRegex;
|
292
|
-
}));
|
293
|
-
return returnBoth ? {
|
294
|
-
regexFree,
|
295
|
-
regexes
|
296
|
-
} : regexFree;
|
297
|
-
}
|
298
|
-
|
299
251
|
/**
|
300
252
|
* Checks if element has class name.
|
301
253
|
*
|
@@ -330,86 +282,16 @@ function addClass(element, className) {
|
|
330
282
|
* Remove class name from an element.
|
331
283
|
*
|
332
284
|
* @param {HTMLElement} element An element to process.
|
333
|
-
* @param {string|Array
|
285
|
+
* @param {string|Array} className Class name as string or array of strings.
|
334
286
|
*/
|
335
287
|
function removeClass(element, className) {
|
336
288
|
if (typeof className === 'string') {
|
337
289
|
className = className.split(' ');
|
338
|
-
} else if (className instanceof RegExp) {
|
339
|
-
className = [className];
|
340
|
-
}
|
341
|
-
let {
|
342
|
-
regexFree: stringClasses,
|
343
|
-
// eslint-disable-next-line prefer-const
|
344
|
-
regexes: regexClasses
|
345
|
-
} = filterRegexes(className, true);
|
346
|
-
stringClasses = filterEmptyClassNames(stringClasses);
|
347
|
-
if (stringClasses.length > 0) {
|
348
|
-
element.classList.remove(...stringClasses);
|
349
290
|
}
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
element.classList.remove(currentClassName);
|
354
|
-
}
|
355
|
-
});
|
356
|
-
});
|
357
|
-
}
|
358
|
-
|
359
|
-
/**
|
360
|
-
* Set a single attribute or multiple attributes at once.
|
361
|
-
*
|
362
|
-
* @param {HTMLElement} domElement The HTML element to be modified.
|
363
|
-
* @param {Array[]|string} attributes If setting multiple attributes at once, `attributes` holds an array containing the
|
364
|
-
* attributes to be added. Each element of the array should be an array in a form of `[attributeName,
|
365
|
-
* attributeValue]`. If setting a single attribute, `attributes` holds the name of the attribute.
|
366
|
-
* @param {string|number|undefined} [attributeValue] If setting a single attribute, `attributeValue` holds the attribute
|
367
|
-
* value.
|
368
|
-
*/
|
369
|
-
function setAttribute(domElement) {
|
370
|
-
let attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
371
|
-
let attributeValue = arguments.length > 2 ? arguments[2] : undefined;
|
372
|
-
if (!Array.isArray(attributes)) {
|
373
|
-
attributes = [[attributes, attributeValue]];
|
374
|
-
}
|
375
|
-
attributes.forEach(attributeInfo => {
|
376
|
-
if (Array.isArray(attributeInfo) && attributeInfo[0] !== '') {
|
377
|
-
domElement.setAttribute(...attributeInfo);
|
378
|
-
}
|
379
|
-
});
|
380
|
-
}
|
381
|
-
|
382
|
-
/**
|
383
|
-
* Remove a single attribute or multiple attributes from the provided element at once.
|
384
|
-
*
|
385
|
-
* @param {HTMLElement} domElement The HTML element to be processed.
|
386
|
-
* @param {Array<string|RegExp>|string} attributesToRemove If removing multiple attributes, `attributesToRemove`
|
387
|
-
* holds an array of attribute names to be removed from the provided element. If removing a single attribute, it
|
388
|
-
* holds the attribute name.
|
389
|
-
*/
|
390
|
-
function removeAttribute(domElement) {
|
391
|
-
let attributesToRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
392
|
-
if (typeof attributesToRemove === 'string') {
|
393
|
-
attributesToRemove = attributesToRemove.split(' ');
|
394
|
-
} else if (attributesToRemove instanceof RegExp) {
|
395
|
-
attributesToRemove = [attributesToRemove];
|
291
|
+
className = filterEmptyClassNames(className);
|
292
|
+
if (className.length > 0) {
|
293
|
+
element.classList.remove(...className);
|
396
294
|
}
|
397
|
-
const {
|
398
|
-
regexFree: stringAttributes,
|
399
|
-
regexes: regexAttributes
|
400
|
-
} = filterRegexes(attributesToRemove, true);
|
401
|
-
stringAttributes.forEach(attributeNameToRemove => {
|
402
|
-
if (attributeNameToRemove !== '') {
|
403
|
-
domElement.removeAttribute(attributeNameToRemove);
|
404
|
-
}
|
405
|
-
});
|
406
|
-
regexAttributes.forEach(attributeRegex => {
|
407
|
-
domElement.getAttributeNames().forEach(attributeName => {
|
408
|
-
if (attributeRegex.test(attributeName)) {
|
409
|
-
domElement.removeAttribute(attributeName);
|
410
|
-
}
|
411
|
-
});
|
412
|
-
});
|
413
295
|
}
|
414
296
|
|
415
297
|
/**
|
@@ -427,7 +309,7 @@ function removeTextNodes(element) {
|
|
427
309
|
}
|
428
310
|
|
429
311
|
/**
|
430
|
-
* Remove
|
312
|
+
* Remove childs function
|
431
313
|
* WARNING - this doesn't unload events and data attached by jQuery
|
432
314
|
* http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/9
|
433
315
|
* http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/11 - no siginificant improvement with Chrome remove() method.
|
@@ -445,7 +327,7 @@ function empty(element) {
|
|
445
327
|
const HTML_CHARACTERS = /(<(.*)>|&(.*);)/;
|
446
328
|
|
447
329
|
/**
|
448
|
-
* Insert content into element trying
|
330
|
+
* Insert content into element trying avoid innerHTML method.
|
449
331
|
*
|
450
332
|
* @param {HTMLElement} element An element to write into.
|
451
333
|
* @param {string} content The text to write.
|
@@ -1075,65 +957,4 @@ function observeVisibilityChangeOnce(elementToBeObserved, callback) {
|
|
1075
957
|
root: elementToBeObserved.ownerDocument.body
|
1076
958
|
});
|
1077
959
|
visibilityObserver.observe(elementToBeObserved);
|
1078
|
-
}
|
1079
|
-
|
1080
|
-
/**
|
1081
|
-
* Add a `contenteditable` attribute, select the contents and optionally add the `invisibleSelection`
|
1082
|
-
* class to the provided element.
|
1083
|
-
*
|
1084
|
-
* @param {HTMLElement} element Element to be processed.
|
1085
|
-
* @param {boolean} [invisibleSelection=true] `true` if the class should be added to the element.
|
1086
|
-
* @param {boolean} [ariaHidden=true] `true` if the `aria-hidden` attribute should be added to the processed element.
|
1087
|
-
*/
|
1088
|
-
function makeElementContentEditableAndSelectItsContent(element) {
|
1089
|
-
let invisibleSelection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
1090
|
-
let ariaHidden = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
1091
|
-
const ownerDocument = element.ownerDocument;
|
1092
|
-
const range = ownerDocument.createRange();
|
1093
|
-
const sel = ownerDocument.defaultView.getSelection();
|
1094
|
-
setAttribute(element, 'contenteditable', true);
|
1095
|
-
if (ariaHidden) {
|
1096
|
-
setAttribute(element, ...(0, _a11y.A11Y_HIDDEN)());
|
1097
|
-
}
|
1098
|
-
if (invisibleSelection) {
|
1099
|
-
addClass(element, 'invisibleSelection');
|
1100
|
-
}
|
1101
|
-
range.selectNodeContents(element);
|
1102
|
-
sel.removeAllRanges();
|
1103
|
-
sel.addRange(range);
|
1104
|
-
}
|
1105
|
-
|
1106
|
-
/**
|
1107
|
-
* Remove the `contenteditable` attribute, deselect the contents and optionally remove the `invisibleSelection`
|
1108
|
-
* class from the provided element.
|
1109
|
-
*
|
1110
|
-
* @param {HTMLElement} selectedElement The element to be deselected.
|
1111
|
-
* @param {boolean} [removeInvisibleSelectionClass=true] `true` if the class should be removed from the element.
|
1112
|
-
*/
|
1113
|
-
function removeContentEditableFromElementAndDeselect(selectedElement) {
|
1114
|
-
let removeInvisibleSelectionClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
1115
|
-
const sel = selectedElement.ownerDocument.defaultView.getSelection();
|
1116
|
-
if (selectedElement.hasAttribute('aria-hidden')) {
|
1117
|
-
selectedElement.removeAttribute('aria-hidden');
|
1118
|
-
}
|
1119
|
-
sel.removeAllRanges();
|
1120
|
-
if (removeInvisibleSelectionClass) {
|
1121
|
-
removeClass(selectedElement, 'invisibleSelection');
|
1122
|
-
}
|
1123
|
-
selectedElement.removeAttribute('contenteditable');
|
1124
|
-
}
|
1125
|
-
|
1126
|
-
/**
|
1127
|
-
* Run the provided callback while the provided element is selected and modified to have the `contenteditable`
|
1128
|
-
* attribute added. Optionally, the selection can be configured to be invisible.
|
1129
|
-
*
|
1130
|
-
* @param {HTMLElement} element Element to be selected.
|
1131
|
-
* @param {Function} callback Callback to be called.
|
1132
|
-
* @param {boolean} [invisibleSelection=true] `true` if the selection should be invisible.
|
1133
|
-
*/
|
1134
|
-
function runWithSelectedContendEditableElement(element, callback) {
|
1135
|
-
let invisibleSelection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
1136
|
-
makeElementContentEditableAndSelectItsContent(element, invisibleSelection);
|
1137
|
-
callback();
|
1138
|
-
removeContentEditableFromElementAndDeselect(element, invisibleSelection);
|
1139
960
|
}
|
package/helpers/dom/element.mjs
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
2
|
import "core-js/modules/es.error.cause.js";
|
3
3
|
import { sanitize } from "../string.mjs";
|
4
|
-
import { A11Y_HIDDEN } from "../a11y.mjs";
|
5
4
|
/**
|
6
5
|
* Get the parent of the specified node in the DOM tree.
|
7
6
|
*
|
@@ -29,18 +28,6 @@ export function getParent(element) {
|
|
29
28
|
return parent;
|
30
29
|
}
|
31
30
|
|
32
|
-
/**
|
33
|
-
* Check if the provided element is a child of the provided Handsontable container.
|
34
|
-
*
|
35
|
-
* @param {HTMLElement} element Element to be analyzed.
|
36
|
-
* @param {HTMLElement} thisHotContainer The Handsontable container.
|
37
|
-
* @returns {boolean}
|
38
|
-
*/
|
39
|
-
export function isThisHotChild(element, thisHotContainer) {
|
40
|
-
const closestHandsontableContainer = element.closest('.handsontable');
|
41
|
-
return !!closestHandsontableContainer && (closestHandsontableContainer.parentNode === thisHotContainer || closestHandsontableContainer === thisHotContainer);
|
42
|
-
}
|
43
|
-
|
44
31
|
/**
|
45
32
|
* Gets `frameElement` of the specified frame. Returns null if it is a top frame or if script has no access to read property.
|
46
33
|
*
|
@@ -54,7 +41,7 @@ export function getFrameElement(frame) {
|
|
54
41
|
/**
|
55
42
|
* Gets parent frame of the specified frame. Returns null if it is a top frame or if script has no access to read property.
|
56
43
|
*
|
57
|
-
* @param {Window} frame Frame from which should get frameElement in
|
44
|
+
* @param {Window} frame Frame from which should be get frameElement in safe way.
|
58
45
|
* @returns {Window|null}
|
59
46
|
*/
|
60
47
|
export function getParentWindow(frame) {
|
@@ -64,7 +51,7 @@ export function getParentWindow(frame) {
|
|
64
51
|
/**
|
65
52
|
* Checks if script has access to read from parent frame of specified frame.
|
66
53
|
*
|
67
|
-
* @param {Window} frame Frame from which should get frameElement in
|
54
|
+
* @param {Window} frame Frame from which should be get frameElement in safe way.
|
68
55
|
* @returns {boolean}
|
69
56
|
*/
|
70
57
|
export function hasAccessToParentWindow(frame) {
|
@@ -199,7 +186,7 @@ export function overlayContainsElement(overlayType, element, root) {
|
|
199
186
|
}
|
200
187
|
|
201
188
|
/**
|
202
|
-
* @param {string
|
189
|
+
* @param {string} classNames The element "class" attribute string.
|
203
190
|
* @returns {string[]}
|
204
191
|
*/
|
205
192
|
function filterEmptyClassNames(classNames) {
|
@@ -209,35 +196,6 @@ function filterEmptyClassNames(classNames) {
|
|
209
196
|
return classNames.filter(x => !!x);
|
210
197
|
}
|
211
198
|
|
212
|
-
/**
|
213
|
-
* Filter out the RegExp entries from an array.
|
214
|
-
*
|
215
|
-
* @param {(string|RegExp)[]} list Array of either strings, Regexes or a mix of both.
|
216
|
-
* @param {boolean} [returnBoth] If `true`, both the array without regexes and an array of regexes will be returned.
|
217
|
-
* @returns {string[]|{regexFree: string[], regexes: RegExp[]}}
|
218
|
-
*/
|
219
|
-
function filterRegexes(list, returnBoth) {
|
220
|
-
if (!list || !list.length) {
|
221
|
-
return returnBoth ? {
|
222
|
-
regexFree: [],
|
223
|
-
regexes: []
|
224
|
-
} : [];
|
225
|
-
}
|
226
|
-
const regexes = [];
|
227
|
-
const regexFree = [];
|
228
|
-
regexFree.push(...list.filter(entry => {
|
229
|
-
const isRegex = entry instanceof RegExp;
|
230
|
-
if (isRegex && returnBoth) {
|
231
|
-
regexes.push(entry);
|
232
|
-
}
|
233
|
-
return !isRegex;
|
234
|
-
}));
|
235
|
-
return returnBoth ? {
|
236
|
-
regexFree,
|
237
|
-
regexes
|
238
|
-
} : regexFree;
|
239
|
-
}
|
240
|
-
|
241
199
|
/**
|
242
200
|
* Checks if element has class name.
|
243
201
|
*
|
@@ -272,86 +230,16 @@ export function addClass(element, className) {
|
|
272
230
|
* Remove class name from an element.
|
273
231
|
*
|
274
232
|
* @param {HTMLElement} element An element to process.
|
275
|
-
* @param {string|Array
|
233
|
+
* @param {string|Array} className Class name as string or array of strings.
|
276
234
|
*/
|
277
235
|
export function removeClass(element, className) {
|
278
236
|
if (typeof className === 'string') {
|
279
237
|
className = className.split(' ');
|
280
|
-
} else if (className instanceof RegExp) {
|
281
|
-
className = [className];
|
282
|
-
}
|
283
|
-
let {
|
284
|
-
regexFree: stringClasses,
|
285
|
-
// eslint-disable-next-line prefer-const
|
286
|
-
regexes: regexClasses
|
287
|
-
} = filterRegexes(className, true);
|
288
|
-
stringClasses = filterEmptyClassNames(stringClasses);
|
289
|
-
if (stringClasses.length > 0) {
|
290
|
-
element.classList.remove(...stringClasses);
|
291
238
|
}
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
element.classList.remove(currentClassName);
|
296
|
-
}
|
297
|
-
});
|
298
|
-
});
|
299
|
-
}
|
300
|
-
|
301
|
-
/**
|
302
|
-
* Set a single attribute or multiple attributes at once.
|
303
|
-
*
|
304
|
-
* @param {HTMLElement} domElement The HTML element to be modified.
|
305
|
-
* @param {Array[]|string} attributes If setting multiple attributes at once, `attributes` holds an array containing the
|
306
|
-
* attributes to be added. Each element of the array should be an array in a form of `[attributeName,
|
307
|
-
* attributeValue]`. If setting a single attribute, `attributes` holds the name of the attribute.
|
308
|
-
* @param {string|number|undefined} [attributeValue] If setting a single attribute, `attributeValue` holds the attribute
|
309
|
-
* value.
|
310
|
-
*/
|
311
|
-
export function setAttribute(domElement) {
|
312
|
-
let attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
313
|
-
let attributeValue = arguments.length > 2 ? arguments[2] : undefined;
|
314
|
-
if (!Array.isArray(attributes)) {
|
315
|
-
attributes = [[attributes, attributeValue]];
|
316
|
-
}
|
317
|
-
attributes.forEach(attributeInfo => {
|
318
|
-
if (Array.isArray(attributeInfo) && attributeInfo[0] !== '') {
|
319
|
-
domElement.setAttribute(...attributeInfo);
|
320
|
-
}
|
321
|
-
});
|
322
|
-
}
|
323
|
-
|
324
|
-
/**
|
325
|
-
* Remove a single attribute or multiple attributes from the provided element at once.
|
326
|
-
*
|
327
|
-
* @param {HTMLElement} domElement The HTML element to be processed.
|
328
|
-
* @param {Array<string|RegExp>|string} attributesToRemove If removing multiple attributes, `attributesToRemove`
|
329
|
-
* holds an array of attribute names to be removed from the provided element. If removing a single attribute, it
|
330
|
-
* holds the attribute name.
|
331
|
-
*/
|
332
|
-
export function removeAttribute(domElement) {
|
333
|
-
let attributesToRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
334
|
-
if (typeof attributesToRemove === 'string') {
|
335
|
-
attributesToRemove = attributesToRemove.split(' ');
|
336
|
-
} else if (attributesToRemove instanceof RegExp) {
|
337
|
-
attributesToRemove = [attributesToRemove];
|
239
|
+
className = filterEmptyClassNames(className);
|
240
|
+
if (className.length > 0) {
|
241
|
+
element.classList.remove(...className);
|
338
242
|
}
|
339
|
-
const {
|
340
|
-
regexFree: stringAttributes,
|
341
|
-
regexes: regexAttributes
|
342
|
-
} = filterRegexes(attributesToRemove, true);
|
343
|
-
stringAttributes.forEach(attributeNameToRemove => {
|
344
|
-
if (attributeNameToRemove !== '') {
|
345
|
-
domElement.removeAttribute(attributeNameToRemove);
|
346
|
-
}
|
347
|
-
});
|
348
|
-
regexAttributes.forEach(attributeRegex => {
|
349
|
-
domElement.getAttributeNames().forEach(attributeName => {
|
350
|
-
if (attributeRegex.test(attributeName)) {
|
351
|
-
domElement.removeAttribute(attributeName);
|
352
|
-
}
|
353
|
-
});
|
354
|
-
});
|
355
243
|
}
|
356
244
|
|
357
245
|
/**
|
@@ -369,7 +257,7 @@ export function removeTextNodes(element) {
|
|
369
257
|
}
|
370
258
|
|
371
259
|
/**
|
372
|
-
* Remove
|
260
|
+
* Remove childs function
|
373
261
|
* WARNING - this doesn't unload events and data attached by jQuery
|
374
262
|
* http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/9
|
375
263
|
* http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/11 - no siginificant improvement with Chrome remove() method.
|
@@ -387,7 +275,7 @@ export function empty(element) {
|
|
387
275
|
export const HTML_CHARACTERS = /(<(.*)>|&(.*);)/;
|
388
276
|
|
389
277
|
/**
|
390
|
-
* Insert content into element trying
|
278
|
+
* Insert content into element trying avoid innerHTML method.
|
391
279
|
*
|
392
280
|
* @param {HTMLElement} element An element to write into.
|
393
281
|
* @param {string} content The text to write.
|
@@ -1016,65 +904,4 @@ export function observeVisibilityChangeOnce(elementToBeObserved, callback) {
|
|
1016
904
|
root: elementToBeObserved.ownerDocument.body
|
1017
905
|
});
|
1018
906
|
visibilityObserver.observe(elementToBeObserved);
|
1019
|
-
}
|
1020
|
-
|
1021
|
-
/**
|
1022
|
-
* Add a `contenteditable` attribute, select the contents and optionally add the `invisibleSelection`
|
1023
|
-
* class to the provided element.
|
1024
|
-
*
|
1025
|
-
* @param {HTMLElement} element Element to be processed.
|
1026
|
-
* @param {boolean} [invisibleSelection=true] `true` if the class should be added to the element.
|
1027
|
-
* @param {boolean} [ariaHidden=true] `true` if the `aria-hidden` attribute should be added to the processed element.
|
1028
|
-
*/
|
1029
|
-
export function makeElementContentEditableAndSelectItsContent(element) {
|
1030
|
-
let invisibleSelection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
1031
|
-
let ariaHidden = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
1032
|
-
const ownerDocument = element.ownerDocument;
|
1033
|
-
const range = ownerDocument.createRange();
|
1034
|
-
const sel = ownerDocument.defaultView.getSelection();
|
1035
|
-
setAttribute(element, 'contenteditable', true);
|
1036
|
-
if (ariaHidden) {
|
1037
|
-
setAttribute(element, ...A11Y_HIDDEN());
|
1038
|
-
}
|
1039
|
-
if (invisibleSelection) {
|
1040
|
-
addClass(element, 'invisibleSelection');
|
1041
|
-
}
|
1042
|
-
range.selectNodeContents(element);
|
1043
|
-
sel.removeAllRanges();
|
1044
|
-
sel.addRange(range);
|
1045
|
-
}
|
1046
|
-
|
1047
|
-
/**
|
1048
|
-
* Remove the `contenteditable` attribute, deselect the contents and optionally remove the `invisibleSelection`
|
1049
|
-
* class from the provided element.
|
1050
|
-
*
|
1051
|
-
* @param {HTMLElement} selectedElement The element to be deselected.
|
1052
|
-
* @param {boolean} [removeInvisibleSelectionClass=true] `true` if the class should be removed from the element.
|
1053
|
-
*/
|
1054
|
-
export function removeContentEditableFromElementAndDeselect(selectedElement) {
|
1055
|
-
let removeInvisibleSelectionClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
1056
|
-
const sel = selectedElement.ownerDocument.defaultView.getSelection();
|
1057
|
-
if (selectedElement.hasAttribute('aria-hidden')) {
|
1058
|
-
selectedElement.removeAttribute('aria-hidden');
|
1059
|
-
}
|
1060
|
-
sel.removeAllRanges();
|
1061
|
-
if (removeInvisibleSelectionClass) {
|
1062
|
-
removeClass(selectedElement, 'invisibleSelection');
|
1063
|
-
}
|
1064
|
-
selectedElement.removeAttribute('contenteditable');
|
1065
|
-
}
|
1066
|
-
|
1067
|
-
/**
|
1068
|
-
* Run the provided callback while the provided element is selected and modified to have the `contenteditable`
|
1069
|
-
* attribute added. Optionally, the selection can be configured to be invisible.
|
1070
|
-
*
|
1071
|
-
* @param {HTMLElement} element Element to be selected.
|
1072
|
-
* @param {Function} callback Callback to be called.
|
1073
|
-
* @param {boolean} [invisibleSelection=true] `true` if the selection should be invisible.
|
1074
|
-
*/
|
1075
|
-
export function runWithSelectedContendEditableElement(element, callback) {
|
1076
|
-
let invisibleSelection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
1077
|
-
makeElementContentEditableAndSelectItsContent(element, invisibleSelection);
|
1078
|
-
callback();
|
1079
|
-
removeContentEditableFromElementAndDeselect(element, invisibleSelection);
|
1080
907
|
}
|
package/helpers/mixed.js
CHANGED
@@ -134,7 +134,7 @@ const domMessages = {
|
|
134
134
|
function _injectProductInfo(key, element) {
|
135
135
|
const hasValidType = !isEmpty(key);
|
136
136
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
137
|
-
const hotVersion = "0.0.0-next-
|
137
|
+
const hotVersion = "0.0.0-next-9059914-20231025";
|
138
138
|
let keyValidityDate;
|
139
139
|
let consoleMessageState = 'invalid';
|
140
140
|
let domMessageState = 'invalid';
|
package/helpers/mixed.mjs
CHANGED
@@ -124,7 +124,7 @@ const domMessages = {
|
|
124
124
|
export function _injectProductInfo(key, element) {
|
125
125
|
const hasValidType = !isEmpty(key);
|
126
126
|
const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
|
127
|
-
const hotVersion = "0.0.0-next-
|
127
|
+
const hotVersion = "0.0.0-next-9059914-20231025";
|
128
128
|
let keyValidityDate;
|
129
129
|
let consoleMessageState = 'invalid';
|
130
130
|
let domMessageState = 'invalid';
|
package/helpers/number.d.ts
CHANGED
@@ -3,4 +3,3 @@ export function isNumericLike(value: any): boolean;
|
|
3
3
|
export function rangeEach(rangeFrom: number, rangeTo: number, iteratee: (index: number) => void): void;
|
4
4
|
export function rangeEachReverse(rangeFrom: number, rangeTo: number, iteratee: (index: number) => void): void;
|
5
5
|
export function valueAccordingPercent(value: number, percent: string | number): number;
|
6
|
-
export function clamp(value: number, minValue: number, maxValue: number): number;
|
package/helpers/number.js
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
exports.clamp = clamp;
|
5
4
|
exports.isNumeric = isNumeric;
|
6
5
|
exports.isNumericLike = isNumericLike;
|
7
6
|
exports.rangeEach = rangeEach;
|
@@ -112,21 +111,4 @@ function valueAccordingPercent(value, percent) {
|
|
112
111
|
percent = parseInt(percent.toString().replace('%', ''), 10);
|
113
112
|
percent = isNaN(percent) ? 0 : percent;
|
114
113
|
return parseInt(value * percent / 100, 10);
|
115
|
-
}
|
116
|
-
|
117
|
-
/**
|
118
|
-
* Clamps the value between min and max.
|
119
|
-
*
|
120
|
-
* @param {number} value The base number value.
|
121
|
-
* @param {number} minValue The max number value.
|
122
|
-
* @param {number} maxValue The min number value.
|
123
|
-
* @returns {number}
|
124
|
-
*/
|
125
|
-
function clamp(value, minValue, maxValue) {
|
126
|
-
if (Math.min(value, minValue) === value) {
|
127
|
-
return minValue;
|
128
|
-
} else if (Math.max(value, maxValue) === value) {
|
129
|
-
return maxValue;
|
130
|
-
}
|
131
|
-
return value;
|
132
114
|
}
|
package/helpers/number.mjs
CHANGED
@@ -103,21 +103,4 @@ export function valueAccordingPercent(value, percent) {
|
|
103
103
|
percent = parseInt(percent.toString().replace('%', ''), 10);
|
104
104
|
percent = isNaN(percent) ? 0 : percent;
|
105
105
|
return parseInt(value * percent / 100, 10);
|
106
|
-
}
|
107
|
-
|
108
|
-
/**
|
109
|
-
* Clamps the value between min and max.
|
110
|
-
*
|
111
|
-
* @param {number} value The base number value.
|
112
|
-
* @param {number} minValue The max number value.
|
113
|
-
* @param {number} maxValue The min number value.
|
114
|
-
* @returns {number}
|
115
|
-
*/
|
116
|
-
export function clamp(value, minValue, maxValue) {
|
117
|
-
if (Math.min(value, minValue) === value) {
|
118
|
-
return minValue;
|
119
|
-
} else if (Math.max(value, maxValue) === value) {
|
120
|
-
return maxValue;
|
121
|
-
}
|
122
|
-
return value;
|
123
106
|
}
|
package/i18n/constants.js
CHANGED
@@ -165,10 +165,4 @@ exports.FILTERS_BUTTONS_PLACEHOLDER_SEARCH = FILTERS_BUTTONS_PLACEHOLDER_SEARCH;
|
|
165
165
|
const FILTERS_BUTTONS_PLACEHOLDER_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.value`;
|
166
166
|
exports.FILTERS_BUTTONS_PLACEHOLDER_VALUE = FILTERS_BUTTONS_PLACEHOLDER_VALUE;
|
167
167
|
const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.secondValue`;
|
168
|
-
exports.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE;
|
169
|
-
const CHECKBOX_RENDERER_NAMESPACE = 'CheckboxRenderer:';
|
170
|
-
exports.CHECKBOX_RENDERER_NAMESPACE = CHECKBOX_RENDERER_NAMESPACE;
|
171
|
-
const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
172
|
-
exports.CHECKBOX_CHECKED = CHECKBOX_CHECKED;
|
173
|
-
const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
174
|
-
exports.CHECKBOX_UNCHECKED = CHECKBOX_UNCHECKED;
|
168
|
+
exports.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE;
|
package/i18n/constants.mjs
CHANGED
@@ -83,7 +83,4 @@ export const FILTERS_BUTTONS_OK = `${FILTERS_NAMESPACE}buttons.ok`;
|
|
83
83
|
export const FILTERS_BUTTONS_CANCEL = `${FILTERS_NAMESPACE}buttons.cancel`;
|
84
84
|
export const FILTERS_BUTTONS_PLACEHOLDER_SEARCH = `${FILTERS_NAMESPACE}buttons.placeholder.search`;
|
85
85
|
export const FILTERS_BUTTONS_PLACEHOLDER_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.value`;
|
86
|
-
export const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.secondValue`;
|
87
|
-
export const CHECKBOX_RENDERER_NAMESPACE = 'CheckboxRenderer:';
|
88
|
-
export const CHECKBOX_CHECKED = `${CHECKBOX_RENDERER_NAMESPACE}checked`;
|
89
|
-
export const CHECKBOX_UNCHECKED = `${CHECKBOX_RENDERER_NAMESPACE}unchecked`;
|
86
|
+
export const FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = `${FILTERS_NAMESPACE}buttons.placeholder.secondValue`;
|
package/i18n/languages/en-US.js
CHANGED
@@ -89,9 +89,7 @@ const dictionary = {
|
|
89
89
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
90
90
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
91
91
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
92
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
93
|
-
[C.CHECKBOX_CHECKED]: 'Checked',
|
94
|
-
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
92
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
95
93
|
};
|
96
94
|
var _default = dictionary;
|
97
95
|
exports.default = _default;
|
package/i18n/languages/en-US.mjs
CHANGED
@@ -83,8 +83,6 @@ const dictionary = {
|
|
83
83
|
[C.FILTERS_BUTTONS_CANCEL]: 'Cancel',
|
84
84
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Search',
|
85
85
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Value',
|
86
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
87
|
-
[C.CHECKBOX_CHECKED]: 'Checked',
|
88
|
-
[C.CHECKBOX_UNCHECKED]: 'Unchecked'
|
86
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Second value'
|
89
87
|
};
|
90
88
|
export default dictionary;
|
package/i18n/languages/pl-PL.js
CHANGED
@@ -89,9 +89,7 @@ const dictionary = {
|
|
89
89
|
[C.FILTERS_BUTTONS_CANCEL]: 'Anuluj',
|
90
90
|
[C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Szukaj',
|
91
91
|
[C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Wartość',
|
92
|
-
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
93
|
-
[C.CHECKBOX_CHECKED]: 'Zaznaczony',
|
94
|
-
[C.CHECKBOX_UNCHECKED]: 'Odznaczony'
|
92
|
+
[C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga wartość'
|
95
93
|
};
|
96
94
|
var _default = dictionary;
|
97
95
|
exports.default = _default;
|