@atlaskit/editor-core 172.1.1 → 172.2.0
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/CHANGELOG.md +30 -0
- package/dist/cjs/analytics-api/api.js +38 -0
- package/dist/cjs/analytics-api/attach-payload-into-transaction.js +36 -0
- package/dist/cjs/analytics-api/editor-state-context.js +96 -0
- package/dist/cjs/analytics-api/map-attributes.js +30 -0
- package/dist/cjs/create-editor/ReactEditorView.js +47 -6
- package/dist/cjs/create-editor/ReactEditorViewContext.js +2 -6
- package/dist/cjs/create-editor/create-plugins-list.js +12 -3
- package/dist/cjs/event-dispatcher/index.js +12 -81
- package/dist/cjs/insert-api/api.js +48 -0
- package/dist/cjs/insert-api/insert-content-handlers.js +101 -0
- package/dist/cjs/insert-api/insert-node-helpers.js +157 -0
- package/dist/cjs/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
- package/dist/cjs/keymaps/index.js +437 -288
- package/dist/cjs/messages.js +8 -125
- package/dist/cjs/plugins/analytics/index.js +26 -26
- package/dist/cjs/plugins/analytics/types/enums.js +49 -344
- package/dist/cjs/plugins/analytics/types/extension-events.js +19 -26
- package/dist/cjs/plugins/analytics/types/general-events.js +25 -34
- package/dist/cjs/plugins/analytics/types/index.js +10 -56
- package/dist/cjs/plugins/analytics/types/inline-comment-events.js +7 -8
- package/dist/cjs/plugins/analytics/types/node-events.js +13 -20
- package/dist/cjs/plugins/analytics/types/smart-links.js +8 -14
- package/dist/cjs/plugins/analytics/types/toolbar-button.js +7 -20
- package/dist/cjs/plugins/analytics/utils.js +37 -127
- package/dist/cjs/plugins/expand/utils.js +18 -45
- package/dist/cjs/plugins/extension/actions.js +10 -30
- package/dist/cjs/plugins/extension/ui/Extension/styles.js +18 -8
- package/dist/cjs/plugins/insert-block/index.js +1 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +31 -22
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +6 -170
- package/dist/cjs/plugins/layout/styles.js +14 -6
- package/dist/cjs/plugins/layout/utils.js +25 -66
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +10 -0
- package/dist/cjs/plugins/paste/handlers.js +19 -15
- package/dist/cjs/plugins/paste/util/index.js +30 -1
- package/dist/cjs/plugins/selection/gap-cursor/selection.js +23 -188
- package/dist/cjs/plugins/selection/gap-cursor/utils/is-ignored.js +7 -8
- package/dist/cjs/plugins/selection/gap-cursor/utils/is-valid-target-node.js +7 -8
- package/dist/cjs/plugins/selection/gap-cursor/utils.js +6 -6
- package/dist/cjs/plugins/selection/gap-cursor-selection.js +1 -1
- package/dist/cjs/plugins/selection/types.js +9 -11
- package/dist/cjs/plugins/selection/utils.js +2 -2
- package/dist/cjs/plugins/table/commands/go-to-next-cell.js +40 -38
- package/dist/cjs/plugins/table/commands/insert.js +57 -49
- package/dist/cjs/plugins/table/commands/selection.js +302 -218
- package/dist/cjs/plugins/table/commands-with-analytics.js +241 -219
- package/dist/cjs/plugins/table/event-handlers.js +60 -60
- package/dist/cjs/plugins/table/index.js +64 -20
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +20 -22
- package/dist/cjs/plugins/table/nodeviews/table.js +19 -11
- package/dist/cjs/plugins/table/nodeviews/tableCell.js +11 -13
- package/dist/cjs/plugins/table/nodeviews/update-overflow-shadows.js +25 -25
- package/dist/cjs/plugins/table/pm-plugins/keymap.js +15 -13
- package/dist/cjs/plugins/table/pm-plugins/main.js +8 -8
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -8
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -10
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -7
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
- package/dist/cjs/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
- package/dist/cjs/plugins/table/toolbar.js +74 -72
- package/dist/cjs/plugins/table/transforms/column-width.js +41 -38
- package/dist/cjs/plugins/table/transforms/replace-table.js +4 -4
- package/dist/cjs/plugins/table/ui/FloatingContextualButton/index.js +2 -4
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
- package/dist/cjs/plugins/table/ui/FloatingDeleteButton/index.js +7 -4
- package/dist/cjs/plugins/table/ui/FloatingInsertButton/index.js +12 -11
- package/dist/cjs/plugins/table/ui/LayoutButton/index.js +2 -2
- package/dist/cjs/plugins/table/ui/TableFloatingControls/index.js +4 -6
- package/dist/cjs/plugins/table/ui/common-styles.js +3 -3
- package/dist/cjs/plugins/table/utils/analytics.js +26 -1
- package/dist/cjs/plugins/table/utils/index.js +0 -6
- package/dist/cjs/selection-api/api.js +34 -0
- package/dist/cjs/types/browser.js +1 -2
- package/dist/cjs/ui/ColorPalette/Color/index.js +2 -106
- package/dist/cjs/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +2 -21
- package/dist/cjs/ui/ColorPalette/Palettes/common.js +7 -25
- package/dist/cjs/ui/ColorPalette/Palettes/paletteMessages.js +2 -114
- package/dist/cjs/ui/ColorPalette/Palettes/panelBackgroundPalette.js +12 -152
- package/dist/cjs/ui/ColorPalette/Palettes/statusColorPalette.js +13 -61
- package/dist/cjs/ui/ColorPalette/Palettes/textColorPalette.js +12 -34
- package/dist/cjs/ui/ColorPalette/index.js +2 -76
- package/dist/cjs/ui/Dropdown/index.js +3 -119
- package/dist/cjs/ui/DropdownMenu/index.js +3 -286
- package/dist/cjs/ui/Toolbar/types.js +19 -33
- package/dist/cjs/ui/ToolbarButton/index.js +8 -120
- package/dist/cjs/ui/WithPluginState/index.js +1 -3
- package/dist/cjs/ui/styles.js +35 -27
- package/dist/cjs/ui/with-outer-listeners.js +4 -152
- package/dist/cjs/utils/dom.js +46 -123
- package/dist/cjs/utils/index.js +40 -42
- package/dist/cjs/utils/node-width.js +7 -79
- package/dist/cjs/utils/nodes.js +57 -124
- package/dist/cjs/utils/plugin-state-factory.js +7 -107
- package/dist/cjs/utils/selection.js +11 -62
- package/dist/cjs/utils/slice.js +28 -68
- package/dist/cjs/utils/step.js +18 -46
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics-api/api.js +30 -0
- package/dist/es2019/analytics-api/attach-payload-into-transaction.js +25 -0
- package/dist/es2019/analytics-api/editor-state-context.js +85 -0
- package/dist/es2019/analytics-api/map-attributes.js +14 -0
- package/dist/es2019/create-editor/ReactEditorView.js +33 -4
- package/dist/es2019/create-editor/ReactEditorViewContext.js +1 -2
- package/dist/es2019/create-editor/create-plugins-list.js +13 -4
- package/dist/es2019/event-dispatcher/index.js +1 -60
- package/dist/es2019/insert-api/api.js +43 -0
- package/dist/es2019/insert-api/insert-content-handlers.js +85 -0
- package/dist/es2019/insert-api/insert-node-helpers.js +149 -0
- package/dist/es2019/{plugins/analytics/types/avatar.js → insert-api/types.js} +0 -0
- package/dist/es2019/keymaps/index.js +1 -186
- package/dist/es2019/messages.js +2 -123
- package/dist/es2019/plugins/analytics/index.js +1 -1
- package/dist/es2019/plugins/analytics/types/enums.js +1 -336
- package/dist/es2019/plugins/analytics/types/extension-events.js +1 -22
- package/dist/es2019/plugins/analytics/types/general-events.js +1 -30
- package/dist/es2019/plugins/analytics/types/index.js +1 -6
- package/dist/es2019/plugins/analytics/types/inline-comment-events.js +1 -7
- package/dist/es2019/plugins/analytics/types/node-events.js +1 -18
- package/dist/es2019/plugins/analytics/types/smart-links.js +1 -12
- package/dist/es2019/plugins/analytics/types/toolbar-button.js +1 -19
- package/dist/es2019/plugins/analytics/utils.js +12 -113
- package/dist/es2019/plugins/expand/utils.js +1 -36
- package/dist/es2019/plugins/extension/actions.js +1 -26
- package/dist/es2019/plugins/extension/ui/Extension/styles.js +2 -3
- package/dist/es2019/plugins/insert-block/index.js +1 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
- package/dist/es2019/plugins/layout/styles.js +2 -3
- package/dist/es2019/plugins/layout/utils.js +1 -54
- package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +10 -0
- package/dist/es2019/plugins/paste/handlers.js +8 -4
- package/dist/es2019/plugins/paste/util/index.js +23 -0
- package/dist/es2019/plugins/selection/gap-cursor/selection.js +1 -136
- package/dist/es2019/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
- package/dist/es2019/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
- package/dist/es2019/plugins/selection/gap-cursor/utils.js +4 -4
- package/dist/es2019/plugins/selection/gap-cursor-selection.js +1 -1
- package/dist/es2019/plugins/selection/types.js +2 -9
- package/dist/es2019/plugins/selection/utils.js +1 -1
- package/dist/es2019/plugins/table/commands/go-to-next-cell.js +4 -4
- package/dist/es2019/plugins/table/commands/insert.js +26 -24
- package/dist/es2019/plugins/table/commands/selection.js +109 -51
- package/dist/es2019/plugins/table/commands-with-analytics.js +39 -38
- package/dist/es2019/plugins/table/event-handlers.js +6 -7
- package/dist/es2019/plugins/table/index.js +56 -16
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +11 -12
- package/dist/es2019/plugins/table/nodeviews/table.js +18 -8
- package/dist/es2019/plugins/table/nodeviews/tableCell.js +2 -3
- package/dist/es2019/plugins/table/nodeviews/update-overflow-shadows.js +3 -4
- package/dist/es2019/plugins/table/pm-plugins/keymap.js +13 -12
- package/dist/es2019/plugins/table/pm-plugins/main.js +8 -8
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/dom.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
- package/dist/es2019/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
- package/dist/es2019/plugins/table/toolbar.js +24 -24
- package/dist/es2019/plugins/table/transforms/column-width.js +3 -2
- package/dist/es2019/plugins/table/transforms/replace-table.js +4 -4
- package/dist/es2019/plugins/table/ui/FloatingContextualButton/index.js +2 -2
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +19 -16
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
- package/dist/es2019/plugins/table/ui/FloatingDeleteButton/index.js +8 -4
- package/dist/es2019/plugins/table/ui/FloatingInsertButton/index.js +9 -6
- package/dist/es2019/plugins/table/ui/LayoutButton/index.js +2 -2
- package/dist/es2019/plugins/table/ui/TableFloatingControls/index.js +2 -3
- package/dist/es2019/plugins/table/ui/common-styles.js +1 -1
- package/dist/es2019/plugins/table/utils/analytics.js +16 -1
- package/dist/es2019/plugins/table/utils/index.js +1 -1
- package/dist/es2019/selection-api/api.js +22 -0
- package/dist/es2019/types/browser.js +0 -1
- package/dist/es2019/ui/ColorPalette/Color/index.js +1 -66
- package/dist/es2019/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
- package/dist/es2019/ui/ColorPalette/Palettes/common.js +1 -20
- package/dist/es2019/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
- package/dist/es2019/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -137
- package/dist/es2019/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
- package/dist/es2019/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
- package/dist/es2019/ui/ColorPalette/index.js +2 -62
- package/dist/es2019/ui/Dropdown/index.js +2 -84
- package/dist/es2019/ui/DropdownMenu/index.js +2 -244
- package/dist/es2019/ui/Toolbar/types.js +1 -30
- package/dist/es2019/ui/ToolbarButton/index.js +2 -94
- package/dist/es2019/ui/WithPluginState/index.js +1 -1
- package/dist/es2019/ui/styles.js +9 -47
- package/dist/es2019/ui/with-outer-listeners.js +2 -104
- package/dist/es2019/utils/dom.js +1 -113
- package/dist/es2019/utils/index.js +2 -21
- package/dist/es2019/utils/node-width.js +1 -75
- package/dist/es2019/utils/nodes.js +1 -88
- package/dist/es2019/utils/plugin-state-factory.js +1 -107
- package/dist/es2019/utils/selection.js +2 -52
- package/dist/es2019/utils/slice.js +1 -56
- package/dist/es2019/utils/step.js +1 -35
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics-api/api.js +27 -0
- package/dist/esm/analytics-api/attach-payload-into-transaction.js +22 -0
- package/dist/esm/analytics-api/editor-state-context.js +81 -0
- package/dist/esm/analytics-api/map-attributes.js +20 -0
- package/dist/esm/create-editor/ReactEditorView.js +44 -6
- package/dist/esm/create-editor/ReactEditorViewContext.js +1 -2
- package/dist/esm/create-editor/create-plugins-list.js +15 -4
- package/dist/esm/event-dispatcher/index.js +1 -74
- package/dist/esm/insert-api/api.js +37 -0
- package/dist/esm/insert-api/insert-content-handlers.js +88 -0
- package/dist/esm/insert-api/insert-node-helpers.js +138 -0
- package/dist/{es2019/plugins/analytics/types/config-panel-events.js → esm/insert-api/types.js} +0 -0
- package/dist/esm/keymaps/index.js +1 -184
- package/dist/esm/messages.js +2 -123
- package/dist/esm/plugins/analytics/index.js +1 -1
- package/dist/esm/plugins/analytics/types/enums.js +1 -336
- package/dist/esm/plugins/analytics/types/extension-events.js +1 -22
- package/dist/esm/plugins/analytics/types/general-events.js +1 -30
- package/dist/esm/plugins/analytics/types/index.js +1 -6
- package/dist/esm/plugins/analytics/types/inline-comment-events.js +1 -7
- package/dist/esm/plugins/analytics/types/node-events.js +1 -18
- package/dist/esm/plugins/analytics/types/smart-links.js +1 -12
- package/dist/esm/plugins/analytics/types/toolbar-button.js +1 -19
- package/dist/esm/plugins/analytics/utils.js +12 -113
- package/dist/esm/plugins/expand/utils.js +1 -34
- package/dist/esm/plugins/extension/actions.js +1 -24
- package/dist/esm/plugins/extension/ui/Extension/styles.js +2 -3
- package/dist/esm/plugins/insert-block/index.js +1 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -12
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +1 -168
- package/dist/esm/plugins/layout/styles.js +2 -3
- package/dist/esm/plugins/layout/utils.js +1 -58
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +10 -0
- package/dist/esm/plugins/paste/handlers.js +8 -4
- package/dist/esm/plugins/paste/util/index.js +23 -0
- package/dist/esm/plugins/selection/gap-cursor/selection.js +1 -176
- package/dist/esm/plugins/selection/gap-cursor/utils/is-ignored.js +1 -5
- package/dist/esm/plugins/selection/gap-cursor/utils/is-valid-target-node.js +1 -4
- package/dist/esm/plugins/selection/gap-cursor/utils.js +4 -4
- package/dist/esm/plugins/selection/gap-cursor-selection.js +1 -1
- package/dist/esm/plugins/selection/types.js +2 -9
- package/dist/esm/plugins/selection/utils.js +1 -1
- package/dist/esm/plugins/table/commands/go-to-next-cell.js +34 -32
- package/dist/esm/plugins/table/commands/insert.js +57 -49
- package/dist/esm/plugins/table/commands/selection.js +303 -215
- package/dist/esm/plugins/table/commands-with-analytics.js +241 -220
- package/dist/esm/plugins/table/event-handlers.js +60 -59
- package/dist/esm/plugins/table/index.js +62 -18
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +20 -21
- package/dist/esm/plugins/table/nodeviews/table.js +19 -9
- package/dist/esm/plugins/table/nodeviews/tableCell.js +11 -12
- package/dist/esm/plugins/table/nodeviews/update-overflow-shadows.js +25 -24
- package/dist/esm/plugins/table/pm-plugins/keymap.js +14 -13
- package/dist/esm/plugins/table/pm-plugins/main.js +8 -8
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +4 -6
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -1
- package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +7 -8
- package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/dom.js +30 -28
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -4
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +3 -2
- package/dist/esm/plugins/table/pm-plugins/table-selection-keymap.js +3 -3
- package/dist/esm/plugins/table/toolbar.js +75 -73
- package/dist/esm/plugins/table/transforms/column-width.js +41 -38
- package/dist/esm/plugins/table/transforms/replace-table.js +4 -4
- package/dist/esm/plugins/table/ui/FloatingContextualButton/index.js +2 -2
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/ContextualMenu.js +25 -21
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/index.js +6 -2
- package/dist/esm/plugins/table/ui/FloatingDeleteButton/index.js +6 -4
- package/dist/esm/plugins/table/ui/FloatingInsertButton/index.js +9 -6
- package/dist/esm/plugins/table/ui/LayoutButton/index.js +2 -2
- package/dist/esm/plugins/table/ui/TableFloatingControls/index.js +4 -5
- package/dist/esm/plugins/table/ui/common-styles.js +1 -1
- package/dist/esm/plugins/table/utils/analytics.js +22 -1
- package/dist/esm/plugins/table/utils/index.js +1 -1
- package/dist/esm/selection-api/api.js +23 -0
- package/dist/esm/types/browser.js +0 -1
- package/dist/esm/ui/ColorPalette/Color/index.js +1 -93
- package/dist/esm/ui/ColorPalette/Palettes/cellBackgroundColorPalette.js +1 -14
- package/dist/esm/ui/ColorPalette/Palettes/common.js +1 -19
- package/dist/esm/ui/ColorPalette/Palettes/paletteMessages.js +2 -113
- package/dist/esm/ui/ColorPalette/Palettes/panelBackgroundPalette.js +1 -147
- package/dist/esm/ui/ColorPalette/Palettes/statusColorPalette.js +1 -51
- package/dist/esm/ui/ColorPalette/Palettes/textColorPalette.js +1 -25
- package/dist/esm/ui/ColorPalette/index.js +2 -64
- package/dist/esm/ui/Dropdown/index.js +2 -106
- package/dist/esm/ui/DropdownMenu/index.js +2 -265
- package/dist/esm/ui/Toolbar/types.js +1 -30
- package/dist/esm/ui/ToolbarButton/index.js +2 -102
- package/dist/esm/ui/WithPluginState/index.js +1 -1
- package/dist/esm/ui/styles.js +17 -20
- package/dist/esm/ui/with-outer-listeners.js +2 -139
- package/dist/esm/utils/dom.js +1 -113
- package/dist/esm/utils/index.js +5 -23
- package/dist/esm/utils/node-width.js +1 -73
- package/dist/esm/utils/nodes.js +1 -100
- package/dist/esm/utils/plugin-state-factory.js +1 -106
- package/dist/esm/utils/selection.js +2 -50
- package/dist/esm/utils/slice.js +1 -59
- package/dist/esm/utils/step.js +1 -37
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +2 -16
- package/dist/types/analytics-api/api.d.ts +9 -0
- package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +10 -0
- package/dist/types/analytics-api/editor-state-context.d.ts +9 -0
- package/dist/types/analytics-api/map-attributes.d.ts +2 -0
- package/dist/types/create-editor/ReactEditorView.d.ts +1 -0
- package/dist/types/create-editor/ReactEditorViewContext.d.ts +1 -7
- package/dist/types/create-editor/create-plugins-list.d.ts +5 -1
- package/dist/types/event-dispatcher/index.d.ts +2 -19
- package/dist/types/insert-api/api.d.ts +9 -0
- package/dist/types/insert-api/insert-content-handlers.d.ts +9 -0
- package/dist/types/insert-api/insert-node-helpers.d.ts +30 -0
- package/dist/types/insert-api/types.d.ts +16 -0
- package/dist/types/keymaps/index.d.ts +2 -89
- package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
- package/dist/types/labs/next/presets/mobile.d.ts +1 -1
- package/dist/types/messages.d.ts +2 -124
- package/dist/types/plugins/analytics/index.d.ts +2 -2
- package/dist/types/plugins/analytics/types/dispatch-analytics-event.d.ts +1 -2
- package/dist/types/plugins/analytics/types/enums.d.ts +1 -313
- package/dist/types/plugins/analytics/types/events.d.ts +1 -111
- package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -17
- package/dist/types/plugins/analytics/types/extension-events.d.ts +2 -43
- package/dist/types/plugins/analytics/types/general-events.d.ts +2 -179
- package/dist/types/plugins/analytics/types/index.d.ts +4 -14
- package/dist/types/plugins/analytics/types/inline-comment-events.d.ts +2 -17
- package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -76
- package/dist/types/plugins/analytics/types/media-events.d.ts +1 -16
- package/dist/types/plugins/analytics/types/node-events.d.ts +2 -56
- package/dist/types/plugins/analytics/types/selection-events.d.ts +1 -18
- package/dist/types/plugins/analytics/types/smart-links.d.ts +2 -13
- package/dist/types/plugins/analytics/types/toolbar-button.d.ts +2 -22
- package/dist/types/plugins/analytics/types/type-ahead.d.ts +1 -27
- package/dist/types/plugins/analytics/utils.d.ts +3 -8
- package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -1
- package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/context-panel/types.d.ts +1 -3
- package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/expand/utils.d.ts +1 -5
- package/dist/types/plugins/extension/actions.d.ts +2 -6
- package/dist/types/plugins/extension/commands.d.ts +7 -7
- package/dist/types/plugins/extension/plugin-factory.d.ts +2 -2
- package/dist/types/plugins/extension/ui/Extension/styles.d.ts +2 -2
- package/dist/types/plugins/find-replace/commands.d.ts +7 -7
- package/dist/types/plugins/find-replace/plugin.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/types.d.ts +1 -153
- package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
- package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +2 -12
- package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -20
- package/dist/types/plugins/insert-block/index.d.ts +2 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +1 -167
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -1
- package/dist/types/plugins/layout/styles.d.ts +2 -2
- package/dist/types/plugins/layout/utils.d.ts +1 -15
- package/dist/types/plugins/media/commands/linking.d.ts +3 -3
- package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +1 -1
- package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
- package/dist/types/plugins/media/pm-plugins/alt-text/commands.d.ts +2 -2
- package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +1 -1
- package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +1 -1
- package/dist/types/plugins/mobile-dimensions/commands.d.ts +4 -4
- package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/paste/util/index.d.ts +2 -1
- package/dist/types/plugins/selection/commands.d.ts +1 -1
- package/dist/types/plugins/selection/gap-cursor/selection.d.ts +1 -40
- package/dist/types/plugins/selection/gap-cursor/utils/is-ignored.d.ts +1 -2
- package/dist/types/plugins/selection/gap-cursor/utils/is-valid-target-node.d.ts +1 -2
- package/dist/types/plugins/selection/gap-cursor-selection.d.ts +1 -1
- package/dist/types/plugins/selection/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/selection/types.d.ts +4 -19
- package/dist/types/plugins/table/commands/go-to-next-cell.d.ts +3 -2
- package/dist/types/plugins/table/commands/hover.d.ts +7 -7
- package/dist/types/plugins/table/commands/insert.d.ts +5 -4
- package/dist/types/plugins/table/commands/misc.d.ts +8 -8
- package/dist/types/plugins/table/commands/selection.d.ts +4 -3
- package/dist/types/plugins/table/commands/toggle.d.ts +1 -1
- package/dist/types/plugins/table/commands-with-analytics.d.ts +21 -19
- package/dist/types/plugins/table/event-handlers.d.ts +4 -2
- package/dist/types/plugins/table/index.d.ts +7 -0
- package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +4 -2
- package/dist/types/plugins/table/nodeviews/table.d.ts +2 -1
- package/dist/types/plugins/table/nodeviews/tableCell.d.ts +2 -1
- package/dist/types/plugins/table/nodeviews/types.d.ts +3 -0
- package/dist/types/plugins/table/nodeviews/update-overflow-shadows.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/keymap.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/main.d.ts +4 -2
- package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/commands.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/commands.d.ts +4 -4
- package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/dom.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +3 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +2 -1
- package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -1
- package/dist/types/plugins/table/toolbar.d.ts +5 -3
- package/dist/types/plugins/table/transforms/column-width.d.ts +2 -1
- package/dist/types/plugins/table/transforms/replace-table.d.ts +3 -2
- package/dist/types/plugins/table/types.d.ts +3 -1
- package/dist/types/plugins/table/ui/FloatingContextualButton/index.d.ts +1 -1
- package/dist/types/plugins/table/ui/FloatingContextualMenu/ContextualMenu.d.ts +4 -0
- package/dist/types/plugins/table/ui/FloatingContextualMenu/index.d.ts +5 -1
- package/dist/types/plugins/table/ui/FloatingDeleteButton/index.d.ts +2 -0
- package/dist/types/plugins/table/ui/FloatingInsertButton/index.d.ts +5 -1
- package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
- package/dist/types/plugins/table/ui/TableFloatingControls/index.d.ts +2 -0
- package/dist/types/plugins/table/utils/analytics.d.ts +3 -0
- package/dist/types/plugins/table/utils/index.d.ts +1 -1
- package/dist/types/plugins/type-ahead/types.d.ts +2 -50
- package/dist/types/plugins/width/index.d.ts +3 -6
- package/dist/types/selection-api/api.d.ts +11 -0
- package/dist/types/types/browser.d.ts +1 -10
- package/dist/types/types/editor-appearance.d.ts +1 -1
- package/dist/types/types/editor-plugin.d.ts +1 -59
- package/dist/types/types/editor-react-context.d.ts +1 -6
- package/dist/types/types/empty-state-handler.d.ts +1 -7
- package/dist/types/types/feature-flags.d.ts +1 -343
- package/dist/types/types/pm-config.d.ts +1 -14
- package/dist/types/types/pm-plugin.d.ts +1 -27
- package/dist/types/types/ui-components.d.ts +1 -22
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +118 -118
- package/dist/types/ui/ColorPalette/Color/index.d.ts +1 -19
- package/dist/types/ui/ColorPalette/Palettes/cellBackgroundColorPalette.d.ts +1 -2
- package/dist/types/ui/ColorPalette/Palettes/common.d.ts +1 -1
- package/dist/types/ui/ColorPalette/Palettes/paletteMessages.d.ts +2 -113
- package/dist/types/ui/ColorPalette/Palettes/panelBackgroundPalette.d.ts +1 -3
- package/dist/types/ui/ColorPalette/Palettes/statusColorPalette.d.ts +1 -3
- package/dist/types/ui/ColorPalette/Palettes/textColorPalette.d.ts +1 -3
- package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -8
- package/dist/types/ui/ColorPalette/index.d.ts +2 -23
- package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types/ui/Dropdown/index.d.ts +2 -33
- package/dist/types/ui/DropdownMenu/index.d.ts +2 -18
- package/dist/types/ui/DropdownMenu/types.d.ts +1 -43
- package/dist/types/ui/Toolbar/types.d.ts +2 -30
- package/dist/types/ui/ToolbarButton/index.d.ts +3 -52
- package/dist/types/ui/styles.d.ts +3 -3
- package/dist/types/ui/with-outer-listeners.d.ts +2 -10
- package/dist/types/utils/document-logger.d.ts +2 -7
- package/dist/types/utils/dom.d.ts +2 -26
- package/dist/types/utils/index.d.ts +3 -6
- package/dist/types/utils/node-width.d.ts +1 -7
- package/dist/types/utils/nodes.d.ts +1 -35
- package/dist/types/utils/performance/plugin-performance-report.d.ts +2 -25
- package/dist/types/utils/plugin-state-factory.d.ts +2 -16
- package/dist/types/utils/selection.d.ts +3 -6
- package/dist/types/utils/slice.d.ts +2 -11
- package/dist/types/utils/step.d.ts +1 -15
- package/package.json +8 -9
- package/dist/cjs/plugins/analytics/types/config-panel-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/cut-copy-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/date-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/element-browser-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/find-replace-events.js +0 -5
- package/dist/cjs/plugins/analytics/types/format-events.js +0 -24
- package/dist/cjs/plugins/analytics/types/insert-events.js +0 -51
- package/dist/cjs/plugins/analytics/types/list-events.js +0 -25
- package/dist/cjs/plugins/analytics/types/paste-events.js +0 -55
- package/dist/cjs/plugins/analytics/types/substitute-events.js +0 -24
- package/dist/cjs/plugins/analytics/types/table-events.js +0 -43
- package/dist/cjs/plugins/analytics/types/utils.js +0 -27
- package/dist/cjs/ui/ColorPalette/Color/styles.js +0 -21
- package/dist/cjs/ui/ColorPalette/Palettes/getColorMessage.js +0 -17
- package/dist/cjs/ui/ColorPalette/styles.js +0 -19
- package/dist/cjs/ui/DropList/index.js +0 -215
- package/dist/cjs/ui/Layer/index.js +0 -245
- package/dist/cjs/ui/Layer/internal/helpers.js +0 -70
- package/dist/cjs/ui/ToolbarButton/styles.js +0 -26
- package/dist/es2019/plugins/analytics/types/cut-copy-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/date-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/element-browser-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/find-replace-events.js +0 -1
- package/dist/es2019/plugins/analytics/types/format-events.js +0 -16
- package/dist/es2019/plugins/analytics/types/insert-events.js +0 -41
- package/dist/es2019/plugins/analytics/types/list-events.js +0 -17
- package/dist/es2019/plugins/analytics/types/paste-events.js +0 -46
- package/dist/es2019/plugins/analytics/types/substitute-events.js +0 -16
- package/dist/es2019/plugins/analytics/types/table-events.js +0 -34
- package/dist/es2019/plugins/analytics/types/utils.js +0 -19
- package/dist/es2019/ui/ColorPalette/Color/styles.js +0 -24
- package/dist/es2019/ui/ColorPalette/Palettes/getColorMessage.js +0 -14
- package/dist/es2019/ui/ColorPalette/styles.js +0 -7
- package/dist/es2019/ui/DropList/index.js +0 -186
- package/dist/es2019/ui/Layer/index.js +0 -195
- package/dist/es2019/ui/Layer/internal/helpers.js +0 -62
- package/dist/es2019/ui/ToolbarButton/styles.js +0 -12
- package/dist/esm/plugins/analytics/types/avatar.js +0 -1
- package/dist/esm/plugins/analytics/types/config-panel-events.js +0 -1
- package/dist/esm/plugins/analytics/types/cut-copy-events.js +0 -1
- package/dist/esm/plugins/analytics/types/date-events.js +0 -1
- package/dist/esm/plugins/analytics/types/element-browser-events.js +0 -1
- package/dist/esm/plugins/analytics/types/find-replace-events.js +0 -1
- package/dist/esm/plugins/analytics/types/format-events.js +0 -16
- package/dist/esm/plugins/analytics/types/insert-events.js +0 -41
- package/dist/esm/plugins/analytics/types/list-events.js +0 -17
- package/dist/esm/plugins/analytics/types/paste-events.js +0 -46
- package/dist/esm/plugins/analytics/types/substitute-events.js +0 -16
- package/dist/esm/plugins/analytics/types/table-events.js +0 -34
- package/dist/esm/plugins/analytics/types/utils.js +0 -19
- package/dist/esm/ui/ColorPalette/Color/styles.js +0 -8
- package/dist/esm/ui/ColorPalette/Palettes/getColorMessage.js +0 -10
- package/dist/esm/ui/ColorPalette/styles.js +0 -7
- package/dist/esm/ui/DropList/index.js +0 -203
- package/dist/esm/ui/Layer/index.js +0 -228
- package/dist/esm/ui/Layer/internal/helpers.js +0 -62
- package/dist/esm/ui/ToolbarButton/styles.js +0 -12
- package/dist/types/plugins/analytics/types/avatar.d.ts +0 -5
- package/dist/types/plugins/analytics/types/config-panel-events.d.ts +0 -17
- package/dist/types/plugins/analytics/types/cut-copy-events.d.ts +0 -12
- package/dist/types/plugins/analytics/types/date-events.d.ts +0 -17
- package/dist/types/plugins/analytics/types/element-browser-events.d.ts +0 -11
- package/dist/types/plugins/analytics/types/find-replace-events.d.ts +0 -23
- package/dist/types/plugins/analytics/types/format-events.d.ts +0 -49
- package/dist/types/plugins/analytics/types/insert-events.d.ts +0 -128
- package/dist/types/plugins/analytics/types/list-events.d.ts +0 -52
- package/dist/types/plugins/analytics/types/paste-events.d.ts +0 -39
- package/dist/types/plugins/analytics/types/substitute-events.d.ts +0 -26
- package/dist/types/plugins/analytics/types/table-events.d.ts +0 -94
- package/dist/types/plugins/analytics/types/utils.d.ts +0 -45
- package/dist/types/ui/ColorPalette/Color/styles.d.ts +0 -2
- package/dist/types/ui/ColorPalette/Palettes/getColorMessage.d.ts +0 -2
- package/dist/types/ui/ColorPalette/styles.d.ts +0 -1
- package/dist/types/ui/DropList/index.d.ts +0 -22
- package/dist/types/ui/Layer/index.d.ts +0 -47
- package/dist/types/ui/Layer/internal/helpers.d.ts +0 -5
- package/dist/types/ui/ToolbarButton/styles.d.ts +0 -4
|
@@ -2,11 +2,7 @@ import { TextSelection, Selection } from 'prosemirror-state';
|
|
|
2
2
|
import { TableMap } from '@atlaskit/editor-tables/table-map';
|
|
3
3
|
import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
4
4
|
import { findTable, isTableSelected } from '@atlaskit/editor-tables/utils';
|
|
5
|
-
import { GapCursorSelection, Side } from '
|
|
6
|
-
import { setSelectionRelativeToNode } from '../../selection/commands';
|
|
7
|
-
import { RelativeSelectionPos } from '../../selection/types';
|
|
8
|
-
import { getPluginState as getSelectionPluginState } from '../../selection/plugin-factory';
|
|
9
|
-
import { isSelectionAtStartOfNode, isSelectionAtEndOfNode } from '../../../utils/selection';
|
|
5
|
+
import { RelativeSelectionPos, GapCursorSelection, Side, isSelectionAtStartOfNode, isSelectionAtEndOfNode } from '@atlaskit/editor-common/selection';
|
|
10
6
|
export var TableSelectionDirection;
|
|
11
7
|
|
|
12
8
|
(function (TableSelectionDirection) {
|
|
@@ -14,200 +10,220 @@ export var TableSelectionDirection;
|
|
|
14
10
|
TableSelectionDirection["BottomToTop"] = "BottomToTop";
|
|
15
11
|
})(TableSelectionDirection || (TableSelectionDirection = {}));
|
|
16
12
|
|
|
17
|
-
export var arrowLeftFromTable = function arrowLeftFromTable(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
13
|
+
export var arrowLeftFromTable = function arrowLeftFromTable(editorSelectionAPI) {
|
|
14
|
+
return function () {
|
|
15
|
+
return function (state, dispatch) {
|
|
16
|
+
var selection = state.selection;
|
|
17
|
+
|
|
18
|
+
if (selection instanceof CellSelection) {
|
|
19
|
+
return arrowLeftFromCellSelection(editorSelectionAPI)(selection)(state, dispatch);
|
|
20
|
+
} else if (selection instanceof GapCursorSelection) {
|
|
21
|
+
return arrowLeftFromGapCursor(editorSelectionAPI)(selection)(state, dispatch);
|
|
22
|
+
} else if (selection instanceof TextSelection) {
|
|
23
|
+
return arrowLeftFromText(editorSelectionAPI)(selection)(state, dispatch);
|
|
24
|
+
}
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
29
|
};
|
|
30
|
-
export var arrowRightFromTable = function arrowRightFromTable(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
export var arrowRightFromTable = function arrowRightFromTable(editorSelectionAPI) {
|
|
31
|
+
return function () {
|
|
32
|
+
return function (state, dispatch) {
|
|
33
|
+
var selection = state.selection;
|
|
34
|
+
|
|
35
|
+
if (selection instanceof CellSelection) {
|
|
36
|
+
return arrowRightFromCellSelection(editorSelectionAPI)(selection)(state, dispatch);
|
|
37
|
+
} else if (selection instanceof GapCursorSelection) {
|
|
38
|
+
return arrowRightFromGapCursor(editorSelectionAPI)(selection)(state, dispatch);
|
|
39
|
+
} else if (selection instanceof TextSelection) {
|
|
40
|
+
return arrowRightFromText(editorSelectionAPI)(selection)(state, dispatch);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
42
46
|
};
|
|
43
47
|
|
|
44
|
-
var arrowLeftFromCellSelection = function arrowLeftFromCellSelection(
|
|
45
|
-
return function (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
var arrowLeftFromCellSelection = function arrowLeftFromCellSelection(editorSelectionAPI) {
|
|
49
|
+
return function (selection) {
|
|
50
|
+
return function (state, dispatch) {
|
|
51
|
+
if (isTableSelected(state.selection) && editorSelectionAPI) {
|
|
52
|
+
var _editorSelectionAPI$g = editorSelectionAPI.getSelectionPluginState(state),
|
|
53
|
+
selectionRelativeToNode = _editorSelectionAPI$g.selectionRelativeToNode;
|
|
54
|
+
|
|
55
|
+
if (selectionRelativeToNode === RelativeSelectionPos.Start) {
|
|
56
|
+
// we have full table cell selection and want to set gap cursor selection before table
|
|
57
|
+
return setGapCursorBeforeTable(editorSelectionAPI)()(state, dispatch);
|
|
58
|
+
} else if (selectionRelativeToNode === RelativeSelectionPos.End) {
|
|
59
|
+
// we have full table cell selection and want to set selection at end of last cell
|
|
60
|
+
return setSelectionAtEndOfLastCell(editorSelectionAPI)(selection)(state, dispatch);
|
|
61
|
+
} else if (selectionRelativeToNode === undefined) {
|
|
62
|
+
// we have full table cell selection and want to set selection at start of first cell
|
|
63
|
+
return setSelectionAtStartOfFirstCell(editorSelectionAPI)(selection, RelativeSelectionPos.Before)(state, dispatch);
|
|
64
|
+
}
|
|
59
65
|
}
|
|
60
|
-
}
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
return false;
|
|
68
|
+
};
|
|
63
69
|
};
|
|
64
70
|
};
|
|
65
71
|
|
|
66
|
-
var arrowRightFromCellSelection = function arrowRightFromCellSelection(
|
|
67
|
-
return function (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
var arrowRightFromCellSelection = function arrowRightFromCellSelection(editorSelectionAPI) {
|
|
73
|
+
return function (selection) {
|
|
74
|
+
return function (state, dispatch) {
|
|
75
|
+
if (isTableSelected(state.selection) && editorSelectionAPI) {
|
|
76
|
+
var _editorSelectionAPI$g2 = editorSelectionAPI.getSelectionPluginState(state),
|
|
77
|
+
selectionRelativeToNode = _editorSelectionAPI$g2.selectionRelativeToNode;
|
|
78
|
+
|
|
79
|
+
if (selectionRelativeToNode === RelativeSelectionPos.Start) {
|
|
80
|
+
// we have full table cell selection and want to set selection at start of first cell
|
|
81
|
+
return setSelectionAtStartOfFirstCell(editorSelectionAPI)(selection)(state, dispatch);
|
|
82
|
+
} else if (selectionRelativeToNode === RelativeSelectionPos.End || selectionRelativeToNode === undefined) {
|
|
83
|
+
// we have full table cell selection and want to set gap cursor selection after table
|
|
84
|
+
return setGapCursorAfterTable(editorSelectionAPI)()(state, dispatch);
|
|
85
|
+
}
|
|
78
86
|
}
|
|
79
|
-
}
|
|
80
87
|
|
|
81
|
-
|
|
88
|
+
return false;
|
|
89
|
+
};
|
|
82
90
|
};
|
|
83
91
|
};
|
|
84
92
|
|
|
85
|
-
var arrowLeftFromGapCursor = function arrowLeftFromGapCursor(
|
|
86
|
-
return function (
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
var arrowLeftFromGapCursor = function arrowLeftFromGapCursor(editorSelectionAPI) {
|
|
94
|
+
return function (selection) {
|
|
95
|
+
return function (state, dispatch) {
|
|
96
|
+
var doc = state.doc;
|
|
97
|
+
var $from = selection.$from,
|
|
98
|
+
from = selection.from,
|
|
99
|
+
side = selection.side;
|
|
100
|
+
|
|
101
|
+
if (side === Side.RIGHT) {
|
|
102
|
+
if ($from.nodeBefore && $from.nodeBefore.type.name === 'table') {
|
|
103
|
+
// we have a gap cursor after a table node and want to set a full table cell selection
|
|
104
|
+
return selectFullTable(editorSelectionAPI)({
|
|
105
|
+
node: $from.nodeBefore,
|
|
106
|
+
startPos: doc.resolve(from - 1).start($from.depth + 1),
|
|
107
|
+
dir: TableSelectionDirection.TopToBottom
|
|
108
|
+
})(state, dispatch);
|
|
109
|
+
}
|
|
110
|
+
} else if (side === Side.LEFT) {
|
|
111
|
+
var table = findTable(selection);
|
|
112
|
+
|
|
113
|
+
if (table && isSelectionAtStartOfTable($from, selection) && editorSelectionAPI) {
|
|
114
|
+
var _editorSelectionAPI$g3 = editorSelectionAPI.getSelectionPluginState(state),
|
|
115
|
+
selectionRelativeToNode = _editorSelectionAPI$g3.selectionRelativeToNode;
|
|
116
|
+
|
|
117
|
+
if (selectionRelativeToNode === RelativeSelectionPos.Before) {
|
|
118
|
+
// we have a gap cursor at start of first table cell and want to set a gap cursor selection before table
|
|
119
|
+
return setGapCursorBeforeTable(editorSelectionAPI)()(state, dispatch);
|
|
120
|
+
} else {
|
|
121
|
+
// we have a gap cursor at start of first table cell and want to set a full table cell selection
|
|
122
|
+
return selectFullTable(editorSelectionAPI)({
|
|
123
|
+
node: table.node,
|
|
124
|
+
startPos: table.start,
|
|
125
|
+
dir: TableSelectionDirection.BottomToTop
|
|
126
|
+
})(state, dispatch);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
100
129
|
}
|
|
101
|
-
} else if (side === Side.LEFT) {
|
|
102
|
-
var table = findTable(selection);
|
|
103
130
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
131
|
+
return false;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
};
|
|
107
135
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
136
|
+
var arrowRightFromGapCursor = function arrowRightFromGapCursor(editorSelectionAPI) {
|
|
137
|
+
return function (selection) {
|
|
138
|
+
return function (state, dispatch) {
|
|
139
|
+
var $from = selection.$from,
|
|
140
|
+
from = selection.from,
|
|
141
|
+
$to = selection.$to,
|
|
142
|
+
side = selection.side;
|
|
143
|
+
|
|
144
|
+
if (side === Side.LEFT) {
|
|
145
|
+
if ($from.nodeAfter && $from.nodeAfter.type.name === 'table') {
|
|
146
|
+
// we have a gap cursor before a table node and want to set a full table cell selection
|
|
147
|
+
return selectFullTable(editorSelectionAPI)({
|
|
148
|
+
node: $from.nodeAfter,
|
|
149
|
+
startPos: from + 1,
|
|
150
|
+
dir: TableSelectionDirection.BottomToTop
|
|
151
|
+
})(state, dispatch);
|
|
152
|
+
}
|
|
153
|
+
} else if (side === Side.RIGHT) {
|
|
154
|
+
var table = findTable(selection);
|
|
155
|
+
|
|
156
|
+
if (table && isSelectionAtEndOfTable($to, selection)) {
|
|
157
|
+
// we have a gap cursor at end of last table cell and want to set a full table cell selection
|
|
158
|
+
return selectFullTable(editorSelectionAPI)({
|
|
114
159
|
node: table.node,
|
|
115
160
|
startPos: table.start,
|
|
116
|
-
dir: TableSelectionDirection.
|
|
161
|
+
dir: TableSelectionDirection.TopToBottom
|
|
117
162
|
})(state, dispatch);
|
|
118
163
|
}
|
|
119
164
|
}
|
|
120
|
-
}
|
|
121
165
|
|
|
122
|
-
|
|
166
|
+
return false;
|
|
167
|
+
};
|
|
123
168
|
};
|
|
124
169
|
};
|
|
125
170
|
|
|
126
|
-
var
|
|
127
|
-
return function (
|
|
128
|
-
|
|
129
|
-
from = selection.from,
|
|
130
|
-
$to = selection.$to,
|
|
131
|
-
side = selection.side;
|
|
132
|
-
|
|
133
|
-
if (side === Side.LEFT) {
|
|
134
|
-
if ($from.nodeAfter && $from.nodeAfter.type.name === 'table') {
|
|
135
|
-
// we have a gap cursor before a table node and want to set a full table cell selection
|
|
136
|
-
return selectFullTable({
|
|
137
|
-
node: $from.nodeAfter,
|
|
138
|
-
startPos: from + 1,
|
|
139
|
-
dir: TableSelectionDirection.BottomToTop
|
|
140
|
-
})(state, dispatch);
|
|
141
|
-
}
|
|
142
|
-
} else if (side === Side.RIGHT) {
|
|
171
|
+
var arrowLeftFromText = function arrowLeftFromText(editorSelectionAPI) {
|
|
172
|
+
return function (selection) {
|
|
173
|
+
return function (state, dispatch) {
|
|
143
174
|
var table = findTable(selection);
|
|
144
175
|
|
|
145
|
-
if (table
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
176
|
+
if (table) {
|
|
177
|
+
var $from = selection.$from;
|
|
178
|
+
|
|
179
|
+
if (isSelectionAtStartOfTable($from, selection) && $from.parent.type.name === 'paragraph' && $from.depth === table.depth + 3 && // + 3 for: row, cell & paragraph nodes
|
|
180
|
+
editorSelectionAPI) {
|
|
181
|
+
var _editorSelectionAPI$g4 = editorSelectionAPI.getSelectionPluginState(state),
|
|
182
|
+
selectionRelativeToNode = _editorSelectionAPI$g4.selectionRelativeToNode;
|
|
183
|
+
|
|
184
|
+
if (selectionRelativeToNode === RelativeSelectionPos.Before) {
|
|
185
|
+
// we have a text selection at start of first table cell, directly inside a top level paragraph,
|
|
186
|
+
// and want to set gap cursor selection before table
|
|
187
|
+
return setGapCursorBeforeTable(editorSelectionAPI)()(state, dispatch);
|
|
188
|
+
} else {
|
|
189
|
+
// we have a text selection at start of first table cell, directly inside a top level paragraph,
|
|
190
|
+
// and want to set a full table cell selection
|
|
191
|
+
return selectFullTable(editorSelectionAPI)({
|
|
192
|
+
node: table.node,
|
|
193
|
+
startPos: table.start,
|
|
194
|
+
dir: TableSelectionDirection.BottomToTop
|
|
195
|
+
})(state, dispatch);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
152
198
|
}
|
|
153
|
-
}
|
|
154
199
|
|
|
155
|
-
|
|
200
|
+
return false;
|
|
201
|
+
};
|
|
156
202
|
};
|
|
157
203
|
};
|
|
158
204
|
|
|
159
|
-
var
|
|
160
|
-
return function (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
if (table) {
|
|
164
|
-
var $from = selection.$from;
|
|
205
|
+
var arrowRightFromText = function arrowRightFromText(editorSelectionAPI) {
|
|
206
|
+
return function (selection) {
|
|
207
|
+
return function (state, dispatch) {
|
|
208
|
+
var table = findTable(selection);
|
|
165
209
|
|
|
166
|
-
if (
|
|
167
|
-
|
|
168
|
-
var _getSelectionPluginSt4 = getSelectionPluginState(state),
|
|
169
|
-
selectionRelativeToNode = _getSelectionPluginSt4.selectionRelativeToNode;
|
|
210
|
+
if (table) {
|
|
211
|
+
var $to = selection.$to;
|
|
170
212
|
|
|
171
|
-
if (
|
|
172
|
-
|
|
173
|
-
//
|
|
174
|
-
return setGapCursorBeforeTable()(state, dispatch);
|
|
175
|
-
} else {
|
|
176
|
-
// we have a text selection at start of first table cell, directly inside a top level paragraph,
|
|
213
|
+
if (isSelectionAtEndOfTable($to, selection) && $to.parent.type.name === 'paragraph' && $to.depth === table.depth + 3 // + 3 for: row, cell & paragraph nodes
|
|
214
|
+
) {
|
|
215
|
+
// we have a text selection at end of last table cell, directly inside a top level paragraph,
|
|
177
216
|
// and want to set a full table cell selection
|
|
178
|
-
return selectFullTable({
|
|
217
|
+
return selectFullTable(editorSelectionAPI)({
|
|
179
218
|
node: table.node,
|
|
180
219
|
startPos: table.start,
|
|
181
|
-
dir: TableSelectionDirection.
|
|
220
|
+
dir: TableSelectionDirection.TopToBottom
|
|
182
221
|
})(state, dispatch);
|
|
183
222
|
}
|
|
184
223
|
}
|
|
185
|
-
}
|
|
186
224
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
var arrowRightFromText = function arrowRightFromText(selection) {
|
|
192
|
-
return function (state, dispatch) {
|
|
193
|
-
var table = findTable(selection);
|
|
194
|
-
|
|
195
|
-
if (table) {
|
|
196
|
-
var $to = selection.$to;
|
|
197
|
-
|
|
198
|
-
if (isSelectionAtEndOfTable($to, selection) && $to.parent.type.name === 'paragraph' && $to.depth === table.depth + 3 // + 3 for: row, cell & paragraph nodes
|
|
199
|
-
) {
|
|
200
|
-
// we have a text selection at end of last table cell, directly inside a top level paragraph,
|
|
201
|
-
// and want to set a full table cell selection
|
|
202
|
-
return selectFullTable({
|
|
203
|
-
node: table.node,
|
|
204
|
-
startPos: table.start,
|
|
205
|
-
dir: TableSelectionDirection.TopToBottom
|
|
206
|
-
})(state, dispatch);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
return false;
|
|
225
|
+
return false;
|
|
226
|
+
};
|
|
211
227
|
};
|
|
212
228
|
};
|
|
213
229
|
/**
|
|
@@ -218,89 +234,161 @@ var arrowRightFromText = function arrowRightFromText(selection) {
|
|
|
218
234
|
*/
|
|
219
235
|
|
|
220
236
|
|
|
221
|
-
var selectFullTable = function selectFullTable(
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
237
|
+
var selectFullTable = function selectFullTable(editorSelectionAPI) {
|
|
238
|
+
return function (_ref) {
|
|
239
|
+
var node = _ref.node,
|
|
240
|
+
startPos = _ref.startPos,
|
|
241
|
+
dir = _ref.dir;
|
|
242
|
+
return function (state, dispatch) {
|
|
243
|
+
var doc = state.doc;
|
|
244
|
+
|
|
245
|
+
var _TableMap$get = TableMap.get(node),
|
|
246
|
+
map = _TableMap$get.map;
|
|
247
|
+
|
|
248
|
+
var $firstCell = doc.resolve(startPos + map[0]);
|
|
249
|
+
var $lastCell = doc.resolve(startPos + map[map.length - 1]);
|
|
250
|
+
var fullTableSelection;
|
|
251
|
+
var selectionRelativeToNode;
|
|
252
|
+
|
|
253
|
+
if (dir === TableSelectionDirection.TopToBottom) {
|
|
254
|
+
fullTableSelection = new CellSelection($firstCell, $lastCell);
|
|
255
|
+
selectionRelativeToNode = RelativeSelectionPos.End;
|
|
256
|
+
} else {
|
|
257
|
+
fullTableSelection = new CellSelection($lastCell, $firstCell);
|
|
258
|
+
selectionRelativeToNode = RelativeSelectionPos.Start;
|
|
259
|
+
}
|
|
230
260
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
261
|
+
if (editorSelectionAPI) {
|
|
262
|
+
var tr = editorSelectionAPI.setSelectionRelativeToNode({
|
|
263
|
+
selectionRelativeToNode: selectionRelativeToNode,
|
|
264
|
+
selection: fullTableSelection
|
|
265
|
+
})(state);
|
|
235
266
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
selectionRelativeToNode = RelativeSelectionPos.Start;
|
|
242
|
-
}
|
|
267
|
+
if (dispatch) {
|
|
268
|
+
dispatch(tr);
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
243
272
|
|
|
244
|
-
|
|
273
|
+
return false;
|
|
274
|
+
};
|
|
245
275
|
};
|
|
246
276
|
};
|
|
247
277
|
|
|
248
|
-
var setSelectionAtStartOfFirstCell = function setSelectionAtStartOfFirstCell(
|
|
249
|
-
return function (
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
278
|
+
var setSelectionAtStartOfFirstCell = function setSelectionAtStartOfFirstCell(editorSelectionAPI) {
|
|
279
|
+
return function (selection, selectionRelativeToNode) {
|
|
280
|
+
return function (state, dispatch) {
|
|
281
|
+
var $anchorCell = selection.$anchorCell,
|
|
282
|
+
$headCell = selection.$headCell;
|
|
283
|
+
var $firstCell = $anchorCell.pos < $headCell.pos ? $anchorCell : $headCell;
|
|
284
|
+
var $firstPosInsideCell = state.doc.resolve($firstCell.pos + 1); // check if first pos should have a gap cursor, otherwise find closest text selection
|
|
285
|
+
|
|
286
|
+
var selectionAtStartOfCell = GapCursorSelection.valid($firstPosInsideCell) ? new GapCursorSelection($firstPosInsideCell, Side.LEFT) : Selection.findFrom($firstPosInsideCell, 1);
|
|
287
|
+
|
|
288
|
+
if (editorSelectionAPI) {
|
|
289
|
+
var tr = editorSelectionAPI.setSelectionRelativeToNode({
|
|
290
|
+
selectionRelativeToNode: selectionRelativeToNode,
|
|
291
|
+
selection: selectionAtStartOfCell
|
|
292
|
+
})(state);
|
|
293
|
+
|
|
294
|
+
if (dispatch) {
|
|
295
|
+
dispatch(tr);
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
254
299
|
|
|
255
|
-
|
|
256
|
-
|
|
300
|
+
return false;
|
|
301
|
+
};
|
|
257
302
|
};
|
|
258
303
|
};
|
|
259
304
|
|
|
260
|
-
var setSelectionAtEndOfLastCell = function setSelectionAtEndOfLastCell(
|
|
261
|
-
return function (
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
305
|
+
var setSelectionAtEndOfLastCell = function setSelectionAtEndOfLastCell(editorSelectionAPI) {
|
|
306
|
+
return function (selection, selectionRelativeToNode) {
|
|
307
|
+
return function (state, dispatch) {
|
|
308
|
+
var $anchorCell = selection.$anchorCell,
|
|
309
|
+
$headCell = selection.$headCell;
|
|
310
|
+
var $lastCell = $anchorCell.pos > $headCell.pos ? $anchorCell : $headCell;
|
|
311
|
+
var lastPosInsideCell = $lastCell.pos + ($lastCell.nodeAfter ? $lastCell.nodeAfter.content.size : 0) + 1;
|
|
312
|
+
var $lastPosInsideCell = state.doc.resolve(lastPosInsideCell); // check if last pos should have a gap cursor, otherwise find closest text selection
|
|
313
|
+
|
|
314
|
+
var selectionAtEndOfCell = GapCursorSelection.valid($lastPosInsideCell) ? new GapCursorSelection($lastPosInsideCell, Side.RIGHT) : Selection.findFrom($lastPosInsideCell, -1);
|
|
315
|
+
|
|
316
|
+
if (editorSelectionAPI) {
|
|
317
|
+
var tr = editorSelectionAPI.setSelectionRelativeToNode({
|
|
318
|
+
selectionRelativeToNode: selectionRelativeToNode,
|
|
319
|
+
selection: selectionAtEndOfCell
|
|
320
|
+
})(state);
|
|
321
|
+
|
|
322
|
+
if (dispatch) {
|
|
323
|
+
dispatch(tr);
|
|
324
|
+
return true;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
267
327
|
|
|
268
|
-
|
|
269
|
-
|
|
328
|
+
return false;
|
|
329
|
+
};
|
|
270
330
|
};
|
|
271
331
|
};
|
|
272
332
|
|
|
273
|
-
var setGapCursorBeforeTable = function setGapCursorBeforeTable() {
|
|
274
|
-
return function (
|
|
275
|
-
|
|
333
|
+
var setGapCursorBeforeTable = function setGapCursorBeforeTable(editorSelectionAPI) {
|
|
334
|
+
return function () {
|
|
335
|
+
return function (state, dispatch) {
|
|
336
|
+
var table = findTable(state.selection);
|
|
337
|
+
|
|
338
|
+
if (table) {
|
|
339
|
+
var $beforeTablePos = state.doc.resolve(table.pos);
|
|
340
|
+
|
|
341
|
+
if (GapCursorSelection.valid($beforeTablePos)) {
|
|
342
|
+
var selectionBeforeTable = new GapCursorSelection($beforeTablePos, Side.LEFT);
|
|
276
343
|
|
|
277
|
-
|
|
278
|
-
|
|
344
|
+
if (editorSelectionAPI) {
|
|
345
|
+
var tr = editorSelectionAPI.setSelectionRelativeToNode({
|
|
346
|
+
selectionRelativeToNode: undefined,
|
|
347
|
+
selection: selectionBeforeTable
|
|
348
|
+
})(state);
|
|
279
349
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
350
|
+
if (dispatch) {
|
|
351
|
+
dispatch(tr);
|
|
352
|
+
return true;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
283
356
|
}
|
|
284
|
-
}
|
|
285
357
|
|
|
286
|
-
|
|
358
|
+
return false;
|
|
359
|
+
};
|
|
287
360
|
};
|
|
288
361
|
};
|
|
289
362
|
|
|
290
|
-
var setGapCursorAfterTable = function setGapCursorAfterTable() {
|
|
291
|
-
return function (
|
|
292
|
-
|
|
363
|
+
var setGapCursorAfterTable = function setGapCursorAfterTable(editorSelectionAPI) {
|
|
364
|
+
return function () {
|
|
365
|
+
return function (state, dispatch) {
|
|
366
|
+
var table = findTable(state.selection);
|
|
367
|
+
|
|
368
|
+
if (table) {
|
|
369
|
+
var $afterTablePos = state.doc.resolve(table.pos + table.node.nodeSize);
|
|
370
|
+
|
|
371
|
+
if (GapCursorSelection.valid($afterTablePos)) {
|
|
372
|
+
var selectionAfterTable = new GapCursorSelection($afterTablePos, Side.RIGHT);
|
|
293
373
|
|
|
294
|
-
|
|
295
|
-
|
|
374
|
+
if (editorSelectionAPI) {
|
|
375
|
+
var tr = editorSelectionAPI.setSelectionRelativeToNode({
|
|
376
|
+
selectionRelativeToNode: undefined,
|
|
377
|
+
selection: selectionAfterTable
|
|
378
|
+
})(state);
|
|
296
379
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
380
|
+
if (dispatch) {
|
|
381
|
+
dispatch(tr);
|
|
382
|
+
return true;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
return false;
|
|
387
|
+
}
|
|
300
388
|
}
|
|
301
|
-
}
|
|
302
389
|
|
|
303
|
-
|
|
390
|
+
return false;
|
|
391
|
+
};
|
|
304
392
|
};
|
|
305
393
|
};
|
|
306
394
|
|