@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,95 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { css, jsx } from '@emotion/react';
|
|
4
|
-
import Tooltip from '@atlaskit/tooltip';
|
|
5
|
-
import { FabricChannel } from '@atlaskit/analytics-listeners';
|
|
6
|
-
import Button from './styles';
|
|
7
|
-
import { ACTION_SUBJECT, EVENT_TYPE, ACTION } from '../../plugins/analytics/types/enums';
|
|
8
|
-
import { TOOLBAR_ACTION_SUBJECT_ID } from '../../plugins/analytics/types/toolbar-button';
|
|
9
|
-
export const TOOLBAR_BUTTON = TOOLBAR_ACTION_SUBJECT_ID;
|
|
10
|
-
const buttonWrapper = css`
|
|
11
|
-
display: flex;
|
|
12
|
-
height: 100%;
|
|
13
|
-
`;
|
|
14
|
-
const ToolbarButton = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
15
|
-
const {
|
|
16
|
-
buttonId,
|
|
17
|
-
testId,
|
|
18
|
-
className = '',
|
|
19
|
-
href,
|
|
20
|
-
iconAfter,
|
|
21
|
-
iconBefore,
|
|
22
|
-
disabled,
|
|
23
|
-
selected,
|
|
24
|
-
spacing,
|
|
25
|
-
target,
|
|
26
|
-
children,
|
|
27
|
-
hideTooltip,
|
|
28
|
-
title,
|
|
29
|
-
titlePosition = 'top',
|
|
30
|
-
item,
|
|
31
|
-
'aria-label': ariaLabel,
|
|
32
|
-
'aria-haspopup': ariaHasPopup,
|
|
33
|
-
'aria-expanded': ariaExpanded,
|
|
34
|
-
'aria-pressed': ariaPressed,
|
|
35
|
-
onClick,
|
|
36
|
-
onItemClick
|
|
37
|
-
} = props;
|
|
38
|
-
const handleClick = useCallback((event, analyticsEvent) => {
|
|
39
|
-
if (disabled) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (buttonId) {
|
|
44
|
-
analyticsEvent.update(payload => ({ ...payload,
|
|
45
|
-
action: ACTION.CLICKED,
|
|
46
|
-
actionSubject: ACTION_SUBJECT.TOOLBAR_BUTTON,
|
|
47
|
-
actionSubjectId: buttonId,
|
|
48
|
-
eventType: EVENT_TYPE.UI
|
|
49
|
-
})).fire(FabricChannel.editor);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (onClick) {
|
|
53
|
-
onClick(event);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (item && onItemClick) {
|
|
57
|
-
onItemClick(item);
|
|
58
|
-
}
|
|
59
|
-
}, [disabled, onClick, onItemClick, item, buttonId]);
|
|
60
|
-
const id = buttonId ? `editor-toolbar__${buttonId}` : undefined;
|
|
61
|
-
const button = jsx(Button, {
|
|
62
|
-
id: id,
|
|
63
|
-
ref: ref,
|
|
64
|
-
appearance: "subtle",
|
|
65
|
-
testId: testId,
|
|
66
|
-
className: className,
|
|
67
|
-
href: href,
|
|
68
|
-
iconAfter: iconAfter,
|
|
69
|
-
iconBefore: iconBefore,
|
|
70
|
-
isDisabled: disabled,
|
|
71
|
-
isSelected: selected,
|
|
72
|
-
onClick: handleClick,
|
|
73
|
-
spacing: spacing || 'default',
|
|
74
|
-
target: target,
|
|
75
|
-
shouldFitContainer: true,
|
|
76
|
-
"aria-expanded": ariaExpanded,
|
|
77
|
-
"aria-haspopup": ariaHasPopup,
|
|
78
|
-
"aria-label": ariaLabel,
|
|
79
|
-
"aria-pressed": ariaPressed
|
|
80
|
-
}, children);
|
|
81
|
-
|
|
82
|
-
if (!title) {
|
|
83
|
-
return button;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const tooltipContent = !hideTooltip ? title : null;
|
|
87
|
-
return jsx(Tooltip, {
|
|
88
|
-
content: tooltipContent,
|
|
89
|
-
hideTooltipOnClick: true,
|
|
90
|
-
position: titlePosition
|
|
91
|
-
}, jsx("div", {
|
|
92
|
-
css: buttonWrapper
|
|
93
|
-
}, button));
|
|
94
|
-
});
|
|
1
|
+
import { ToolbarButton, TOOLBAR_BUTTON } from '@atlaskit/editor-common/ui-menu';
|
|
2
|
+
export { TOOLBAR_BUTTON };
|
|
95
3
|
export default ToolbarButton;
|
|
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import { startMeasure, stopMeasure } from '@atlaskit/editor-common/utils';
|
|
5
5
|
import { createDispatch } from '../../event-dispatcher';
|
|
6
6
|
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../plugins/analytics';
|
|
7
|
-
import { analyticsEventKey } from '
|
|
7
|
+
import { analyticsEventKey } from '@atlaskit/editor-common/utils';
|
|
8
8
|
import { analyticsPluginKey } from '../../plugins/analytics/plugin-key';
|
|
9
9
|
import { getParticipantsCount } from '../../plugins/collab-edit/get-participants-count';
|
|
10
10
|
const DEFAULT_SAMPLING_RATE = 100;
|
package/dist/es2019/ui/styles.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
|
-
import {
|
|
3
|
-
import { N30, N100 } from '@atlaskit/theme/colors';
|
|
2
|
+
import { N30 } from '@atlaskit/theme/colors';
|
|
4
3
|
import { token } from '@atlaskit/tokens';
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export { shortcutStyle } from '@atlaskit/editor-shared-styles/shortcut';
|
|
5
|
+
export { scrollbarStyles } from '@atlaskit/editor-shared-styles/scrollbar'; // TODO ED-15449 delete this style when deleting editor-core table
|
|
6
|
+
|
|
7
|
+
export const cellColourPreviewStyles = selectedColor => css`
|
|
8
|
+
&::before {
|
|
9
|
+
background: ${selectedColor};
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
7
12
|
export const buttonGroupStyle = css`
|
|
8
13
|
display: inline-flex;
|
|
9
14
|
align-items: center;
|
|
@@ -61,50 +66,7 @@ export const buttonContentReducedSpacingStyle = css`
|
|
|
61
66
|
export const dropShadow = css`
|
|
62
67
|
box-shadow: ${token('elevation.shadow.overlay', `0 0 1px rgba(9, 30, 66, 0.31),
|
|
63
68
|
0 4px 8px -2px rgba(9, 30, 66, 0.25)`)};
|
|
64
|
-
`; // TODO: https://product-fabric.atlassian.net/browse/DSP-4494
|
|
65
|
-
|
|
66
|
-
export const scrollbarStyles = `
|
|
67
|
-
-ms-overflow-style: -ms-autohiding-scrollbar;
|
|
68
|
-
|
|
69
|
-
&::-webkit-scrollbar {
|
|
70
|
-
height: ${akGridSize};
|
|
71
|
-
width: ${akGridSize};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
&::-webkit-scrollbar-corner {
|
|
75
|
-
display: none;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
&::-webkit-scrollbar-thumb {
|
|
79
|
-
background-color: ${token('color.background.neutral.subtle', 'rgba(0, 0, 0, 0)')};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
&:hover::-webkit-scrollbar-thumb {
|
|
83
|
-
background-color: ${token('color.background.neutral.bold', 'rgba(0, 0, 0, 0.2)')};
|
|
84
|
-
border-radius: ${akGridSize};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&::-webkit-scrollbar-thumb:hover {
|
|
88
|
-
background-color: ${token('color.background.neutral.bold.hovered', 'rgba(0, 0, 0, 0.4)')};
|
|
89
|
-
}
|
|
90
|
-
`;
|
|
91
|
-
export const shortcutStyle = css`
|
|
92
|
-
background-color: ${token('color.background.neutral', 'rgba(223, 225, 229, 0.5)')}; /* N60 at 50% */
|
|
93
|
-
color: ${token('color.text.subtle', N100)};
|
|
94
|
-
border-radius: ${borderRadius()}px;
|
|
95
|
-
padding: 4px;
|
|
96
|
-
line-height: 12px;
|
|
97
|
-
font-size: ${relativeFontSizeToBase16(11.67)};
|
|
98
|
-
align-self: flex-end;
|
|
99
|
-
@media (max-width: ${akEditorMobileMaxWidth}px) {
|
|
100
|
-
display: none;
|
|
101
|
-
}
|
|
102
69
|
`;
|
|
103
70
|
export const clickSelectWrapperStyle = css`
|
|
104
71
|
user-select: all;
|
|
105
|
-
`;
|
|
106
|
-
export const cellColourPreviewStyles = selectedColor => css`
|
|
107
|
-
&::before {
|
|
108
|
-
background: ${selectedColor};
|
|
109
|
-
}
|
|
110
72
|
`;
|
|
@@ -1,104 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { PureComponent } from 'react';
|
|
4
|
-
import ReactDOM from 'react-dom';
|
|
5
|
-
import ReactEditorViewContext from '../create-editor/ReactEditorViewContext';
|
|
6
|
-
|
|
7
|
-
class WithOutsideClick extends PureComponent {
|
|
8
|
-
constructor(...args) {
|
|
9
|
-
super(...args);
|
|
10
|
-
|
|
11
|
-
_defineProperty(this, "handleClick", evt => {
|
|
12
|
-
if (!this.props.isActiveComponent) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const domNode = ReactDOM.findDOMNode(this); // eslint-disable-line react/no-find-dom-node
|
|
17
|
-
|
|
18
|
-
if (!domNode || evt.target instanceof Node && !domNode.contains(evt.target)) {
|
|
19
|
-
if (this.props.handleClickOutside) {
|
|
20
|
-
this.props.handleClickOutside(evt);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
_defineProperty(this, "handleKeydown", evt => {
|
|
26
|
-
if (!this.props.isActiveComponent) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (evt.code === 'Escape' && this.props.handleEscapeKeydown) {
|
|
31
|
-
var _this$props$editorVie;
|
|
32
|
-
|
|
33
|
-
evt.preventDefault();
|
|
34
|
-
evt.stopPropagation();
|
|
35
|
-
this.props.handleEscapeKeydown(evt);
|
|
36
|
-
|
|
37
|
-
if (!((_this$props$editorVie = this.props.editorView) !== null && _this$props$editorVie !== void 0 && _this$props$editorVie.hasFocus())) {
|
|
38
|
-
var _this$props$editorVie2;
|
|
39
|
-
|
|
40
|
-
(_this$props$editorVie2 = this.props.editorView) === null || _this$props$editorVie2 === void 0 ? void 0 : _this$props$editorVie2.focus();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return false;
|
|
44
|
-
} else if (evt.code === 'Enter' && this.props.handleEnterKeydown) {
|
|
45
|
-
this.props.handleEnterKeydown(evt);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
componentDidMount() {
|
|
51
|
-
if (this.props.handleClickOutside) {
|
|
52
|
-
document.addEventListener('click', this.handleClick, false);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (this.props.handleEscapeKeydown) {
|
|
56
|
-
var _this$props$editorRef;
|
|
57
|
-
|
|
58
|
-
(((_this$props$editorRef = this.props.editorRef) === null || _this$props$editorRef === void 0 ? void 0 : _this$props$editorRef.current) || document).addEventListener('keydown', this.handleKeydown, false);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
componentWillUnmount() {
|
|
63
|
-
if (this.props.handleClickOutside) {
|
|
64
|
-
document.removeEventListener('click', this.handleClick, false);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (this.props.handleEscapeKeydown) {
|
|
68
|
-
var _this$props$editorRef2;
|
|
69
|
-
|
|
70
|
-
(((_this$props$editorRef2 = this.props.editorRef) === null || _this$props$editorRef2 === void 0 ? void 0 : _this$props$editorRef2.current) || document).removeEventListener('keydown', this.handleKeydown, false);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
render() {
|
|
75
|
-
return this.props.children;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function hasIsOpen(props) {
|
|
81
|
-
return 'isOpen' in props;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export default function withOuterListeners(Component) {
|
|
85
|
-
return ({
|
|
86
|
-
handleClickOutside,
|
|
87
|
-
handleEnterKeydown,
|
|
88
|
-
handleEscapeKeydown,
|
|
89
|
-
...props
|
|
90
|
-
}) => {
|
|
91
|
-
const isActiveComponent = hasIsOpen(props) ? props.isOpen : true;
|
|
92
|
-
return /*#__PURE__*/React.createElement(ReactEditorViewContext.Consumer, null, ({
|
|
93
|
-
editorView,
|
|
94
|
-
editorRef
|
|
95
|
-
}) => /*#__PURE__*/React.createElement(WithOutsideClick, {
|
|
96
|
-
editorView: editorView,
|
|
97
|
-
editorRef: editorRef,
|
|
98
|
-
isActiveComponent: isActiveComponent,
|
|
99
|
-
handleClickOutside: handleClickOutside,
|
|
100
|
-
handleEnterKeydown: handleEnterKeydown,
|
|
101
|
-
handleEscapeKeydown: handleEscapeKeydown
|
|
102
|
-
}, /*#__PURE__*/React.createElement(Component, props)));
|
|
103
|
-
};
|
|
104
|
-
}
|
|
1
|
+
import { withReactEditorViewOuterListeners } from '@atlaskit/editor-common/ui-react';
|
|
2
|
+
export default withReactEditorViewOuterListeners;
|
package/dist/es2019/utils/dom.js
CHANGED
|
@@ -1,113 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Walks a DOM tree up to the provided `stopElement`, or if falsy before.
|
|
3
|
-
* @param element
|
|
4
|
-
* @param stopElement
|
|
5
|
-
*/
|
|
6
|
-
export function walkUpTreeUntil(element, shouldStop) {
|
|
7
|
-
let rootElement = element;
|
|
8
|
-
|
|
9
|
-
while (rootElement && rootElement.parentElement && !shouldStop(rootElement)) {
|
|
10
|
-
rootElement = rootElement.parentElement;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return rootElement;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Takes all children out from wrapped el and puts them directly inside
|
|
17
|
-
* the parent el, at the wrapped el's position
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
export function unwrap(parent, wrapped) {
|
|
21
|
-
const docsFragment = document.createDocumentFragment();
|
|
22
|
-
Array.from(wrapped.children).forEach(child => {
|
|
23
|
-
docsFragment.appendChild(child);
|
|
24
|
-
});
|
|
25
|
-
parent.replaceChild(docsFragment, wrapped);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Walks up DOM removing elements if they are empty until it finds
|
|
29
|
-
* one that is not
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
export function removeNestedEmptyEls(el) {
|
|
33
|
-
while (el.parentElement && el.childElementCount === 0 && el.textContent === '') {
|
|
34
|
-
const parentEl = el.parentElement;
|
|
35
|
-
parentEl.removeChild(el);
|
|
36
|
-
el = parentEl;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* IE11 doesn't support classList to SVGElements
|
|
41
|
-
**/
|
|
42
|
-
|
|
43
|
-
export const containsClassName = (node, className) => {
|
|
44
|
-
if (!node) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (node.classList && node.classList.contains) {
|
|
49
|
-
return node.classList.contains(className);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (!node.className) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const classNames = typeof node.className.baseVal === 'string' ? node.className.baseVal : node.className;
|
|
57
|
-
return classNames.split(' ').indexOf(className) !== -1;
|
|
58
|
-
};
|
|
59
|
-
export function closest(node, s) {
|
|
60
|
-
if (!node) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
let el = node;
|
|
65
|
-
|
|
66
|
-
if (!document.documentElement || !document.documentElement.contains(el)) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (el.closest) {
|
|
71
|
-
return el.closest(s);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
do {
|
|
75
|
-
const matchfn = el.matches ? el.matches : el.msMatchesSelector;
|
|
76
|
-
|
|
77
|
-
if (matchfn && matchfn.call(el, s)) {
|
|
78
|
-
return el;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
el = el.parentElement || el.parentNode;
|
|
82
|
-
} while (el !== null && el.nodeType === 1);
|
|
83
|
-
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
/*
|
|
87
|
-
* @deprecated - Use HTMLElement.protoype.closest instead
|
|
88
|
-
*/
|
|
89
|
-
|
|
90
|
-
export function closestElement(node, s) {
|
|
91
|
-
return closest(node, s);
|
|
92
|
-
}
|
|
93
|
-
export function parsePx(pxStr) {
|
|
94
|
-
if (!pxStr.endsWith('px')) {
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
const maybeNumber = parseInt(pxStr, 10);
|
|
99
|
-
return !Number.isNaN(maybeNumber) ? maybeNumber : undefined;
|
|
100
|
-
}
|
|
101
|
-
// does typescript have function templates yet?
|
|
102
|
-
export function mapElem(elem, callback) {
|
|
103
|
-
const array = [];
|
|
104
|
-
|
|
105
|
-
for (let i = 0; i < elem.childElementCount; i++) {
|
|
106
|
-
array.push(callback(elem.children[i], i, elem));
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return array;
|
|
110
|
-
}
|
|
111
|
-
export function maphElem(elem, callback) {
|
|
112
|
-
return mapElem(elem, callback);
|
|
113
|
-
}
|
|
1
|
+
export { walkUpTreeUntil, unwrap, removeNestedEmptyEls, containsClassName, closest, closestElement, parsePx, mapElem, maphElem } from '@atlaskit/editor-common/utils';
|
|
@@ -7,7 +7,7 @@ import { FakeTextCursorSelection } from '../plugins/fake-text-cursor/cursor';
|
|
|
7
7
|
import { hasParentNodeOfType } from 'prosemirror-utils';
|
|
8
8
|
import { isNodeEmpty } from './document';
|
|
9
9
|
import { atTheBeginningOfDoc, atTheEndOfDoc } from './prosemirror/position';
|
|
10
|
-
|
|
10
|
+
export { insideTable } from '@atlaskit/editor-common/core-utils';
|
|
11
11
|
export { isEmptyParagraph, hasVisibleContent, isNodeEmpty, isEmptyDocument, processRawValue, getStepRange, findFarthestParentNode, isSelectionEndOfParagraph, nodesBetweenChanged, getNodesCount } from './document';
|
|
12
12
|
export { cascadeCommands, getEditorValueWithMedia } from './action';
|
|
13
13
|
export { isMarkAllowedInRange, isMarkExcluded, removeBlockMarks, sanitiseSelectionMarksForWrapping, sanitiseMarksInSelection } from './mark';
|
|
@@ -510,13 +510,6 @@ export const isEmptyNode = schema => {
|
|
|
510
510
|
|
|
511
511
|
return innerIsEmptyNode;
|
|
512
512
|
};
|
|
513
|
-
export const insideTable = state => {
|
|
514
|
-
const {
|
|
515
|
-
table,
|
|
516
|
-
tableCell
|
|
517
|
-
} = state.schema.nodes;
|
|
518
|
-
return hasParentNodeOfType([table, tableCell])(state.selection);
|
|
519
|
-
};
|
|
520
513
|
export const insideTableCell = state => {
|
|
521
514
|
const {
|
|
522
515
|
tableCell,
|
|
@@ -524,15 +517,6 @@ export const insideTableCell = state => {
|
|
|
524
517
|
} = state.schema.nodes;
|
|
525
518
|
return hasParentNodeOfType([tableCell, tableHeader])(state.selection);
|
|
526
519
|
};
|
|
527
|
-
export const isElementInTableCell = element => {
|
|
528
|
-
return closest(element, 'td') || closest(element, 'th');
|
|
529
|
-
};
|
|
530
|
-
export const isLastItemMediaGroup = node => {
|
|
531
|
-
const {
|
|
532
|
-
content
|
|
533
|
-
} = node;
|
|
534
|
-
return !!content.lastChild && content.lastChild.type.name === 'mediaGroup';
|
|
535
|
-
};
|
|
536
520
|
export const isInLayoutColumn = state => {
|
|
537
521
|
return hasParentNodeOfType(state.schema.nodes.layoutSection)(state.selection);
|
|
538
522
|
};
|
|
@@ -580,7 +564,7 @@ export function dedupe(list = [], iteratee = p => p) {
|
|
|
580
564
|
return false;
|
|
581
565
|
});
|
|
582
566
|
}
|
|
583
|
-
export
|
|
567
|
+
export { isTextSelection, isElementInTableCell, isLastItemMediaGroup, nonNullable } from '@atlaskit/editor-common/utils';
|
|
584
568
|
/** Helper type for single arg function */
|
|
585
569
|
|
|
586
570
|
/**
|
|
@@ -614,7 +598,4 @@ export function shallowEqual(obj1 = {}, obj2 = {}) {
|
|
|
614
598
|
export function sum(arr, f) {
|
|
615
599
|
return arr.reduce((val, x) => val + f(x), 0);
|
|
616
600
|
}
|
|
617
|
-
export function nonNullable(value) {
|
|
618
|
-
return value !== null && value !== undefined;
|
|
619
|
-
}
|
|
620
601
|
export { SetAttrsStep } from '@atlaskit/adf-schema/steps';
|
|
@@ -1,82 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import { absoluteBreakoutWidth } from '@atlaskit/editor-common/utils';
|
|
3
|
-
import { akEditorFullWidthLayoutWidth, akLayoutGutterOffset, gridMediumMaxWidth } from '@atlaskit/editor-shared-styles';
|
|
4
|
-
import { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from '../plugins/layout/styles';
|
|
5
|
-
import { BODIED_EXT_PADDING } from '../plugins/extension/ui/Extension/styles';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Calculates width of parent node of a nested node (inside layouts, extension)
|
|
9
|
-
* If current node selection is not nested will return undefined
|
|
10
|
-
*/
|
|
11
|
-
export const getParentNodeWidth = (pos, state, containerWidth, isFullWidthModeEnabled) => {
|
|
12
|
-
if (!pos) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const node = getNestedParentNode(pos, state);
|
|
17
|
-
|
|
18
|
-
if (!node) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
let layout = node.attrs.layout || 'default';
|
|
23
|
-
const {
|
|
24
|
-
schema
|
|
25
|
-
} = state;
|
|
26
|
-
const breakoutMark = schema.marks.breakout && schema.marks.breakout.isInSet(node.marks);
|
|
27
|
-
|
|
28
|
-
if (breakoutMark && breakoutMark.attrs.mode) {
|
|
29
|
-
layout = breakoutMark.attrs.mode;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
let parentWidth = calcBreakoutNodeWidth(layout, containerWidth, isFullWidthModeEnabled);
|
|
33
|
-
|
|
34
|
-
if (node.type === schema.nodes.layoutSection) {
|
|
35
|
-
parentWidth += akLayoutGutterOffset * 2; // extra width that gets added to layout
|
|
36
|
-
|
|
37
|
-
if (containerWidth.width > gridMediumMaxWidth) {
|
|
38
|
-
parentWidth -= (LAYOUT_SECTION_MARGIN + 2) * (node.childCount - 1); // margin between sections
|
|
39
|
-
|
|
40
|
-
const $pos = state.doc.resolve(pos);
|
|
41
|
-
const column = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.layoutColumn]);
|
|
42
|
-
|
|
43
|
-
if (column && column.node && !isNaN(column.node.attrs.width)) {
|
|
44
|
-
// get exact width of parent layout column using node attrs
|
|
45
|
-
parentWidth = Math.round(parentWidth * column.node.attrs.width * 0.01);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
} // account for the padding of the parent node
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (node.type === schema.nodes.layoutSection) {
|
|
52
|
-
parentWidth -= LAYOUT_COLUMN_PADDING * 2;
|
|
53
|
-
} else if (node.type === schema.nodes.bodiedExtension) {
|
|
54
|
-
parentWidth -= BODIED_EXT_PADDING * 2;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
parentWidth -= 2; // border
|
|
58
|
-
|
|
59
|
-
return parentWidth;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const getNestedParentNode = (tablePos, state) => {
|
|
63
|
-
if (tablePos === undefined) {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const $pos = state.doc.resolve(tablePos);
|
|
68
|
-
const parent = findParentNodeOfTypeClosestToPos($pos, [state.schema.nodes.bodiedExtension, state.schema.nodes.layoutSection, state.schema.nodes.expand]);
|
|
69
|
-
return parent ? parent.node : null;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const calcBreakoutNodeWidth = (layout, containerWidth, isFullWidthModeEnabled) => {
|
|
73
|
-
return isFullWidthModeEnabled ? Math.min(containerWidth.lineLength, akEditorFullWidthLayoutWidth) : absoluteBreakoutWidth(layout, containerWidth.width);
|
|
74
|
-
};
|
|
1
|
+
export { getParentNodeWidth } from '@atlaskit/editor-common/node-width';
|
|
75
2
|
/**
|
|
76
3
|
* Returns the breakout mode of a given node
|
|
77
4
|
*/
|
|
78
5
|
|
|
79
|
-
|
|
80
6
|
export const getBreakoutMode = (node, breakout) => {
|
|
81
7
|
const breakoutMark = breakout && breakout.isInSet(node.marks);
|
|
82
8
|
return breakoutMark ? breakoutMark.attrs.mode : node.attrs.layout;
|
|
@@ -1,88 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Finds all top level nodes affected by the transaction
|
|
3
|
-
* Uses from/to positions in transaction's steps to work out which nodes will
|
|
4
|
-
* be changed by the transaction
|
|
5
|
-
*/
|
|
6
|
-
export const findChangedNodesFromTransaction = tr => {
|
|
7
|
-
const nodes = [];
|
|
8
|
-
const steps = tr.steps || [];
|
|
9
|
-
steps.forEach(step => {
|
|
10
|
-
const {
|
|
11
|
-
to,
|
|
12
|
-
from,
|
|
13
|
-
slice
|
|
14
|
-
} = step;
|
|
15
|
-
const size = slice && slice.content ? slice.content.size : 0;
|
|
16
|
-
|
|
17
|
-
for (let i = from; i <= to + size; i++) {
|
|
18
|
-
if (i <= tr.doc.content.size) {
|
|
19
|
-
const topLevelNode = tr.doc.resolve(i).node(1);
|
|
20
|
-
|
|
21
|
-
if (topLevelNode && !nodes.find(n => n === topLevelNode)) {
|
|
22
|
-
nodes.push(topLevelNode);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
return nodes;
|
|
28
|
-
};
|
|
29
|
-
export const validNode = node => {
|
|
30
|
-
try {
|
|
31
|
-
node.check(); // this will throw an error if the node is invalid
|
|
32
|
-
} catch (error) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return true;
|
|
37
|
-
};
|
|
38
|
-
/** Validates prosemirror nodes, and returns true only if all nodes are valid */
|
|
39
|
-
|
|
40
|
-
export const validateNodes = nodes => nodes.every(validNode);
|
|
41
|
-
export const isType = (node, type) => type && node && node.type === type;
|
|
42
|
-
export const isParagraph = (node, schema) => isType(node, schema.nodes.paragraph);
|
|
43
|
-
export const isText = (node, schema) => isType(node, schema.nodes.text);
|
|
44
|
-
export const isLinkMark = (node, schema) => isType(node, schema.marks.link);
|
|
45
|
-
export let SelectedState;
|
|
46
|
-
/**
|
|
47
|
-
* Returns if the current selection from achor-head is selecting the node.
|
|
48
|
-
* If the node is not selected then null is returned.
|
|
49
|
-
* If the node is selected then an enum is returned that describes weather the node
|
|
50
|
-
* is fully selected by a range or if the "inside" of the node has been selected or clicked.
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
(function (SelectedState) {
|
|
54
|
-
SelectedState[SelectedState["selectedInRange"] = 0] = "selectedInRange";
|
|
55
|
-
SelectedState[SelectedState["selectedInside"] = 1] = "selectedInside";
|
|
56
|
-
})(SelectedState || (SelectedState = {}));
|
|
57
|
-
|
|
58
|
-
export const isNodeSelectedOrInRange = (anchorPosition, headPosition, nodePosition, nodeSize) => {
|
|
59
|
-
const rangeStart = Math.min(anchorPosition, headPosition);
|
|
60
|
-
const rangeEnd = Math.max(anchorPosition, headPosition);
|
|
61
|
-
const nodeStart = nodePosition;
|
|
62
|
-
const nodeEnd = nodePosition + nodeSize;
|
|
63
|
-
|
|
64
|
-
if (anchorPosition === headPosition) {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (rangeStart <= nodeStart && nodeEnd < rangeEnd || rangeStart < nodeStart && nodeEnd <= rangeEnd) {
|
|
69
|
-
return SelectedState.selectedInRange;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (nodeStart <= anchorPosition && headPosition <= nodeEnd) {
|
|
73
|
-
return SelectedState.selectedInside;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return null;
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Checks if a particular node fragment is supported in the parent
|
|
80
|
-
* @param state EditorState
|
|
81
|
-
* @param fragment The fragment to be checked for
|
|
82
|
-
*/
|
|
83
|
-
|
|
84
|
-
export const isSupportedInParent = (state, fragment, currentAppearance) => {
|
|
85
|
-
const depth = currentAppearance === 'embed' || currentAppearance === 'block' ? undefined : -1;
|
|
86
|
-
const parent = state.selection.$from.node(depth);
|
|
87
|
-
return parent && parent.type.validContent(fragment);
|
|
88
|
-
};
|
|
1
|
+
export { findChangedNodesFromTransaction, validNode, validateNodes, isType, isParagraph, isText, isLinkMark, SelectedState, isNodeSelectedOrInRange, isSupportedInParent } from '@atlaskit/editor-common/utils';
|