@atlaskit/editor-common 74.5.2 → 74.7.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 +12 -0
- package/dist/cjs/analytics/index.js +26 -1
- package/dist/cjs/analytics/linking-utils.js +84 -0
- package/dist/cjs/card/MediaAndEmbedsToolbar/index.js +156 -0
- package/dist/cjs/card/index.js +9 -1
- package/dist/cjs/messages/index.js +14 -0
- package/dist/cjs/messages/link-toolbar.js +60 -0
- package/dist/cjs/messages/media-and-embed-toolbar.js +20 -0
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/node-width/index.js +16 -2
- package/dist/cjs/react-node-view/getInlineNodeViewProducer.js +225 -0
- package/dist/cjs/react-node-view/index.js +13 -0
- package/dist/cjs/{ui/Resizer/index.js → resizer/Resizer.js} +6 -3
- package/dist/cjs/{resizer.js → resizer/index.js} +1 -1
- package/dist/cjs/resizer/utils.js +21 -0
- package/dist/cjs/styles/shared/resizer.js +1 -1
- package/dist/cjs/styles/shared/table.js +5 -4
- package/dist/cjs/types/hyperlink.js +5 -0
- package/dist/cjs/types/resizable-media-single.js +5 -0
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/LinkSearch/const.js +14 -0
- package/dist/cjs/ui/ResizerLegacy/index.js +210 -0
- package/dist/cjs/ui/ResizerLegacy/styled.js +15 -0
- package/dist/cjs/ui/ResizerLegacy/types.js +5 -0
- package/dist/cjs/ui/ResizerLegacy/utils.js +21 -0
- package/dist/cjs/ui/index.js +58 -0
- package/dist/cjs/utils/document.js +258 -0
- package/dist/cjs/utils/editor-core-utils.js +7 -2
- package/dist/cjs/utils/filter/privacy-filter.js +55 -0
- package/dist/cjs/utils/index.js +75 -0
- package/dist/cjs/utils/rich-media-utils.js +131 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/index.js +2 -1
- package/dist/es2019/analytics/linking-utils.js +74 -0
- package/dist/es2019/card/MediaAndEmbedsToolbar/index.js +161 -0
- package/dist/es2019/card/index.js +2 -1
- package/dist/es2019/messages/index.js +2 -0
- package/dist/es2019/messages/link-toolbar.js +53 -0
- package/dist/es2019/messages/media-and-embed-toolbar.js +13 -0
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/node-width/index.js +12 -1
- package/dist/es2019/react-node-view/getInlineNodeViewProducer.js +219 -0
- package/dist/es2019/react-node-view/index.js +1 -0
- package/dist/es2019/{ui/Resizer/index.js → resizer/Resizer.js} +5 -3
- package/dist/es2019/resizer/index.js +1 -0
- package/dist/es2019/resizer/utils.js +12 -0
- package/dist/es2019/styles/shared/resizer.js +8 -4
- package/dist/es2019/styles/shared/table.js +5 -4
- package/dist/es2019/types/resizable-media-single.js +1 -0
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/LinkSearch/const.js +4 -0
- package/dist/es2019/ui/ResizerLegacy/index.js +191 -0
- package/dist/es2019/ui/ResizerLegacy/styled.js +15 -0
- package/dist/es2019/ui/ResizerLegacy/types.js +1 -0
- package/dist/es2019/ui/ResizerLegacy/utils.js +12 -0
- package/dist/es2019/ui/index.js +5 -1
- package/dist/es2019/utils/document.js +253 -0
- package/dist/es2019/utils/editor-core-utils.js +4 -0
- package/dist/es2019/utils/filter/privacy-filter.js +47 -0
- package/dist/es2019/utils/index.js +5 -2
- package/dist/es2019/utils/rich-media-utils.js +109 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/index.js +2 -1
- package/dist/esm/analytics/linking-utils.js +74 -0
- package/dist/esm/card/MediaAndEmbedsToolbar/index.js +146 -0
- package/dist/esm/card/index.js +2 -1
- package/dist/esm/messages/index.js +2 -0
- package/dist/esm/messages/link-toolbar.js +53 -0
- package/dist/esm/messages/media-and-embed-toolbar.js +13 -0
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/node-width/index.js +12 -1
- package/dist/esm/react-node-view/getInlineNodeViewProducer.js +215 -0
- package/dist/esm/react-node-view/index.js +1 -0
- package/dist/esm/{ui/Resizer/index.js → resizer/Resizer.js} +6 -3
- package/dist/esm/resizer/index.js +1 -0
- package/dist/esm/resizer/types.js +1 -0
- package/dist/esm/resizer/utils.js +12 -0
- package/dist/esm/styles/shared/resizer.js +1 -1
- package/dist/esm/styles/shared/table.js +5 -4
- package/dist/esm/types/hyperlink.js +1 -0
- package/dist/esm/types/resizable-media-single.js +1 -0
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/LinkSearch/const.js +4 -0
- package/dist/esm/ui/ResizerLegacy/index.js +203 -0
- package/dist/esm/ui/ResizerLegacy/styled.js +7 -0
- package/dist/esm/ui/ResizerLegacy/types.js +1 -0
- package/dist/esm/ui/ResizerLegacy/utils.js +12 -0
- package/dist/esm/ui/index.js +5 -1
- package/dist/esm/utils/document.js +246 -0
- package/dist/esm/utils/editor-core-utils.js +4 -0
- package/dist/esm/utils/filter/privacy-filter.js +48 -0
- package/dist/esm/utils/index.js +5 -2
- package/dist/esm/utils/rich-media-utils.js +118 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics/index.d.ts +2 -0
- package/dist/types/analytics/linking-utils.d.ts +14 -0
- package/dist/types/card/MediaAndEmbedsToolbar/index.d.ts +11 -0
- package/dist/types/card/index.d.ts +1 -0
- package/dist/types/messages/index.d.ts +2 -0
- package/dist/types/messages/link-toolbar.d.ts +52 -0
- package/dist/types/messages/media-and-embed-toolbar.d.ts +12 -0
- package/dist/types/node-width/index.d.ts +7 -0
- package/dist/types/react-node-view/getInlineNodeViewProducer.d.ts +25 -0
- package/dist/types/react-node-view/index.d.ts +3 -0
- package/dist/types/{ui/Resizer/index.d.ts → resizer/Resizer.d.ts} +1 -0
- package/dist/types/resizer/index.d.ts +2 -0
- package/dist/types/resizer/utils.d.ts +6 -0
- package/dist/types/styles/shared/table.d.ts +2 -1
- package/dist/types/types/hyperlink.d.ts +35 -0
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/resizable-media-single.d.ts +15 -0
- package/dist/types/ui/DropList/index.d.ts +1 -1
- package/dist/types/ui/LinkSearch/const.d.ts +4 -0
- package/dist/types/ui/ResizerLegacy/index.d.ts +40 -0
- package/dist/types/ui/ResizerLegacy/styled.d.ts +2 -0
- package/dist/types/ui/ResizerLegacy/types.d.ts +26 -0
- package/dist/types/ui/ResizerLegacy/utils.d.ts +6 -0
- package/dist/types/ui/index.d.ts +6 -0
- package/dist/types/utils/document.d.ts +19 -0
- package/dist/types/utils/editor-core-utils.d.ts +1 -0
- package/dist/types/utils/filter/privacy-filter.d.ts +9 -0
- package/dist/types/utils/index.d.ts +4 -1
- package/dist/types/utils/rich-media-utils.d.ts +8 -0
- package/dist/types-ts4.5/analytics/index.d.ts +2 -0
- package/dist/types-ts4.5/analytics/linking-utils.d.ts +14 -0
- package/dist/types-ts4.5/card/MediaAndEmbedsToolbar/index.d.ts +11 -0
- package/dist/types-ts4.5/card/index.d.ts +1 -0
- package/dist/types-ts4.5/messages/index.d.ts +2 -0
- package/dist/types-ts4.5/messages/link-toolbar.d.ts +52 -0
- package/dist/types-ts4.5/messages/media-and-embed-toolbar.d.ts +12 -0
- package/dist/types-ts4.5/node-width/index.d.ts +7 -0
- package/dist/types-ts4.5/react-node-view/getInlineNodeViewProducer.d.ts +25 -0
- package/dist/types-ts4.5/react-node-view/index.d.ts +3 -0
- package/dist/types-ts4.5/{ui/Resizer/index.d.ts → resizer/Resizer.d.ts} +1 -0
- package/dist/types-ts4.5/resizer/index.d.ts +2 -0
- package/dist/types-ts4.5/resizer/utils.d.ts +6 -0
- package/dist/types-ts4.5/styles/shared/table.d.ts +2 -1
- package/dist/types-ts4.5/types/hyperlink.d.ts +35 -0
- package/dist/types-ts4.5/types/index.d.ts +2 -0
- package/dist/types-ts4.5/types/resizable-media-single.d.ts +15 -0
- package/dist/types-ts4.5/ui/DropList/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/LinkSearch/const.d.ts +4 -0
- package/dist/types-ts4.5/ui/ResizerLegacy/index.d.ts +40 -0
- package/dist/types-ts4.5/ui/ResizerLegacy/styled.d.ts +2 -0
- package/dist/types-ts4.5/ui/ResizerLegacy/types.d.ts +26 -0
- package/dist/types-ts4.5/ui/ResizerLegacy/utils.d.ts +6 -0
- package/dist/types-ts4.5/ui/index.d.ts +6 -0
- package/dist/types-ts4.5/utils/document.d.ts +19 -0
- package/dist/types-ts4.5/utils/editor-core-utils.d.ts +1 -0
- package/dist/types-ts4.5/utils/filter/privacy-filter.d.ts +9 -0
- package/dist/types-ts4.5/utils/index.d.ts +4 -1
- package/dist/types-ts4.5/utils/rich-media-utils.d.ts +8 -0
- package/package.json +9 -9
- package/resizer/package.json +5 -5
- package/dist/cjs/ui/Resizer/utils.js +0 -8
- package/dist/es2019/resizer.js +0 -1
- package/dist/es2019/ui/Resizer/utils.js +0 -1
- package/dist/esm/resizer.js +0 -1
- package/dist/esm/ui/Resizer/utils.js +0 -1
- package/dist/types/resizer.d.ts +0 -2
- package/dist/types/ui/Resizer/utils.d.ts +0 -1
- package/dist/types-ts4.5/resizer.d.ts +0 -2
- package/dist/types-ts4.5/ui/Resizer/utils.d.ts +0 -1
- /package/dist/cjs/{ui/Resizer → resizer}/types.js +0 -0
- /package/dist/es2019/{ui/Resizer → resizer}/types.js +0 -0
- /package/dist/{esm/ui/Resizer/types.js → es2019/types/hyperlink.js} +0 -0
- /package/dist/types/{ui/Resizer → resizer}/types.d.ts +0 -0
- /package/dist/types-ts4.5/{ui/Resizer → resizer}/types.d.ts +0 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getInlineNodeViewProducer = getInlineNodeViewProducer;
|
|
8
|
+
exports.inlineNodeViewClassname = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _react2 = require("@emotion/react");
|
|
12
|
+
var _analytics = require("../analytics");
|
|
13
|
+
var _ErrorBoundary = require("../ui/ErrorBoundary");
|
|
14
|
+
var _utils = require("../utils");
|
|
15
|
+
/** @jsx jsx */
|
|
16
|
+
|
|
17
|
+
var inlineNodeViewClassname = 'inlineNodeView';
|
|
18
|
+
exports.inlineNodeViewClassname = inlineNodeViewClassname;
|
|
19
|
+
function createNodeView(_ref) {
|
|
20
|
+
var nodeViewParams = _ref.nodeViewParams,
|
|
21
|
+
pmPluginFactoryParams = _ref.pmPluginFactoryParams,
|
|
22
|
+
Component = _ref.Component,
|
|
23
|
+
extraComponentProps = _ref.extraComponentProps;
|
|
24
|
+
// We set a variable for the current node which is
|
|
25
|
+
// used for comparisions when doing updates, before being
|
|
26
|
+
// overwritten to the updated node.
|
|
27
|
+
var currentNode = nodeViewParams.node;
|
|
28
|
+
|
|
29
|
+
// First we setup the dom element which will be rendered and "tracked" by prosemirror
|
|
30
|
+
// and also used as a "editor portal" (not react portal) target by the editor
|
|
31
|
+
// portal provider api, for rendering the Component passed.
|
|
32
|
+
|
|
33
|
+
var domRef = document.createElement('span');
|
|
34
|
+
domRef.contentEditable = 'false';
|
|
35
|
+
setDomAttrs(nodeViewParams.node, domRef);
|
|
36
|
+
|
|
37
|
+
// @see ED-3790
|
|
38
|
+
// something gets messed up during mutation processing inside of a
|
|
39
|
+
// nodeView if DOM structure has nested plain "div"s, it doesn't see the
|
|
40
|
+
// difference between them and it kills the nodeView
|
|
41
|
+
domRef.classList.add("".concat(nodeViewParams.node.type.name, "View-content-wrap"), "".concat(inlineNodeViewClassname));
|
|
42
|
+
|
|
43
|
+
// This util is shared for tracking rendering, and the ErrorBoundary that
|
|
44
|
+
// is setup to wrap the Component when rendering
|
|
45
|
+
// NOTE: This is not a prosemirror dispatch
|
|
46
|
+
function dispatchAnalyticsEvent(payload) {
|
|
47
|
+
pmPluginFactoryParams.eventDispatcher.emit(_utils.analyticsEventKey, {
|
|
48
|
+
payload: payload
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// This is called to render the Component into domRef which is inside the
|
|
53
|
+
// prosemirror View.
|
|
54
|
+
// Internally it uses the unstable_renderSubtreeIntoContainer api to render,
|
|
55
|
+
// to the passed dom element (domRef) which means it is automatically
|
|
56
|
+
// "cleaned up" when you do a "re render".
|
|
57
|
+
function renderComponent() {
|
|
58
|
+
pmPluginFactoryParams.portalProviderAPI.render(getPortalChildren({
|
|
59
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
60
|
+
currentNode: currentNode,
|
|
61
|
+
nodeViewParams: nodeViewParams,
|
|
62
|
+
Component: Component,
|
|
63
|
+
extraComponentProps: extraComponentProps
|
|
64
|
+
}), domRef, false,
|
|
65
|
+
// node views should be rendered with intl context
|
|
66
|
+
true);
|
|
67
|
+
}
|
|
68
|
+
var _getPerformanceOption = (0, _utils.getPerformanceOptions)(nodeViewParams.view),
|
|
69
|
+
samplingRate = _getPerformanceOption.samplingRate,
|
|
70
|
+
slowThreshold = _getPerformanceOption.slowThreshold,
|
|
71
|
+
trackingEnabled = _getPerformanceOption.trackingEnabled;
|
|
72
|
+
trackingEnabled && (0, _utils.startMeasureReactNodeViewRendered)({
|
|
73
|
+
nodeTypeName: currentNode.type.name
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// We render the component while creating the node view
|
|
77
|
+
renderComponent();
|
|
78
|
+
trackingEnabled && (0, _utils.stopMeasureReactNodeViewRendered)({
|
|
79
|
+
nodeTypeName: currentNode.type.name,
|
|
80
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
81
|
+
editorState: nodeViewParams.view.state,
|
|
82
|
+
samplingRate: samplingRate,
|
|
83
|
+
slowThreshold: slowThreshold
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// https://prosemirror.net/docs/ref/#view.NodeView
|
|
87
|
+
var nodeView = {
|
|
88
|
+
get dom() {
|
|
89
|
+
return domRef;
|
|
90
|
+
},
|
|
91
|
+
update: function update(nextNode, _decorations) {
|
|
92
|
+
// Let ProseMirror handle the update if node types are different.
|
|
93
|
+
// This prevents an issue where it was not possible to select the
|
|
94
|
+
// inline node view then replace it by entering text - the node
|
|
95
|
+
// view contents would be deleted but the node view itself would
|
|
96
|
+
// stay in the view and become uneditable.
|
|
97
|
+
if (currentNode.type !== nextNode.type) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
// On updates, we only set the new attributes if the type, attributes, and marks
|
|
101
|
+
// have changed on the node.
|
|
102
|
+
|
|
103
|
+
// NOTE: this could mean attrs changes aren't reflected in the dom,
|
|
104
|
+
// when an attribute key which was previously present is no longer
|
|
105
|
+
// present.
|
|
106
|
+
// ie.
|
|
107
|
+
// -> Original attributes { text: "hello world", color: "red" }
|
|
108
|
+
// -> Updated attributes { color: "blue" }
|
|
109
|
+
// in this case, the dom text attribute will not be cleared.
|
|
110
|
+
//
|
|
111
|
+
// This may not be an issue with any of our current node schemas.
|
|
112
|
+
if (!currentNode.sameMarkup(nextNode)) {
|
|
113
|
+
setDomAttrs(nextNode, domRef);
|
|
114
|
+
}
|
|
115
|
+
currentNode = nextNode;
|
|
116
|
+
renderComponent();
|
|
117
|
+
return true;
|
|
118
|
+
},
|
|
119
|
+
destroy: function destroy() {
|
|
120
|
+
// When prosemirror destroys the node view, we need to clean up
|
|
121
|
+
// what we have previously rendered using the editor portal
|
|
122
|
+
// provider api.
|
|
123
|
+
pmPluginFactoryParams.portalProviderAPI.remove(domRef);
|
|
124
|
+
// @ts-expect-error Expect an error as domRef is expected to be
|
|
125
|
+
// of HTMLSpanElement type however once the node view has
|
|
126
|
+
// been destroyed no other consumers should still be using it.
|
|
127
|
+
domRef = undefined;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
return nodeView;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Copies the attributes from a ProseMirror Node to a DOM node.
|
|
135
|
+
* @param node The Prosemirror Node from which to source the attributes
|
|
136
|
+
*/
|
|
137
|
+
function setDomAttrs(node, element) {
|
|
138
|
+
Object.keys(node.attrs || {}).forEach(function (attr) {
|
|
139
|
+
element.setAttribute(attr, node.attrs[attr]);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
function getPortalChildren(_ref2) {
|
|
143
|
+
var dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent,
|
|
144
|
+
currentNode = _ref2.currentNode,
|
|
145
|
+
nodeViewParams = _ref2.nodeViewParams,
|
|
146
|
+
Component = _ref2.Component,
|
|
147
|
+
extraComponentProps = _ref2.extraComponentProps;
|
|
148
|
+
return function portalChildren() {
|
|
149
|
+
var _currentNode$type$nam, _currentNode$type;
|
|
150
|
+
// All inline nodes use `display: inline` to allow for multi-line
|
|
151
|
+
// wrapping. This does produce an issue in Chrome where it is not
|
|
152
|
+
// possible to click select the position after the node,
|
|
153
|
+
// see: https://product-fabric.atlassian.net/browse/ED-12003
|
|
154
|
+
// however this is only a problem for node views that use
|
|
155
|
+
// `display: inline-block` somewhere within the Component.
|
|
156
|
+
// Looking at the below structure, spans with className
|
|
157
|
+
// `inlineNodeViewAddZeroWidthSpace` have pseudo elements that
|
|
158
|
+
// add a zero width space which fixes the problem.
|
|
159
|
+
// Without the additional zero width space before the Component,
|
|
160
|
+
// it is not possible to use the keyboard to range select in Safari.
|
|
161
|
+
//
|
|
162
|
+
// Zero width spaces on either side of the Component also prevent
|
|
163
|
+
// the cursor from appearing inside the node view on all browsers.
|
|
164
|
+
//
|
|
165
|
+
// Note:
|
|
166
|
+
// In future it is worth considering prohibiting the use of `display: inline-block`
|
|
167
|
+
// within inline node view Components however would require a sizable
|
|
168
|
+
// refactor. A test suite to catch any instances of this is ideal however
|
|
169
|
+
// the refactor required is currently out of scope for https://product-fabric.atlassian.net/browse/ED-14176
|
|
170
|
+
|
|
171
|
+
return (0, _react2.jsx)(_ErrorBoundary.ErrorBoundary, {
|
|
172
|
+
component: _analytics.ACTION_SUBJECT.REACT_NODE_VIEW,
|
|
173
|
+
componentId: (_currentNode$type$nam = currentNode === null || currentNode === void 0 ? void 0 : (_currentNode$type = currentNode.type) === null || _currentNode$type === void 0 ? void 0 : _currentNode$type.name) !== null && _currentNode$type$nam !== void 0 ? _currentNode$type$nam : _analytics.ACTION_SUBJECT_ID.UNKNOWN_NODE,
|
|
174
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
175
|
+
}, (0, _react2.jsx)("span", {
|
|
176
|
+
"aria-hidden": "true",
|
|
177
|
+
className: "zeroWidthSpaceContainer"
|
|
178
|
+
}, (0, _react2.jsx)("span", {
|
|
179
|
+
className: "".concat(inlineNodeViewClassname, "AddZeroWidthSpace")
|
|
180
|
+
}), _utils.ZERO_WIDTH_SPACE), (0, _react2.jsx)(Component, (0, _extends2.default)({
|
|
181
|
+
view: nodeViewParams.view,
|
|
182
|
+
getPos: nodeViewParams.getPos,
|
|
183
|
+
node: currentNode
|
|
184
|
+
}, extraComponentProps)), (0, _react2.jsx)("span", {
|
|
185
|
+
"aria-hidden": "true",
|
|
186
|
+
className: "".concat(inlineNodeViewClassname, "AddZeroWidthSpace")
|
|
187
|
+
}));
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// https://prosemirror.net/docs/ref/#view.EditorProps.nodeViews
|
|
192
|
+
// The prosemirror EditorProps has a nodeViews key which has the rough shape:
|
|
193
|
+
// type nodeViews: {
|
|
194
|
+
// [nodeViewName: string]: (node, editorView, getPos, decorations, innerDecorations) => NodeView
|
|
195
|
+
// }
|
|
196
|
+
// So the value of the keys on the nodeViews object, are a function which should return a NodeView.
|
|
197
|
+
// The following type NodeViewProducer, refers to these functions which return a NodeView.
|
|
198
|
+
//
|
|
199
|
+
// So the above type could also be described as
|
|
200
|
+
// type NodeViewProducer = (node, editorView, getPos, decorations, innerDecorations) => NodeView
|
|
201
|
+
// nodeViews: {
|
|
202
|
+
// [nodeViewName: string]: NodeViewProducer
|
|
203
|
+
// }
|
|
204
|
+
// This return of this function is intended to be the value of a key
|
|
205
|
+
// in a ProseMirror nodeViews object.
|
|
206
|
+
function getInlineNodeViewProducer(_ref3) {
|
|
207
|
+
var pmPluginFactoryParams = _ref3.pmPluginFactoryParams,
|
|
208
|
+
Component = _ref3.Component,
|
|
209
|
+
extraComponentProps = _ref3.extraComponentProps;
|
|
210
|
+
function nodeViewProducer() {
|
|
211
|
+
var nodeView = createNodeView({
|
|
212
|
+
nodeViewParams: {
|
|
213
|
+
node: arguments.length <= 0 ? undefined : arguments[0],
|
|
214
|
+
view: arguments.length <= 1 ? undefined : arguments[1],
|
|
215
|
+
getPos: arguments.length <= 2 ? undefined : arguments[2],
|
|
216
|
+
decorations: arguments.length <= 3 ? undefined : arguments[3]
|
|
217
|
+
},
|
|
218
|
+
pmPluginFactoryParams: pmPluginFactoryParams,
|
|
219
|
+
Component: Component,
|
|
220
|
+
extraComponentProps: extraComponentProps
|
|
221
|
+
});
|
|
222
|
+
return nodeView;
|
|
223
|
+
}
|
|
224
|
+
return nodeViewProducer;
|
|
225
|
+
}
|
|
@@ -5,6 +5,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
Object.defineProperty(exports, "getInlineNodeViewProducer", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _getInlineNodeViewProducer.getInlineNodeViewProducer;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "inlineNodeViewClassname", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _getInlineNodeViewProducer.inlineNodeViewClassname;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
8
20
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
21
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
22
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -15,6 +27,7 @@ var _eventDispatcher = require("../event-dispatcher");
|
|
|
15
27
|
var _ErrorBoundary = require("../ui/ErrorBoundary");
|
|
16
28
|
var _utils = require("../utils");
|
|
17
29
|
var _analytics2 = require("../utils/analytics");
|
|
30
|
+
var _getInlineNodeViewProducer = require("./getInlineNodeViewProducer");
|
|
18
31
|
var ReactNodeView = /*#__PURE__*/function () {
|
|
19
32
|
function ReactNodeView(_node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent) {
|
|
20
33
|
var _this = this;
|
|
@@ -9,7 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _classnames3 = _interopRequireDefault(require("classnames"));
|
|
11
11
|
var _reResizable = require("re-resizable");
|
|
12
|
-
var _resizer = require("
|
|
12
|
+
var _resizer = require("../styles/shared/resizer");
|
|
13
13
|
function ResizerNext(props) {
|
|
14
14
|
var _classnames, _classnames2;
|
|
15
15
|
var resizable = _react.default.useRef(null);
|
|
@@ -19,7 +19,9 @@ function ResizerNext(props) {
|
|
|
19
19
|
_props$handlerHeightS = props.handlerHeightSize,
|
|
20
20
|
handlerHeightSize = _props$handlerHeightS === void 0 ? 'medium' : _props$handlerHeightS,
|
|
21
21
|
_props$handleAlignmen = props.handleAlignmentMethod,
|
|
22
|
-
handleAlignmentMethod = _props$handleAlignmen === void 0 ? 'center' : _props$handleAlignmen
|
|
22
|
+
handleAlignmentMethod = _props$handleAlignmen === void 0 ? 'center' : _props$handleAlignmen,
|
|
23
|
+
_props$resizeRatio = props.resizeRatio,
|
|
24
|
+
resizeRatio = _props$resizeRatio === void 0 ? 1 : _props$resizeRatio;
|
|
23
25
|
var onResizeStart = _react.default.useCallback(function (event) {
|
|
24
26
|
// prevent creating a drag event on Firefox
|
|
25
27
|
event.preventDefault();
|
|
@@ -90,6 +92,7 @@ function ResizerNext(props) {
|
|
|
90
92
|
,
|
|
91
93
|
onResizeStart: onResizeStart,
|
|
92
94
|
onResize: onResize,
|
|
93
|
-
onResizeStop: onResizeStop
|
|
95
|
+
onResizeStop: onResizeStop,
|
|
96
|
+
resizeRatio: resizeRatio
|
|
94
97
|
}, props.children);
|
|
95
98
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.snapTo = exports.imageAlignmentMap = exports.handleSides = void 0;
|
|
7
|
+
var snapTo = function snapTo(target, points) {
|
|
8
|
+
return points.length === 0 ?
|
|
9
|
+
// extreme last case if there are no points somehow
|
|
10
|
+
target : points.reduce(function (point, closest) {
|
|
11
|
+
return Math.abs(closest - target) < Math.abs(point - target) ? closest : point;
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.snapTo = snapTo;
|
|
15
|
+
var handleSides = ['left', 'right'];
|
|
16
|
+
exports.handleSides = handleSides;
|
|
17
|
+
var imageAlignmentMap = {
|
|
18
|
+
left: 'start',
|
|
19
|
+
right: 'end'
|
|
20
|
+
};
|
|
21
|
+
exports.imageAlignmentMap = imageAlignmentMap;
|
|
@@ -41,5 +41,5 @@ var resizerHandlerClassName = {
|
|
|
41
41
|
large: resizerHandlerLargeClassName
|
|
42
42
|
};
|
|
43
43
|
exports.resizerHandlerClassName = resizerHandlerClassName;
|
|
44
|
-
var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", "
|
|
44
|
+
var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", ", .", " {\n display: flex;\n visibility: hidden;\n flex-direction: column;\n justify-content: center;\n }\n\n .", " {\n align-items: flex-end;\n }\n\n .", " {\n align-items: flex-start;\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover\n .", ",\n .", ":hover\n .", " {\n visibility: visible;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after {\n background: ", ";\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 64px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 43px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 96px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n position: sticky;\n top: 10px;\n bottom: 10px;\n }\n"])), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, "var(--ds-border, ".concat(_colors.N60, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandlerClassName.medium, resizerHandleLeftClassName, resizerHandlerClassName.medium, resizerHandleRightClassName, resizerHandlerClassName.small, resizerHandleLeftClassName, resizerHandlerClassName.small, resizerHandleRightClassName, resizerHandlerClassName.large, resizerHandleLeftClassName, resizerHandlerClassName.large, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleLeftClassName, resizerHandleStickyClassName);
|
|
45
45
|
exports.resizerStyles = resizerStyles;
|
|
@@ -49,7 +49,8 @@ var TableSharedCssClassName = {
|
|
|
49
49
|
TABLE_CELL_WRAPPER: _adfSchema.tableCellSelector,
|
|
50
50
|
TABLE_HEADER_CELL_WRAPPER: _adfSchema.tableHeaderSelector,
|
|
51
51
|
TABLE_ROW_CONTROLS_WRAPPER: "".concat(_adfSchema.tablePrefixSelector, "-row-controls-wrapper"),
|
|
52
|
-
TABLE_COLUMN_CONTROLS_DECORATIONS: "".concat(_adfSchema.tablePrefixSelector, "-column-controls-decoration")
|
|
52
|
+
TABLE_COLUMN_CONTROLS_DECORATIONS: "".concat(_adfSchema.tablePrefixSelector, "-column-controls-decoration"),
|
|
53
|
+
TABLE_RESIZER_CONTAINER: "".concat(_adfSchema.tablePrefixSelector, "-resizer-container")
|
|
53
54
|
};
|
|
54
55
|
exports.TableSharedCssClassName = TableSharedCssClassName;
|
|
55
56
|
var tableSharedStyle = function tableSharedStyle(props) {
|
|
@@ -98,12 +99,12 @@ var calcTableWidth = function calcTableWidth(layout, containerWidth) {
|
|
|
98
99
|
var addControllerPadding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
99
100
|
switch (layout) {
|
|
100
101
|
case 'full-width':
|
|
101
|
-
return containerWidth ?
|
|
102
|
+
return containerWidth ? Math.min(containerWidth - (addControllerPadding ? _editorSharedStyles.akEditorBreakoutPadding : 0), _editorSharedStyles.akEditorFullWidthLayoutWidth) : _editorSharedStyles.akEditorFullWidthLayoutWidth;
|
|
102
103
|
case 'wide':
|
|
103
104
|
if (containerWidth) {
|
|
104
|
-
return
|
|
105
|
+
return Math.min(containerWidth - (addControllerPadding ? _editorSharedStyles.akEditorBreakoutPadding : 0), _editorSharedStyles.akEditorWideLayoutWidth);
|
|
105
106
|
}
|
|
106
|
-
return
|
|
107
|
+
return _editorSharedStyles.akEditorWideLayoutWidth;
|
|
107
108
|
default:
|
|
108
109
|
return 'inherit';
|
|
109
110
|
}
|
|
@@ -24,7 +24,7 @@ var _templateObject, _templateObject2, _templateObject3;
|
|
|
24
24
|
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); }; }
|
|
25
25
|
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; } } /** @jsx jsx */
|
|
26
26
|
var packageName = "@atlaskit/editor-common";
|
|
27
|
-
var packageVersion = "74.
|
|
27
|
+
var packageVersion = "74.7.0";
|
|
28
28
|
var halfFocusRing = 1;
|
|
29
29
|
var dropOffset = '0, 8';
|
|
30
30
|
var DropList = /*#__PURE__*/function (_Component) {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RECENT_SEARCH_WIDTH_WITHOUT_ITEMS_IN_PX = exports.RECENT_SEARCH_WIDTH_IN_PX = exports.RECENT_SEARCH_HEIGHT_IN_PX = exports.LINKPICKER_HEIGHT_IN_PX = void 0;
|
|
7
|
+
var RECENT_SEARCH_WIDTH_IN_PX = 420;
|
|
8
|
+
exports.RECENT_SEARCH_WIDTH_IN_PX = RECENT_SEARCH_WIDTH_IN_PX;
|
|
9
|
+
var RECENT_SEARCH_WIDTH_WITHOUT_ITEMS_IN_PX = 360;
|
|
10
|
+
exports.RECENT_SEARCH_WIDTH_WITHOUT_ITEMS_IN_PX = RECENT_SEARCH_WIDTH_WITHOUT_ITEMS_IN_PX;
|
|
11
|
+
var RECENT_SEARCH_HEIGHT_IN_PX = 360;
|
|
12
|
+
exports.RECENT_SEARCH_HEIGHT_IN_PX = RECENT_SEARCH_HEIGHT_IN_PX;
|
|
13
|
+
var LINKPICKER_HEIGHT_IN_PX = 570;
|
|
14
|
+
exports.LINKPICKER_HEIGHT_IN_PX = LINKPICKER_HEIGHT_IN_PX;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = 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
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
+
var _reResizable = require("re-resizable");
|
|
18
|
+
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
19
|
+
var _analytics = require("../../analytics");
|
|
20
|
+
var _styles = require("../../styles");
|
|
21
|
+
var _utils = require("../../utils");
|
|
22
|
+
var _utils2 = require("./utils");
|
|
23
|
+
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); }; }
|
|
24
|
+
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; } }
|
|
25
|
+
var getResizeAnalyticsEvent = function getResizeAnalyticsEvent(type, size, layout) {
|
|
26
|
+
var actionSubject = type === 'embed' ? _analytics.ACTION_SUBJECT.EMBEDS : _analytics.ACTION_SUBJECT.MEDIA_SINGLE;
|
|
27
|
+
return {
|
|
28
|
+
action: _analytics.ACTION.EDITED,
|
|
29
|
+
actionSubject: actionSubject,
|
|
30
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.RESIZED,
|
|
31
|
+
attributes: {
|
|
32
|
+
size: size,
|
|
33
|
+
layout: layout
|
|
34
|
+
},
|
|
35
|
+
eventType: _analytics.EVENT_TYPE.UI
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
var getWidthFromSnapPoints = function getWidthFromSnapPoints(width, snapPoints) {
|
|
39
|
+
if (snapPoints.length) {
|
|
40
|
+
return Math.min(Math.max(width, snapPoints[0]), snapPoints[snapPoints.length - 1]);
|
|
41
|
+
}
|
|
42
|
+
return width;
|
|
43
|
+
};
|
|
44
|
+
var Resizer = /*#__PURE__*/function (_React$Component) {
|
|
45
|
+
(0, _inherits2.default)(Resizer, _React$Component);
|
|
46
|
+
var _super = _createSuper(Resizer);
|
|
47
|
+
function Resizer() {
|
|
48
|
+
var _this;
|
|
49
|
+
(0, _classCallCheck2.default)(this, Resizer);
|
|
50
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
51
|
+
args[_key] = arguments[_key];
|
|
52
|
+
}
|
|
53
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
54
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resizable", /*#__PURE__*/_react.default.createRef());
|
|
55
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
56
|
+
isResizing: false
|
|
57
|
+
});
|
|
58
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleResizeStart", function (event) {
|
|
59
|
+
var _this$props = _this.props,
|
|
60
|
+
_this$props$innerPadd = _this$props.innerPadding,
|
|
61
|
+
innerPadding = _this$props$innerPadd === void 0 ? 0 : _this$props$innerPadd,
|
|
62
|
+
highlights = _this$props.highlights,
|
|
63
|
+
displayGrid = _this$props.displayGrid,
|
|
64
|
+
layout = _this$props.layout,
|
|
65
|
+
width = _this$props.width,
|
|
66
|
+
snapPoints = _this$props.snapPoints;
|
|
67
|
+
|
|
68
|
+
// prevent creating a drag event on Firefox
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
_this.setState({
|
|
71
|
+
isResizing: true
|
|
72
|
+
}, function () {
|
|
73
|
+
var newHighlights = highlights(width + innerPadding, snapPoints);
|
|
74
|
+
displayGrid === null || displayGrid === void 0 ? void 0 : displayGrid(newHighlights.length > 0, (0, _utils.gridTypeForLayout)(layout), newHighlights);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleResize", function (_event, _direction, _elementRef, delta) {
|
|
78
|
+
var _this$props2 = _this.props,
|
|
79
|
+
highlights = _this$props2.highlights,
|
|
80
|
+
calcNewSize = _this$props2.calcNewSize,
|
|
81
|
+
scaleFactor = _this$props2.scaleFactor,
|
|
82
|
+
snapPoints = _this$props2.snapPoints,
|
|
83
|
+
displayGrid = _this$props2.displayGrid,
|
|
84
|
+
layout = _this$props2.layout,
|
|
85
|
+
updateSize = _this$props2.updateSize,
|
|
86
|
+
_this$props2$innerPad = _this$props2.innerPadding,
|
|
87
|
+
innerPadding = _this$props2$innerPad === void 0 ? 0 : _this$props2$innerPad;
|
|
88
|
+
var resizable = _this.resizable.current;
|
|
89
|
+
var isResizing = _this.state.isResizing;
|
|
90
|
+
if (!resizable || !resizable.state.original || !isResizing) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
var newWidth = getWidthFromSnapPoints(resizable.state.original.width + delta.width * (scaleFactor || 1), snapPoints);
|
|
94
|
+
var newSize = calcNewSize(newWidth + innerPadding, false);
|
|
95
|
+
if (newSize.layout !== layout) {
|
|
96
|
+
updateSize(newSize.width, newSize.layout);
|
|
97
|
+
}
|
|
98
|
+
var newHighlights = highlights(newWidth, snapPoints);
|
|
99
|
+
displayGrid === null || displayGrid === void 0 ? void 0 : displayGrid(newHighlights.length > 0, (0, _utils.gridTypeForLayout)(newSize.layout), newHighlights);
|
|
100
|
+
resizable.updateSize({
|
|
101
|
+
width: newWidth,
|
|
102
|
+
height: 'auto'
|
|
103
|
+
});
|
|
104
|
+
resizable.setState({
|
|
105
|
+
isResizing: true
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleResizeStop", function (_event, _direction, _elementRef, delta) {
|
|
109
|
+
var _this$props3 = _this.props,
|
|
110
|
+
highlights = _this$props3.highlights,
|
|
111
|
+
calcNewSize = _this$props3.calcNewSize,
|
|
112
|
+
snapPoints = _this$props3.snapPoints,
|
|
113
|
+
displayGrid = _this$props3.displayGrid,
|
|
114
|
+
layout = _this$props3.layout,
|
|
115
|
+
updateSize = _this$props3.updateSize,
|
|
116
|
+
dispatchAnalyticsEvent = _this$props3.dispatchAnalyticsEvent,
|
|
117
|
+
nodeType = _this$props3.nodeType;
|
|
118
|
+
var resizable = _this.resizable.current;
|
|
119
|
+
var isResizing = _this.state.isResizing;
|
|
120
|
+
if (!resizable || !resizable.state.original || !isResizing) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
var newWidth = getWidthFromSnapPoints(resizable.state.original.width + delta.width, snapPoints);
|
|
124
|
+
var snapWidth = (0, _utils2.snapTo)(newWidth, snapPoints);
|
|
125
|
+
var newSize = calcNewSize(snapWidth, true);
|
|
126
|
+
var newHighlights = highlights(newWidth, snapPoints);
|
|
127
|
+
if (dispatchAnalyticsEvent) {
|
|
128
|
+
dispatchAnalyticsEvent(getResizeAnalyticsEvent(nodeType, newSize.width, newSize.layout));
|
|
129
|
+
}
|
|
130
|
+
// show committed grid size
|
|
131
|
+
displayGrid === null || displayGrid === void 0 ? void 0 : displayGrid(newHighlights.length > 0, (0, _utils.gridTypeForLayout)(newSize.layout), newHighlights);
|
|
132
|
+
_this.setState({
|
|
133
|
+
isResizing: false
|
|
134
|
+
}, function () {
|
|
135
|
+
updateSize(newSize.width, newSize.layout);
|
|
136
|
+
displayGrid === null || displayGrid === void 0 ? void 0 : displayGrid(false, (0, _utils.gridTypeForLayout)(layout), []);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
return _this;
|
|
140
|
+
}
|
|
141
|
+
(0, _createClass2.default)(Resizer, [{
|
|
142
|
+
key: "render",
|
|
143
|
+
value: function render() {
|
|
144
|
+
var handleStyles = {};
|
|
145
|
+
var handles = {};
|
|
146
|
+
var handleComponent = {};
|
|
147
|
+
var _this$props4 = this.props,
|
|
148
|
+
_this$props4$innerPad = _this$props4.innerPadding,
|
|
149
|
+
innerPadding = _this$props4$innerPad === void 0 ? 0 : _this$props4$innerPad,
|
|
150
|
+
width = _this$props4.width,
|
|
151
|
+
pctWidth = _this$props4.pctWidth,
|
|
152
|
+
selected = _this$props4.selected,
|
|
153
|
+
layout = _this$props4.layout,
|
|
154
|
+
enable = _this$props4.enable,
|
|
155
|
+
children = _this$props4.children,
|
|
156
|
+
ratio = _this$props4.ratio,
|
|
157
|
+
handleComponentFunc = _this$props4.handleComponentFunc;
|
|
158
|
+
var isResizing = this.state.isResizing;
|
|
159
|
+
_utils2.handleSides.forEach(function (side) {
|
|
160
|
+
var _handleStyles$side;
|
|
161
|
+
handles[side] = "richMedia-resize-handle-".concat(side);
|
|
162
|
+
handleStyles[side] = (_handleStyles$side = {
|
|
163
|
+
width: '24px'
|
|
164
|
+
}, (0, _defineProperty2.default)(_handleStyles$side, side, "".concat(-13 - innerPadding, "px")), (0, _defineProperty2.default)(_handleStyles$side, "zIndex", _editorSharedStyles.akRichMediaResizeZIndex), (0, _defineProperty2.default)(_handleStyles$side, "pointerEvents", 'auto'), _handleStyles$side);
|
|
165
|
+
var sideHandleComponent = handleComponentFunc && handleComponentFunc(side);
|
|
166
|
+
if (sideHandleComponent) {
|
|
167
|
+
handleComponent[side] = sideHandleComponent;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
var className = (0, _classnames.default)(_styles.richMediaClassName, "image-".concat(layout), this.props.className, {
|
|
171
|
+
'is-resizing': isResizing,
|
|
172
|
+
'not-resized': !pctWidth,
|
|
173
|
+
'richMedia-selected': selected,
|
|
174
|
+
'rich-media-wrapped': layout === 'wrap-left' || layout === 'wrap-right'
|
|
175
|
+
});
|
|
176
|
+
var handleWrapperStyle;
|
|
177
|
+
if (ratio) {
|
|
178
|
+
handleWrapperStyle = {
|
|
179
|
+
position: 'absolute',
|
|
180
|
+
width: '100%',
|
|
181
|
+
paddingBottom: "".concat(ratio, "%"),
|
|
182
|
+
top: 0,
|
|
183
|
+
pointerEvents: 'none'
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Ideally, Resizable would let you pass in the component rather than
|
|
188
|
+
// the div. For now, we just apply the same styles using CSS
|
|
189
|
+
return /*#__PURE__*/_react.default.createElement(_reResizable.Resizable, {
|
|
190
|
+
ref: this.resizable,
|
|
191
|
+
size: {
|
|
192
|
+
width: width,
|
|
193
|
+
// just content itself (no paddings)
|
|
194
|
+
height: 'auto'
|
|
195
|
+
},
|
|
196
|
+
className: className,
|
|
197
|
+
handleClasses: handles,
|
|
198
|
+
handleStyles: handleStyles,
|
|
199
|
+
handleWrapperStyle: handleWrapperStyle,
|
|
200
|
+
handleComponent: handleComponent,
|
|
201
|
+
enable: enable,
|
|
202
|
+
onResize: this.handleResize,
|
|
203
|
+
onResizeStop: this.handleResizeStop,
|
|
204
|
+
onResizeStart: this.handleResizeStart
|
|
205
|
+
}, children);
|
|
206
|
+
}
|
|
207
|
+
}]);
|
|
208
|
+
return Resizer;
|
|
209
|
+
}(_react.default.Component);
|
|
210
|
+
exports.default = Resizer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.wrapperStyle = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _react = require("@emotion/react");
|
|
10
|
+
var _styled = require("../MediaSingle/styled");
|
|
11
|
+
var _templateObject;
|
|
12
|
+
var wrapperStyle = function wrapperStyle(props) {
|
|
13
|
+
return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n & > div {\n ", ";\n position: relative;\n clear: both;\n\n > div {\n position: absolute;\n height: 100%;\n width: 100%;\n }\n }\n"])), (0, _styled.MediaSingleDimensionHelper)(props));
|
|
14
|
+
};
|
|
15
|
+
exports.wrapperStyle = wrapperStyle;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.snapTo = exports.imageAlignmentMap = exports.handleSides = void 0;
|
|
7
|
+
var snapTo = function snapTo(target, points) {
|
|
8
|
+
return points.length === 0 ?
|
|
9
|
+
// extreme last case if there are no points somehow
|
|
10
|
+
target : points.reduce(function (point, closest) {
|
|
11
|
+
return Math.abs(closest - target) < Math.abs(point - target) ? closest : point;
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
exports.snapTo = snapTo;
|
|
15
|
+
var handleSides = ['left', 'right'];
|
|
16
|
+
exports.handleSides = handleSides;
|
|
17
|
+
var imageAlignmentMap = {
|
|
18
|
+
left: 'start',
|
|
19
|
+
right: 'end'
|
|
20
|
+
};
|
|
21
|
+
exports.imageAlignmentMap = imageAlignmentMap;
|