@atlaskit/editor-core 172.1.2 → 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 +24 -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/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/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/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 +5 -6
- 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
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Slice } from 'prosemirror-model';
|
|
2
1
|
import { Selection, NodeSelection, TextSelection } from 'prosemirror-state';
|
|
3
2
|
import { replaceSelectedNode, findSelectedNodeOfType, replaceParentNodeOfType } from 'prosemirror-utils';
|
|
4
|
-
|
|
3
|
+
export { transformSliceToRemoveOpenBodiedExtension } from '@atlaskit/editor-common/transforms';
|
|
5
4
|
import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, addAnalytics } from '../analytics';
|
|
6
5
|
import { TARGET_SELECTION_SOURCE } from '../analytics/types/extension-events';
|
|
7
6
|
import { findExtensionWithLocalId } from './utils';
|
|
@@ -189,28 +188,4 @@ export const editExtension = (macroProvider, updateExtension) => (state, dispatc
|
|
|
189
188
|
}
|
|
190
189
|
|
|
191
190
|
return true;
|
|
192
|
-
};
|
|
193
|
-
/**
|
|
194
|
-
* Lift content out of "open" top-level bodiedExtensions.
|
|
195
|
-
* Will not work if bodiedExtensions are nested, or when bodiedExtensions are not in the top level
|
|
196
|
-
*/
|
|
197
|
-
|
|
198
|
-
export const transformSliceToRemoveOpenBodiedExtension = (slice, schema) => {
|
|
199
|
-
const {
|
|
200
|
-
bodiedExtension
|
|
201
|
-
} = schema.nodes;
|
|
202
|
-
const fragment = mapFragment(slice.content, (node, parent, index) => {
|
|
203
|
-
if (node.type === bodiedExtension && !parent) {
|
|
204
|
-
const currentNodeIsAtStartAndIsOpen = slice.openStart && index === 0;
|
|
205
|
-
const currentNodeIsAtEndAndIsOpen = slice.openEnd && index + 1 === slice.content.childCount;
|
|
206
|
-
|
|
207
|
-
if (currentNodeIsAtStartAndIsOpen || currentNodeIsAtEndAndIsOpen) {
|
|
208
|
-
return node.content;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return node;
|
|
213
|
-
}); // If the first/last child has changed - then we know we've removed a bodied extension & to decrement the open depth
|
|
214
|
-
|
|
215
|
-
return new Slice(fragment, fragment.firstChild && fragment.firstChild.type !== slice.content.firstChild.type ? slice.openStart - 1 : slice.openStart, fragment.lastChild && fragment.lastChild.type !== slice.content.lastChild.type ? slice.openEnd - 1 : slice.openEnd);
|
|
216
191
|
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
|
-
import { gridSize } from '@atlaskit/theme/constants';
|
|
3
2
|
import { themed } from '@atlaskit/theme/components';
|
|
4
3
|
import { borderRadius } from '@atlaskit/theme/constants';
|
|
5
4
|
import { N20, DN50, DN700, B200, N20A, N70 } from '@atlaskit/theme/colors';
|
|
6
5
|
import { token } from '@atlaskit/tokens';
|
|
7
|
-
|
|
8
|
-
export
|
|
6
|
+
import { EXTENSION_PADDING, BODIED_EXT_PADDING } from '@atlaskit/editor-common/styles';
|
|
7
|
+
export { EXTENSION_PADDING as padding, BODIED_EXT_PADDING };
|
|
9
8
|
export const wrapperDefault = theme => css`
|
|
10
9
|
background: ${themed({
|
|
11
10
|
light: token('color.background.neutral', N20),
|
|
@@ -89,6 +89,7 @@ const insertBlockPlugin = (options = {}) => ({
|
|
|
89
89
|
placeholderTextState,
|
|
90
90
|
layoutState
|
|
91
91
|
}) => /*#__PURE__*/React.createElement(ToolbarInsertBlock, {
|
|
92
|
+
insertNodeAPI: options.insertNodeAPI,
|
|
92
93
|
buttons: buttons,
|
|
93
94
|
isReducedSpacing: isToolbarReducedSpacing,
|
|
94
95
|
isDisabled: disabled,
|
|
@@ -9,7 +9,6 @@ import { EmojiPicker as AkEmojiPicker } from '@atlaskit/emoji/picker';
|
|
|
9
9
|
import { Popup } from '@atlaskit/editor-common/ui';
|
|
10
10
|
import ToolbarButton from '../../../../ui/ToolbarButton';
|
|
11
11
|
import { separatorStyles, buttonGroupStyle, wrapperStyle } from '../../../../ui/styles';
|
|
12
|
-
import { createTable } from '../../../table/commands';
|
|
13
12
|
import { insertDate } from '../../../date/actions';
|
|
14
13
|
import { openElementBrowserModal } from '../../../quick-insert/commands';
|
|
15
14
|
import { showPlaceholderFloatingToolbar } from '../../../placeholder-text/actions';
|
|
@@ -19,7 +18,7 @@ import { insertExpand } from '../../../expand/commands';
|
|
|
19
18
|
import { showLinkToolbar } from '../../../hyperlink/commands';
|
|
20
19
|
import { createTypeAheadTools } from '../../../type-ahead/api';
|
|
21
20
|
import { updateStatusWithAnalytics } from '../../../status/actions';
|
|
22
|
-
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD
|
|
21
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../../../analytics';
|
|
23
22
|
import { insertEmoji } from '../../../emoji/commands/insert-emoji';
|
|
24
23
|
import { messages } from './messages';
|
|
25
24
|
import { createItems } from './create-items';
|
|
@@ -179,17 +178,28 @@ export class ToolbarInsertBlock extends React.PureComponent {
|
|
|
179
178
|
|
|
180
179
|
_defineProperty(this, "insertTable", inputMethod => {
|
|
181
180
|
const {
|
|
182
|
-
|
|
181
|
+
insertNodeAPI
|
|
183
182
|
} = this.props;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
183
|
+
|
|
184
|
+
if (!insertNodeAPI) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return insertNodeAPI.insert({
|
|
189
|
+
node: 'table',
|
|
190
|
+
options: {
|
|
191
|
+
selectNodeInserted: false,
|
|
192
|
+
analyticsPayload: {
|
|
193
|
+
action: ACTION.INSERTED,
|
|
194
|
+
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
195
|
+
actionSubjectId: ACTION_SUBJECT_ID.TABLE,
|
|
196
|
+
attributes: {
|
|
197
|
+
inputMethod
|
|
198
|
+
},
|
|
199
|
+
eventType: EVENT_TYPE.TRACK
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
});
|
|
193
203
|
});
|
|
194
204
|
|
|
195
205
|
_defineProperty(this, "createDate", inputMethod => {
|
|
@@ -1,168 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export const messages = defineMessages({
|
|
3
|
-
action: {
|
|
4
|
-
id: 'fabric.editor.action',
|
|
5
|
-
defaultMessage: 'Action item',
|
|
6
|
-
description: 'Also known as a “task”, “to do item”, or a checklist'
|
|
7
|
-
},
|
|
8
|
-
actionDescription: {
|
|
9
|
-
id: 'fabric.editor.action.description',
|
|
10
|
-
defaultMessage: 'Create and assign action items',
|
|
11
|
-
description: ''
|
|
12
|
-
},
|
|
13
|
-
link: {
|
|
14
|
-
id: 'fabric.editor.link',
|
|
15
|
-
defaultMessage: 'Link',
|
|
16
|
-
description: 'Insert a hyperlink'
|
|
17
|
-
},
|
|
18
|
-
linkDescription: {
|
|
19
|
-
id: 'fabric.editor.link.description',
|
|
20
|
-
defaultMessage: 'Insert a link',
|
|
21
|
-
description: 'Insert a hyperlink'
|
|
22
|
-
},
|
|
23
|
-
filesAndImages: {
|
|
24
|
-
id: 'fabric.editor.filesAndImages',
|
|
25
|
-
defaultMessage: 'Files & images',
|
|
26
|
-
description: 'Insert one or more files or images'
|
|
27
|
-
},
|
|
28
|
-
filesAndImagesDescription: {
|
|
29
|
-
id: 'fabric.editor.filesAndImages.description',
|
|
30
|
-
defaultMessage: 'Add images and other files to your page',
|
|
31
|
-
description: 'Insert one or more files or images'
|
|
32
|
-
},
|
|
33
|
-
image: {
|
|
34
|
-
id: 'fabric.editor.image',
|
|
35
|
-
defaultMessage: 'Image',
|
|
36
|
-
description: 'Insert an image.'
|
|
37
|
-
},
|
|
38
|
-
mention: {
|
|
39
|
-
id: 'fabric.editor.mention',
|
|
40
|
-
defaultMessage: 'Mention',
|
|
41
|
-
description: 'Reference another person in your document'
|
|
42
|
-
},
|
|
43
|
-
mentionDescription: {
|
|
44
|
-
id: 'fabric.editor.mention.description',
|
|
45
|
-
defaultMessage: 'Mention someone to send them a notification',
|
|
46
|
-
description: 'Reference another person in your document'
|
|
47
|
-
},
|
|
48
|
-
emoji: {
|
|
49
|
-
id: 'fabric.editor.emoji',
|
|
50
|
-
defaultMessage: 'Emoji',
|
|
51
|
-
description: 'Insert an emoticon or smiley :-)'
|
|
52
|
-
},
|
|
53
|
-
emojiDescription: {
|
|
54
|
-
id: 'fabric.editor.emoji.description',
|
|
55
|
-
defaultMessage: 'Use emojis to express ideas 🎉 and emotions 😄',
|
|
56
|
-
description: 'Insert an emoticon or smiley :-)'
|
|
57
|
-
},
|
|
58
|
-
table: {
|
|
59
|
-
id: 'fabric.editor.table',
|
|
60
|
-
defaultMessage: 'Table',
|
|
61
|
-
description: 'Inserts a table in the document'
|
|
62
|
-
},
|
|
63
|
-
tableDescription: {
|
|
64
|
-
id: 'fabric.editor.table.description',
|
|
65
|
-
defaultMessage: 'Insert a table',
|
|
66
|
-
description: 'Inserts a table in the document'
|
|
67
|
-
},
|
|
68
|
-
expand: {
|
|
69
|
-
id: 'fabric.editor.expand',
|
|
70
|
-
defaultMessage: 'Expand',
|
|
71
|
-
description: 'Inserts an expand in the document'
|
|
72
|
-
},
|
|
73
|
-
expandDescription: {
|
|
74
|
-
id: 'fabric.editor.expand.description',
|
|
75
|
-
defaultMessage: 'Insert an expand',
|
|
76
|
-
description: 'Inserts an expand in the document'
|
|
77
|
-
},
|
|
78
|
-
decision: {
|
|
79
|
-
id: 'fabric.editor.decision',
|
|
80
|
-
defaultMessage: 'Decision',
|
|
81
|
-
description: 'Capture a decision you’ve made'
|
|
82
|
-
},
|
|
83
|
-
decisionDescription: {
|
|
84
|
-
id: 'fabric.editor.decision.description',
|
|
85
|
-
defaultMessage: 'Capture decisions so they’re easy to track',
|
|
86
|
-
description: 'Capture a decision you’ve made'
|
|
87
|
-
},
|
|
88
|
-
feedbackDialog: {
|
|
89
|
-
id: 'fabric.editor.feedbackDialog',
|
|
90
|
-
defaultMessage: 'Give feedback',
|
|
91
|
-
description: 'Open the feedback dialog from editor'
|
|
92
|
-
},
|
|
93
|
-
feedbackDialogDescription: {
|
|
94
|
-
id: 'fabric.editor.feedbackDialog.description',
|
|
95
|
-
defaultMessage: 'Tell us about your experience using the new editor',
|
|
96
|
-
description: 'Description for feedback option under quick insert dropdown'
|
|
97
|
-
},
|
|
98
|
-
horizontalRule: {
|
|
99
|
-
id: 'fabric.editor.horizontalRule',
|
|
100
|
-
defaultMessage: 'Divider',
|
|
101
|
-
description: 'A horizontal rule or divider'
|
|
102
|
-
},
|
|
103
|
-
horizontalRuleDescription: {
|
|
104
|
-
id: 'fabric.editor.horizontalRule.description',
|
|
105
|
-
defaultMessage: 'Separate content with a horizontal line',
|
|
106
|
-
description: 'A horizontal rule or divider'
|
|
107
|
-
},
|
|
108
|
-
date: {
|
|
109
|
-
id: 'fabric.editor.date',
|
|
110
|
-
defaultMessage: 'Date',
|
|
111
|
-
description: 'Opens a date picker that lets you select a date'
|
|
112
|
-
},
|
|
113
|
-
dateDescription: {
|
|
114
|
-
id: 'fabric.editor.date.description',
|
|
115
|
-
defaultMessage: 'Add a date using a calendar',
|
|
116
|
-
description: 'Opens a date picker that lets you select a date'
|
|
117
|
-
},
|
|
118
|
-
placeholderText: {
|
|
119
|
-
id: 'fabric.editor.placeholderText',
|
|
120
|
-
defaultMessage: 'Placeholder text',
|
|
121
|
-
description: 'Inserts a text placeholder into the page'
|
|
122
|
-
},
|
|
123
|
-
placeholderTextDescription: {
|
|
124
|
-
id: 'fabric.editor.placeholderText.description',
|
|
125
|
-
defaultMessage: 'Insert a text placeholder into the page',
|
|
126
|
-
description: 'Inserts a text placeholder into the page'
|
|
127
|
-
},
|
|
128
|
-
columns: {
|
|
129
|
-
id: 'fabric.editor.columns',
|
|
130
|
-
defaultMessage: 'Layouts',
|
|
131
|
-
description: 'Create a multi column section or layout'
|
|
132
|
-
},
|
|
133
|
-
columnsDescription: {
|
|
134
|
-
id: 'fabric.editor.columns.description',
|
|
135
|
-
defaultMessage: 'Structure your page using sections',
|
|
136
|
-
description: 'Create a multi column section or layout'
|
|
137
|
-
},
|
|
138
|
-
status: {
|
|
139
|
-
id: 'fabric.editor.status',
|
|
140
|
-
defaultMessage: 'Status',
|
|
141
|
-
description: 'Inserts an item representing the status of an activity to task.'
|
|
142
|
-
},
|
|
143
|
-
statusDescription: {
|
|
144
|
-
id: 'fabric.editor.status.description',
|
|
145
|
-
defaultMessage: 'Add a custom status label',
|
|
146
|
-
description: 'Inserts an item representing the status of an activity to task.'
|
|
147
|
-
},
|
|
148
|
-
viewMore: {
|
|
149
|
-
id: 'fabric.editor.viewMore',
|
|
150
|
-
defaultMessage: 'View more',
|
|
151
|
-
description: ''
|
|
152
|
-
},
|
|
153
|
-
insertMenu: {
|
|
154
|
-
id: 'fabric.editor.insertMenu',
|
|
155
|
-
defaultMessage: 'Insert',
|
|
156
|
-
description: 'Opens a menu of additional items that can be inserted into your document.'
|
|
157
|
-
},
|
|
158
|
-
help: {
|
|
159
|
-
id: 'fabric.editor.help',
|
|
160
|
-
defaultMessage: 'Help',
|
|
161
|
-
description: 'Opens up the help dialog'
|
|
162
|
-
},
|
|
163
|
-
helpDescription: {
|
|
164
|
-
id: 'fabric.editor.help.description',
|
|
165
|
-
defaultMessage: 'Browse all the keyboard shortcuts and markdown options',
|
|
166
|
-
description: 'Browse all the keyboard shortcuts and markdown options'
|
|
167
|
-
}
|
|
168
|
-
});
|
|
1
|
+
export { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { gridSize } from '@atlaskit/theme/constants';
|
|
3
3
|
import { N40A, N50A } from '@atlaskit/theme/colors';
|
|
4
|
-
import { columnLayoutSharedStyle } from '@atlaskit/editor-common/styles';
|
|
4
|
+
import { columnLayoutSharedStyle, LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from '@atlaskit/editor-common/styles';
|
|
5
5
|
import { gridMediumMaxWidth, akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorderSize, akLayoutGutterOffset, akEditorSwoopCubicBezier, SelectionStyle, getSelectionStyles, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
|
|
6
6
|
import { token } from '@atlaskit/tokens';
|
|
7
7
|
import { TableCssClassName } from '../table/types';
|
|
8
8
|
import { tableMarginFullWidthMode } from '../table/ui/consts';
|
|
9
|
-
export
|
|
10
|
-
export const LAYOUT_COLUMN_PADDING = gridSize() * 1.5;
|
|
9
|
+
export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
|
|
11
10
|
export const layoutStyles = css`
|
|
12
11
|
.ProseMirror {
|
|
13
12
|
${columnLayoutSharedStyle} [data-layout-section] {
|
|
@@ -1,54 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { flatmap, mapFragment } from '../../utils/slice';
|
|
3
|
-
|
|
4
|
-
const isLayoutNode = node => node.type === node.type.schema.nodes.layoutSection || node.type === node.type.schema.nodes.layoutColumn;
|
|
5
|
-
|
|
6
|
-
export function unwrapContentFromLayout(maybeLayoutSection) {
|
|
7
|
-
const fragment = mapFragment(Fragment.from(maybeLayoutSection), node => {
|
|
8
|
-
return isLayoutNode(node) ? node.content : node;
|
|
9
|
-
});
|
|
10
|
-
const nodes = [];
|
|
11
|
-
fragment.forEach(i => nodes.push(i));
|
|
12
|
-
return nodes;
|
|
13
|
-
}
|
|
14
|
-
export function removeLayoutFromFirstChild(node, i) {
|
|
15
|
-
return i === 0 ? unwrapContentFromLayout(node) : node;
|
|
16
|
-
}
|
|
17
|
-
export function removeLayoutFromLastChild(node, i, fragment) {
|
|
18
|
-
return i === fragment.childCount - 1 ? unwrapContentFromLayout(node) : node;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* When we have a slice that cuts across a layoutSection/layoutColumn
|
|
22
|
-
* we can end up with unexpected behaviour on paste/drop where a user
|
|
23
|
-
* is able to add columns to a layoutSection. By 'lifting' any content
|
|
24
|
-
* inside an 'open' layoutSection/layoutColumn to the top level, we
|
|
25
|
-
* can ensure prevent this.
|
|
26
|
-
*
|
|
27
|
-
* We only care about slices with non-zero openStart / openEnd's here
|
|
28
|
-
* as we're totally fine for people to copy/paste a full layoutSection
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
export function transformSliceToRemoveOpenLayoutNodes(slice, schema) {
|
|
32
|
-
// Case 1: A slice entirely within a single layoutSection
|
|
33
|
-
if (slice.openStart && slice.openEnd && slice.content.childCount === 1) {
|
|
34
|
-
const maybeLayoutSection = slice.content.firstChild;
|
|
35
|
-
|
|
36
|
-
if (maybeLayoutSection.type === schema.nodes.layoutSection) {
|
|
37
|
-
return new Slice(flatmap(slice.content, removeLayoutFromFirstChild), // '-2' here because we've removed the layoutSection/layoutColumn; reducing the open depth.
|
|
38
|
-
slice.openStart - 2, slice.openEnd - 2);
|
|
39
|
-
}
|
|
40
|
-
} // Case 2: A slice starting inside a layoutSection and finishing outside
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (slice.openStart && slice.content.firstChild.type === schema.nodes.layoutSection) {
|
|
44
|
-
slice = new Slice(flatmap(slice.content, removeLayoutFromFirstChild), slice.openStart - 2, slice.openEnd);
|
|
45
|
-
} // Case 3: A slice starting outside a layoutSection and finishing inside
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (slice.openEnd && slice.content.lastChild.type === schema.nodes.layoutSection) {
|
|
49
|
-
slice = new Slice(flatmap(slice.content, removeLayoutFromLastChild), slice.openStart, slice.openEnd - 2);
|
|
50
|
-
} // Case 2 & 3 also handles a slice starting in one layoutSection & finishing in a different layoutSection
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return slice;
|
|
54
|
-
}
|
|
1
|
+
export { unwrapContentFromLayout, removeLayoutFromFirstChild, removeLayoutFromLastChild, transformSliceToRemoveOpenLayoutNodes } from '@atlaskit/editor-common/transforms';
|
|
@@ -2,6 +2,7 @@ import { closeHistory } from 'prosemirror-history';
|
|
|
2
2
|
import { Fragment, Node as PMNode, Slice } from 'prosemirror-model';
|
|
3
3
|
import { TextSelection, NodeSelection } from 'prosemirror-state';
|
|
4
4
|
import { findParentNodeOfType, hasParentNodeOfType, safeInsert } from 'prosemirror-utils';
|
|
5
|
+
import { replaceSelectedTable } from '@atlaskit/editor-tables/utils';
|
|
5
6
|
import { compose, insideTable, isParagraph, isText, isLinkMark, insideTableCell } from '../../utils';
|
|
6
7
|
import { mapSlice } from '../../utils/slice';
|
|
7
8
|
import { INPUT_METHOD } from '../analytics';
|
|
@@ -11,8 +12,7 @@ import { linkifyContent } from '../hyperlink/utils';
|
|
|
11
12
|
import { runMacroAutoConvert } from '../macro';
|
|
12
13
|
import { insertMediaAsMediaSingle } from '../media/utils/media-single';
|
|
13
14
|
import { pluginKey as textFormattingPluginKey } from '../text-formatting/pm-plugins/main';
|
|
14
|
-
import {
|
|
15
|
-
import { applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
|
|
15
|
+
import { addReplaceSelectedTableAnalytics, applyTextMarksToSlice, hasOnlyNodesOfType } from './util';
|
|
16
16
|
import { isListNode, isListItemNode } from '../list/utils/node';
|
|
17
17
|
import { canLinkBeCreatedInRange } from '../hyperlink/pm-plugins/main';
|
|
18
18
|
import { insertSliceForLists } from './edge-cases'; // remove text attribute from mention for copy/paste (GDPR)
|
|
@@ -191,7 +191,9 @@ export function handlePasteAsPlainText(slice, _event) {
|
|
|
191
191
|
} = tr; // <- using the same internal flag that prosemirror-view is using
|
|
192
192
|
// if user has selected table we need custom logic to replace the table
|
|
193
193
|
|
|
194
|
-
tr = replaceSelectedTable(state, slice
|
|
194
|
+
tr = replaceSelectedTable(state, slice); // add analytics after replacing selected table
|
|
195
|
+
|
|
196
|
+
tr = addReplaceSelectedTableAnalytics(state, tr); // otherwise just replace the selection
|
|
195
197
|
|
|
196
198
|
if (!tr.docChanged) {
|
|
197
199
|
tr.replaceSelection(slice);
|
|
@@ -754,7 +756,9 @@ export function handlePasteIntoCaption(slice) {
|
|
|
754
756
|
};
|
|
755
757
|
}
|
|
756
758
|
export const handleSelectedTable = slice => (state, dispatch) => {
|
|
757
|
-
|
|
759
|
+
let tr = replaceSelectedTable(state, slice); // add analytics after replacing selected table
|
|
760
|
+
|
|
761
|
+
tr = addReplaceSelectedTableAnalytics(state, tr);
|
|
758
762
|
|
|
759
763
|
if (tr.docChanged) {
|
|
760
764
|
if (dispatch) {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Slice, Mark } from 'prosemirror-model';
|
|
2
2
|
import { isMediaBlobUrl } from '@atlaskit/media-client';
|
|
3
|
+
import { ACTION_SUBJECT, addAnalytics, EVENT_TYPE, INPUT_METHOD, TABLE_ACTION } from '../../analytics';
|
|
3
4
|
import { TextSelection, NodeSelection } from 'prosemirror-state';
|
|
4
5
|
import { findParentNodeOfType } from 'prosemirror-utils';
|
|
6
|
+
import { getSelectedTableInfo, isTableSelected } from '@atlaskit/editor-tables/utils';
|
|
5
7
|
export function isPastedFromWord(html) {
|
|
6
8
|
return !!html && html.indexOf('urn:schemas-microsoft-com:office:word') >= 0;
|
|
7
9
|
}
|
|
@@ -207,4 +209,25 @@ export const removeDuplicateInvalidLinks = html => {
|
|
|
207
209
|
}
|
|
208
210
|
|
|
209
211
|
return html;
|
|
212
|
+
};
|
|
213
|
+
export const addReplaceSelectedTableAnalytics = (state, tr) => {
|
|
214
|
+
if (isTableSelected(state.selection)) {
|
|
215
|
+
const {
|
|
216
|
+
totalRowCount,
|
|
217
|
+
totalColumnCount
|
|
218
|
+
} = getSelectedTableInfo(state.selection);
|
|
219
|
+
addAnalytics(state, tr, {
|
|
220
|
+
action: TABLE_ACTION.REPLACED,
|
|
221
|
+
actionSubject: ACTION_SUBJECT.TABLE,
|
|
222
|
+
attributes: {
|
|
223
|
+
totalColumnCount,
|
|
224
|
+
totalRowCount,
|
|
225
|
+
inputMethod: INPUT_METHOD.CLIPBOARD
|
|
226
|
+
},
|
|
227
|
+
eventType: EVENT_TYPE.TRACK
|
|
228
|
+
});
|
|
229
|
+
return tr;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return state.tr;
|
|
210
233
|
};
|
|
@@ -1,136 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Selection } from 'prosemirror-state';
|
|
3
|
-
import { Slice } from 'prosemirror-model';
|
|
4
|
-
import { isValidTargetNode } from './utils/is-valid-target-node';
|
|
5
|
-
export let Side;
|
|
6
|
-
|
|
7
|
-
(function (Side) {
|
|
8
|
-
Side["LEFT"] = "left";
|
|
9
|
-
Side["RIGHT"] = "right";
|
|
10
|
-
})(Side || (Side = {}));
|
|
11
|
-
|
|
12
|
-
export const JSON_ID = 'gapcursor';
|
|
13
|
-
export class GapCursorSelection extends Selection {
|
|
14
|
-
/**
|
|
15
|
-
* Construct a GapCursorSelection
|
|
16
|
-
* @param {ResolvedPos} $pos resolved position
|
|
17
|
-
* @param {Side} side side where the gap cursor is drawn
|
|
18
|
-
*/
|
|
19
|
-
constructor($pos, side = Side.LEFT) {
|
|
20
|
-
super($pos, $pos);
|
|
21
|
-
|
|
22
|
-
_defineProperty(this, "visible", false);
|
|
23
|
-
|
|
24
|
-
this.side = side;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static valid($pos) {
|
|
28
|
-
const {
|
|
29
|
-
parent,
|
|
30
|
-
nodeBefore,
|
|
31
|
-
nodeAfter
|
|
32
|
-
} = $pos;
|
|
33
|
-
const targetNode = isValidTargetNode(nodeBefore) ? nodeBefore : isValidTargetNode(nodeAfter) ? nodeAfter : null;
|
|
34
|
-
|
|
35
|
-
if (!targetNode || parent.isTextblock) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const deflt = parent.contentMatchAt($pos.index()).defaultType;
|
|
40
|
-
return deflt && deflt.isTextblock;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
static findFrom($pos, dir, mustMove = false) {
|
|
44
|
-
const side = dir === 1 ? Side.RIGHT : Side.LEFT;
|
|
45
|
-
|
|
46
|
-
if (!mustMove && GapCursorSelection.valid($pos)) {
|
|
47
|
-
return new GapCursorSelection($pos, side);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
let pos = $pos.pos; // TODO: Fix any, potential issue. ED-5048
|
|
51
|
-
|
|
52
|
-
let next = null; // Scan up from this position
|
|
53
|
-
|
|
54
|
-
for (let d = $pos.depth;; d--) {
|
|
55
|
-
const parent = $pos.node(d);
|
|
56
|
-
|
|
57
|
-
if (side === Side.RIGHT ? $pos.indexAfter(d) < parent.childCount : $pos.index(d) > 0) {
|
|
58
|
-
next = parent.maybeChild(side === Side.RIGHT ? $pos.indexAfter(d) : $pos.index(d) - 1);
|
|
59
|
-
break;
|
|
60
|
-
} else if (d === 0) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
pos += dir;
|
|
65
|
-
const $cur = $pos.doc.resolve(pos);
|
|
66
|
-
|
|
67
|
-
if (GapCursorSelection.valid($cur)) {
|
|
68
|
-
return new GapCursorSelection($cur, side);
|
|
69
|
-
}
|
|
70
|
-
} // And then down into the next node
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
for (;;) {
|
|
74
|
-
next = side === Side.RIGHT ? next.firstChild : next.lastChild;
|
|
75
|
-
|
|
76
|
-
if (next === null) {
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
pos += dir;
|
|
81
|
-
const $cur = $pos.doc.resolve(pos);
|
|
82
|
-
|
|
83
|
-
if (GapCursorSelection.valid($cur)) {
|
|
84
|
-
return new GapCursorSelection($cur, side);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
static fromJSON(doc, json) {
|
|
92
|
-
return new GapCursorSelection(doc.resolve(json.pos), json.side);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
map(doc, mapping) {
|
|
96
|
-
const $pos = doc.resolve(mapping.map(this.head));
|
|
97
|
-
return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos, this.side) : Selection.near($pos);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
eq(other) {
|
|
101
|
-
return other instanceof GapCursorSelection && other.head === this.head;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
content() {
|
|
105
|
-
return Slice.empty;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
getBookmark() {
|
|
109
|
-
return new GapBookmark(this.anchor);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
toJSON() {
|
|
113
|
-
return {
|
|
114
|
-
pos: this.head,
|
|
115
|
-
type: JSON_ID,
|
|
116
|
-
side: this.side
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
Selection.jsonID(JSON_ID, GapCursorSelection);
|
|
122
|
-
export class GapBookmark {
|
|
123
|
-
constructor(pos) {
|
|
124
|
-
this.pos = pos;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
map(mapping) {
|
|
128
|
-
return new GapBookmark(mapping.map(this.pos));
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
resolve(doc) {
|
|
132
|
-
const $pos = doc.resolve(this.pos);
|
|
133
|
-
return GapCursorSelection.valid($pos) ? new GapCursorSelection($pos) : Selection.near($pos);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
}
|
|
1
|
+
export { GapCursorSelection, JSON_ID, Side, GapBookmark } from '@atlaskit/editor-common/selection';
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const IGNORED_NODES = ['paragraph', 'bulletList', 'orderedList', 'listItem', 'taskItem', 'decisionItem', 'heading', 'blockquote', 'layoutColumn', 'caption', 'media'];
|
|
3
|
-
export const isIgnored = node => {
|
|
4
|
-
return !!node && IGNORED_NODES.indexOf(node.type.name) !== -1;
|
|
5
|
-
};
|
|
1
|
+
export { isIgnored } from '@atlaskit/editor-common/selection';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TableSharedCssClassName } from '@atlaskit/editor-common/styles';
|
|
2
2
|
import { Side } from './selection';
|
|
3
3
|
import { UnsupportedSharedCssClassName } from '../../unsupported-content/styles';
|
|
4
4
|
import { CAPTION_PLACEHOLDER_ID } from '../../media/ui/CaptionPlaceholder';
|
|
@@ -106,7 +106,7 @@ export const isIgnoredClick = elem => {
|
|
|
106
106
|
let node = elem;
|
|
107
107
|
|
|
108
108
|
while (node) {
|
|
109
|
-
if (node.className && (node.getAttribute('class') || '').indexOf(
|
|
109
|
+
if (node.className && (node.getAttribute('class') || '').indexOf(TableSharedCssClassName.TABLE_CONTAINER) > -1) {
|
|
110
110
|
tableWrap = node;
|
|
111
111
|
break;
|
|
112
112
|
}
|
|
@@ -115,8 +115,8 @@ export const isIgnoredClick = elem => {
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
if (tableWrap) {
|
|
118
|
-
const rowControls = tableWrap.querySelector(`.${
|
|
119
|
-
const isColumnControlsDecoration = elem && elem.classList && elem.classList.contains(
|
|
118
|
+
const rowControls = tableWrap.querySelector(`.${TableSharedCssClassName.TABLE_ROW_CONTROLS_WRAPPER}`);
|
|
119
|
+
const isColumnControlsDecoration = elem && elem.classList && elem.classList.contains(TableSharedCssClassName.TABLE_COLUMN_CONTROLS_DECORATIONS);
|
|
120
120
|
return rowControls && rowControls.contains(elem) || isColumnControlsDecoration;
|
|
121
121
|
} // Check if unsupported node selection
|
|
122
122
|
// (without this, selection requires double clicking in FF due to posAtCoords differences)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { GapCursorSelection, Side } from '
|
|
1
|
+
export { GapCursorSelection, Side } from '@atlaskit/editor-common/selection';
|
|
2
2
|
export { setCursorForTopLevelBlocks, setSelectionTopLevelBlocks, hasGapCursorPlugin } from './gap-cursor/actions';
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import { PluginKey } from 'prosemirror-state';
|
|
2
|
+
import { RelativeSelectionPos } from '@atlaskit/editor-common/selection';
|
|
2
3
|
export const selectionPluginKey = new PluginKey('selection');
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
(function (RelativeSelectionPos) {
|
|
6
|
-
RelativeSelectionPos["Before"] = "Before";
|
|
7
|
-
RelativeSelectionPos["Start"] = "Start";
|
|
8
|
-
RelativeSelectionPos["Inside"] = "Inside";
|
|
9
|
-
RelativeSelectionPos["End"] = "End";
|
|
10
|
-
})(RelativeSelectionPos || (RelativeSelectionPos = {}));
|
|
11
|
-
|
|
4
|
+
export { RelativeSelectionPos };
|
|
12
5
|
export let SelectionDirection;
|
|
13
6
|
|
|
14
7
|
(function (SelectionDirection) {
|
|
@@ -4,9 +4,9 @@ import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
|
|
|
4
4
|
import { selectedRect } from '@atlaskit/editor-tables/utils';
|
|
5
5
|
import { flatten, findParentNode } from 'prosemirror-utils';
|
|
6
6
|
import { akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
|
|
7
|
+
import { isSelectionAtStartOfNode, isSelectionAtEndOfNode } from '@atlaskit/editor-common/selection';
|
|
7
8
|
import { selectNode } from '../../utils/commands';
|
|
8
9
|
import { isEmptyParagraph } from '../../utils/document';
|
|
9
|
-
import { isSelectionAtStartOfNode, isSelectionAtEndOfNode } from '../../utils/selection';
|
|
10
10
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '../analytics';
|
|
11
11
|
import { isIgnored as isIgnoredByGapCursor } from '../selection/gap-cursor/utils/is-ignored';
|
|
12
12
|
import { selectionPluginKey } from './types';
|