@atlaskit/editor-plugin-block-type 6.1.3 → 6.2.1
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 +18 -0
- package/dist/cjs/blockTypePlugin.js +14 -7
- package/dist/cjs/pm-plugins/block-types.js +56 -1
- package/dist/cjs/pm-plugins/ui/ToolbarBlockType/HeadingButton.compiled.css +7 -0
- package/dist/cjs/pm-plugins/ui/ToolbarBlockType/HeadingButton.js +66 -0
- package/dist/cjs/pm-plugins/ui/ToolbarBlockType/QuoteButton.js +40 -0
- package/dist/cjs/pm-plugins/ui/ToolbarBlockType/TextStylesMenuButton.js +35 -0
- package/dist/cjs/pm-plugins/ui/ToolbarComponents.js +72 -0
- package/dist/es2019/blockTypePlugin.js +40 -31
- package/dist/es2019/pm-plugins/block-types.js +58 -0
- package/dist/es2019/pm-plugins/ui/ToolbarBlockType/HeadingButton.compiled.css +7 -0
- package/dist/es2019/pm-plugins/ui/ToolbarBlockType/HeadingButton.js +59 -0
- package/dist/es2019/pm-plugins/ui/ToolbarBlockType/QuoteButton.js +33 -0
- package/dist/es2019/pm-plugins/ui/ToolbarBlockType/TextStylesMenuButton.js +28 -0
- package/dist/es2019/pm-plugins/ui/ToolbarComponents.js +60 -0
- package/dist/esm/blockTypePlugin.js +14 -7
- package/dist/esm/pm-plugins/block-types.js +55 -0
- package/dist/esm/pm-plugins/ui/ToolbarBlockType/HeadingButton.compiled.css +7 -0
- package/dist/esm/pm-plugins/ui/ToolbarBlockType/HeadingButton.js +59 -0
- package/dist/esm/pm-plugins/ui/ToolbarBlockType/QuoteButton.js +33 -0
- package/dist/esm/pm-plugins/ui/ToolbarBlockType/TextStylesMenuButton.js +28 -0
- package/dist/esm/pm-plugins/ui/ToolbarComponents.js +65 -0
- package/dist/types/blockTypePluginType.d.ts +3 -1
- package/dist/types/pm-plugins/block-types.d.ts +13 -1
- package/dist/types/pm-plugins/types.d.ts +4 -0
- package/dist/types/pm-plugins/ui/ToolbarBlockType/HeadingButton.d.ts +10 -0
- package/dist/types/pm-plugins/ui/ToolbarBlockType/QuoteButton.d.ts +10 -0
- package/dist/types/pm-plugins/ui/ToolbarBlockType/TextStylesMenuButton.d.ts +9 -0
- package/dist/types/pm-plugins/ui/ToolbarBlockType/styled.d.ts +1 -1
- package/dist/types/pm-plugins/ui/ToolbarComponents.d.ts +4 -0
- package/dist/types/ui/styles.d.ts +1 -1
- package/dist/types-ts4.5/blockTypePluginType.d.ts +3 -1
- package/dist/types-ts4.5/pm-plugins/block-types.d.ts +13 -1
- package/dist/types-ts4.5/pm-plugins/types.d.ts +4 -0
- package/dist/types-ts4.5/pm-plugins/ui/ToolbarBlockType/HeadingButton.d.ts +10 -0
- package/dist/types-ts4.5/pm-plugins/ui/ToolbarBlockType/QuoteButton.d.ts +10 -0
- package/dist/types-ts4.5/pm-plugins/ui/ToolbarBlockType/TextStylesMenuButton.d.ts +9 -0
- package/dist/types-ts4.5/pm-plugins/ui/ToolbarBlockType/styled.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/ui/ToolbarComponents.d.ts +4 -0
- package/dist/types-ts4.5/ui/styles.d.ts +1 -1
- package/package.json +12 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-block-type
|
|
2
2
|
|
|
3
|
+
## 6.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 6.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`428e4e6ff8ac9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/428e4e6ff8ac9) -
|
|
14
|
+
[ux] ED-28683 register text styles dropdown to new toolbar. add `@atlaskit/editor-plugin-toolbar`,
|
|
15
|
+
`@atlaskit-editor-toolbar`, `@atlaskit/editor-toolbar-model`, `@atlaskit/css` as dependencies
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
|
|
3
21
|
## 6.1.3
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -15,6 +15,7 @@ var _messages = require("@atlaskit/editor-common/messages");
|
|
|
15
15
|
var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
16
16
|
var _types = require("@atlaskit/editor-common/types");
|
|
17
17
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
18
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
18
19
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
19
20
|
var _blockType = require("./pm-plugins/commands/block-type");
|
|
20
21
|
var _inputRule = _interopRequireDefault(require("./pm-plugins/input-rule"));
|
|
@@ -22,6 +23,7 @@ var _keymap = _interopRequireDefault(require("./pm-plugins/keymap"));
|
|
|
22
23
|
var _main = require("./pm-plugins/main");
|
|
23
24
|
var _FloatingToolbarComponent = require("./pm-plugins/ui/FloatingToolbarComponent");
|
|
24
25
|
var _PrimaryToolbarComponent = require("./pm-plugins/ui/PrimaryToolbarComponent");
|
|
26
|
+
var _ToolbarComponents = require("./pm-plugins/ui/ToolbarComponents");
|
|
25
27
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
28
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
29
|
var headingPluginOptions = function headingPluginOptions(_ref, isAllowed, editorAnalyticsApi) {
|
|
@@ -100,7 +102,6 @@ var blockquotePluginOptions = function blockquotePluginOptions(_ref2, isAllowed,
|
|
|
100
102
|
}];
|
|
101
103
|
};
|
|
102
104
|
var blockTypePlugin = exports.blockTypePlugin = function blockTypePlugin(_ref3) {
|
|
103
|
-
var _api$primaryToolbar;
|
|
104
105
|
var options = _ref3.config,
|
|
105
106
|
api = _ref3.api;
|
|
106
107
|
var primaryToolbarComponent = function primaryToolbarComponent(_ref4) {
|
|
@@ -125,10 +126,16 @@ var blockTypePlugin = exports.blockTypePlugin = function blockTypePlugin(_ref3)
|
|
|
125
126
|
shouldUseDefaultRole: false
|
|
126
127
|
});
|
|
127
128
|
};
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
129
|
+
if ((0, _expValEquals.expValEquals)('platform_editor_toolbar_aifc', 'isEnabled', true)) {
|
|
130
|
+
var _api$toolbar;
|
|
131
|
+
api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents((0, _ToolbarComponents.getToolbarComponents)(api));
|
|
132
|
+
} else {
|
|
133
|
+
var _api$primaryToolbar;
|
|
134
|
+
api === null || api === void 0 || (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 || _api$primaryToolbar.actions.registerComponent({
|
|
135
|
+
name: 'blockType',
|
|
136
|
+
component: primaryToolbarComponent
|
|
137
|
+
});
|
|
138
|
+
}
|
|
132
139
|
return {
|
|
133
140
|
name: 'blockType',
|
|
134
141
|
nodes: function nodes() {
|
|
@@ -206,7 +213,7 @@ var blockTypePlugin = exports.blockTypePlugin = function blockTypePlugin(_ref3)
|
|
|
206
213
|
return _main.pluginKey.getState(editorState);
|
|
207
214
|
},
|
|
208
215
|
primaryToolbarComponent: !(api !== null && api !== void 0 && api.primaryToolbar) ? primaryToolbarComponent : undefined,
|
|
209
|
-
pluginsOptions: _objectSpread({
|
|
216
|
+
pluginsOptions: _objectSpread(_objectSpread({}, !(0, _expValEquals.expValEquals)('platform_editor_toolbar_aifc', 'isEnabled', true) && {
|
|
210
217
|
selectionToolbar: function selectionToolbar() {
|
|
211
218
|
var _api$userPreferences, _api$selectionToolbar;
|
|
212
219
|
var toolbarDocking = (0, _platformFeatureFlags.fg)('platform_editor_use_preferences_plugin') ? api === null || api === void 0 || (_api$userPreferences = api.userPreferences) === null || _api$userPreferences === void 0 || (_api$userPreferences = _api$userPreferences.sharedState.currentState()) === null || _api$userPreferences === void 0 || (_api$userPreferences = _api$userPreferences.preferences) === null || _api$userPreferences === void 0 ? void 0 : _api$userPreferences.toolbarDockingPosition : api === null || api === void 0 || (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.sharedState) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.currentState()) === null || _api$selectionToolbar === void 0 ? void 0 : _api$selectionToolbar.toolbarDocking;
|
|
@@ -234,7 +241,7 @@ var blockTypePlugin = exports.blockTypePlugin = function blockTypePlugin(_ref3)
|
|
|
234
241
|
return undefined;
|
|
235
242
|
}
|
|
236
243
|
}
|
|
237
|
-
}, (0, _experiments.editorExperiment)('platform_editor_insertion', 'control') && {
|
|
244
|
+
}), (0, _experiments.editorExperiment)('platform_editor_insertion', 'control') && {
|
|
238
245
|
quickInsert: function quickInsert(intl) {
|
|
239
246
|
var _api$analytics7, _api$analytics8;
|
|
240
247
|
var exclude = options && options.allowBlockType && options.allowBlockType.exclude ? options.allowBlockType.exclude : [];
|
|
@@ -4,9 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.getBlockTypesInDropdown = exports.WRAPPER_BLOCK_TYPES = exports.TEXT_BLOCK_TYPES = exports.PANEL = exports.OTHER = exports.NORMAL_TEXT = exports.HEADING_6 = exports.HEADING_5 = exports.HEADING_4 = exports.HEADING_3 = exports.HEADING_2 = exports.HEADING_1 = exports.HEADINGS_BY_NAME = exports.HEADINGS_BY_LEVEL = exports.FORMATTING_NODE_TYPES = exports.FORMATTING_MARK_TYPES = exports.CODE_BLOCK = exports.BLOCK_QUOTE = exports.ALL_BLOCK_TYPES = void 0;
|
|
7
|
+
exports.toolbarBlockTypesWithRank = exports.getBlockTypesInDropdown = exports.WRAPPER_BLOCK_TYPES = exports.TEXT_BLOCK_TYPES = exports.PANEL = exports.OTHER = exports.NORMAL_TEXT = exports.HEADING_6 = exports.HEADING_5 = exports.HEADING_4 = exports.HEADING_3 = exports.HEADING_2 = exports.HEADING_1 = exports.HEADINGS_BY_NAME = exports.HEADINGS_BY_LEVEL = exports.FORMATTING_NODE_TYPES = exports.FORMATTING_MARK_TYPES = exports.CODE_BLOCK = exports.BLOCK_QUOTE = exports.ALL_BLOCK_TYPES = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
9
10
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
|
+
var _toolbar = require("@atlaskit/editor-common/toolbar");
|
|
12
|
+
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
10
13
|
var _textHeadingFive = _interopRequireDefault(require("@atlaskit/icon-lab/core/text-heading-five"));
|
|
11
14
|
var _textHeadingFour = _interopRequireDefault(require("@atlaskit/icon-lab/core/text-heading-four"));
|
|
12
15
|
var _textHeadingOne = _interopRequireDefault(require("@atlaskit/icon-lab/core/text-heading-one"));
|
|
@@ -16,6 +19,8 @@ var _textHeadingTwo = _interopRequireDefault(require("@atlaskit/icon-lab/core/te
|
|
|
16
19
|
var _text = _interopRequireDefault(require("@atlaskit/icon/core/text"));
|
|
17
20
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
18
21
|
var _icons = require("./ui/ToolbarBlockType/icons");
|
|
22
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
24
|
var NORMAL_TEXT = exports.NORMAL_TEXT = {
|
|
20
25
|
name: 'normal',
|
|
21
26
|
title: _messages.blockTypeMessages.normal,
|
|
@@ -114,6 +119,56 @@ var OTHER = exports.OTHER = {
|
|
|
114
119
|
nodeName: ''
|
|
115
120
|
};
|
|
116
121
|
var TEXT_BLOCK_TYPES = exports.TEXT_BLOCK_TYPES = [NORMAL_TEXT, HEADING_1, HEADING_2, HEADING_3, HEADING_4, HEADING_5, HEADING_6];
|
|
122
|
+
var ToolbarBlockTypes = /*#__PURE__*/function (ToolbarBlockTypes) {
|
|
123
|
+
ToolbarBlockTypes["normal"] = "normal";
|
|
124
|
+
ToolbarBlockTypes["heading1"] = "heading1";
|
|
125
|
+
ToolbarBlockTypes["heading2"] = "heading2";
|
|
126
|
+
ToolbarBlockTypes["heading3"] = "heading3";
|
|
127
|
+
ToolbarBlockTypes["heading4"] = "heading4";
|
|
128
|
+
ToolbarBlockTypes["heading5"] = "heading5";
|
|
129
|
+
ToolbarBlockTypes["heading6"] = "heading6";
|
|
130
|
+
ToolbarBlockTypes["blockquote"] = "blockquote";
|
|
131
|
+
return ToolbarBlockTypes;
|
|
132
|
+
}(ToolbarBlockTypes || {});
|
|
133
|
+
var toolbarBlockTypesWithRank = exports.toolbarBlockTypesWithRank = function toolbarBlockTypesWithRank() {
|
|
134
|
+
return {
|
|
135
|
+
normal: _objectSpread(_objectSpread({}, NORMAL_TEXT), {}, {
|
|
136
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.NORMAL_TEXT_MENU_ITEM.key],
|
|
137
|
+
toolbarKey: _toolbar.NORMAL_TEXT_MENU_ITEM.key
|
|
138
|
+
}),
|
|
139
|
+
heading1: _objectSpread(_objectSpread({}, HEADING_1), {}, {
|
|
140
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.HEADING_1_MENU_ITEM.key],
|
|
141
|
+
toolbarKey: _toolbar.HEADING_1_MENU_ITEM.key
|
|
142
|
+
}),
|
|
143
|
+
heading2: _objectSpread(_objectSpread({}, HEADING_2), {}, {
|
|
144
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.HEADING_2_MENU_ITEM.key],
|
|
145
|
+
toolbarKey: _toolbar.HEADING_2_MENU_ITEM.key
|
|
146
|
+
}),
|
|
147
|
+
heading3: _objectSpread(_objectSpread({}, HEADING_3), {}, {
|
|
148
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.HEADING_3_MENU_ITEM.key],
|
|
149
|
+
toolbarKey: _toolbar.HEADING_3_MENU_ITEM.key
|
|
150
|
+
}),
|
|
151
|
+
heading4: _objectSpread(_objectSpread({}, HEADING_4), {}, {
|
|
152
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.HEADING_4_MENU_ITEM.key],
|
|
153
|
+
toolbarKey: _toolbar.HEADING_4_MENU_ITEM.key
|
|
154
|
+
}),
|
|
155
|
+
heading5: _objectSpread(_objectSpread({}, HEADING_5), {}, {
|
|
156
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.HEADING_5_MENU_ITEM.key],
|
|
157
|
+
toolbarKey: _toolbar.HEADING_5_MENU_ITEM.key
|
|
158
|
+
}),
|
|
159
|
+
heading6: _objectSpread(_objectSpread({}, HEADING_6), {}, {
|
|
160
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.HEADING_6_MENU_ITEM.key],
|
|
161
|
+
toolbarKey: _toolbar.HEADING_6_MENU_ITEM.key
|
|
162
|
+
}),
|
|
163
|
+
blockquote: _objectSpread(_objectSpread({}, BLOCK_QUOTE), {}, {
|
|
164
|
+
icon: /*#__PURE__*/_react.default.createElement(_editorToolbar.QuoteIcon, {
|
|
165
|
+
label: ""
|
|
166
|
+
}),
|
|
167
|
+
toolbarRank: _toolbar.TEXT_STYLES_MENU_SECTION_RANK[_toolbar.BLOCK_QUOTE_MENU_ITEM.key],
|
|
168
|
+
toolbarKey: _toolbar.BLOCK_QUOTE_MENU_ITEM.key
|
|
169
|
+
})
|
|
170
|
+
};
|
|
171
|
+
};
|
|
117
172
|
var FORMATTING_NODE_TYPES = exports.FORMATTING_NODE_TYPES = ['heading', 'blockquote'];
|
|
118
173
|
var FORMATTING_MARK_TYPES = exports.FORMATTING_MARK_TYPES = ['em', 'code', 'strike', 'strong', 'underline', 'textColor', 'subsup', 'backgroundColor'];
|
|
119
174
|
var WRAPPER_BLOCK_TYPES = exports.WRAPPER_BLOCK_TYPES = [BLOCK_QUOTE, CODE_BLOCK, PANEL];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
._11c8140y{font:var(--ds-font-heading-xsmall,normal 600 14px/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
|
+
._11c81c04{font:var(--ds-font-heading-xlarge,normal 600 29px/2pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._11c81vhk{font:var(--ds-font-heading-xxsmall,normal 600 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
4
|
+
._11c82smr{font:var(--ds-font-body,normal 400 14px/20px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
5
|
+
._11c8lodh{font:var(--ds-font-heading-medium,normal 500 20px/24px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
6
|
+
._11c8nbxd{font:var(--ds-font-heading-small,normal 600 1pc/20px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
7
|
+
._11c8nf1z{font:var(--ds-font-heading-large,normal 500 24px/28px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/* HeadingButton.tsx generated by @compiled/babel-plugin v0.36.1 */
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.HeadingButton = void 0;
|
|
9
|
+
require("./HeadingButton.compiled.css");
|
|
10
|
+
var _runtime = require("@compiled/react/runtime");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _reactIntlNext = require("react-intl-next");
|
|
13
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
14
|
+
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
15
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
16
|
+
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
17
|
+
var _compiled = require("@atlaskit/primitives/compiled");
|
|
18
|
+
var headingSizeStylesMap = {
|
|
19
|
+
normal: "_11c82smr",
|
|
20
|
+
heading1: "_11c81c04",
|
|
21
|
+
heading2: "_11c8nf1z",
|
|
22
|
+
heading3: "_11c8lodh",
|
|
23
|
+
heading4: "_11c8nbxd",
|
|
24
|
+
heading5: "_11c8140y",
|
|
25
|
+
heading6: "_11c81vhk"
|
|
26
|
+
};
|
|
27
|
+
var shortcuts = {
|
|
28
|
+
normal: _keymaps.setNormalText,
|
|
29
|
+
heading1: _keymaps.toggleHeading1,
|
|
30
|
+
heading2: _keymaps.toggleHeading2,
|
|
31
|
+
heading3: _keymaps.toggleHeading3,
|
|
32
|
+
heading4: _keymaps.toggleHeading4,
|
|
33
|
+
heading5: _keymaps.toggleHeading5,
|
|
34
|
+
heading6: _keymaps.toggleHeading6
|
|
35
|
+
};
|
|
36
|
+
var HeadingButton = exports.HeadingButton = function HeadingButton(_ref) {
|
|
37
|
+
var blockType = _ref.blockType,
|
|
38
|
+
api = _ref.api;
|
|
39
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
40
|
+
formatMessage = _useIntl.formatMessage;
|
|
41
|
+
var currentBlockType = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'blockType.currentBlockType');
|
|
42
|
+
var availableBlockTypesInDropdown = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'blockType.availableBlockTypesInDropdown');
|
|
43
|
+
if (!(availableBlockTypesInDropdown !== null && availableBlockTypesInDropdown !== void 0 && availableBlockTypesInDropdown.some(function (availableBlockType) {
|
|
44
|
+
return availableBlockType.name === blockType.name;
|
|
45
|
+
}))) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
var fromBlockQuote = (currentBlockType === null || currentBlockType === void 0 ? void 0 : currentBlockType.name) === 'blockquote';
|
|
49
|
+
var onClick = function onClick() {
|
|
50
|
+
var _api$core, _api$blockType;
|
|
51
|
+
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$blockType = api.blockType) === null || _api$blockType === void 0 || (_api$blockType = _api$blockType.commands) === null || _api$blockType === void 0 ? void 0 : _api$blockType.setTextLevel(blockType.name, _analytics.INPUT_METHOD.TOOLBAR, fromBlockQuote));
|
|
52
|
+
};
|
|
53
|
+
var shortcut = (0, _keymaps.formatShortcut)(shortcuts[blockType.name]);
|
|
54
|
+
var isSelected = currentBlockType === blockType;
|
|
55
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
56
|
+
elemBefore: blockType.icon,
|
|
57
|
+
elemAfter: shortcut ? /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
|
|
58
|
+
shortcut: shortcut
|
|
59
|
+
}) : undefined,
|
|
60
|
+
onClick: onClick,
|
|
61
|
+
isSelected: isSelected,
|
|
62
|
+
ariaKeyshortcuts: shortcut
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
64
|
+
xcss: headingSizeStylesMap[blockType.name]
|
|
65
|
+
}, formatMessage(blockType.title)));
|
|
66
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.QuoteButton = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactIntlNext = require("react-intl-next");
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
|
+
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
12
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
13
|
+
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
14
|
+
var QuoteButton = exports.QuoteButton = function QuoteButton(_ref) {
|
|
15
|
+
var blockType = _ref.blockType,
|
|
16
|
+
api = _ref.api;
|
|
17
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
18
|
+
formatMessage = _useIntl.formatMessage;
|
|
19
|
+
var availableBlockTypesInDropdown = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'blockType.availableBlockTypesInDropdown');
|
|
20
|
+
var currentBlockType = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'blockType.currentBlockType');
|
|
21
|
+
if (!(availableBlockTypesInDropdown !== null && availableBlockTypesInDropdown !== void 0 && availableBlockTypesInDropdown.some(function (availableBlockType) {
|
|
22
|
+
return availableBlockType.name === blockType.name;
|
|
23
|
+
}))) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
var onClick = function onClick() {
|
|
27
|
+
var _api$core, _api$blockType;
|
|
28
|
+
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$blockType = api.blockType) === null || _api$blockType === void 0 || (_api$blockType = _api$blockType.commands) === null || _api$blockType === void 0 ? void 0 : _api$blockType.insertBlockQuote(_analytics.INPUT_METHOD.TOOLBAR));
|
|
29
|
+
};
|
|
30
|
+
var shortcut = (0, _keymaps.formatShortcut)(_keymaps.toggleBlockQuote);
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, {
|
|
32
|
+
elemBefore: blockType.icon,
|
|
33
|
+
elemAfter: shortcut ? /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, {
|
|
34
|
+
shortcut: shortcut
|
|
35
|
+
}) : undefined,
|
|
36
|
+
onClick: onClick,
|
|
37
|
+
isSelected: currentBlockType === blockType,
|
|
38
|
+
ariaKeyshortcuts: shortcut
|
|
39
|
+
}, formatMessage(blockType.title));
|
|
40
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TextStylesMenuButton = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactIntlNext = require("react-intl-next");
|
|
10
|
+
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
|
+
var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
|
|
12
|
+
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
13
|
+
var _blockTypes = require("../../block-types");
|
|
14
|
+
var TextStylesMenuButton = exports.TextStylesMenuButton = function TextStylesMenuButton(_ref) {
|
|
15
|
+
var _Object$values$find;
|
|
16
|
+
var api = _ref.api,
|
|
17
|
+
children = _ref.children;
|
|
18
|
+
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
19
|
+
formatMessage = _useIntl.formatMessage;
|
|
20
|
+
var blockTypesDisabled = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'blockType.blockTypesDisabled');
|
|
21
|
+
var currentBlockType = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'blockType.currentBlockType');
|
|
22
|
+
var CurrentIcon = (_Object$values$find = Object.values((0, _blockTypes.toolbarBlockTypesWithRank)()).find(function (blockType) {
|
|
23
|
+
return blockType.name === (currentBlockType === null || currentBlockType === void 0 ? void 0 : currentBlockType.name);
|
|
24
|
+
})) === null || _Object$values$find === void 0 || (_Object$values$find = _Object$values$find.icon) === null || _Object$values$find === void 0 ? void 0 : _Object$values$find.type;
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarTooltip, {
|
|
26
|
+
content: formatMessage(_messages.toolbarMessages.textStylesTooltip)
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownMenu, {
|
|
28
|
+
isDisabled: blockTypesDisabled,
|
|
29
|
+
iconBefore: CurrentIcon ? /*#__PURE__*/_react.default.createElement(CurrentIcon, {
|
|
30
|
+
label: "".concat(currentBlockType === null || currentBlockType === void 0 ? void 0 : currentBlockType.name, " ").concat(formatMessage(_messages.toolbarMessages.textStylesTooltip))
|
|
31
|
+
}) : /*#__PURE__*/_react.default.createElement(_editorToolbar.TextIcon, {
|
|
32
|
+
label: formatMessage(_messages.toolbarMessages.textStylesTooltip)
|
|
33
|
+
})
|
|
34
|
+
}, children));
|
|
35
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getToolbarComponents = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _toolbar = require("@atlaskit/editor-common/toolbar");
|
|
10
|
+
var _blockTypes = require("../block-types");
|
|
11
|
+
var _HeadingButton = require("./ToolbarBlockType/HeadingButton");
|
|
12
|
+
var _QuoteButton = require("./ToolbarBlockType/QuoteButton");
|
|
13
|
+
var _TextStylesMenuButton = require("./ToolbarBlockType/TextStylesMenuButton");
|
|
14
|
+
var getToolbarComponents = exports.getToolbarComponents = function getToolbarComponents(api) {
|
|
15
|
+
var toolbarComponents = [{
|
|
16
|
+
type: _toolbar.TEXT_STYLES_GROUP.type,
|
|
17
|
+
key: _toolbar.TEXT_STYLES_GROUP.key,
|
|
18
|
+
parents: [{
|
|
19
|
+
type: _toolbar.TEXT_SECTION.type,
|
|
20
|
+
key: _toolbar.TEXT_SECTION.key,
|
|
21
|
+
rank: _toolbar.TEXT_SECTION_RANK[_toolbar.TEXT_STYLES_GROUP.key]
|
|
22
|
+
}]
|
|
23
|
+
}, {
|
|
24
|
+
type: _toolbar.TEXT_STYLES_MENU.type,
|
|
25
|
+
key: _toolbar.TEXT_STYLES_MENU.key,
|
|
26
|
+
parents: [{
|
|
27
|
+
type: _toolbar.TEXT_STYLES_GROUP.type,
|
|
28
|
+
key: _toolbar.TEXT_STYLES_GROUP.key,
|
|
29
|
+
rank: _toolbar.TEXT_STYLES_GROUP_RANK[_toolbar.TEXT_STYLES_MENU.key]
|
|
30
|
+
}],
|
|
31
|
+
component: function component(_ref) {
|
|
32
|
+
var children = _ref.children;
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_TextStylesMenuButton.TextStylesMenuButton, {
|
|
34
|
+
api: api
|
|
35
|
+
}, children);
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
type: _toolbar.TEXT_STYLES_MENU_SECTION.type,
|
|
39
|
+
key: _toolbar.TEXT_STYLES_MENU_SECTION.key,
|
|
40
|
+
parents: [{
|
|
41
|
+
type: _toolbar.TEXT_STYLES_MENU.type,
|
|
42
|
+
key: _toolbar.TEXT_STYLES_MENU.key,
|
|
43
|
+
rank: _toolbar.TEXT_STYLES_MENU_RANK[_toolbar.TEXT_STYLES_MENU_SECTION.key]
|
|
44
|
+
}]
|
|
45
|
+
}];
|
|
46
|
+
Object.values((0, _blockTypes.toolbarBlockTypesWithRank)()).forEach(function (blockType) {
|
|
47
|
+
if (blockType.toolbarKey) {
|
|
48
|
+
var menuItem = {
|
|
49
|
+
type: 'menu-item',
|
|
50
|
+
key: blockType.toolbarKey,
|
|
51
|
+
parents: [{
|
|
52
|
+
type: _toolbar.TEXT_STYLES_MENU_SECTION.type,
|
|
53
|
+
key: _toolbar.TEXT_STYLES_MENU_SECTION.key,
|
|
54
|
+
rank: blockType.toolbarRank
|
|
55
|
+
}],
|
|
56
|
+
component: blockType.name === 'blockquote' ? function () {
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_QuoteButton.QuoteButton, {
|
|
58
|
+
blockType: blockType,
|
|
59
|
+
api: api
|
|
60
|
+
});
|
|
61
|
+
} : function () {
|
|
62
|
+
return /*#__PURE__*/_react.default.createElement(_HeadingButton.HeadingButton, {
|
|
63
|
+
blockType: blockType,
|
|
64
|
+
api: api
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
toolbarComponents.push(menuItem);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return toolbarComponents;
|
|
72
|
+
};
|
|
@@ -6,6 +6,7 @@ import { blockTypeMessages as messages } from '@atlaskit/editor-common/messages'
|
|
|
6
6
|
import { IconHeading, IconQuote } from '@atlaskit/editor-common/quick-insert';
|
|
7
7
|
import { ToolbarSize } from '@atlaskit/editor-common/types';
|
|
8
8
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
9
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
9
10
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
10
11
|
import { clearFormatting, insertBlockQuoteWithAnalytics, insertBlockQuoteWithAnalyticsCommand, setBlockTypeWithAnalytics } from './pm-plugins/commands/block-type';
|
|
11
12
|
import inputRulePlugin from './pm-plugins/input-rule';
|
|
@@ -13,6 +14,7 @@ import keymapPlugin from './pm-plugins/keymap';
|
|
|
13
14
|
import { createPlugin, pluginKey } from './pm-plugins/main';
|
|
14
15
|
import { FloatingToolbarComponent } from './pm-plugins/ui/FloatingToolbarComponent';
|
|
15
16
|
import { PrimaryToolbarComponent } from './pm-plugins/ui/PrimaryToolbarComponent';
|
|
17
|
+
import { getToolbarComponents } from './pm-plugins/ui/ToolbarComponents';
|
|
16
18
|
const headingPluginOptions = ({
|
|
17
19
|
formatMessage
|
|
18
20
|
}, isAllowed, editorAnalyticsApi) => {
|
|
@@ -90,7 +92,6 @@ const blockTypePlugin = ({
|
|
|
90
92
|
config: options,
|
|
91
93
|
api
|
|
92
94
|
}) => {
|
|
93
|
-
var _api$primaryToolbar;
|
|
94
95
|
const primaryToolbarComponent = ({
|
|
95
96
|
popupsMountPoint,
|
|
96
97
|
popupsBoundariesElement,
|
|
@@ -114,10 +115,16 @@ const blockTypePlugin = ({
|
|
|
114
115
|
shouldUseDefaultRole: false
|
|
115
116
|
});
|
|
116
117
|
};
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
118
|
+
if (expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true)) {
|
|
119
|
+
var _api$toolbar;
|
|
120
|
+
api === null || api === void 0 ? void 0 : (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 ? void 0 : _api$toolbar.actions.registerComponents(getToolbarComponents(api));
|
|
121
|
+
} else {
|
|
122
|
+
var _api$primaryToolbar;
|
|
123
|
+
api === null || api === void 0 ? void 0 : (_api$primaryToolbar = api.primaryToolbar) === null || _api$primaryToolbar === void 0 ? void 0 : _api$primaryToolbar.actions.registerComponent({
|
|
124
|
+
name: 'blockType',
|
|
125
|
+
component: primaryToolbarComponent
|
|
126
|
+
});
|
|
127
|
+
}
|
|
121
128
|
return {
|
|
122
129
|
name: 'blockType',
|
|
123
130
|
nodes() {
|
|
@@ -194,33 +201,35 @@ const blockTypePlugin = ({
|
|
|
194
201
|
},
|
|
195
202
|
primaryToolbarComponent: !(api !== null && api !== void 0 && api.primaryToolbar) ? primaryToolbarComponent : undefined,
|
|
196
203
|
pluginsOptions: {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
204
|
+
...(!expValEquals('platform_editor_toolbar_aifc', 'isEnabled', true) && {
|
|
205
|
+
selectionToolbar: () => {
|
|
206
|
+
var _api$userPreferences, _api$userPreferences$, _api$userPreferences$2, _api$selectionToolbar, _api$selectionToolbar2, _api$selectionToolbar3;
|
|
207
|
+
const toolbarDocking = fg('platform_editor_use_preferences_plugin') ? api === null || api === void 0 ? void 0 : (_api$userPreferences = api.userPreferences) === null || _api$userPreferences === void 0 ? void 0 : (_api$userPreferences$ = _api$userPreferences.sharedState.currentState()) === null || _api$userPreferences$ === void 0 ? void 0 : (_api$userPreferences$2 = _api$userPreferences$.preferences) === null || _api$userPreferences$2 === void 0 ? void 0 : _api$userPreferences$2.toolbarDockingPosition : api === null || api === void 0 ? void 0 : (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 ? void 0 : (_api$selectionToolbar2 = _api$selectionToolbar.sharedState) === null || _api$selectionToolbar2 === void 0 ? void 0 : (_api$selectionToolbar3 = _api$selectionToolbar2.currentState()) === null || _api$selectionToolbar3 === void 0 ? void 0 : _api$selectionToolbar3.toolbarDocking;
|
|
208
|
+
if (toolbarDocking === 'none' && editorExperiment('platform_editor_controls', 'variant1', {
|
|
209
|
+
exposure: true
|
|
210
|
+
})) {
|
|
211
|
+
const toolbarCustom = {
|
|
212
|
+
type: 'custom',
|
|
213
|
+
render: (view, _idx, _dispatchAnalyticsEvent) => {
|
|
214
|
+
if (!view) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
return /*#__PURE__*/React.createElement(FloatingToolbarComponent, {
|
|
218
|
+
api: api
|
|
219
|
+
});
|
|
220
|
+
},
|
|
221
|
+
fallback: []
|
|
222
|
+
};
|
|
223
|
+
return {
|
|
224
|
+
isToolbarAbove: true,
|
|
225
|
+
items: [toolbarCustom],
|
|
226
|
+
rank: 8
|
|
227
|
+
};
|
|
228
|
+
} else {
|
|
229
|
+
return undefined;
|
|
230
|
+
}
|
|
222
231
|
}
|
|
223
|
-
},
|
|
232
|
+
}),
|
|
224
233
|
...(editorExperiment('platform_editor_insertion', 'control') && {
|
|
225
234
|
quickInsert: intl => {
|
|
226
235
|
var _api$analytics7, _api$analytics8;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { blockTypeMessages as messages } from '@atlaskit/editor-common/messages';
|
|
3
|
+
import { BLOCK_QUOTE_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, NORMAL_TEXT_MENU_ITEM, TEXT_STYLES_MENU_SECTION_RANK } from '@atlaskit/editor-common/toolbar';
|
|
4
|
+
import { QuoteIcon } from '@atlaskit/editor-toolbar';
|
|
3
5
|
import TextHeadingFiveIcon from '@atlaskit/icon-lab/core/text-heading-five';
|
|
4
6
|
import TextHeadingFourIcon from '@atlaskit/icon-lab/core/text-heading-four';
|
|
5
7
|
import TextHeadingOneIcon from '@atlaskit/icon-lab/core/text-heading-one';
|
|
@@ -107,6 +109,62 @@ export const OTHER = {
|
|
|
107
109
|
nodeName: ''
|
|
108
110
|
};
|
|
109
111
|
export const TEXT_BLOCK_TYPES = [NORMAL_TEXT, HEADING_1, HEADING_2, HEADING_3, HEADING_4, HEADING_5, HEADING_6];
|
|
112
|
+
var ToolbarBlockTypes = /*#__PURE__*/function (ToolbarBlockTypes) {
|
|
113
|
+
ToolbarBlockTypes["normal"] = "normal";
|
|
114
|
+
ToolbarBlockTypes["heading1"] = "heading1";
|
|
115
|
+
ToolbarBlockTypes["heading2"] = "heading2";
|
|
116
|
+
ToolbarBlockTypes["heading3"] = "heading3";
|
|
117
|
+
ToolbarBlockTypes["heading4"] = "heading4";
|
|
118
|
+
ToolbarBlockTypes["heading5"] = "heading5";
|
|
119
|
+
ToolbarBlockTypes["heading6"] = "heading6";
|
|
120
|
+
ToolbarBlockTypes["blockquote"] = "blockquote";
|
|
121
|
+
return ToolbarBlockTypes;
|
|
122
|
+
}(ToolbarBlockTypes || {});
|
|
123
|
+
export const toolbarBlockTypesWithRank = () => ({
|
|
124
|
+
normal: {
|
|
125
|
+
...NORMAL_TEXT,
|
|
126
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[NORMAL_TEXT_MENU_ITEM.key],
|
|
127
|
+
toolbarKey: NORMAL_TEXT_MENU_ITEM.key
|
|
128
|
+
},
|
|
129
|
+
heading1: {
|
|
130
|
+
...HEADING_1,
|
|
131
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[HEADING_1_MENU_ITEM.key],
|
|
132
|
+
toolbarKey: HEADING_1_MENU_ITEM.key
|
|
133
|
+
},
|
|
134
|
+
heading2: {
|
|
135
|
+
...HEADING_2,
|
|
136
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[HEADING_2_MENU_ITEM.key],
|
|
137
|
+
toolbarKey: HEADING_2_MENU_ITEM.key
|
|
138
|
+
},
|
|
139
|
+
heading3: {
|
|
140
|
+
...HEADING_3,
|
|
141
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[HEADING_3_MENU_ITEM.key],
|
|
142
|
+
toolbarKey: HEADING_3_MENU_ITEM.key
|
|
143
|
+
},
|
|
144
|
+
heading4: {
|
|
145
|
+
...HEADING_4,
|
|
146
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[HEADING_4_MENU_ITEM.key],
|
|
147
|
+
toolbarKey: HEADING_4_MENU_ITEM.key
|
|
148
|
+
},
|
|
149
|
+
heading5: {
|
|
150
|
+
...HEADING_5,
|
|
151
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[HEADING_5_MENU_ITEM.key],
|
|
152
|
+
toolbarKey: HEADING_5_MENU_ITEM.key
|
|
153
|
+
},
|
|
154
|
+
heading6: {
|
|
155
|
+
...HEADING_6,
|
|
156
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[HEADING_6_MENU_ITEM.key],
|
|
157
|
+
toolbarKey: HEADING_6_MENU_ITEM.key
|
|
158
|
+
},
|
|
159
|
+
blockquote: {
|
|
160
|
+
...BLOCK_QUOTE,
|
|
161
|
+
icon: /*#__PURE__*/React.createElement(QuoteIcon, {
|
|
162
|
+
label: ""
|
|
163
|
+
}),
|
|
164
|
+
toolbarRank: TEXT_STYLES_MENU_SECTION_RANK[BLOCK_QUOTE_MENU_ITEM.key],
|
|
165
|
+
toolbarKey: BLOCK_QUOTE_MENU_ITEM.key
|
|
166
|
+
}
|
|
167
|
+
});
|
|
110
168
|
export const FORMATTING_NODE_TYPES = ['heading', 'blockquote'];
|
|
111
169
|
export const FORMATTING_MARK_TYPES = ['em', 'code', 'strike', 'strong', 'underline', 'textColor', 'subsup', 'backgroundColor'];
|
|
112
170
|
export const WRAPPER_BLOCK_TYPES = [BLOCK_QUOTE, CODE_BLOCK, PANEL];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
._11c8140y{font:var(--ds-font-heading-xsmall,normal 600 14px/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
|
+
._11c81c04{font:var(--ds-font-heading-xlarge,normal 600 29px/2pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
3
|
+
._11c81vhk{font:var(--ds-font-heading-xxsmall,normal 600 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
4
|
+
._11c82smr{font:var(--ds-font-body,normal 400 14px/20px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
5
|
+
._11c8lodh{font:var(--ds-font-heading-medium,normal 500 20px/24px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
6
|
+
._11c8nbxd{font:var(--ds-font-heading-small,normal 600 1pc/20px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
7
|
+
._11c8nf1z{font:var(--ds-font-heading-large,normal 500 24px/28px ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/* HeadingButton.tsx generated by @compiled/babel-plugin v0.36.1 */
|
|
2
|
+
import "./HeadingButton.compiled.css";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { useIntl } from 'react-intl-next';
|
|
6
|
+
import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
7
|
+
import { formatShortcut, setNormalText, toggleHeading1, toggleHeading2, toggleHeading3, toggleHeading4, toggleHeading5, toggleHeading6 } from '@atlaskit/editor-common/keymaps';
|
|
8
|
+
import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
|
|
9
|
+
import { ToolbarDropdownItem, ToolbarKeyboardShortcutHint } from '@atlaskit/editor-toolbar';
|
|
10
|
+
import { Box } from '@atlaskit/primitives/compiled';
|
|
11
|
+
const headingSizeStylesMap = {
|
|
12
|
+
normal: "_11c82smr",
|
|
13
|
+
heading1: "_11c81c04",
|
|
14
|
+
heading2: "_11c8nf1z",
|
|
15
|
+
heading3: "_11c8lodh",
|
|
16
|
+
heading4: "_11c8nbxd",
|
|
17
|
+
heading5: "_11c8140y",
|
|
18
|
+
heading6: "_11c81vhk"
|
|
19
|
+
};
|
|
20
|
+
const shortcuts = {
|
|
21
|
+
normal: setNormalText,
|
|
22
|
+
heading1: toggleHeading1,
|
|
23
|
+
heading2: toggleHeading2,
|
|
24
|
+
heading3: toggleHeading3,
|
|
25
|
+
heading4: toggleHeading4,
|
|
26
|
+
heading5: toggleHeading5,
|
|
27
|
+
heading6: toggleHeading6
|
|
28
|
+
};
|
|
29
|
+
export const HeadingButton = ({
|
|
30
|
+
blockType,
|
|
31
|
+
api
|
|
32
|
+
}) => {
|
|
33
|
+
const {
|
|
34
|
+
formatMessage
|
|
35
|
+
} = useIntl();
|
|
36
|
+
const currentBlockType = useSharedPluginStateSelector(api, 'blockType.currentBlockType');
|
|
37
|
+
const availableBlockTypesInDropdown = useSharedPluginStateSelector(api, 'blockType.availableBlockTypesInDropdown');
|
|
38
|
+
if (!(availableBlockTypesInDropdown !== null && availableBlockTypesInDropdown !== void 0 && availableBlockTypesInDropdown.some(availableBlockType => availableBlockType.name === blockType.name))) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const fromBlockQuote = (currentBlockType === null || currentBlockType === void 0 ? void 0 : currentBlockType.name) === 'blockquote';
|
|
42
|
+
const onClick = () => {
|
|
43
|
+
var _api$core, _api$blockType, _api$blockType$comman;
|
|
44
|
+
api === null || api === void 0 ? void 0 : (_api$core = api.core) === null || _api$core === void 0 ? void 0 : _api$core.actions.execute(api === null || api === void 0 ? void 0 : (_api$blockType = api.blockType) === null || _api$blockType === void 0 ? void 0 : (_api$blockType$comman = _api$blockType.commands) === null || _api$blockType$comman === void 0 ? void 0 : _api$blockType$comman.setTextLevel(blockType.name, INPUT_METHOD.TOOLBAR, fromBlockQuote));
|
|
45
|
+
};
|
|
46
|
+
const shortcut = formatShortcut(shortcuts[blockType.name]);
|
|
47
|
+
const isSelected = currentBlockType === blockType;
|
|
48
|
+
return /*#__PURE__*/React.createElement(ToolbarDropdownItem, {
|
|
49
|
+
elemBefore: blockType.icon,
|
|
50
|
+
elemAfter: shortcut ? /*#__PURE__*/React.createElement(ToolbarKeyboardShortcutHint, {
|
|
51
|
+
shortcut: shortcut
|
|
52
|
+
}) : undefined,
|
|
53
|
+
onClick: onClick,
|
|
54
|
+
isSelected: isSelected,
|
|
55
|
+
ariaKeyshortcuts: shortcut
|
|
56
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
57
|
+
xcss: headingSizeStylesMap[blockType.name]
|
|
58
|
+
}, formatMessage(blockType.title)));
|
|
59
|
+
};
|