@atlaskit/editor-core 183.1.6 → 184.0.4
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/.eslintrc.js +7 -3
- package/CHANGELOG.md +29 -0
- package/dist/cjs/labs/next/full-page.js +2 -6
- package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +4 -2
- package/dist/cjs/labs/next/presets/default.js +2 -2
- package/dist/cjs/labs/next/presets/universal.js +2 -1
- package/dist/cjs/plugins/breakout/index.js +54 -35
- package/dist/cjs/plugins/card/toolbar.js +4 -3
- package/dist/cjs/plugins/collab-edit/plugin-state.js +2 -3
- package/dist/cjs/plugins/copy-button/commands.js +8 -1
- package/dist/cjs/plugins/extension/index.js +1 -1
- package/dist/cjs/plugins/extension/nodeviews/extension.js +5 -3
- package/dist/cjs/plugins/extension/pm-plugins/main.js +6 -6
- package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +34 -4
- package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
- package/dist/cjs/plugins/extension/ui/Extension/index.js +4 -2
- package/dist/cjs/plugins/help-dialog/index.js +12 -8
- package/dist/cjs/plugins/index.js +0 -14
- package/dist/cjs/plugins/layout/pm-plugins/main.js +0 -1
- package/dist/cjs/plugins/media/index.js +15 -5
- package/dist/cjs/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +53 -34
- package/dist/cjs/plugins/media/styles.js +1 -1
- package/dist/cjs/plugins/media/toolbar/index.js +4 -3
- package/dist/cjs/plugins/paste/pm-plugins/main.js +7 -1
- package/dist/cjs/test-utils.js +6 -1
- package/dist/cjs/ui/Appearance/Comment/Comment.js +2 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPage.js +2 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +1 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +2 -2
- package/dist/cjs/ui/ColorPickerButton/index.js +2 -2
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +6 -10
- package/dist/cjs/ui/ContentStyles/index.js +9 -10
- package/dist/cjs/ui/ContextPanel/index.js +67 -56
- package/dist/cjs/ui/MediaAndEmbedsToolbar/index.js +10 -11
- package/dist/cjs/ui/Resizer/index.js +8 -8
- package/dist/cjs/ui/WidthEmitter/index.js +10 -4
- package/dist/cjs/ui/styles.js +6 -0
- package/dist/cjs/utils/clipboard.js +18 -11
- package/dist/cjs/utils/performance/instrumented-plugin.js +14 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/labs/next/full-page.js +2 -5
- package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +4 -2
- package/dist/es2019/labs/next/presets/default.js +1 -1
- package/dist/es2019/labs/next/presets/universal.js +2 -1
- package/dist/es2019/plugins/breakout/index.js +48 -31
- package/dist/es2019/plugins/card/toolbar.js +4 -3
- package/dist/es2019/plugins/collab-edit/plugin-state.js +2 -4
- package/dist/es2019/plugins/copy-button/commands.js +9 -2
- package/dist/es2019/plugins/extension/index.js +1 -1
- package/dist/es2019/plugins/extension/nodeviews/extension.js +5 -3
- package/dist/es2019/plugins/extension/pm-plugins/main.js +4 -4
- package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +38 -2
- package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
- package/dist/es2019/plugins/extension/ui/Extension/index.js +4 -2
- package/dist/es2019/plugins/help-dialog/index.js +14 -9
- package/dist/es2019/plugins/index.js +0 -2
- package/dist/es2019/plugins/layout/pm-plugins/main.js +0 -1
- package/dist/es2019/plugins/media/index.js +15 -5
- package/dist/es2019/plugins/media/nodeviews/mediaNodeView/index.js +21 -10
- package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +53 -33
- package/dist/es2019/plugins/media/styles.js +1 -7
- package/dist/es2019/plugins/media/toolbar/index.js +4 -4
- package/dist/es2019/plugins/paste/pm-plugins/main.js +7 -1
- package/dist/es2019/test-utils.js +6 -1
- package/dist/es2019/ui/Appearance/Comment/Comment.js +1 -1
- package/dist/es2019/ui/Appearance/FullPage/FullPage.js +1 -1
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
- package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
- package/dist/es2019/ui/ColorPickerButton/index.js +2 -2
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +5 -10
- package/dist/es2019/ui/ContentStyles/index.js +1 -2
- package/dist/es2019/ui/ContextPanel/index.js +66 -43
- package/dist/es2019/ui/MediaAndEmbedsToolbar/index.js +8 -9
- package/dist/es2019/ui/Resizer/index.js +1 -1
- package/dist/es2019/ui/WidthEmitter/index.js +10 -4
- package/dist/es2019/ui/styles.js +6 -0
- package/dist/es2019/utils/clipboard.js +12 -7
- package/dist/es2019/utils/performance/instrumented-plugin.js +15 -2
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/labs/next/full-page.js +2 -5
- package/dist/esm/labs/next/presets/create-stub-internal-apis.js +4 -2
- package/dist/esm/labs/next/presets/default.js +1 -1
- package/dist/esm/labs/next/presets/universal.js +2 -1
- package/dist/esm/plugins/breakout/index.js +54 -35
- package/dist/esm/plugins/card/toolbar.js +4 -3
- package/dist/esm/plugins/collab-edit/plugin-state.js +2 -3
- package/dist/esm/plugins/copy-button/commands.js +9 -2
- package/dist/esm/plugins/extension/index.js +1 -1
- package/dist/esm/plugins/extension/nodeviews/extension.js +5 -3
- package/dist/esm/plugins/extension/pm-plugins/main.js +6 -6
- package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +33 -2
- package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
- package/dist/esm/plugins/extension/ui/Extension/index.js +4 -2
- package/dist/esm/plugins/help-dialog/index.js +12 -8
- package/dist/esm/plugins/index.js +0 -2
- package/dist/esm/plugins/layout/pm-plugins/main.js +0 -1
- package/dist/esm/plugins/media/index.js +15 -5
- package/dist/esm/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +54 -35
- package/dist/esm/plugins/media/styles.js +2 -2
- package/dist/esm/plugins/media/toolbar/index.js +4 -3
- package/dist/esm/plugins/paste/pm-plugins/main.js +7 -1
- package/dist/esm/test-utils.js +6 -1
- package/dist/esm/ui/Appearance/Comment/Comment.js +1 -1
- package/dist/esm/ui/Appearance/FullPage/FullPage.js +1 -1
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
- package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
- package/dist/esm/ui/ColorPickerButton/index.js +2 -2
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +5 -10
- package/dist/esm/ui/ContentStyles/index.js +1 -2
- package/dist/esm/ui/ContextPanel/index.js +64 -53
- package/dist/esm/ui/MediaAndEmbedsToolbar/index.js +10 -11
- package/dist/esm/ui/Resizer/index.js +1 -1
- package/dist/esm/ui/WidthEmitter/index.js +10 -4
- package/dist/esm/ui/styles.js +6 -0
- package/dist/esm/utils/clipboard.js +16 -10
- package/dist/esm/utils/performance/instrumented-plugin.js +14 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +1 -1
- package/dist/types/create-editor/get-plugins.d.ts +2 -0
- package/dist/types/index.d.ts +0 -1
- package/dist/types/plugins/breakout/index.d.ts +4 -0
- package/dist/types/plugins/breakout/ui/LayoutButton.d.ts +1 -1
- package/dist/types/plugins/card/index.d.ts +2 -2
- package/dist/types/plugins/collab-edit/actions.d.ts +3 -2
- package/dist/types/plugins/collab-edit/events/handlers.d.ts +3 -3
- package/dist/types/plugins/collab-edit/events/initialize.d.ts +1 -1
- package/dist/types/plugins/collab-edit/events/send-transaction.d.ts +1 -1
- package/dist/types/plugins/collab-edit/index.d.ts +0 -1
- package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
- package/dist/types/plugins/collab-edit/participants.d.ts +1 -1
- package/dist/types/plugins/collab-edit/plugin.d.ts +0 -2
- package/dist/types/plugins/collab-edit/types.d.ts +1 -3
- package/dist/types/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
- package/dist/types/plugins/collab-edit/utils.d.ts +2 -1
- package/dist/types/plugins/extension/index.d.ts +2 -1
- package/dist/types/plugins/extension/nodeviews/extension.d.ts +4 -1
- package/dist/types/plugins/extension/pm-plugins/main.d.ts +3 -1
- package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
- package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
- package/dist/types/plugins/extension/ui/Extension/index.d.ts +3 -0
- package/dist/types/plugins/help-dialog/index.d.ts +3 -1
- package/dist/types/plugins/index.d.ts +0 -3
- package/dist/types/plugins/media/index.d.ts +12 -2
- package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
- package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
- package/dist/types/plugins/media/nodeviews/types.d.ts +2 -1
- package/dist/types/plugins/media/toolbar/index.d.ts +3 -1
- package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
- package/dist/types/test-utils.d.ts +3 -1
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types/ui/ColorPickerButton/index.d.ts +3 -3
- package/dist/types/ui/ContextPanel/index.d.ts +3 -4
- package/dist/types/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
- package/dist/types/ui/PluginSlot/index.d.ts +1 -1
- package/dist/types/ui/Resizer/types.d.ts +2 -2
- package/dist/types/utils/clipboard.d.ts +1 -0
- package/dist/types-ts4.5/actions/index.d.ts +1 -1
- package/dist/types-ts4.5/create-editor/get-plugins.d.ts +2 -0
- package/dist/types-ts4.5/index.d.ts +0 -1
- package/dist/types-ts4.5/plugins/breakout/index.d.ts +6 -0
- package/dist/types-ts4.5/plugins/breakout/ui/LayoutButton.d.ts +1 -1
- package/dist/types-ts4.5/plugins/card/index.d.ts +2 -2
- package/dist/types-ts4.5/plugins/collab-edit/actions.d.ts +3 -2
- package/dist/types-ts4.5/plugins/collab-edit/events/handlers.d.ts +3 -3
- package/dist/types-ts4.5/plugins/collab-edit/events/initialize.d.ts +1 -1
- package/dist/types-ts4.5/plugins/collab-edit/events/send-transaction.d.ts +1 -1
- package/dist/types-ts4.5/plugins/collab-edit/index.d.ts +0 -1
- package/dist/types-ts4.5/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
- package/dist/types-ts4.5/plugins/collab-edit/participants.d.ts +1 -1
- package/dist/types-ts4.5/plugins/collab-edit/plugin.d.ts +0 -2
- package/dist/types-ts4.5/plugins/collab-edit/types.d.ts +1 -3
- package/dist/types-ts4.5/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
- package/dist/types-ts4.5/plugins/collab-edit/utils.d.ts +2 -1
- package/dist/types-ts4.5/plugins/extension/index.d.ts +3 -1
- package/dist/types-ts4.5/plugins/extension/nodeviews/extension.d.ts +4 -1
- package/dist/types-ts4.5/plugins/extension/pm-plugins/main.d.ts +3 -1
- package/dist/types-ts4.5/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
- package/dist/types-ts4.5/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
- package/dist/types-ts4.5/plugins/extension/ui/Extension/index.d.ts +3 -0
- package/dist/types-ts4.5/plugins/help-dialog/index.d.ts +5 -1
- package/dist/types-ts4.5/plugins/index.d.ts +0 -3
- package/dist/types-ts4.5/plugins/media/index.d.ts +9 -2
- package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
- package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
- package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +2 -1
- package/dist/types-ts4.5/plugins/media/toolbar/index.d.ts +3 -1
- package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
- package/dist/types-ts4.5/test-utils.d.ts +3 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types-ts4.5/ui/ColorPickerButton/index.d.ts +3 -3
- package/dist/types-ts4.5/ui/ContextPanel/index.d.ts +3 -4
- package/dist/types-ts4.5/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
- package/dist/types-ts4.5/ui/PluginSlot/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/Resizer/types.d.ts +2 -2
- package/dist/types-ts4.5/utils/clipboard.d.ts +1 -0
- package/package.json +25 -23
- package/report.api.md +15 -63
- package/dist/cjs/plugins/collab-edit/provider/index.js +0 -5
- package/dist/cjs/plugins/collab-edit/provider/types.js +0 -5
- package/dist/cjs/plugins/grid/index.js +0 -207
- package/dist/cjs/plugins/grid/styles.js +0 -16
- package/dist/cjs/plugins/grid/types.js +0 -5
- package/dist/cjs/plugins/width/index.js +0 -88
- package/dist/cjs/ui/ContextPanel/context.js +0 -89
- package/dist/es2019/plugins/collab-edit/provider/index.js +0 -1
- package/dist/es2019/plugins/collab-edit/provider/types.js +0 -1
- package/dist/es2019/plugins/grid/index.js +0 -168
- package/dist/es2019/plugins/grid/styles.js +0 -36
- package/dist/es2019/plugins/grid/types.js +0 -1
- package/dist/es2019/plugins/width/index.js +0 -72
- package/dist/es2019/ui/ContextPanel/context.js +0 -65
- package/dist/esm/plugins/collab-edit/provider/index.js +0 -1
- package/dist/esm/plugins/collab-edit/provider/types.js +0 -1
- package/dist/esm/plugins/grid/index.js +0 -191
- package/dist/esm/plugins/grid/styles.js +0 -7
- package/dist/esm/plugins/grid/types.js +0 -1
- package/dist/esm/plugins/width/index.js +0 -78
- package/dist/esm/ui/ContextPanel/context.js +0 -79
- package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
- package/dist/types/plugins/collab-edit/provider/types.d.ts +0 -1
- package/dist/types/plugins/grid/index.d.ts +0 -25
- package/dist/types/plugins/grid/styles.d.ts +0 -2
- package/dist/types/plugins/grid/types.d.ts +0 -7
- package/dist/types/plugins/width/index.d.ts +0 -18
- package/dist/types/ui/ContextPanel/context.d.ts +0 -24
- package/dist/types-ts4.5/plugins/collab-edit/provider/index.d.ts +0 -1
- package/dist/types-ts4.5/plugins/collab-edit/provider/types.d.ts +0 -1
- package/dist/types-ts4.5/plugins/grid/index.d.ts +0 -27
- package/dist/types-ts4.5/plugins/grid/styles.d.ts +0 -2
- package/dist/types-ts4.5/plugins/grid/types.d.ts +0 -7
- package/dist/types-ts4.5/plugins/width/index.d.ts +0 -18
- package/dist/types-ts4.5/ui/ContextPanel/context.d.ts +0 -24
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
Object.defineProperty(exports, "GRID_GUTTER", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function get() {
|
|
10
|
-
return _styles.GRID_GUTTER;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
exports.gridTypeForLayout = exports.default = exports.GRID_SIZE = void 0;
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
var _react = _interopRequireDefault(require("react"));
|
|
22
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
|
-
var _react2 = require("@emotion/react");
|
|
24
|
-
var _prosemirrorState = require("prosemirror-state");
|
|
25
|
-
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
26
|
-
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
27
|
-
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
28
|
-
var _styles = require("./styles");
|
|
29
|
-
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); }; }
|
|
30
|
-
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; } }
|
|
31
|
-
var GRID_SIZE = 12;
|
|
32
|
-
exports.GRID_SIZE = GRID_SIZE;
|
|
33
|
-
var key = new _prosemirrorState.PluginKey('gridPlugin');
|
|
34
|
-
var createDisplayGrid = function createDisplayGrid(view) {
|
|
35
|
-
return function (props) {
|
|
36
|
-
var dispatch = view.dispatch,
|
|
37
|
-
state = view.state;
|
|
38
|
-
var tr = state.tr.setMeta(key, props);
|
|
39
|
-
dispatch(tr);
|
|
40
|
-
return true;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
var gridTypeForLayout = function gridTypeForLayout(layout) {
|
|
44
|
-
return layout === 'wrap-left' || layout === 'wrap-right' ? 'wrapped' : 'full';
|
|
45
|
-
};
|
|
46
|
-
exports.gridTypeForLayout = gridTypeForLayout;
|
|
47
|
-
var sides = ['left', 'right'];
|
|
48
|
-
var overflowHighlight = function overflowHighlight(highlights, side, start, size) {
|
|
49
|
-
if (!highlights.length) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
var minHighlight = highlights.reduce(function (prev, cur) {
|
|
53
|
-
return Math.min(prev, cur);
|
|
54
|
-
});
|
|
55
|
-
var maxHighlight = highlights.reduce(function (prev, cur) {
|
|
56
|
-
return Math.max(prev, cur);
|
|
57
|
-
});
|
|
58
|
-
if (side === 'left') {
|
|
59
|
-
return minHighlight < 0 && minHighlight <= -start && (typeof size === 'number' ? minHighlight >= -(start + size) : true);
|
|
60
|
-
} else {
|
|
61
|
-
return maxHighlight > GRID_SIZE && maxHighlight >= GRID_SIZE + start && (typeof size === 'number' ? maxHighlight <= GRID_SIZE + size : true);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
var gutterGridLines = function gutterGridLines(editorMaxWidth, editorWidth, highlights, shouldCalcBreakoutGridLines) {
|
|
65
|
-
var gridLines = [];
|
|
66
|
-
if (!shouldCalcBreakoutGridLines) {
|
|
67
|
-
return gridLines;
|
|
68
|
-
}
|
|
69
|
-
var wideSpacing = (editorMaxWidth * _editorSharedStyles.breakoutWideScaleRatio - editorMaxWidth) / 2;
|
|
70
|
-
sides.forEach(function (side) {
|
|
71
|
-
gridLines.push( /*#__PURE__*/_react.default.createElement("div", {
|
|
72
|
-
key: side,
|
|
73
|
-
className: (0, _classnames.default)('gridLine', overflowHighlight(highlights, side, 0, 4) ? 'highlight' : ''),
|
|
74
|
-
style: (0, _defineProperty2.default)({
|
|
75
|
-
position: 'absolute'
|
|
76
|
-
}, side, "-".concat(wideSpacing, "px"))
|
|
77
|
-
}));
|
|
78
|
-
gridLines.push( /*#__PURE__*/_react.default.createElement("div", {
|
|
79
|
-
key: side + '-bk',
|
|
80
|
-
className: (0, _classnames.default)('gridLine', highlights.indexOf('full-width') > -1 ? 'highlight' : ''),
|
|
81
|
-
style: (0, _defineProperty2.default)({
|
|
82
|
-
position: 'absolute'
|
|
83
|
-
}, side, "-".concat((editorWidth - editorMaxWidth - _editorSharedStyles.akEditorBreakoutPadding) / 2, "px"))
|
|
84
|
-
}));
|
|
85
|
-
});
|
|
86
|
-
return gridLines;
|
|
87
|
-
};
|
|
88
|
-
var lineLengthGridLines = function lineLengthGridLines(highlights) {
|
|
89
|
-
var gridLines = [];
|
|
90
|
-
var gridSpacing = 100 / GRID_SIZE;
|
|
91
|
-
for (var i = 0; i <= GRID_SIZE; i++) {
|
|
92
|
-
var style = {
|
|
93
|
-
paddingLeft: "".concat(gridSpacing, "%")
|
|
94
|
-
};
|
|
95
|
-
gridLines.push( /*#__PURE__*/_react.default.createElement("div", {
|
|
96
|
-
key: i,
|
|
97
|
-
className: (0, _classnames.default)('gridLine', highlights.indexOf(i) > -1 ? 'highlight' : ''),
|
|
98
|
-
style: i < GRID_SIZE ? style : undefined
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
return gridLines;
|
|
102
|
-
};
|
|
103
|
-
var Grid = /*#__PURE__*/function (_React$Component) {
|
|
104
|
-
(0, _inherits2.default)(Grid, _React$Component);
|
|
105
|
-
var _super = _createSuper(Grid);
|
|
106
|
-
function Grid() {
|
|
107
|
-
(0, _classCallCheck2.default)(this, Grid);
|
|
108
|
-
return _super.apply(this, arguments);
|
|
109
|
-
}
|
|
110
|
-
(0, _createClass2.default)(Grid, [{
|
|
111
|
-
key: "render",
|
|
112
|
-
value: function render() {
|
|
113
|
-
var _this$props = this.props,
|
|
114
|
-
highlight = _this$props.highlight,
|
|
115
|
-
shouldCalcBreakoutGridLines = _this$props.shouldCalcBreakoutGridLines,
|
|
116
|
-
theme = _this$props.theme,
|
|
117
|
-
containerElement = _this$props.containerElement,
|
|
118
|
-
editorWidth = _this$props.editorWidth,
|
|
119
|
-
gridType = _this$props.gridType,
|
|
120
|
-
visible = _this$props.visible;
|
|
121
|
-
var editorMaxWidth = theme.layoutMaxWidth;
|
|
122
|
-
var gridLines = [].concat((0, _toConsumableArray2.default)(lineLengthGridLines(highlight)), (0, _toConsumableArray2.default)(gutterGridLines(editorMaxWidth, editorWidth, highlight, shouldCalcBreakoutGridLines)));
|
|
123
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
124
|
-
className: "gridParent"
|
|
125
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
126
|
-
className: (0, _classnames.default)('gridContainer', gridType),
|
|
127
|
-
style: {
|
|
128
|
-
height: "".concat(containerElement.scrollHeight, "px"),
|
|
129
|
-
display: visible ? 'block' : 'none'
|
|
130
|
-
}
|
|
131
|
-
}, gridLines));
|
|
132
|
-
}
|
|
133
|
-
}]);
|
|
134
|
-
return Grid;
|
|
135
|
-
}(_react.default.Component);
|
|
136
|
-
var ThemedGrid = (0, _react2.withTheme)(Grid);
|
|
137
|
-
var ContentComponent = function ContentComponent(_ref3) {
|
|
138
|
-
var _widthState$width, _gridState$gridType;
|
|
139
|
-
var api = _ref3.api,
|
|
140
|
-
editorView = _ref3.editorView,
|
|
141
|
-
options = _ref3.options;
|
|
142
|
-
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['width', 'grid']),
|
|
143
|
-
widthState = _useSharedPluginState.widthState,
|
|
144
|
-
gridState = _useSharedPluginState.gridState;
|
|
145
|
-
if (!gridState) {
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
return /*#__PURE__*/_react.default.createElement(ThemedGrid, {
|
|
149
|
-
shouldCalcBreakoutGridLines: options && options.shouldCalcBreakoutGridLines,
|
|
150
|
-
editorWidth: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : _editorSharedStyles.akEditorFullPageMaxWidth,
|
|
151
|
-
containerElement: editorView.dom,
|
|
152
|
-
visible: gridState.visible,
|
|
153
|
-
gridType: (_gridState$gridType = gridState.gridType) !== null && _gridState$gridType !== void 0 ? _gridState$gridType : 'full',
|
|
154
|
-
highlight: gridState.highlight
|
|
155
|
-
});
|
|
156
|
-
};
|
|
157
|
-
var EMPTY_STATE = {
|
|
158
|
-
visible: false,
|
|
159
|
-
highlight: []
|
|
160
|
-
};
|
|
161
|
-
var gridPMPlugin = new _safePlugin.SafePlugin({
|
|
162
|
-
key: key,
|
|
163
|
-
state: {
|
|
164
|
-
init: function init() {
|
|
165
|
-
return EMPTY_STATE;
|
|
166
|
-
},
|
|
167
|
-
apply: function apply(tr, currentPluginState) {
|
|
168
|
-
var nextPluginState = tr.getMeta(key);
|
|
169
|
-
if (nextPluginState) {
|
|
170
|
-
return nextPluginState;
|
|
171
|
-
}
|
|
172
|
-
return currentPluginState;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
var gridPlugin = function gridPlugin(options, api) {
|
|
177
|
-
return {
|
|
178
|
-
name: 'grid',
|
|
179
|
-
getSharedState: function getSharedState(editorState) {
|
|
180
|
-
if (!editorState) {
|
|
181
|
-
return null;
|
|
182
|
-
}
|
|
183
|
-
return key.getState(editorState);
|
|
184
|
-
},
|
|
185
|
-
actions: {
|
|
186
|
-
displayGrid: createDisplayGrid
|
|
187
|
-
},
|
|
188
|
-
pmPlugins: function pmPlugins() {
|
|
189
|
-
return [{
|
|
190
|
-
name: 'grid',
|
|
191
|
-
plugin: function plugin() {
|
|
192
|
-
return gridPMPlugin;
|
|
193
|
-
}
|
|
194
|
-
}];
|
|
195
|
-
},
|
|
196
|
-
contentComponent: function contentComponent(_ref4) {
|
|
197
|
-
var editorView = _ref4.editorView;
|
|
198
|
-
return /*#__PURE__*/_react.default.createElement(ContentComponent, {
|
|
199
|
-
editorView: editorView,
|
|
200
|
-
options: options,
|
|
201
|
-
api: api
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
};
|
|
206
|
-
var _default = gridPlugin;
|
|
207
|
-
exports.default = _default;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.gridStyles = exports.GRID_GUTTER = void 0;
|
|
8
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var _react = require("@emotion/react");
|
|
10
|
-
var _colors = require("@atlaskit/theme/colors");
|
|
11
|
-
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
12
|
-
var _templateObject;
|
|
13
|
-
var GRID_GUTTER = 12;
|
|
14
|
-
exports.GRID_GUTTER = GRID_GUTTER;
|
|
15
|
-
var gridStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: -", "px;\n margin-right: -", "px;\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, GRID_GUTTER, GRID_GUTTER, _editorSharedStyles.akEditorGridLineZIndex, "var(--ds-border, ".concat(_colors.N30A, ")"), "var(--ds-border-focused, ".concat(_colors.B200, ")"));
|
|
16
|
-
exports.gridStyles = gridStyles;
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createPlugin = createPlugin;
|
|
8
|
-
exports.pluginKey = exports.default = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
11
|
-
var _prosemirrorState = require("prosemirror-state");
|
|
12
|
-
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; }
|
|
13
|
-
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; }
|
|
14
|
-
/**
|
|
15
|
-
* @private
|
|
16
|
-
* @deprecated
|
|
17
|
-
*
|
|
18
|
-
* Do not use this plugin key directly. Please use the `sharedState` of this plugin instead.
|
|
19
|
-
*/
|
|
20
|
-
var pluginKey = new _prosemirrorState.PluginKey('widthPlugin');
|
|
21
|
-
exports.pluginKey = pluginKey;
|
|
22
|
-
function createPlugin(dispatch) {
|
|
23
|
-
return new _safePlugin.SafePlugin({
|
|
24
|
-
key: pluginKey,
|
|
25
|
-
state: {
|
|
26
|
-
init: function init() {
|
|
27
|
-
return {
|
|
28
|
-
width: document.body.offsetWidth,
|
|
29
|
-
containerWidth: document.body.offsetWidth
|
|
30
|
-
};
|
|
31
|
-
},
|
|
32
|
-
apply: function apply(tr, pluginState) {
|
|
33
|
-
var meta = tr.getMeta(pluginKey);
|
|
34
|
-
if (!meta) {
|
|
35
|
-
return pluginState;
|
|
36
|
-
}
|
|
37
|
-
var newPluginState = _objectSpread(_objectSpread({}, pluginState), meta);
|
|
38
|
-
if (newPluginState && (pluginState.width !== newPluginState.width || pluginState.lineLength !== newPluginState.lineLength) || pluginState.containerWidth !== newPluginState.containerWidth) {
|
|
39
|
-
dispatch(pluginKey, newPluginState);
|
|
40
|
-
return newPluginState;
|
|
41
|
-
}
|
|
42
|
-
return pluginState;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
var widthPlugin = function widthPlugin() {
|
|
48
|
-
return {
|
|
49
|
-
name: 'width',
|
|
50
|
-
pmPlugins: function pmPlugins() {
|
|
51
|
-
return [{
|
|
52
|
-
name: 'width',
|
|
53
|
-
plugin: function plugin(_ref) {
|
|
54
|
-
var dispatch = _ref.dispatch;
|
|
55
|
-
return createPlugin(dispatch);
|
|
56
|
-
}
|
|
57
|
-
}];
|
|
58
|
-
},
|
|
59
|
-
getSharedState: function getSharedState(editorState) {
|
|
60
|
-
if (!editorState) {
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
return pluginKey.getState(editorState);
|
|
64
|
-
},
|
|
65
|
-
// do this early here, otherwise we have to wait for WidthEmitter to debounce
|
|
66
|
-
// which causes anything dependent on lineLength to jump around
|
|
67
|
-
contentComponent: function contentComponent(_ref2) {
|
|
68
|
-
var editorView = _ref2.editorView,
|
|
69
|
-
containerElement = _ref2.containerElement;
|
|
70
|
-
var newState = {
|
|
71
|
-
lineLength: editorView.dom.clientWidth
|
|
72
|
-
};
|
|
73
|
-
if (containerElement) {
|
|
74
|
-
var _containerElement$par;
|
|
75
|
-
newState.width = containerElement.offsetWidth;
|
|
76
|
-
|
|
77
|
-
// wrapper width is used by context panel to determine whether there is
|
|
78
|
-
// enough space to open without overlapping the editor
|
|
79
|
-
newState.containerWidth = (_containerElement$par = containerElement.parentElement) === null || _containerElement$par === void 0 ? void 0 : _containerElement$par.offsetWidth;
|
|
80
|
-
}
|
|
81
|
-
var tr = editorView.state.tr.setMeta(pluginKey, newState);
|
|
82
|
-
editorView.dispatch(tr);
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
};
|
|
87
|
-
var _default = widthPlugin;
|
|
88
|
-
exports.default = _default;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ContextPanelWidthProvider = exports.ContextPanelProvider = exports.ContextPanelConsumer = exports.ContextPanel = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _react = _interopRequireDefault(require("react"));
|
|
16
|
-
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); }; }
|
|
17
|
-
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; } }
|
|
18
|
-
// React context to communicate the active context panel width up and down the tree.
|
|
19
|
-
//
|
|
20
|
-
// We need the width prop from the ContextPanel component.
|
|
21
|
-
//
|
|
22
|
-
// However, the actual <ContextPanel /> component might be deeply nested inside the contextPanel.
|
|
23
|
-
// For example, in the template context panel storybook, we wrap it in 2 higher order components.
|
|
24
|
-
//
|
|
25
|
-
// Changing the max-width on the main editor container happens above where the <ContextPanel /> gets rendered.
|
|
26
|
-
//
|
|
27
|
-
// To subtract the context panel width from the available real estate, we use the Provider and Consumer.
|
|
28
|
-
//
|
|
29
|
-
// positionedOverEditor is used to determine whether the context panel is positioned over the Editor so we are
|
|
30
|
-
// able to position and add margins to handle certain elements like inline comment dialogues overlapping the context
|
|
31
|
-
// panel
|
|
32
|
-
|
|
33
|
-
var ContextPanel = /*#__PURE__*/_react.default.createContext({
|
|
34
|
-
width: 0,
|
|
35
|
-
positionedOverEditor: false,
|
|
36
|
-
broadcastWidth: function broadcastWidth() {},
|
|
37
|
-
broadcastPosition: function broadcastPosition() {}
|
|
38
|
-
});
|
|
39
|
-
exports.ContextPanel = ContextPanel;
|
|
40
|
-
var ContextPanelWidthProvider = /*#__PURE__*/function (_React$Component) {
|
|
41
|
-
(0, _inherits2.default)(ContextPanelWidthProvider, _React$Component);
|
|
42
|
-
var _super = _createSuper(ContextPanelWidthProvider);
|
|
43
|
-
function ContextPanelWidthProvider(props) {
|
|
44
|
-
var _this;
|
|
45
|
-
(0, _classCallCheck2.default)(this, ContextPanelWidthProvider);
|
|
46
|
-
_this = _super.call(this, props);
|
|
47
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
48
|
-
width: 0,
|
|
49
|
-
positionedOverEditor: false
|
|
50
|
-
});
|
|
51
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "broadcastSidebarWidth", function (width) {
|
|
52
|
-
if (width !== _this.state.width) {
|
|
53
|
-
_this.setState({
|
|
54
|
-
width: width
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "broadcastPosition", function (positionedOverEditor) {
|
|
59
|
-
if (positionedOverEditor !== _this.state.positionedOverEditor) {
|
|
60
|
-
_this.setState({
|
|
61
|
-
positionedOverEditor: positionedOverEditor
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
return _this;
|
|
66
|
-
}
|
|
67
|
-
(0, _createClass2.default)(ContextPanelWidthProvider, [{
|
|
68
|
-
key: "render",
|
|
69
|
-
value: function render() {
|
|
70
|
-
var _this$state = this.state,
|
|
71
|
-
width = _this$state.width,
|
|
72
|
-
positionedOverEditor = _this$state.positionedOverEditor;
|
|
73
|
-
return /*#__PURE__*/_react.default.createElement(Provider, {
|
|
74
|
-
value: {
|
|
75
|
-
width: width,
|
|
76
|
-
positionedOverEditor: positionedOverEditor,
|
|
77
|
-
broadcastWidth: this.broadcastSidebarWidth,
|
|
78
|
-
broadcastPosition: this.broadcastPosition
|
|
79
|
-
}
|
|
80
|
-
}, this.props.children);
|
|
81
|
-
}
|
|
82
|
-
}]);
|
|
83
|
-
return ContextPanelWidthProvider;
|
|
84
|
-
}(_react.default.Component);
|
|
85
|
-
exports.ContextPanelWidthProvider = ContextPanelWidthProvider;
|
|
86
|
-
var Provider = ContextPanel.Provider,
|
|
87
|
-
Consumer = ContextPanel.Consumer;
|
|
88
|
-
exports.ContextPanelConsumer = Consumer;
|
|
89
|
-
exports.ContextPanelProvider = Provider;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import classnames from 'classnames';
|
|
3
|
-
import { withTheme } from '@emotion/react';
|
|
4
|
-
import { PluginKey } from 'prosemirror-state';
|
|
5
|
-
import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
|
|
6
|
-
import { breakoutWideScaleRatio, akEditorFullPageMaxWidth, akEditorBreakoutPadding } from '@atlaskit/editor-shared-styles';
|
|
7
|
-
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
8
|
-
export const GRID_SIZE = 12;
|
|
9
|
-
const key = new PluginKey('gridPlugin');
|
|
10
|
-
const createDisplayGrid = view => props => {
|
|
11
|
-
const {
|
|
12
|
-
dispatch,
|
|
13
|
-
state
|
|
14
|
-
} = view;
|
|
15
|
-
const tr = state.tr.setMeta(key, props);
|
|
16
|
-
dispatch(tr);
|
|
17
|
-
return true;
|
|
18
|
-
};
|
|
19
|
-
export const gridTypeForLayout = layout => layout === 'wrap-left' || layout === 'wrap-right' ? 'wrapped' : 'full';
|
|
20
|
-
const sides = ['left', 'right'];
|
|
21
|
-
const overflowHighlight = (highlights, side, start, size) => {
|
|
22
|
-
if (!highlights.length) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
const minHighlight = highlights.reduce((prev, cur) => Math.min(prev, cur));
|
|
26
|
-
const maxHighlight = highlights.reduce((prev, cur) => Math.max(prev, cur));
|
|
27
|
-
if (side === 'left') {
|
|
28
|
-
return minHighlight < 0 && minHighlight <= -start && (typeof size === 'number' ? minHighlight >= -(start + size) : true);
|
|
29
|
-
} else {
|
|
30
|
-
return maxHighlight > GRID_SIZE && maxHighlight >= GRID_SIZE + start && (typeof size === 'number' ? maxHighlight <= GRID_SIZE + size : true);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
const gutterGridLines = (editorMaxWidth, editorWidth, highlights, shouldCalcBreakoutGridLines) => {
|
|
34
|
-
const gridLines = [];
|
|
35
|
-
if (!shouldCalcBreakoutGridLines) {
|
|
36
|
-
return gridLines;
|
|
37
|
-
}
|
|
38
|
-
const wideSpacing = (editorMaxWidth * breakoutWideScaleRatio - editorMaxWidth) / 2;
|
|
39
|
-
sides.forEach(side => {
|
|
40
|
-
gridLines.push( /*#__PURE__*/React.createElement("div", {
|
|
41
|
-
key: side,
|
|
42
|
-
className: classnames('gridLine', overflowHighlight(highlights, side, 0, 4) ? 'highlight' : ''),
|
|
43
|
-
style: {
|
|
44
|
-
position: 'absolute',
|
|
45
|
-
[side]: `-${wideSpacing}px`
|
|
46
|
-
}
|
|
47
|
-
}));
|
|
48
|
-
gridLines.push( /*#__PURE__*/React.createElement("div", {
|
|
49
|
-
key: side + '-bk',
|
|
50
|
-
className: classnames('gridLine', highlights.indexOf('full-width') > -1 ? 'highlight' : ''),
|
|
51
|
-
style: {
|
|
52
|
-
position: 'absolute',
|
|
53
|
-
[side]: `-${(editorWidth - editorMaxWidth - akEditorBreakoutPadding) / 2}px`
|
|
54
|
-
}
|
|
55
|
-
}));
|
|
56
|
-
});
|
|
57
|
-
return gridLines;
|
|
58
|
-
};
|
|
59
|
-
const lineLengthGridLines = highlights => {
|
|
60
|
-
const gridLines = [];
|
|
61
|
-
const gridSpacing = 100 / GRID_SIZE;
|
|
62
|
-
for (let i = 0; i <= GRID_SIZE; i++) {
|
|
63
|
-
const style = {
|
|
64
|
-
paddingLeft: `${gridSpacing}%`
|
|
65
|
-
};
|
|
66
|
-
gridLines.push( /*#__PURE__*/React.createElement("div", {
|
|
67
|
-
key: i,
|
|
68
|
-
className: classnames('gridLine', highlights.indexOf(i) > -1 ? 'highlight' : ''),
|
|
69
|
-
style: i < GRID_SIZE ? style : undefined
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
return gridLines;
|
|
73
|
-
};
|
|
74
|
-
class Grid extends React.Component {
|
|
75
|
-
render() {
|
|
76
|
-
const {
|
|
77
|
-
highlight,
|
|
78
|
-
shouldCalcBreakoutGridLines,
|
|
79
|
-
theme,
|
|
80
|
-
containerElement,
|
|
81
|
-
editorWidth,
|
|
82
|
-
gridType,
|
|
83
|
-
visible
|
|
84
|
-
} = this.props;
|
|
85
|
-
const editorMaxWidth = theme.layoutMaxWidth;
|
|
86
|
-
let gridLines = [...lineLengthGridLines(highlight), ...gutterGridLines(editorMaxWidth, editorWidth, highlight, shouldCalcBreakoutGridLines)];
|
|
87
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
88
|
-
className: "gridParent"
|
|
89
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
90
|
-
className: classnames('gridContainer', gridType),
|
|
91
|
-
style: {
|
|
92
|
-
height: `${containerElement.scrollHeight}px`,
|
|
93
|
-
display: visible ? 'block' : 'none'
|
|
94
|
-
}
|
|
95
|
-
}, gridLines));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
const ThemedGrid = withTheme(Grid);
|
|
99
|
-
const ContentComponent = ({
|
|
100
|
-
api,
|
|
101
|
-
editorView,
|
|
102
|
-
options
|
|
103
|
-
}) => {
|
|
104
|
-
var _widthState$width, _gridState$gridType;
|
|
105
|
-
const {
|
|
106
|
-
widthState,
|
|
107
|
-
gridState
|
|
108
|
-
} = useSharedPluginState(api, ['width', 'grid']);
|
|
109
|
-
if (!gridState) {
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
return /*#__PURE__*/React.createElement(ThemedGrid, {
|
|
113
|
-
shouldCalcBreakoutGridLines: options && options.shouldCalcBreakoutGridLines,
|
|
114
|
-
editorWidth: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : akEditorFullPageMaxWidth,
|
|
115
|
-
containerElement: editorView.dom,
|
|
116
|
-
visible: gridState.visible,
|
|
117
|
-
gridType: (_gridState$gridType = gridState.gridType) !== null && _gridState$gridType !== void 0 ? _gridState$gridType : 'full',
|
|
118
|
-
highlight: gridState.highlight
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
const EMPTY_STATE = {
|
|
122
|
-
visible: false,
|
|
123
|
-
highlight: []
|
|
124
|
-
};
|
|
125
|
-
const gridPMPlugin = new SafePlugin({
|
|
126
|
-
key,
|
|
127
|
-
state: {
|
|
128
|
-
init() {
|
|
129
|
-
return EMPTY_STATE;
|
|
130
|
-
},
|
|
131
|
-
apply(tr, currentPluginState) {
|
|
132
|
-
const nextPluginState = tr.getMeta(key);
|
|
133
|
-
if (nextPluginState) {
|
|
134
|
-
return nextPluginState;
|
|
135
|
-
}
|
|
136
|
-
return currentPluginState;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
const gridPlugin = (options, api) => {
|
|
141
|
-
return {
|
|
142
|
-
name: 'grid',
|
|
143
|
-
getSharedState(editorState) {
|
|
144
|
-
if (!editorState) {
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return key.getState(editorState);
|
|
148
|
-
},
|
|
149
|
-
actions: {
|
|
150
|
-
displayGrid: createDisplayGrid
|
|
151
|
-
},
|
|
152
|
-
pmPlugins() {
|
|
153
|
-
return [{
|
|
154
|
-
name: 'grid',
|
|
155
|
-
plugin: () => gridPMPlugin
|
|
156
|
-
}];
|
|
157
|
-
},
|
|
158
|
-
contentComponent: ({
|
|
159
|
-
editorView
|
|
160
|
-
}) => /*#__PURE__*/React.createElement(ContentComponent, {
|
|
161
|
-
editorView: editorView,
|
|
162
|
-
options: options,
|
|
163
|
-
api: api
|
|
164
|
-
})
|
|
165
|
-
};
|
|
166
|
-
};
|
|
167
|
-
export default gridPlugin;
|
|
168
|
-
export { GRID_GUTTER } from './styles';
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { css } from '@emotion/react';
|
|
2
|
-
import { N30A, B200 } from '@atlaskit/theme/colors';
|
|
3
|
-
import { akEditorGridLineZIndex } from '@atlaskit/editor-shared-styles';
|
|
4
|
-
export const GRID_GUTTER = 12;
|
|
5
|
-
export const gridStyles = css`
|
|
6
|
-
.gridParent {
|
|
7
|
-
width: calc(100% + ${GRID_GUTTER * 2}px);
|
|
8
|
-
margin-left: -${GRID_GUTTER}px;
|
|
9
|
-
margin-right: -${GRID_GUTTER}px;
|
|
10
|
-
transform: scale(1);
|
|
11
|
-
z-index: ${akEditorGridLineZIndex};
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.gridContainer {
|
|
15
|
-
position: fixed;
|
|
16
|
-
height: 100vh;
|
|
17
|
-
width: 100%;
|
|
18
|
-
pointer-events: none;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// TODO: https://product-fabric.atlassian.net/browse/DSP-4352
|
|
22
|
-
.gridLine {
|
|
23
|
-
border-left: 1px solid ${`var(--ds-border, ${N30A})`};
|
|
24
|
-
display: inline-block;
|
|
25
|
-
box-sizing: border-box;
|
|
26
|
-
height: 100%;
|
|
27
|
-
margin-left: -1px;
|
|
28
|
-
|
|
29
|
-
transition: border-color 0.15s linear;
|
|
30
|
-
z-index: 0;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.highlight {
|
|
34
|
-
border-left: 1px solid ${`var(--ds-border-focused, ${B200})`};
|
|
35
|
-
}
|
|
36
|
-
`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|