@atlaskit/editor-plugin-media 1.39.3 → 1.40.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 +23 -0
- package/dist/cjs/nodeviews/mediaSingle.js +2 -1
- package/dist/cjs/nodeviews/mediaSingleNext.js +2 -1
- package/dist/cjs/toolbar/mediaInline.js +5 -2
- package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +96 -43
- package/dist/es2019/nodeviews/mediaSingle.js +1 -0
- package/dist/es2019/nodeviews/mediaSingleNext.js +2 -1
- package/dist/es2019/toolbar/mediaInline.js +5 -2
- package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +80 -28
- package/dist/esm/nodeviews/mediaSingle.js +2 -1
- package/dist/esm/nodeviews/mediaSingleNext.js +2 -1
- package/dist/esm/toolbar/mediaInline.js +5 -2
- package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +97 -44
- package/dist/types/nodeviews/lazy-media-group.d.ts +1 -1
- package/dist/types/nodeviews/lazy-media-inline.d.ts +1 -1
- package/dist/types/nodeviews/lazy-media-single.d.ts +1 -1
- package/dist/types/nodeviews/lazy-media.d.ts +1 -1
- package/dist/types/nodeviews/mediaGroup.d.ts +1 -1
- package/dist/types/nodeviews/mediaInline.d.ts +1 -1
- package/dist/types/nodeviews/mediaNodeView/index.d.ts +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +1 -1
- package/dist/types/ui/ResizableMediaSingle/types.d.ts +2 -0
- package/dist/types-ts4.5/nodeviews/lazy-media-group.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/lazy-media-inline.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/lazy-media-single.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/lazy-media.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/mediaGroup.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/mediaInline.d.ts +1 -1
- package/dist/types-ts4.5/nodeviews/mediaNodeView/index.d.ts +1 -1
- package/dist/types-ts4.5/types.d.ts +2 -0
- package/dist/types-ts4.5/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +1 -1
- package/dist/types-ts4.5/ui/ResizableMediaSingle/types.d.ts +2 -0
- package/package.json +14 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-media
|
|
2
2
|
|
|
3
|
+
## 1.40.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#161860](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/161860)
|
|
8
|
+
[`a147e2be38608`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a147e2be38608) -
|
|
9
|
+
[ux] ED-25319 Support forced media resize handle positions in media options
|
|
10
|
+
- [#161860](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/161860)
|
|
11
|
+
[`4b8000830cac4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/4b8000830cac4) -
|
|
12
|
+
[ux] ED-25319 support new forceHandlePositioning media option for chromeless editors
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
|
|
18
|
+
## 1.39.4
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- [#160815](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/160815)
|
|
23
|
+
[`40198d061572a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/40198d061572a) -
|
|
24
|
+
migrate inline media preview icon
|
|
25
|
+
|
|
3
26
|
## 1.39.3
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
|
@@ -439,7 +439,8 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
|
|
|
439
439
|
allowBreakoutSnapPoints: mediaOptions && mediaOptions.allowBreakoutSnapPoints,
|
|
440
440
|
selected: isSelected,
|
|
441
441
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
442
|
-
pluginInjectionApi: pluginInjectionApi
|
|
442
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
443
|
+
forceHandlePositioning: mediaOptions === null || mediaOptions === void 0 ? void 0 : mediaOptions.forceHandlePositioning
|
|
443
444
|
}, mediaSingleProps);
|
|
444
445
|
var canResize = !!this.props.mediaOptions.allowResizing && !editorDisabled && !editorViewMode;
|
|
445
446
|
if (!this.props.mediaOptions.allowResizingInTables) {
|
|
@@ -544,7 +544,8 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
|
|
|
544
544
|
hasFallbackContainer: false,
|
|
545
545
|
mediaSingleWidth: mediaSingleWidth,
|
|
546
546
|
editorAppearance: editorAppearance,
|
|
547
|
-
showLegacyNotification: widthType !== 'pixel'
|
|
547
|
+
showLegacyNotification: widthType !== 'pixel',
|
|
548
|
+
forceHandlePositioning: mediaOptions === null || mediaOptions === void 0 ? void 0 : mediaOptions.forceHandlePositioning
|
|
548
549
|
}, MediaChildren) : (0, _react2.jsx)(_ResizableMediaSingle.default, {
|
|
549
550
|
view: view,
|
|
550
551
|
getPos: getPos,
|
|
@@ -12,6 +12,7 @@ var _card = require("@atlaskit/editor-common/card");
|
|
|
12
12
|
var _messages = _interopRequireWildcard(require("@atlaskit/editor-common/messages"));
|
|
13
13
|
var _state2 = require("@atlaskit/editor-prosemirror/state");
|
|
14
14
|
var _delete = _interopRequireDefault(require("@atlaskit/icon/core/delete"));
|
|
15
|
+
var _expand = _interopRequireDefault(require("@atlaskit/icon/core/expand"));
|
|
15
16
|
var _imageFullscreen = _interopRequireDefault(require("@atlaskit/icon/core/image-fullscreen"));
|
|
16
17
|
var _imageInline = _interopRequireDefault(require("@atlaskit/icon/core/image-inline"));
|
|
17
18
|
var _download = _interopRequireDefault(require("@atlaskit/icon/core/migration/download"));
|
|
@@ -76,7 +77,8 @@ var generateMediaInlineFloatingToolbar = exports.generateMediaInlineFloatingTool
|
|
|
76
77
|
id: 'editor.media.viewer',
|
|
77
78
|
testId: 'file-preview-toolbar-button',
|
|
78
79
|
type: 'button',
|
|
79
|
-
icon:
|
|
80
|
+
icon: _expand.default,
|
|
81
|
+
iconFallback: _filePreview.default,
|
|
80
82
|
title: intl.formatMessage(_mediaUi.messages.preview),
|
|
81
83
|
onClick: function onClick() {
|
|
82
84
|
var _handleShowMediaViewe;
|
|
@@ -247,7 +249,8 @@ var getMediaInlineImageToolbar = function getMediaInlineImageToolbar(state, intl
|
|
|
247
249
|
id: 'editor.media.viewer',
|
|
248
250
|
testId: 'file-preview-toolbar-button',
|
|
249
251
|
type: 'button',
|
|
250
|
-
icon:
|
|
252
|
+
icon: _expand.default,
|
|
253
|
+
iconFallback: _filePreview.default,
|
|
251
254
|
title: intl.formatMessage(_mediaUi.messages.preview),
|
|
252
255
|
onClick: function onClick() {
|
|
253
256
|
var _handleShowMediaViewe2;
|
|
@@ -69,7 +69,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
69
69
|
dynamicGuides = _generateDynamicGuide.dynamicGuides;
|
|
70
70
|
|
|
71
71
|
// disable guidelines for nested media single node
|
|
72
|
-
var dynamicGuidelines = _this.
|
|
72
|
+
var dynamicGuidelines = _this.isAdjacentMode() ? [] : dynamicGuides;
|
|
73
73
|
_this.setState({
|
|
74
74
|
relativeGuides: relativeGuides,
|
|
75
75
|
guidelines: [].concat((0, _toConsumableArray2.default)(defaultGuidelines), (0, _toConsumableArray2.default)(dynamicGuidelines))
|
|
@@ -87,7 +87,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
87
87
|
return layout;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
return _this.calcUnwrappedLayout(newWidth, containerWidth || 0, lineLength, fullWidthMode, _this.
|
|
90
|
+
return _this.calcUnwrappedLayout(newWidth, containerWidth || 0, lineLength, fullWidthMode, _this.isAdjacentMode());
|
|
91
91
|
});
|
|
92
92
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "calcUnwrappedLayout", function (width, containerWidth, contentWidth, fullWidthMode, isNestedNode) {
|
|
93
93
|
if (isNestedNode) {
|
|
@@ -144,7 +144,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
144
144
|
return dispatch(tr);
|
|
145
145
|
}, _mediaSingle.MEDIA_SINGLE_RESIZE_THROTTLE_TIME));
|
|
146
146
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "calcMaxWidth", (0, _memoizeOne.default)(function (contentWidth, containerWidth, fullWidthMode) {
|
|
147
|
-
if (_this.
|
|
147
|
+
if (_this.isAdjacentMode() || fullWidthMode) {
|
|
148
148
|
return contentWidth;
|
|
149
149
|
}
|
|
150
150
|
return (0, _mediaSingle.calcMediaSingleMaxWidth)(containerWidth, _this.props.editorAppearance);
|
|
@@ -287,6 +287,21 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
287
287
|
updateSize(newWidth, newLayout);
|
|
288
288
|
});
|
|
289
289
|
});
|
|
290
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getMaxWidth", function () {
|
|
291
|
+
var _this$props6 = _this.props,
|
|
292
|
+
lineLength = _this$props6.lineLength,
|
|
293
|
+
containerWidth = _this$props6.containerWidth,
|
|
294
|
+
fullWidthMode = _this$props6.fullWidthMode,
|
|
295
|
+
editorAppearance = _this$props6.editorAppearance,
|
|
296
|
+
forceHandlePositioning = _this$props6.forceHandlePositioning;
|
|
297
|
+
var isResizing = _this.state.isResizing;
|
|
298
|
+
if (editorAppearance === 'chromeless' && forceHandlePositioning === 'adjacent' && (0, _platformFeatureFlags.fg)('platform_editor_inline_resize_media_to_edge')) {
|
|
299
|
+
return containerWidth - _mediaSingle.MEDIA_SINGLE_ADJACENT_HANDLE_MARGIN * 2;
|
|
300
|
+
}
|
|
301
|
+
return !isResizing && _this.isAdjacentMode() ?
|
|
302
|
+
// set undefined to fall back to 100%
|
|
303
|
+
undefined : _this.calcMaxWidth(lineLength, containerWidth, fullWidthMode);
|
|
304
|
+
});
|
|
290
305
|
var initialWidth = props.mediaSingleWidth || _mediaSingle.DEFAULT_IMAGE_WIDTH;
|
|
291
306
|
_this.state = {
|
|
292
307
|
isVideoFile: true,
|
|
@@ -377,9 +392,9 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
377
392
|
}, {
|
|
378
393
|
key: "aspectRatio",
|
|
379
394
|
get: function get() {
|
|
380
|
-
var _this$
|
|
381
|
-
width = _this$
|
|
382
|
-
height = _this$
|
|
395
|
+
var _this$props7 = this.props,
|
|
396
|
+
width = _this$props7.width,
|
|
397
|
+
height = _this$props7.height;
|
|
383
398
|
if (width) {
|
|
384
399
|
return width / height;
|
|
385
400
|
}
|
|
@@ -421,16 +436,34 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
421
436
|
var $pos = this.$pos;
|
|
422
437
|
return !!($pos && $pos.depth !== 0);
|
|
423
438
|
}
|
|
439
|
+
|
|
440
|
+
// Check if adjacement mode should be activated;
|
|
441
|
+
}, {
|
|
442
|
+
key: "isAdjacentMode",
|
|
443
|
+
value: function isAdjacentMode() {
|
|
444
|
+
var _this$isNestedNode;
|
|
445
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_inline_resize_media_to_edge')) {
|
|
446
|
+
if (this.props.forceHandlePositioning === 'adjacent') {
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
return (_this$isNestedNode = this.isNestedNode()) !== null && _this$isNestedNode !== void 0 ? _this$isNestedNode : false;
|
|
451
|
+
}
|
|
452
|
+
}, {
|
|
453
|
+
key: "getHandlePositioning",
|
|
454
|
+
value: function getHandlePositioning() {
|
|
455
|
+
return this.isAdjacentMode() ? 'adjacent' : undefined;
|
|
456
|
+
}
|
|
424
457
|
}, {
|
|
425
458
|
key: "getDefaultGuidelines",
|
|
426
459
|
value: function getDefaultGuidelines() {
|
|
427
|
-
var _this$
|
|
428
|
-
lineLength = _this$
|
|
429
|
-
containerWidth = _this$
|
|
430
|
-
fullWidthMode = _this$
|
|
460
|
+
var _this$props8 = this.props,
|
|
461
|
+
lineLength = _this$props8.lineLength,
|
|
462
|
+
containerWidth = _this$props8.containerWidth,
|
|
463
|
+
fullWidthMode = _this$props8.fullWidthMode;
|
|
431
464
|
|
|
432
465
|
// disable guidelines for nested media single node
|
|
433
|
-
return this.
|
|
466
|
+
return this.isAdjacentMode() ? [] : (0, _guideline.generateDefaultGuidelines)(lineLength, containerWidth || 0, fullWidthMode);
|
|
434
467
|
}
|
|
435
468
|
}, {
|
|
436
469
|
key: "checkVideoFile",
|
|
@@ -482,15 +515,15 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
482
515
|
key: "render",
|
|
483
516
|
value: function render() {
|
|
484
517
|
var _this2 = this;
|
|
485
|
-
var _this$
|
|
486
|
-
origWidth = _this$
|
|
487
|
-
layout = _this$
|
|
488
|
-
containerWidth = _this$
|
|
489
|
-
fullWidthMode = _this$
|
|
490
|
-
selected = _this$
|
|
491
|
-
children = _this$
|
|
492
|
-
lineLength = _this$
|
|
493
|
-
showLegacyNotification = _this$
|
|
518
|
+
var _this$props9 = this.props,
|
|
519
|
+
origWidth = _this$props9.width,
|
|
520
|
+
layout = _this$props9.layout,
|
|
521
|
+
containerWidth = _this$props9.containerWidth,
|
|
522
|
+
fullWidthMode = _this$props9.fullWidthMode,
|
|
523
|
+
selected = _this$props9.selected,
|
|
524
|
+
children = _this$props9.children,
|
|
525
|
+
lineLength = _this$props9.lineLength,
|
|
526
|
+
showLegacyNotification = _this$props9.showLegacyNotification;
|
|
494
527
|
var _this$state = this.state,
|
|
495
528
|
isResizing = _this$state.isResizing,
|
|
496
529
|
size = _this$state.size,
|
|
@@ -510,10 +543,9 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
510
543
|
'rich-media-wrapped': layout === 'wrap-left' || layout === 'wrap-right'
|
|
511
544
|
});
|
|
512
545
|
var resizerNextClassName = (0, _classnames.default)(className, _styles.resizerStyles);
|
|
513
|
-
var isNestedNode = this.
|
|
514
|
-
var
|
|
515
|
-
|
|
516
|
-
undefined : this.calcMaxWidth(lineLength, containerWidth, fullWidthMode);
|
|
546
|
+
var isNestedNode = this.isAdjacentMode();
|
|
547
|
+
var handlePositioning = this.getHandlePositioning();
|
|
548
|
+
var maxWidth = this.getMaxWidth();
|
|
517
549
|
var minWidth = this.calcMinWidth(isVideoFile, lineLength);
|
|
518
550
|
|
|
519
551
|
// while is not resizing, we take 100% as min-width if the container width is less than the min-width
|
|
@@ -544,7 +576,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
|
|
|
544
576
|
resizeRatio: _utils.nonWrappedLayouts.includes(layout) ? 2 : 1,
|
|
545
577
|
"data-testid": resizerNextTestId,
|
|
546
578
|
isHandleVisible: selected,
|
|
547
|
-
handlePositioning:
|
|
579
|
+
handlePositioning: handlePositioning,
|
|
548
580
|
handleHighlight: "full-height"
|
|
549
581
|
}, children, showLegacyNotification && (0, _react2.jsx)(_ResizableMediaMigrationNotification.ResizableMediaMigrationNotification, null)));
|
|
550
582
|
}
|
|
@@ -679,7 +711,8 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
679
711
|
pluginInjectionApi = props.pluginInjectionApi,
|
|
680
712
|
updateSize = props.updateSize,
|
|
681
713
|
view = props.view,
|
|
682
|
-
viewMediaClientConfig = props.viewMediaClientConfig
|
|
714
|
+
viewMediaClientConfig = props.viewMediaClientConfig,
|
|
715
|
+
forceHandlePositioning = props.forceHandlePositioning;
|
|
683
716
|
var initialWidth = (0, _react.useMemo)(function () {
|
|
684
717
|
return mediaSingleWidth || _mediaSingle.DEFAULT_IMAGE_WIDTH;
|
|
685
718
|
}, [mediaSingleWidth]);
|
|
@@ -725,6 +758,14 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
725
758
|
var $pos = view.state.doc.resolve(nodePosition);
|
|
726
759
|
return !!($pos && $pos.depth !== 0);
|
|
727
760
|
}, [nodePosition, view]);
|
|
761
|
+
var isAdjacentMode = (0, _react.useMemo)(function () {
|
|
762
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_inline_resize_media_to_edge')) {
|
|
763
|
+
if (forceHandlePositioning === 'adjacent') {
|
|
764
|
+
return true;
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
return isNestedNode;
|
|
768
|
+
}, [isNestedNode, forceHandlePositioning]);
|
|
728
769
|
var maybeContainerWidth = containerWidth || origWidth;
|
|
729
770
|
var memoizedCss = (0, _react.useMemo)(function () {
|
|
730
771
|
return (0, _styled.wrapperStyle)({
|
|
@@ -732,22 +773,25 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
732
773
|
containerWidth: maybeContainerWidth,
|
|
733
774
|
fullWidthMode: fullWidthMode,
|
|
734
775
|
mediaSingleWidth: dimensions.width,
|
|
735
|
-
isNestedNode:
|
|
776
|
+
isNestedNode: isAdjacentMode,
|
|
736
777
|
isExtendedResizeExperienceOn: true
|
|
737
778
|
});
|
|
738
|
-
}, [layout, maybeContainerWidth, fullWidthMode, dimensions.width,
|
|
779
|
+
}, [layout, maybeContainerWidth, fullWidthMode, dimensions.width, isAdjacentMode]);
|
|
739
780
|
var maxWidth = (0, _react.useMemo)(function () {
|
|
740
|
-
if (
|
|
781
|
+
if (editorAppearance === 'chromeless' && forceHandlePositioning === 'adjacent' && (0, _platformFeatureFlags.fg)('platform_editor_inline_resize_media_to_edge')) {
|
|
782
|
+
return containerWidth - _mediaSingle.MEDIA_SINGLE_ADJACENT_HANDLE_MARGIN * 2;
|
|
783
|
+
}
|
|
784
|
+
if (!isResizing && isAdjacentMode) {
|
|
741
785
|
return undefined;
|
|
742
786
|
}
|
|
743
|
-
if (
|
|
787
|
+
if (isAdjacentMode || fullWidthMode) {
|
|
744
788
|
return lineLength;
|
|
745
789
|
}
|
|
746
790
|
return calcMaxWidth({
|
|
747
791
|
containerWidth: containerWidth,
|
|
748
792
|
editorAppearance: editorAppearance
|
|
749
793
|
});
|
|
750
|
-
}, [
|
|
794
|
+
}, [isAdjacentMode, fullWidthMode, lineLength, editorAppearance, containerWidth, isResizing, forceHandlePositioning]);
|
|
751
795
|
var minWidth = calcMinWidth({
|
|
752
796
|
isVideoFile: isVideoFile,
|
|
753
797
|
contentWidth: lineLength
|
|
@@ -782,11 +826,11 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
782
826
|
}, {});
|
|
783
827
|
}, [layout, isInsideInlineLike]);
|
|
784
828
|
var defaultGuidelines = (0, _react.useMemo)(function () {
|
|
785
|
-
if (
|
|
829
|
+
if (isAdjacentMode) {
|
|
786
830
|
return [];
|
|
787
831
|
}
|
|
788
832
|
return (0, _guideline.generateDefaultGuidelines)(lineLength, containerWidth, fullWidthMode);
|
|
789
|
-
}, [
|
|
833
|
+
}, [isAdjacentMode, lineLength, containerWidth, fullWidthMode]);
|
|
790
834
|
var relativeGuidesRef = (0, _react.useRef)({});
|
|
791
835
|
var guidelinesRef = (0, _react.useRef)([]);
|
|
792
836
|
var updateGuidelines = (0, _react.useCallback)(function () {
|
|
@@ -800,10 +844,10 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
800
844
|
dynamicGuides = _generateDynamicGuide2.dynamicGuides;
|
|
801
845
|
|
|
802
846
|
// disable guidelines for nested media single node
|
|
803
|
-
var dynamicGuidelines =
|
|
847
|
+
var dynamicGuidelines = isAdjacentMode ? [] : dynamicGuides;
|
|
804
848
|
relativeGuidesRef.current = relativeGuides;
|
|
805
849
|
guidelinesRef.current = [].concat((0, _toConsumableArray2.default)(defaultGuidelines), (0, _toConsumableArray2.default)(dynamicGuidelines));
|
|
806
|
-
}, [view, lineLength, defaultGuidelines,
|
|
850
|
+
}, [view, lineLength, defaultGuidelines, isAdjacentMode]);
|
|
807
851
|
var isGuidelineEnabled = (0, _react.useMemo)(function () {
|
|
808
852
|
return !!(pluginInjectionApi !== null && pluginInjectionApi !== void 0 && pluginInjectionApi.guideline);
|
|
809
853
|
}, [pluginInjectionApi]);
|
|
@@ -866,7 +910,7 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
866
910
|
containerWidth: containerWidth,
|
|
867
911
|
lineLength: lineLength,
|
|
868
912
|
fullWidthMode: fullWidthMode,
|
|
869
|
-
isNestedNode:
|
|
913
|
+
isNestedNode: isAdjacentMode
|
|
870
914
|
})(size, delta, false, aspectRatioRef.current),
|
|
871
915
|
width = _calculateSizeState.width,
|
|
872
916
|
height = _calculateSizeState.height,
|
|
@@ -890,7 +934,7 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
890
934
|
if (newLayout !== layout) {
|
|
891
935
|
updateSize(width, newLayout);
|
|
892
936
|
}
|
|
893
|
-
}, [view, updateSize, layout, isGuidelineEnabled, containerWidth, lineLength, fullWidthMode,
|
|
937
|
+
}, [view, updateSize, layout, isGuidelineEnabled, containerWidth, lineLength, fullWidthMode, isAdjacentMode, updateActiveGuidelines]);
|
|
894
938
|
var handleResizeStop = (0, _react.useCallback)(function (size, delta) {
|
|
895
939
|
var _pluginInjectionApi$g3;
|
|
896
940
|
if (typeof nodePosition !== 'number') {
|
|
@@ -901,7 +945,7 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
901
945
|
containerWidth: containerWidth,
|
|
902
946
|
lineLength: lineLength,
|
|
903
947
|
fullWidthMode: fullWidthMode,
|
|
904
|
-
isNestedNode:
|
|
948
|
+
isNestedNode: isAdjacentMode
|
|
905
949
|
})(size, delta, false, aspectRatioRef.current),
|
|
906
950
|
width = _calculateSizeState2.width,
|
|
907
951
|
height = _calculateSizeState2.height,
|
|
@@ -938,7 +982,7 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
938
982
|
height: height
|
|
939
983
|
});
|
|
940
984
|
updateSize(newWidth, newLayout);
|
|
941
|
-
}, [nodeType, dispatchAnalyticsEvent, containerWidth, fullWidthMode,
|
|
985
|
+
}, [nodeType, dispatchAnalyticsEvent, containerWidth, fullWidthMode, isAdjacentMode, layout, lineLength, view, nodePosition, pluginInjectionApi, updateSize]);
|
|
942
986
|
var mountedRef = _react.default.useRef(true);
|
|
943
987
|
(0, _react.useLayoutEffect)(function () {
|
|
944
988
|
mountedRef.current = true;
|
|
@@ -974,6 +1018,12 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
974
1018
|
}
|
|
975
1019
|
});
|
|
976
1020
|
}, [view, viewMediaClientConfig, nodePosition]);
|
|
1021
|
+
var handlePositioning = (0, _react.useMemo)(function () {
|
|
1022
|
+
if (forceHandlePositioning) {
|
|
1023
|
+
return forceHandlePositioning;
|
|
1024
|
+
}
|
|
1025
|
+
return isAdjacentMode ? 'adjacent' : undefined;
|
|
1026
|
+
}, [forceHandlePositioning, isAdjacentMode]);
|
|
977
1027
|
return (0, _react2.jsx)("div", {
|
|
978
1028
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
979
1029
|
css: memoizedCss
|
|
@@ -993,7 +1043,7 @@ var ResizableMediaSingleNextFunctional = exports.ResizableMediaSingleNextFunctio
|
|
|
993
1043
|
resizeRatio: _utils.nonWrappedLayouts.includes(layout) ? 2 : 1,
|
|
994
1044
|
"data-testid": resizerNextTestId,
|
|
995
1045
|
isHandleVisible: selected,
|
|
996
|
-
handlePositioning:
|
|
1046
|
+
handlePositioning: handlePositioning,
|
|
997
1047
|
handleHighlight: "full-height"
|
|
998
1048
|
}, children, showLegacyNotification && (0, _react2.jsx)(_ResizableMediaMigrationNotification.ResizableMediaMigrationNotification, null)));
|
|
999
1049
|
};
|
|
@@ -1026,7 +1076,8 @@ var ResizableMediaSingleToggle = function ResizableMediaSingleToggle(_ref9) {
|
|
|
1026
1076
|
updateSize = _ref9.updateSize,
|
|
1027
1077
|
view = _ref9.view,
|
|
1028
1078
|
viewMediaClientConfig = _ref9.viewMediaClientConfig,
|
|
1029
|
-
width = _ref9.width
|
|
1079
|
+
width = _ref9.width,
|
|
1080
|
+
forceHandlePositioning = _ref9.forceHandlePositioning;
|
|
1030
1081
|
if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2__media_single')) {
|
|
1031
1082
|
return (0, _react2.jsx)(ResizableMediaSingleNextFunctional, {
|
|
1032
1083
|
allowBreakoutSnapPoints: allowBreakoutSnapPoints,
|
|
@@ -1059,7 +1110,8 @@ var ResizableMediaSingleToggle = function ResizableMediaSingleToggle(_ref9) {
|
|
|
1059
1110
|
updateSize: updateSize,
|
|
1060
1111
|
view: view,
|
|
1061
1112
|
viewMediaClientConfig: viewMediaClientConfig,
|
|
1062
|
-
width: width
|
|
1113
|
+
width: width,
|
|
1114
|
+
forceHandlePositioning: forceHandlePositioning
|
|
1063
1115
|
});
|
|
1064
1116
|
}
|
|
1065
1117
|
return (0, _react2.jsx)(ResizableMediaSingleNext, {
|
|
@@ -1093,7 +1145,8 @@ var ResizableMediaSingleToggle = function ResizableMediaSingleToggle(_ref9) {
|
|
|
1093
1145
|
updateSize: updateSize,
|
|
1094
1146
|
view: view,
|
|
1095
1147
|
viewMediaClientConfig: viewMediaClientConfig,
|
|
1096
|
-
width: width
|
|
1148
|
+
width: width,
|
|
1149
|
+
forceHandlePositioning: forceHandlePositioning
|
|
1097
1150
|
});
|
|
1098
1151
|
};
|
|
1099
1152
|
var _default = exports.default = ResizableMediaSingleToggle;
|
|
@@ -353,6 +353,7 @@ export default class MediaSingleNode extends Component {
|
|
|
353
353
|
selected: isSelected,
|
|
354
354
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
355
355
|
pluginInjectionApi: pluginInjectionApi,
|
|
356
|
+
forceHandlePositioning: mediaOptions === null || mediaOptions === void 0 ? void 0 : mediaOptions.forceHandlePositioning,
|
|
356
357
|
...mediaSingleProps
|
|
357
358
|
};
|
|
358
359
|
let canResize = !!this.props.mediaOptions.allowResizing && !editorDisabled && !editorViewMode;
|
|
@@ -504,7 +504,8 @@ export const MediaSingleNodeNext = mediaSingleNodeNextProps => {
|
|
|
504
504
|
hasFallbackContainer: false,
|
|
505
505
|
mediaSingleWidth: mediaSingleWidth,
|
|
506
506
|
editorAppearance: editorAppearance,
|
|
507
|
-
showLegacyNotification: widthType !== 'pixel'
|
|
507
|
+
showLegacyNotification: widthType !== 'pixel',
|
|
508
|
+
forceHandlePositioning: mediaOptions === null || mediaOptions === void 0 ? void 0 : mediaOptions.forceHandlePositioning
|
|
508
509
|
}, MediaChildren) : jsx(ResizableMediaSingle, {
|
|
509
510
|
view: view,
|
|
510
511
|
getPos: getPos,
|
|
@@ -4,6 +4,7 @@ import { IconCard, IconEmbed, IconInline } from '@atlaskit/editor-common/card';
|
|
|
4
4
|
import commonMessages, { cardMessages, mediaAndEmbedToolbarMessages } from '@atlaskit/editor-common/messages';
|
|
5
5
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
6
6
|
import DeleteIcon from '@atlaskit/icon/core/delete';
|
|
7
|
+
import ExpandIcon from '@atlaskit/icon/core/expand';
|
|
7
8
|
import ImageFullscreenIcon from '@atlaskit/icon/core/image-fullscreen';
|
|
8
9
|
import ImageInlineIcon from '@atlaskit/icon/core/image-inline';
|
|
9
10
|
import DownloadIcon from '@atlaskit/icon/core/migration/download';
|
|
@@ -65,7 +66,8 @@ export const generateMediaInlineFloatingToolbar = (state, intl, mediaPluginState
|
|
|
65
66
|
id: 'editor.media.viewer',
|
|
66
67
|
testId: 'file-preview-toolbar-button',
|
|
67
68
|
type: 'button',
|
|
68
|
-
icon:
|
|
69
|
+
icon: ExpandIcon,
|
|
70
|
+
iconFallback: FilePreviewIcon,
|
|
69
71
|
title: intl.formatMessage(messages.preview),
|
|
70
72
|
onClick: () => {
|
|
71
73
|
var _handleShowMediaViewe;
|
|
@@ -241,7 +243,8 @@ const getMediaInlineImageToolbar = (state, intl, mediaPluginState, hoverDecorati
|
|
|
241
243
|
id: 'editor.media.viewer',
|
|
242
244
|
testId: 'file-preview-toolbar-button',
|
|
243
245
|
type: 'button',
|
|
244
|
-
icon:
|
|
246
|
+
icon: ExpandIcon,
|
|
247
|
+
iconFallback: FilePreviewIcon,
|
|
245
248
|
title: intl.formatMessage(messages.preview),
|
|
246
249
|
onClick: () => {
|
|
247
250
|
var _handleShowMediaViewe2;
|