@atlaskit/editor-core 187.9.0 → 187.10.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 +17 -0
- package/dist/cjs/commands/index.js +8 -134
- package/dist/cjs/plugins/base/index.js +2 -2
- package/dist/cjs/plugins/block-type/commands/block-type.js +34 -36
- package/dist/cjs/plugins/block-type/commands/transform-to-code-block.js +1 -2
- package/dist/cjs/plugins/block-type/index.js +16 -13
- package/dist/cjs/plugins/block-type/pm-plugins/input-rule.js +19 -18
- package/dist/cjs/plugins/block-type/pm-plugins/keymap.js +12 -14
- package/dist/cjs/plugins/block-type/pm-plugins/main.js +9 -9
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +7 -7
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +3 -4
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +13 -5
- package/dist/cjs/plugins/block-type/utils.js +73 -2
- package/dist/cjs/plugins/caption/pm-plugins/keymap.js +2 -2
- package/dist/cjs/plugins/emoji/commands/insert-emoji.js +31 -28
- package/dist/cjs/plugins/emoji/index.js +4 -3
- package/dist/cjs/plugins/emoji/pm-plugins/ascii-input-rules.js +23 -18
- package/dist/cjs/plugins/extension/pm-plugins/main.js +54 -9
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +1 -1
- package/dist/cjs/plugins/media/utils/media-common.js +5 -5
- package/dist/cjs/plugins/selection/pm-plugins/events/keydown.js +61 -25
- package/dist/cjs/plugins/undo-redo/pm-plugins/keymaps.js +2 -2
- package/dist/cjs/ui/styles.js +4 -11
- package/dist/cjs/utils/index.js +4 -80
- package/dist/cjs/utils/input-rules.js +6 -66
- package/dist/cjs/utils/mark.js +2 -38
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/commands/index.js +1 -128
- package/dist/es2019/plugins/base/index.js +1 -1
- package/dist/es2019/plugins/block-type/commands/block-type.js +11 -13
- package/dist/es2019/plugins/block-type/commands/transform-to-code-block.js +1 -2
- package/dist/es2019/plugins/block-type/index.js +21 -12
- package/dist/es2019/plugins/block-type/pm-plugins/input-rule.js +18 -18
- package/dist/es2019/plugins/block-type/pm-plugins/keymap.js +8 -9
- package/dist/es2019/plugins/block-type/pm-plugins/main.js +9 -9
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +2 -2
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +2 -3
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +21 -2
- package/dist/es2019/plugins/block-type/utils.js +70 -1
- package/dist/es2019/plugins/caption/pm-plugins/keymap.js +1 -1
- package/dist/es2019/plugins/emoji/commands/insert-emoji.js +5 -5
- package/dist/es2019/plugins/emoji/index.js +6 -3
- package/dist/es2019/plugins/emoji/pm-plugins/ascii-input-rules.js +14 -11
- package/dist/es2019/plugins/extension/pm-plugins/main.js +50 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +1 -1
- package/dist/es2019/plugins/media/utils/media-common.js +1 -1
- package/dist/es2019/plugins/selection/pm-plugins/events/keydown.js +60 -24
- package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -1
- package/dist/es2019/plugins/undo-redo/pm-plugins/keymaps.js +1 -1
- package/dist/es2019/ui/styles.js +0 -16
- package/dist/es2019/utils/index.js +0 -80
- package/dist/es2019/utils/input-rules.js +4 -61
- package/dist/es2019/utils/mark.js +0 -33
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/commands/index.js +7 -125
- package/dist/esm/plugins/base/index.js +1 -1
- package/dist/esm/plugins/block-type/commands/block-type.js +11 -13
- package/dist/esm/plugins/block-type/commands/transform-to-code-block.js +1 -2
- package/dist/esm/plugins/block-type/index.js +15 -12
- package/dist/esm/plugins/block-type/pm-plugins/input-rule.js +18 -18
- package/dist/esm/plugins/block-type/pm-plugins/keymap.js +8 -9
- package/dist/esm/plugins/block-type/pm-plugins/main.js +9 -9
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +2 -2
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +2 -3
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +8 -4
- package/dist/esm/plugins/block-type/utils.js +69 -1
- package/dist/esm/plugins/caption/pm-plugins/keymap.js +1 -1
- package/dist/esm/plugins/emoji/commands/insert-emoji.js +29 -27
- package/dist/esm/plugins/emoji/index.js +4 -3
- package/dist/esm/plugins/emoji/pm-plugins/ascii-input-rules.js +23 -18
- package/dist/esm/plugins/extension/pm-plugins/main.js +45 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +1 -1
- package/dist/esm/plugins/media/utils/media-common.js +1 -1
- package/dist/esm/plugins/selection/pm-plugins/events/keydown.js +62 -25
- package/dist/esm/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -1
- package/dist/esm/plugins/undo-redo/pm-plugins/keymaps.js +1 -1
- package/dist/esm/ui/styles.js +3 -6
- package/dist/esm/utils/index.js +3 -77
- package/dist/esm/utils/input-rules.js +4 -61
- package/dist/esm/utils/mark.js +0 -35
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/commands/index.d.ts +0 -6
- package/dist/types/plugins/block-type/commands/block-type.d.ts +5 -6
- package/dist/types/plugins/block-type/commands/delete-and-move-cursor.d.ts +1 -1
- package/dist/types/plugins/block-type/commands/delete-block-content.d.ts +1 -1
- package/dist/types/plugins/block-type/index.d.ts +1 -1
- package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +3 -2
- package/dist/types/plugins/block-type/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/block-type/pm-plugins/main.d.ts +2 -1
- package/dist/types/plugins/block-type/styles.d.ts +1 -1
- package/dist/types/plugins/block-type/types.d.ts +2 -3
- package/dist/types/plugins/block-type/ui/ToolbarBlockType/blocktype-button.d.ts +1 -2
- package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +2 -2
- package/dist/types/plugins/block-type/ui/ToolbarBlockType/styled.d.ts +5 -1
- package/dist/types/plugins/block-type/utils.d.ts +15 -1
- package/dist/types/plugins/emoji/commands/insert-emoji.d.ts +2 -2
- package/dist/types/plugins/emoji/pm-plugins/ascii-input-rules.d.ts +3 -2
- package/dist/types/plugins/extension/pm-plugins/main.d.ts +1 -1
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +1 -0
- package/dist/types/plugins/undo-redo/pm-plugins/keymaps.d.ts +1 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types/ui/styles.d.ts +0 -3
- package/dist/types/utils/index.d.ts +0 -6
- package/dist/types/utils/input-rules.d.ts +4 -16
- package/dist/types/utils/mark.d.ts +0 -1
- package/dist/types-ts4.5/commands/index.d.ts +0 -6
- package/dist/types-ts4.5/plugins/block-type/commands/block-type.d.ts +5 -6
- package/dist/types-ts4.5/plugins/block-type/commands/delete-and-move-cursor.d.ts +1 -1
- package/dist/types-ts4.5/plugins/block-type/commands/delete-block-content.d.ts +1 -1
- package/dist/types-ts4.5/plugins/block-type/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/block-type/pm-plugins/input-rule.d.ts +3 -2
- package/dist/types-ts4.5/plugins/block-type/pm-plugins/keymap.d.ts +2 -2
- package/dist/types-ts4.5/plugins/block-type/pm-plugins/main.d.ts +2 -1
- package/dist/types-ts4.5/plugins/block-type/styles.d.ts +1 -1
- package/dist/types-ts4.5/plugins/block-type/types.d.ts +2 -3
- package/dist/types-ts4.5/plugins/block-type/ui/ToolbarBlockType/blocktype-button.d.ts +1 -2
- package/dist/types-ts4.5/plugins/block-type/ui/ToolbarBlockType/index.d.ts +2 -2
- package/dist/types-ts4.5/plugins/block-type/ui/ToolbarBlockType/styled.d.ts +5 -1
- package/dist/types-ts4.5/plugins/block-type/utils.d.ts +15 -1
- package/dist/types-ts4.5/plugins/emoji/commands/insert-emoji.d.ts +2 -2
- package/dist/types-ts4.5/plugins/emoji/pm-plugins/ascii-input-rules.d.ts +3 -2
- package/dist/types-ts4.5/plugins/extension/pm-plugins/main.d.ts +1 -1
- package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +1 -0
- package/dist/types-ts4.5/plugins/undo-redo/pm-plugins/keymaps.d.ts +1 -1
- package/dist/types-ts4.5/types/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/styles.d.ts +0 -3
- package/dist/types-ts4.5/utils/index.d.ts +0 -6
- package/dist/types-ts4.5/utils/input-rules.d.ts +4 -16
- package/dist/types-ts4.5/utils/mark.d.ts +0 -1
- package/package.json +4 -4
- package/report.api.md +6 -16
- package/tmp/api-report-tmp.d.ts +5 -16
- package/dist/cjs/types/allowed-block-types.js +0 -5
- package/dist/cjs/utils/keymap.js +0 -38
- package/dist/es2019/types/allowed-block-types.js +0 -1
- package/dist/es2019/utils/keymap.js +0 -33
- package/dist/esm/types/allowed-block-types.js +0 -1
- package/dist/esm/utils/keymap.js +0 -33
- package/dist/types/types/allowed-block-types.d.ts +0 -1
- package/dist/types/utils/keymap.d.ts +0 -11
- package/dist/types-ts4.5/types/allowed-block-types.d.ts +0 -1
- package/dist/types-ts4.5/utils/keymap.d.ts +0 -11
- /package/dist/cjs/{keymaps → plugins/block-type}/consts.js +0 -0
- /package/dist/es2019/{keymaps → plugins/block-type}/consts.js +0 -0
- /package/dist/esm/{keymaps → plugins/block-type}/consts.js +0 -0
- /package/dist/types/{keymaps → plugins/block-type}/consts.d.ts +0 -0
- /package/dist/types-ts4.5/{keymaps → plugins/block-type}/consts.d.ts +0 -0
|
@@ -9,11 +9,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
10
10
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
11
11
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
12
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
12
13
|
var _types = require("../types");
|
|
13
|
-
var
|
|
14
|
+
var _consts = require("../consts");
|
|
14
15
|
var _commands = require("../commands");
|
|
15
|
-
var
|
|
16
|
-
var _consts = require("../../../keymaps/consts");
|
|
16
|
+
var _utils2 = require("../utils");
|
|
17
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
19
|
var blockTypeForNode = function blockTypeForNode(node, schema) {
|
|
@@ -70,17 +70,17 @@ var detectBlockType = function detectBlockType(availableBlockTypes, state) {
|
|
|
70
70
|
});
|
|
71
71
|
return blockType || _types.OTHER;
|
|
72
72
|
};
|
|
73
|
-
var autoformatHeading = function autoformatHeading(headingLevel, view) {
|
|
73
|
+
var autoformatHeading = function autoformatHeading(headingLevel, view, editorAnalyticsApi) {
|
|
74
74
|
if (headingLevel === 0) {
|
|
75
|
-
(0, _commands.setNormalTextWithAnalytics)(_analytics.INPUT_METHOD.FORMATTING)(view.state, view.dispatch);
|
|
75
|
+
(0, _commands.setNormalTextWithAnalytics)(_analytics.INPUT_METHOD.FORMATTING, editorAnalyticsApi)(view.state, view.dispatch);
|
|
76
76
|
} else {
|
|
77
|
-
(0, _commands.setHeadingWithAnalytics)(headingLevel, _analytics.INPUT_METHOD.FORMATTING)(view.state, view.dispatch);
|
|
77
|
+
(0, _commands.setHeadingWithAnalytics)(headingLevel, _analytics.INPUT_METHOD.FORMATTING, editorAnalyticsApi)(view.state, view.dispatch);
|
|
78
78
|
}
|
|
79
79
|
return true;
|
|
80
80
|
};
|
|
81
81
|
var pluginKey = new _state.PluginKey('blockTypePlugin');
|
|
82
82
|
exports.pluginKey = pluginKey;
|
|
83
|
-
var createPlugin = function createPlugin(dispatch, lastNodeMustBeParagraph) {
|
|
83
|
+
var createPlugin = function createPlugin(editorAnalyticsApi, dispatch, lastNodeMustBeParagraph) {
|
|
84
84
|
var altKeyLocation = 0;
|
|
85
85
|
return new _safePlugin.SafePlugin({
|
|
86
86
|
appendTransaction: function appendTransaction(_transactions, _oldState, newState) {
|
|
@@ -131,9 +131,9 @@ var createPlugin = function createPlugin(dispatch, lastNodeMustBeParagraph) {
|
|
|
131
131
|
var headingLevel = _consts.HEADING_KEYS.indexOf(event.keyCode);
|
|
132
132
|
if (headingLevel > -1 && event.altKey) {
|
|
133
133
|
if (_utils.browser.mac && event.metaKey) {
|
|
134
|
-
return autoformatHeading(headingLevel, view);
|
|
134
|
+
return autoformatHeading(headingLevel, view, editorAnalyticsApi);
|
|
135
135
|
} else if (!_utils.browser.mac && event.ctrlKey && altKeyLocation !== event.DOM_KEY_LOCATION_RIGHT) {
|
|
136
|
-
return autoformatHeading(headingLevel, view);
|
|
136
|
+
return autoformatHeading(headingLevel, view, editorAnalyticsApi);
|
|
137
137
|
}
|
|
138
138
|
} else if (event.key === 'Alt') {
|
|
139
139
|
// event.location is for the current key only; when a user hits Ctrl-Alt-1 the
|
|
@@ -10,10 +10,10 @@ var _react2 = require("@emotion/react");
|
|
|
10
10
|
var _reactIntlNext = require("react-intl-next");
|
|
11
11
|
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
|
|
12
12
|
var _textStyle = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/text-style"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var _styles2 = require("@atlaskit/editor-common/styles");
|
|
13
|
+
var _styles = require("@atlaskit/editor-common/styles");
|
|
14
|
+
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
16
15
|
var _types = require("../../types");
|
|
16
|
+
var _styled = require("./styled");
|
|
17
17
|
/** @jsx jsx */
|
|
18
18
|
|
|
19
19
|
var messages = (0, _reactIntlNext.defineMessages)({
|
|
@@ -26,7 +26,7 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
26
26
|
exports.messages = messages;
|
|
27
27
|
var BlockTypeButton = function BlockTypeButton(props) {
|
|
28
28
|
var labelTextStyles = props.formatMessage(messages.textStyles);
|
|
29
|
-
return (0, _react2.jsx)(
|
|
29
|
+
return (0, _react2.jsx)(_uiMenu.ToolbarButton, {
|
|
30
30
|
spacing: props.isReducedSpacing ? 'none' : 'default',
|
|
31
31
|
selected: props.selected,
|
|
32
32
|
className: "block-type-btn",
|
|
@@ -38,17 +38,17 @@ var BlockTypeButton = function BlockTypeButton(props) {
|
|
|
38
38
|
"aria-haspopup": true,
|
|
39
39
|
"aria-expanded": props['aria-expanded'],
|
|
40
40
|
iconAfter: (0, _react2.jsx)("span", {
|
|
41
|
-
css: [
|
|
41
|
+
css: [_styles.wrapperStyle, props.isSmall && _styled.wrapperSmallStyle],
|
|
42
42
|
"data-testid": "toolbar-block-type-text-styles-icon"
|
|
43
43
|
}, props.isSmall && (0, _react2.jsx)(_textStyle.default, {
|
|
44
44
|
label: labelTextStyles
|
|
45
45
|
}), (0, _react2.jsx)("span", {
|
|
46
|
-
css:
|
|
46
|
+
css: _styled.expandIconWrapperStyle
|
|
47
47
|
}, (0, _react2.jsx)(_chevronDown.default, {
|
|
48
48
|
label: ""
|
|
49
49
|
})))
|
|
50
50
|
}, !props.isSmall && (0, _react2.jsx)("span", {
|
|
51
|
-
css: [
|
|
51
|
+
css: [_styled.buttonContentStyle, props.isReducedSpacing && _styled.buttonContentReducedSpacingStyle]
|
|
52
52
|
}, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, props.title || _types.NORMAL_TEXT.title)));
|
|
53
53
|
};
|
|
54
54
|
exports.BlockTypeButton = BlockTypeButton;
|
|
@@ -16,12 +16,11 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
16
16
|
var _react2 = require("@emotion/react");
|
|
17
17
|
var _reactIntlNext = require("react-intl-next");
|
|
18
18
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
19
|
-
var
|
|
19
|
+
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
20
20
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
21
|
+
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
21
22
|
var _styled = require("./styled");
|
|
22
|
-
var _keymaps = require("../../../../keymaps");
|
|
23
23
|
var _blocktypeButton = require("./blocktype-button");
|
|
24
|
-
var _keymaps2 = require("@atlaskit/editor-common/keymaps");
|
|
25
24
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
26
25
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
27
26
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
@@ -78,7 +77,7 @@ var ToolbarBlockType = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
78
77
|
value: blockType,
|
|
79
78
|
label: formatMessage(blockType.title),
|
|
80
79
|
'aria-label': (0, _keymaps.tooltip)(keyMap, formatMessage(blockType.title)),
|
|
81
|
-
keyShortcuts: (0,
|
|
80
|
+
keyShortcuts: (0, _keymaps.getAriaKeyshortcuts)(keyMap),
|
|
82
81
|
key: "".concat(blockType.name, "-").concat(index),
|
|
83
82
|
elemAfter: (0, _react2.jsx)("div", {
|
|
84
83
|
css: [_styled.keyboardShortcut, isActive && _styled.keyboardShortcutSelect]
|
|
@@ -4,13 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.keyboardShortcutSelect = exports.keyboardShortcut = exports.blockTypeMenuItemStyle = void 0;
|
|
7
|
+
exports.wrapperSmallStyle = exports.keyboardShortcutSelect = exports.keyboardShortcut = exports.expandIconWrapperStyle = exports.buttonContentStyle = exports.buttonContentReducedSpacingStyle = exports.blockTypeMenuItemStyle = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
9
|
var _react = require("@emotion/react");
|
|
10
10
|
var _colors = require("@atlaskit/theme/colors");
|
|
11
11
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
12
|
-
var
|
|
13
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
12
|
+
var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
|
|
13
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
14
14
|
/** @jsx jsx */
|
|
15
15
|
var blockTypeMenuItemStyle = function blockTypeMenuItemStyle(tagName, selected) {
|
|
16
16
|
// TEMP FIX: See https://product-fabric.atlassian.net/browse/ED-13878
|
|
@@ -20,7 +20,15 @@ var blockTypeMenuItemStyle = function blockTypeMenuItemStyle(tagName, selected)
|
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
exports.blockTypeMenuItemStyle = blockTypeMenuItemStyle;
|
|
23
|
-
var keyboardShortcut = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n margin-left:
|
|
23
|
+
var keyboardShortcut = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n margin-left: ", ";\n"])), _shortcut.shortcutStyle, "var(--ds-space-200, 16px)");
|
|
24
24
|
exports.keyboardShortcut = keyboardShortcut;
|
|
25
25
|
var keyboardShortcutSelect = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n"])), "var(--ds-icon, ".concat(_colors.N400, ")"));
|
|
26
|
-
exports.keyboardShortcutSelect = keyboardShortcutSelect;
|
|
26
|
+
exports.keyboardShortcutSelect = keyboardShortcutSelect;
|
|
27
|
+
var buttonContentStyle = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n min-width: 80px;\n align-items: center;\n overflow: hidden;\n justify-content: center;\n flex-direction: column;\n padding: ", ";\n"])), "var(--ds-space-075, 6px)");
|
|
28
|
+
exports.buttonContentStyle = buttonContentStyle;
|
|
29
|
+
var buttonContentReducedSpacingStyle = (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", ";\n"])), "var(--ds-space-100, 8px)");
|
|
30
|
+
exports.buttonContentReducedSpacingStyle = buttonContentReducedSpacingStyle;
|
|
31
|
+
var wrapperSmallStyle = (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n min-width: 40px;\n"])), "var(--ds-space-050, 4px)");
|
|
32
|
+
exports.wrapperSmallStyle = wrapperSmallStyle;
|
|
33
|
+
var expandIconWrapperStyle = (0, _react.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: -8px;\n"])));
|
|
34
|
+
exports.expandIconWrapperStyle = expandIconWrapperStyle;
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.areBlockTypesDisabled = areBlockTypesDisabled;
|
|
7
|
+
exports.isNodeAWrappingBlockNode = exports.createWrappingTextBlockRule = exports.createJoinNodesRule = void 0;
|
|
8
|
+
var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
|
|
9
|
+
var _utils = require("@atlaskit/editor-common/utils");
|
|
7
10
|
var _types = require("./types");
|
|
8
11
|
var isNodeAWrappingBlockNode = function isNodeAWrappingBlockNode(node) {
|
|
9
12
|
if (!node) {
|
|
@@ -13,4 +16,72 @@ var isNodeAWrappingBlockNode = function isNodeAWrappingBlockNode(node) {
|
|
|
13
16
|
return blockNode.name === node.type.name;
|
|
14
17
|
});
|
|
15
18
|
};
|
|
16
|
-
exports.isNodeAWrappingBlockNode = isNodeAWrappingBlockNode;
|
|
19
|
+
exports.isNodeAWrappingBlockNode = isNodeAWrappingBlockNode;
|
|
20
|
+
var createJoinNodesRule = function createJoinNodesRule(match, nodeType) {
|
|
21
|
+
return (0, _utils.createWrappingJoinRule)({
|
|
22
|
+
nodeType: nodeType,
|
|
23
|
+
match: match,
|
|
24
|
+
getAttrs: {},
|
|
25
|
+
joinPredicate: function joinPredicate(_, node) {
|
|
26
|
+
return node.type === nodeType;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
exports.createJoinNodesRule = createJoinNodesRule;
|
|
31
|
+
var createWrappingTextBlockRule = function createWrappingTextBlockRule(_ref) {
|
|
32
|
+
var match = _ref.match,
|
|
33
|
+
nodeType = _ref.nodeType,
|
|
34
|
+
getAttrs = _ref.getAttrs;
|
|
35
|
+
var handler = function handler(state, match, start, end) {
|
|
36
|
+
var fixedStart = Math.max(start, 1);
|
|
37
|
+
var $start = state.doc.resolve(fixedStart);
|
|
38
|
+
var attrs = getAttrs instanceof Function ? getAttrs(match) : getAttrs;
|
|
39
|
+
var nodeBefore = $start.node(-1);
|
|
40
|
+
if (nodeBefore && !nodeBefore.canReplaceWith($start.index(-1), $start.indexAfter(-1), nodeType)) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return state.tr.delete(fixedStart, end).setBlockType(fixedStart, fixedStart, nodeType, attrs);
|
|
44
|
+
};
|
|
45
|
+
return (0, _prosemirrorInputRules.createRule)(match, handler);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Function will create a list of wrapper blocks present in a selection.
|
|
50
|
+
*/
|
|
51
|
+
exports.createWrappingTextBlockRule = createWrappingTextBlockRule;
|
|
52
|
+
function getSelectedWrapperNodes(state) {
|
|
53
|
+
var nodes = [];
|
|
54
|
+
if (state.selection) {
|
|
55
|
+
var _state$selection = state.selection,
|
|
56
|
+
$from = _state$selection.$from,
|
|
57
|
+
$to = _state$selection.$to;
|
|
58
|
+
var _state$schema$nodes = state.schema.nodes,
|
|
59
|
+
blockquote = _state$schema$nodes.blockquote,
|
|
60
|
+
panel = _state$schema$nodes.panel,
|
|
61
|
+
orderedList = _state$schema$nodes.orderedList,
|
|
62
|
+
bulletList = _state$schema$nodes.bulletList,
|
|
63
|
+
listItem = _state$schema$nodes.listItem,
|
|
64
|
+
codeBlock = _state$schema$nodes.codeBlock,
|
|
65
|
+
decisionItem = _state$schema$nodes.decisionItem,
|
|
66
|
+
decisionList = _state$schema$nodes.decisionList,
|
|
67
|
+
taskItem = _state$schema$nodes.taskItem,
|
|
68
|
+
taskList = _state$schema$nodes.taskList;
|
|
69
|
+
state.doc.nodesBetween($from.pos, $to.pos, function (node) {
|
|
70
|
+
if (node.isBlock && [blockquote, panel, orderedList, bulletList, listItem, codeBlock, decisionItem, decisionList, taskItem, taskList].indexOf(node.type) >= 0) {
|
|
71
|
+
nodes.push(node.type);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return nodes;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Function will check if changing block types: Paragraph, Heading is enabled.
|
|
80
|
+
*/
|
|
81
|
+
function areBlockTypesDisabled(state) {
|
|
82
|
+
var nodesTypes = getSelectedWrapperNodes(state);
|
|
83
|
+
var panel = state.schema.nodes.panel;
|
|
84
|
+
return nodesTypes.filter(function (type) {
|
|
85
|
+
return type !== panel;
|
|
86
|
+
}).length > 0;
|
|
87
|
+
}
|
|
@@ -9,7 +9,7 @@ var _keymap = require("@atlaskit/editor-prosemirror/keymap");
|
|
|
9
9
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
10
10
|
var keymaps = _interopRequireWildcard(require("../../../keymaps"));
|
|
11
11
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
12
|
-
var
|
|
12
|
+
var _utils2 = require("@atlaskit/editor-common/utils");
|
|
13
13
|
var _selection = require("../../selection/gap-cursor/selection");
|
|
14
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -28,7 +28,7 @@ function captionKeymap() {
|
|
|
28
28
|
var createNewParagraphBelowCaption = function createNewParagraphBelowCaption(state, dispatch) {
|
|
29
29
|
var caption = (0, _utils.findParentNodeOfType)(state.schema.nodes.caption)(state.selection);
|
|
30
30
|
if (caption) {
|
|
31
|
-
return (0,
|
|
31
|
+
return (0, _utils2.createNewParagraphBelow)(state, dispatch);
|
|
32
32
|
}
|
|
33
33
|
return false;
|
|
34
34
|
};
|
|
@@ -4,40 +4,43 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.insertEmoji =
|
|
7
|
+
exports.insertEmoji = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
10
10
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
11
11
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
12
|
-
var _analytics = require("
|
|
12
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
-
function insertEmoji(
|
|
16
|
-
return function (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
var insertEmoji = function insertEmoji(editorAnalyticsAPI) {
|
|
16
|
+
return function (emojiId, inputMethod) {
|
|
17
|
+
return function (state, dispatch) {
|
|
18
|
+
var emoji = state.schema.nodes.emoji;
|
|
19
|
+
if (emoji && emojiId) {
|
|
20
|
+
var node = emoji.createChecked(_objectSpread(_objectSpread({}, emojiId), {}, {
|
|
21
|
+
text: emojiId.fallback || emojiId.shortName
|
|
22
|
+
}));
|
|
23
|
+
var textNode = state.schema.text(' ');
|
|
24
|
+
if (dispatch) {
|
|
25
|
+
var fragment = _model.Fragment.fromArray([node, textNode]);
|
|
26
|
+
var tr = (0, _utils.safeInsert)(fragment)(state.tr);
|
|
27
|
+
if (inputMethod) {
|
|
28
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
29
|
+
action: _analytics.ACTION.INSERTED,
|
|
30
|
+
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
31
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.EMOJI,
|
|
32
|
+
attributes: {
|
|
33
|
+
inputMethod: inputMethod
|
|
34
|
+
},
|
|
35
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
36
|
+
})(tr);
|
|
37
|
+
}
|
|
38
|
+
dispatch(tr.setSelection(_state.Selection.near(tr.doc.resolve(state.selection.$from.pos + fragment.size))));
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
return true;
|
|
38
41
|
}
|
|
39
|
-
return
|
|
40
|
-
}
|
|
41
|
-
return false;
|
|
42
|
+
return false;
|
|
43
|
+
};
|
|
42
44
|
};
|
|
43
|
-
}
|
|
45
|
+
};
|
|
46
|
+
exports.insertEmoji = insertEmoji;
|
|
@@ -188,10 +188,11 @@ var emojiPlugin = function emojiPlugin(options, api) {
|
|
|
188
188
|
}, {
|
|
189
189
|
name: 'emojiAsciiInputRule',
|
|
190
190
|
plugin: function plugin(_ref6) {
|
|
191
|
+
var _api$dependencies$ana8;
|
|
191
192
|
var schema = _ref6.schema,
|
|
192
193
|
providerFactory = _ref6.providerFactory,
|
|
193
194
|
featureFlags = _ref6.featureFlags;
|
|
194
|
-
return (0, _asciiInputRules.inputRulePlugin)(schema, providerFactory, featureFlags);
|
|
195
|
+
return (0, _asciiInputRules.inputRulePlugin)(schema, providerFactory, featureFlags, api === null || api === void 0 ? void 0 : (_api$dependencies$ana8 = api.dependencies.analytics) === null || _api$dependencies$ana8 === void 0 ? void 0 : _api$dependencies$ana8.actions);
|
|
195
196
|
}
|
|
196
197
|
}];
|
|
197
198
|
},
|
|
@@ -208,13 +209,13 @@ var emojiPlugin = function emojiPlugin(options, api) {
|
|
|
208
209
|
return /*#__PURE__*/_react.default.createElement(_quickInsert.IconEmoji, null);
|
|
209
210
|
},
|
|
210
211
|
action: function action(insert, state) {
|
|
211
|
-
var _api$dependencies$
|
|
212
|
+
var _api$dependencies$ana9;
|
|
212
213
|
var tr = insert(undefined);
|
|
213
214
|
(0, _openTypeaheadAtCursor.openTypeAheadAtCursor)({
|
|
214
215
|
triggerHandler: typeAhead,
|
|
215
216
|
inputMethod: _analytics.INPUT_METHOD.QUICK_INSERT
|
|
216
217
|
})(tr);
|
|
217
|
-
api === null || api === void 0 ? void 0 : (_api$dependencies$
|
|
218
|
+
api === null || api === void 0 ? void 0 : (_api$dependencies$ana9 = api.dependencies.analytics) === null || _api$dependencies$ana9 === void 0 ? void 0 : _api$dependencies$ana9.actions.attachAnalyticsEvent({
|
|
218
219
|
action: _analytics.ACTION.INVOKED,
|
|
219
220
|
actionSubject: _analytics.ACTION_SUBJECT.TYPEAHEAD,
|
|
220
221
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.TYPEAHEAD_EMOJI,
|
|
@@ -16,14 +16,14 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
18
18
|
var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
|
|
19
|
-
var _analytics = require("
|
|
19
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
20
20
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
21
21
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
22
22
|
var matcher;
|
|
23
|
-
function inputRulePlugin(schema, providerFactory, featureFlags) {
|
|
23
|
+
function inputRulePlugin(schema, providerFactory, featureFlags, editorAnalyticsAPI) {
|
|
24
24
|
if (schema.nodes.emoji && providerFactory) {
|
|
25
25
|
initMatcher(providerFactory);
|
|
26
|
-
var asciiEmojiRule = (0, _prosemirrorInputRules.createRule)(AsciiEmojiMatcher.REGEX, inputRuleHandler);
|
|
26
|
+
var asciiEmojiRule = (0, _prosemirrorInputRules.createRule)(AsciiEmojiMatcher.REGEX, inputRuleHandler(editorAnalyticsAPI));
|
|
27
27
|
return (0, _prosemirrorInputRules.createPlugin)('emoji', [asciiEmojiRule]);
|
|
28
28
|
}
|
|
29
29
|
return;
|
|
@@ -41,17 +41,19 @@ function initMatcher(providerFactory) {
|
|
|
41
41
|
};
|
|
42
42
|
providerFactory.subscribe('emojiProvider', handleProvider);
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
var inputRuleHandler = function inputRuleHandler(editorAnalyticsAPI) {
|
|
45
|
+
return function (state, matchParts, start, end) {
|
|
46
|
+
if (!matcher) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
var match = matcher.match(matchParts);
|
|
50
|
+
if (match) {
|
|
51
|
+
var transactionCreator = new AsciiEmojiTransactionCreator(state, match, start, end, editorAnalyticsAPI);
|
|
52
|
+
return transactionCreator.create();
|
|
53
|
+
}
|
|
46
54
|
return null;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (match) {
|
|
50
|
-
var transactionCreator = new AsciiEmojiTransactionCreator(state, match, start, end);
|
|
51
|
-
return transactionCreator.create();
|
|
52
|
-
}
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
+
};
|
|
56
|
+
};
|
|
55
57
|
var REGEX_LEADING_CAPTURE_INDEX = 1;
|
|
56
58
|
var REGEX_EMOJI_LEADING_PARENTHESES = 2;
|
|
57
59
|
var REGEX_EMOJI_ASCII_CAPTURE_INDEX = 3;
|
|
@@ -150,18 +152,20 @@ var RecordingAsciiEmojiMatcher = /*#__PURE__*/function (_AsciiEmojiMatcher) {
|
|
|
150
152
|
return RecordingAsciiEmojiMatcher;
|
|
151
153
|
}(AsciiEmojiMatcher);
|
|
152
154
|
var AsciiEmojiTransactionCreator = /*#__PURE__*/function () {
|
|
153
|
-
function AsciiEmojiTransactionCreator(state, match, start, end) {
|
|
155
|
+
function AsciiEmojiTransactionCreator(state, match, start, end, editorAnalyticsAPI) {
|
|
154
156
|
(0, _classCallCheck2.default)(this, AsciiEmojiTransactionCreator);
|
|
155
157
|
this.state = state;
|
|
156
158
|
this.match = match;
|
|
157
159
|
this.start = start;
|
|
158
160
|
this.end = end;
|
|
161
|
+
this.editorAnalyticsAPI = editorAnalyticsAPI;
|
|
159
162
|
}
|
|
160
163
|
(0, _createClass2.default)(AsciiEmojiTransactionCreator, [{
|
|
161
164
|
key: "create",
|
|
162
165
|
value: function create() {
|
|
166
|
+
var _this$editorAnalytics;
|
|
163
167
|
var tr = this.state.tr.replaceWith(this.from, this.to, this.createNodes());
|
|
164
|
-
|
|
168
|
+
(_this$editorAnalytics = this.editorAnalyticsAPI) === null || _this$editorAnalytics === void 0 ? void 0 : _this$editorAnalytics.attachAnalyticsEvent({
|
|
165
169
|
action: _analytics.ACTION.INSERTED,
|
|
166
170
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
167
171
|
actionSubjectId: _analytics.ACTION_SUBJECT_ID.EMOJI,
|
|
@@ -169,7 +173,8 @@ var AsciiEmojiTransactionCreator = /*#__PURE__*/function () {
|
|
|
169
173
|
inputMethod: _analytics.INPUT_METHOD.ASCII
|
|
170
174
|
},
|
|
171
175
|
eventType: _analytics.EVENT_TYPE.TRACK
|
|
172
|
-
});
|
|
176
|
+
})(tr);
|
|
177
|
+
return tr;
|
|
173
178
|
}
|
|
174
179
|
}, {
|
|
175
180
|
key: "from",
|
|
@@ -221,8 +226,8 @@ var AsciiEmojiTransactionCreator = /*#__PURE__*/function () {
|
|
|
221
226
|
}();
|
|
222
227
|
var stateKey = new _state.PluginKey('asciiEmojiPlugin');
|
|
223
228
|
exports.stateKey = stateKey;
|
|
224
|
-
var plugins = function plugins(schema, providerFactory, featureFlags) {
|
|
225
|
-
return [inputRulePlugin(schema, providerFactory, featureFlags)].filter(function (plugin) {
|
|
229
|
+
var plugins = function plugins(schema, providerFactory, featureFlags, editorAnalyticsAPI) {
|
|
230
|
+
return [inputRulePlugin(schema, providerFactory, featureFlags, editorAnalyticsAPI)].filter(function (plugin) {
|
|
226
231
|
return !!plugin;
|
|
227
232
|
});
|
|
228
233
|
};
|
|
@@ -27,14 +27,17 @@ Object.defineProperty(exports, "pluginKey", {
|
|
|
27
27
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
28
28
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
29
29
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
30
|
+
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
31
|
+
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
30
32
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
31
|
-
var
|
|
33
|
+
var _selection = require("@atlaskit/editor-common/selection");
|
|
34
|
+
var _utils2 = require("../../selection/utils");
|
|
32
35
|
var _extension = _interopRequireDefault(require("../nodeviews/extension"));
|
|
33
36
|
var _commands = require("../commands");
|
|
34
|
-
var
|
|
37
|
+
var _utils3 = require("../utils");
|
|
35
38
|
var _pluginFactory = require("../plugin-factory");
|
|
36
39
|
var _pluginKey = require("../plugin-key");
|
|
37
|
-
var
|
|
40
|
+
var _utils4 = require("./utils");
|
|
38
41
|
var shouldShowEditButton = function shouldShowEditButton(extensionHandler, extensionProvider) {
|
|
39
42
|
var usesLegacyMacroBrowser = !extensionHandler && !extensionProvider || typeof extensionHandler === 'function';
|
|
40
43
|
var usesModernUpdateMethod = (0, _typeof2.default)(extensionHandler) === 'object' && typeof extensionHandler.update === 'function';
|
|
@@ -60,7 +63,7 @@ var getUpdateExtensionPromise = /*#__PURE__*/function () {
|
|
|
60
63
|
break;
|
|
61
64
|
}
|
|
62
65
|
_context.next = 7;
|
|
63
|
-
return (0,
|
|
66
|
+
return (0, _utils4.updateEditButton)(view, extensionProvider);
|
|
64
67
|
case 7:
|
|
65
68
|
updateMethod = _context.sent;
|
|
66
69
|
if (!updateMethod) {
|
|
@@ -100,7 +103,7 @@ var createExtensionProviderHandler = function createExtensionProviderHandler(vie
|
|
|
100
103
|
extensionProvider: extensionProvider
|
|
101
104
|
})(view.state, view.dispatch);
|
|
102
105
|
_context2.next = 8;
|
|
103
|
-
return (0,
|
|
106
|
+
return (0, _utils4.updateEditButton)(view, extensionProvider);
|
|
104
107
|
case 8:
|
|
105
108
|
_context2.next = 13;
|
|
106
109
|
break;
|
|
@@ -177,7 +180,7 @@ var handleUpdate = function handleUpdate(_ref4) {
|
|
|
177
180
|
showEditButton = _getPluginState.showEditButton;
|
|
178
181
|
|
|
179
182
|
// This fetches the selected extension node, either by keyboard selection or click for all types of extensions
|
|
180
|
-
var selectedExtension = (0,
|
|
183
|
+
var selectedExtension = (0, _utils3.getSelectedExtension)(state, true);
|
|
181
184
|
if (!selectedExtension) {
|
|
182
185
|
if (showContextPanel) {
|
|
183
186
|
(0, _commands.clearEditingContext)(applyChange)(state, dispatch);
|
|
@@ -185,11 +188,11 @@ var handleUpdate = function handleUpdate(_ref4) {
|
|
|
185
188
|
return;
|
|
186
189
|
}
|
|
187
190
|
var node = selectedExtension.node;
|
|
188
|
-
var newElement = (0,
|
|
191
|
+
var newElement = (0, _utils3.getSelectedDomElement)(state.schema, domAtPos, selectedExtension);
|
|
189
192
|
|
|
190
193
|
// In some cases, showEditButton can be stale and the edit button doesn't show - @see ED-15285
|
|
191
194
|
// To be safe, we update the showEditButton state here
|
|
192
|
-
var shouldUpdateEditButton = !showEditButton && extensionProvider && element === newElement && !(0,
|
|
195
|
+
var shouldUpdateEditButton = !showEditButton && extensionProvider && element === newElement && !(0, _utils3.getSelectedExtension)(prevState, true);
|
|
193
196
|
var isNewNodeSelected = node.attrs.localId ? localId !== node.attrs.localId :
|
|
194
197
|
// This is the current assumption and it's wrong but we are keeping it
|
|
195
198
|
// as fallback in case we need to turn off `allowLocalIdGeneration`
|
|
@@ -263,6 +266,48 @@ var createPlugin = function createPlugin(dispatch, providerFactory, extensionHan
|
|
|
263
266
|
},
|
|
264
267
|
key: _pluginKey.pluginKey,
|
|
265
268
|
props: {
|
|
269
|
+
handleDOMEvents: {
|
|
270
|
+
/**
|
|
271
|
+
* ED-18072 - Cannot shift + arrow past bodied extension if it is not empty.
|
|
272
|
+
* This code is to handle the case where the selection starts inside or on the node and the user is trying to shift + arrow.
|
|
273
|
+
* For other part of the solution see code in: packages/editor/editor-core/src/plugins/selection/pm-plugins/events/keydown.ts
|
|
274
|
+
*/
|
|
275
|
+
keydown: function keydown(view, event) {
|
|
276
|
+
if (event instanceof KeyboardEvent && event.shiftKey && ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
|
|
277
|
+
var _view$state = view.state,
|
|
278
|
+
schema = _view$state.schema,
|
|
279
|
+
selection = _view$state.selection,
|
|
280
|
+
$head = _view$state.selection.$head,
|
|
281
|
+
doc = _view$state.doc,
|
|
282
|
+
tr = _view$state.tr;
|
|
283
|
+
var bodiedExtension = schema.nodes.bodiedExtension;
|
|
284
|
+
if (selection instanceof _state.TextSelection || selection instanceof _state.NodeSelection) {
|
|
285
|
+
var maybeBodiedExtension = selection instanceof _state.TextSelection ? (0, _utils.findParentNodeOfTypeClosestToPos)($head, bodiedExtension) : (0, _utils.findSelectedNodeOfType)(bodiedExtension)(selection);
|
|
286
|
+
if (maybeBodiedExtension) {
|
|
287
|
+
var end = maybeBodiedExtension.pos + maybeBodiedExtension.node.nodeSize;
|
|
288
|
+
if (event.key === 'ArrowUp' || event.key === 'ArrowLeft' && (0, _selection.isSelectionAtStartOfNode)($head, maybeBodiedExtension)) {
|
|
289
|
+
var anchor = end + 1;
|
|
290
|
+
|
|
291
|
+
// an offset is used here so that left arrow selects the first character before the node (consistent with arrow right)
|
|
292
|
+
var headOffset = event.key === 'ArrowLeft' ? -1 : 0;
|
|
293
|
+
var head = maybeBodiedExtension.pos + headOffset;
|
|
294
|
+
var newSelection = _state.TextSelection.create(doc, Math.max(anchor, selection.anchor), head);
|
|
295
|
+
view.dispatch(tr.setSelection(newSelection));
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowRight' && (0, _selection.isSelectionAtEndOfNode)($head, maybeBodiedExtension)) {
|
|
299
|
+
var _anchor = maybeBodiedExtension.pos - 1;
|
|
300
|
+
var _head = end + 1;
|
|
301
|
+
var _newSelection = _state.TextSelection.create(doc, Math.min(_anchor, selection.anchor), _head);
|
|
302
|
+
view.dispatch(tr.setSelection(_newSelection));
|
|
303
|
+
return true;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
},
|
|
266
311
|
nodeViews: {
|
|
267
312
|
// WARNING: referentiality-plugin also creates these nodeviews
|
|
268
313
|
extension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
|
|
@@ -271,7 +316,7 @@ var createPlugin = function createPlugin(dispatch, providerFactory, extensionHan
|
|
|
271
316
|
// WARNING: referentiality-plugin also creates these nodeviews
|
|
272
317
|
inlineExtension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi)
|
|
273
318
|
},
|
|
274
|
-
handleClickOn: (0,
|
|
319
|
+
handleClickOn: (0, _utils2.createSelectionClickHandler)(['extension', 'bodiedExtension'], function (target) {
|
|
275
320
|
return !target.closest('.extension-content');
|
|
276
321
|
}, {
|
|
277
322
|
useLongPressSelection: useLongPressSelection
|
|
@@ -288,7 +288,7 @@ var ToolbarInsertBlock = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
288
288
|
});
|
|
289
289
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSelectedEmoji", function (emojiId) {
|
|
290
290
|
_this.props.editorView.focus();
|
|
291
|
-
(0, _insertEmoji.insertEmoji)(emojiId, _analytics.INPUT_METHOD.PICKER)(_this.props.editorView.state, _this.props.editorView.dispatch);
|
|
291
|
+
(0, _insertEmoji.insertEmoji)(_this.editorAnalyticsAPI)(emojiId, _analytics.INPUT_METHOD.PICKER)(_this.props.editorView.state, _this.props.editorView.dispatch);
|
|
292
292
|
_this.toggleEmojiPicker();
|
|
293
293
|
return true;
|
|
294
294
|
});
|
|
@@ -7,8 +7,8 @@ exports.unwrapNestedMediaElements = exports.transformSliceToCorrectMediaWrapper
|
|
|
7
7
|
var _commands = require("@atlaskit/editor-prosemirror/commands");
|
|
8
8
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
9
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var _utils2 = require("@atlaskit/editor-common/utils");
|
|
11
|
+
var _utils3 = require("../../../utils");
|
|
12
12
|
var _slice = require("../../../utils/slice");
|
|
13
13
|
var _dom = require("../../../utils/dom");
|
|
14
14
|
var _isImage = require("./is-image");
|
|
@@ -128,7 +128,7 @@ var removeMediaNode = function removeMediaNode(view, node, getPos) {
|
|
|
128
128
|
return;
|
|
129
129
|
}
|
|
130
130
|
tr.deleteRange(currentMediaNodePos, currentMediaNodePos + node.nodeSize);
|
|
131
|
-
if ((0,
|
|
131
|
+
if ((0, _utils3.isTemporary)(id)) {
|
|
132
132
|
tr.setMeta('addToHistory', false);
|
|
133
133
|
}
|
|
134
134
|
var $currentMediaNodePos = doc.resolve(currentMediaNodePos);
|
|
@@ -158,9 +158,9 @@ var splitMediaGroup = function splitMediaGroup(view) {
|
|
|
158
158
|
(0, _commands.deleteSelection)(view.state, view.dispatch);
|
|
159
159
|
if (selection.$to.nodeAfter) {
|
|
160
160
|
(0, _commands.splitBlock)(view.state, view.dispatch);
|
|
161
|
-
(0,
|
|
161
|
+
(0, _utils2.createParagraphNear)(false)(view.state, view.dispatch);
|
|
162
162
|
} else {
|
|
163
|
-
(0,
|
|
163
|
+
(0, _utils2.createNewParagraphBelow)(view.state, view.dispatch);
|
|
164
164
|
}
|
|
165
165
|
return true;
|
|
166
166
|
};
|