@atlaskit/renderer 81.0.0 → 82.1.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/cjs/react/index.js +8 -0
  3. package/dist/cjs/react/marks/code.js +19 -4
  4. package/dist/cjs/react/nodes/codeBlock.js +14 -2
  5. package/dist/cjs/react/nodes/index.js +15 -1
  6. package/dist/cjs/react/nodes/mediaInline.js +104 -0
  7. package/dist/cjs/react/nodes/panel.js +3 -1
  8. package/dist/cjs/react/nodes/table/colgroup.js +6 -6
  9. package/dist/cjs/ui/Renderer/index.js +1 -1
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/es2019/react/index.js +8 -0
  12. package/dist/es2019/react/marks/code.js +11 -3
  13. package/dist/es2019/react/nodes/codeBlock.js +10 -2
  14. package/dist/es2019/react/nodes/index.js +8 -1
  15. package/dist/es2019/react/nodes/mediaInline.js +53 -0
  16. package/dist/es2019/react/nodes/panel.js +3 -1
  17. package/dist/es2019/react/nodes/table/colgroup.js +6 -6
  18. package/dist/es2019/ui/Renderer/index.js +1 -1
  19. package/dist/es2019/version.json +1 -1
  20. package/dist/esm/react/index.js +8 -0
  21. package/dist/esm/react/marks/code.js +11 -3
  22. package/dist/esm/react/nodes/codeBlock.js +10 -2
  23. package/dist/esm/react/nodes/index.js +14 -1
  24. package/dist/esm/react/nodes/mediaInline.js +80 -0
  25. package/dist/esm/react/nodes/panel.js +3 -1
  26. package/dist/esm/react/nodes/table/colgroup.js +6 -6
  27. package/dist/esm/ui/Renderer/index.js +1 -1
  28. package/dist/esm/version.json +1 -1
  29. package/dist/types/react/index.d.ts +1 -0
  30. package/dist/types/react/marks/code.d.ts +7 -1
  31. package/dist/types/react/nodes/index.d.ts +2 -1
  32. package/dist/types/react/nodes/mediaInline.d.ts +17 -0
  33. package/dist/types/renderer-context.d.ts +3 -1
  34. package/dist/types/ui/ExtensionRenderer.d.ts +1 -1
  35. package/package.json +21 -21
package/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 82.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`c80c71b537d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c80c71b537d) - [ux] ED-13860 add bidi warning decorations to code components
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+
13
+ ## 82.0.0
14
+
15
+ ### Major Changes
16
+
17
+ - [`3c5548e50da`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3c5548e50da) - [ux] Introducing new Media Inline component to renderer
18
+
19
+ ### Minor Changes
20
+
21
+ - [`971845eac0d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/971845eac0d) - CETI-96 Added new rule to emoji to solve the duplicate icon issue when we copy from renderer
22
+
23
+ ### Patch Changes
24
+
25
+ - [`f897443ad45`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f897443ad45) - Revert AK-279
26
+ - [`87865d3284f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/87865d3284f) - CETI-122 Fix Rendering of hybrid renderer when the prop UNSAFE_allowCustomPanels changed.
27
+ - [`a554946e674`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a554946e674) - Skipping flakey tests to unblock the weasal release
28
+ - [`33bca2a18bb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/33bca2a18bb) - Skipping a flaky test to unblock the weasal release
29
+ - Updated dependencies
30
+
31
+ ## 81.1.1
32
+
33
+ ### Patch Changes
34
+
35
+ - [`b85e7ce12cd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b85e7ce12cd) - Internal upgrade of memoize-one to 6.0.0
36
+
37
+ ## 81.1.0
38
+
39
+ ### Minor Changes
40
+
41
+ - [`cf853e39278`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cf853e39278) - CETI-72 Web: Copy from renderer loses custom panel attributes
42
+ - [`cf853e39278`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cf853e39278) - AK-279 Moved copy button outside of heading, that made heading accessible
43
+ - [`6840e64d105`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6840e64d105) - CETI-124: Revert panel content wrapper from span to div
44
+
45
+ ### Patch Changes
46
+
47
+ - Updated dependencies
48
+
3
49
  ## 81.0.0
4
50
 
5
51
  ### Minor Changes
@@ -220,6 +220,9 @@ var ReactSerializer = /*#__PURE__*/function () {
220
220
  case 'mediaGroup':
221
221
  return this.getMediaGroupProps(node);
222
222
 
223
+ case 'mediaInline':
224
+ return this.getMediaInlineProps(node);
225
+
223
226
  case 'mediaSingle':
224
227
  return this.getMediaSingleProps(node, path);
225
228
 
@@ -478,6 +481,11 @@ var ReactSerializer = /*#__PURE__*/function () {
478
481
  enableDownloadButton: (_this$media = this.media) === null || _this$media === void 0 ? void 0 : _this$media.enableDownloadButton
479
482
  });
480
483
  }
484
+ }, {
485
+ key: "getMediaInlineProps",
486
+ value: function getMediaInlineProps(node) {
487
+ return _objectSpread({}, this.getProps(node));
488
+ }
481
489
  }, {
482
490
  key: "getTaskItemProps",
483
491
  value: function getTaskItemProps(node) {
@@ -5,16 +5,31 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = Code;
8
+ exports.CodeWithIntl = CodeWithIntl;
9
+ exports.default = void 0;
9
10
 
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
 
12
13
  var _react = _interopRequireDefault(require("react"));
13
14
 
15
+ var _reactIntl = require("react-intl");
16
+
14
17
  var _inline = _interopRequireDefault(require("@atlaskit/code/inline"));
15
18
 
16
- function Code(props) {
19
+ var _messages = require("@atlaskit/editor-common/messages");
20
+
21
+ var _useFeatureFlags = require("../../use-feature-flags");
22
+
23
+ function CodeWithIntl(props) {
24
+ var featureFlags = (0, _useFeatureFlags.useFeatureFlags)();
25
+ var codeBidiWarningLabel = props.intl.formatMessage(_messages.codeBidiWarningMessages.label);
17
26
  return /*#__PURE__*/_react.default.createElement(_inline.default, (0, _extends2.default)({
18
- className: "code"
27
+ className: "code",
28
+ codeBidiWarnings: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.codeBidiWarnings,
29
+ codeBidiWarningLabel: codeBidiWarningLabel
19
30
  }, props.dataAttributes), props.children);
20
- }
31
+ }
32
+
33
+ var _default = (0, _reactIntl.injectIntl)(CodeWithIntl);
34
+
35
+ exports.default = _default;
@@ -11,6 +11,8 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
+ var _reactIntl = require("react-intl");
15
+
14
16
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
17
 
16
18
  var _code = require("@atlaskit/code");
@@ -23,6 +25,10 @@ var _components = require("@atlaskit/theme/components");
23
25
 
24
26
  var _constants = require("@atlaskit/theme/constants");
25
27
 
28
+ var _messages = require("@atlaskit/editor-common/messages");
29
+
30
+ var _useFeatureFlags = require("../../use-feature-flags");
31
+
26
32
  var _codeBlockCopyButton = _interopRequireDefault(require("./codeBlockCopyButton"));
27
33
 
28
34
  var _templateObject;
@@ -32,6 +38,8 @@ function CodeBlock(props) {
32
38
  language = props.language,
33
39
  _props$allowCopyToCli = props.allowCopyToClipboard,
34
40
  allowCopyToClipboard = _props$allowCopyToCli === void 0 ? false : _props$allowCopyToCli;
41
+ var featureFlags = (0, _useFeatureFlags.useFeatureFlags)();
42
+ var codeBidiWarningLabel = props.intl.formatMessage(_messages.codeBidiWarningMessages.label);
35
43
  var className = ['code-block', props.className].join(' ');
36
44
  return /*#__PURE__*/_react.default.createElement("div", {
37
45
  className: className
@@ -39,11 +47,15 @@ function CodeBlock(props) {
39
47
  content: text
40
48
  }) : null, /*#__PURE__*/_react.default.createElement(_code.CodeBlock, {
41
49
  language: language,
42
- text: text
50
+ text: text,
51
+ codeBidiWarnings: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.codeBidiWarnings,
52
+ codeBidiWarningLabel: codeBidiWarningLabel
43
53
  }));
44
54
  }
45
55
 
46
- var _default = (0, _styledComponents.default)(CodeBlock)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n tab-size: 4;\n [data-ds--code--code-block] {\n font-size: ", ";\n line-height: 1.5rem;\n background-image: ", ";\n background-attachment: local, scroll, scroll;\n background-position: 100% 0, 100% 0, 0 0;\n }\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSize)()), (0, _editorSharedStyles.overflowShadow)({
56
+ var IntlCodeBlock = (0, _reactIntl.injectIntl)(CodeBlock);
57
+
58
+ var _default = (0, _styledComponents.default)(IntlCodeBlock)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n tab-size: 4;\n [data-ds--code--code-block] {\n font-size: ", ";\n line-height: 1.5rem;\n background-image: ", ";\n background-attachment: local, scroll, scroll;\n background-position: 100% 0, 100% 0, 0 0;\n }\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSize)()), (0, _editorSharedStyles.overflowShadow)({
47
59
  background: (0, _components.themed)({
48
60
  light: _colors.N20,
49
61
  dark: _colors.DN50
@@ -162,7 +162,7 @@ Object.defineProperty(exports, "EmbedCard", {
162
162
  return _embedCard.default;
163
163
  }
164
164
  });
165
- exports.TaskItem = exports.Status = exports.Mention = exports.MediaGroup = exports.Media = exports.InlineCard = exports.Expand = exports.Emoji = exports.DecisionItem = exports.Date = exports.CodeBlock = exports.BlockCard = exports.isEmojiDoc = exports.isTextWrapper = exports.isText = exports.mergeTextNodes = exports.toReact = exports.nodeToReact = void 0;
165
+ exports.TaskItem = exports.Status = exports.Mention = exports.MediaInline = exports.MediaGroup = exports.Media = exports.InlineCard = exports.Expand = exports.Emoji = exports.DecisionItem = exports.Date = exports.CodeBlock = exports.BlockCard = exports.isEmojiDoc = exports.isTextWrapper = exports.isText = exports.mergeTextNodes = exports.toReact = exports.nodeToReact = void 0;
166
166
 
167
167
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
168
168
 
@@ -354,6 +354,19 @@ var MediaGroup = (0, _reactLoadable.default)({
354
354
  }
355
355
  });
356
356
  exports.MediaGroup = MediaGroup;
357
+ var MediaInline = (0, _reactLoadable.default)({
358
+ loader: function loader() {
359
+ return Promise.resolve().then(function () {
360
+ return _interopRequireWildcard(require('./mediaInline'));
361
+ }).then(function (mod) {
362
+ return mod.default;
363
+ });
364
+ },
365
+ loading: function loading() {
366
+ return null;
367
+ }
368
+ });
369
+ exports.MediaInline = MediaInline;
357
370
  var Mention = (0, _reactLoadable.default)({
358
371
  loader: function loader() {
359
372
  return Promise.resolve().then(function () {
@@ -402,6 +415,7 @@ var nodeToReact = {
402
415
  listItem: _listItem.default,
403
416
  media: Media,
404
417
  mediaGroup: MediaGroup,
418
+ mediaInline: MediaInline,
405
419
  mediaSingle: _mediaSingle.default,
406
420
  mention: Mention,
407
421
  orderedList: _orderedList.default,
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.RenderMediaInline = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _mediaCard = require("@atlaskit/media-card");
21
+
22
+ var _editorCommon = require("@atlaskit/editor-common");
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ var RenderMediaInline = function RenderMediaInline(props) {
29
+ var mediaProvider = props.mediaProvider;
30
+
31
+ var _useState = (0, _react.useState)({}),
32
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
+ viewMediaClientConfigState = _useState2[0],
34
+ setViewMediaClientConfigState = _useState2[1];
35
+
36
+ (0, _react.useEffect)(function () {
37
+ updateViewMediaClientConfigState(mediaProvider);
38
+ }, [mediaProvider]);
39
+
40
+ var updateViewMediaClientConfigState = /*#__PURE__*/function () {
41
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(mediaProvider) {
42
+ var mediaClientConfig;
43
+ return _regenerator.default.wrap(function _callee$(_context) {
44
+ while (1) {
45
+ switch (_context.prev = _context.next) {
46
+ case 0:
47
+ if (!mediaProvider) {
48
+ _context.next = 5;
49
+ break;
50
+ }
51
+
52
+ _context.next = 3;
53
+ return mediaProvider;
54
+
55
+ case 3:
56
+ mediaClientConfig = _context.sent;
57
+ setViewMediaClientConfigState(mediaClientConfig.viewMediaClientConfig);
58
+
59
+ case 5:
60
+ case "end":
61
+ return _context.stop();
62
+ }
63
+ }
64
+ }, _callee);
65
+ }));
66
+
67
+ return function updateViewMediaClientConfigState(_x) {
68
+ return _ref.apply(this, arguments);
69
+ };
70
+ }();
71
+
72
+ return /*#__PURE__*/_react.default.createElement(_mediaCard.MediaInlineCard, {
73
+ identifier: props.identifier,
74
+ shouldOpenMediaViewer: true,
75
+ mediaClientConfig: viewMediaClientConfigState
76
+ });
77
+ };
78
+
79
+ exports.RenderMediaInline = RenderMediaInline;
80
+
81
+ var MediaInline = function MediaInline(props) {
82
+ var collection = props.collection,
83
+ id = props.id,
84
+ providers = props.providers;
85
+ var identifier = {
86
+ id: id,
87
+ mediaItemType: 'file',
88
+ collectionName: collection
89
+ };
90
+ return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_editorCommon.WithProviders, {
91
+ providers: ['mediaProvider'],
92
+ providerFactory: providers,
93
+ renderNode: function renderNode(providers) {
94
+ var mediaProvider = providers.mediaProvider;
95
+ return /*#__PURE__*/_react.default.createElement(RenderMediaInline, {
96
+ identifier: identifier,
97
+ mediaProvider: mediaProvider
98
+ });
99
+ }
100
+ }));
101
+ };
102
+
103
+ var _default = MediaInline;
104
+ exports.default = _default;
@@ -93,7 +93,7 @@ var Panel = function Panel(props) {
93
93
  var icon = getIcon();
94
94
 
95
95
  if (icon) {
96
- return /*#__PURE__*/_react.default.createElement("span", {
96
+ return /*#__PURE__*/_react.default.createElement("div", {
97
97
  className: _editorCommon.PanelSharedCssClassName.icon
98
98
  }, icon);
99
99
  }
@@ -102,6 +102,8 @@ var Panel = function Panel(props) {
102
102
  return /*#__PURE__*/_react.default.createElement(PanelStyled, {
103
103
  className: _editorCommon.PanelSharedCssClassName.prefix,
104
104
  "data-panel-type": panelType,
105
+ "data-panel-color": panelColor,
106
+ "data-panel-icon": panelIcon,
105
107
  backgroundColor: panelColor
106
108
  }, renderIcon(), /*#__PURE__*/_react.default.createElement("div", {
107
109
  className: _editorCommon.PanelSharedCssClassName.content
@@ -113,12 +113,12 @@ var Colgroup = function Colgroup(props) {
113
113
  }
114
114
  } // scaling down
115
115
  else if (renderWidth < tableWidth) {
116
- scaleDownPercent = calcScalePercent({
117
- renderWidth: renderWidth,
118
- tableWidth: tableWidth,
119
- maxScale: MAX_SCALING_PERCENT
120
- });
121
- }
116
+ scaleDownPercent = calcScalePercent({
117
+ renderWidth: renderWidth,
118
+ tableWidth: tableWidth,
119
+ maxScale: MAX_SCALING_PERCENT
120
+ });
121
+ }
122
122
 
123
123
  return /*#__PURE__*/_react.default.createElement("colgroup", null, isNumberColumnEnabled && /*#__PURE__*/_react.default.createElement("col", {
124
124
  style: {
@@ -223,7 +223,7 @@ var Renderer = /*#__PURE__*/function (_PureComponent) {
223
223
  var nextMedia = nextProps.media || {};
224
224
  var media = this.props.media || {};
225
225
 
226
- if (nextProps.portal !== this.props.portal || nextProps.appearance !== this.props.appearance || nextProps.stickyHeaders !== this.props.stickyHeaders || nextProps.disableActions !== this.props.disableActions || nextProps.allowHeadingAnchorLinks !== this.props.allowHeadingAnchorLinks || nextMedia.allowLinking !== media.allowLinking) {
226
+ if (nextProps.portal !== this.props.portal || nextProps.appearance !== this.props.appearance || nextProps.stickyHeaders !== this.props.stickyHeaders || nextProps.disableActions !== this.props.disableActions || nextProps.UNSAFE_allowCustomPanels !== this.props.UNSAFE_allowCustomPanels || nextProps.allowHeadingAnchorLinks !== this.props.allowHeadingAnchorLinks || nextMedia.allowLinking !== media.allowLinking) {
227
227
  this.serializer = new _.ReactSerializer(this.deriveSerializerProps(nextProps));
228
228
  }
229
229
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "81.0.0",
3
+ "version": "82.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -192,6 +192,9 @@ export default class ReactSerializer {
192
192
  case 'mediaGroup':
193
193
  return this.getMediaGroupProps(node);
194
194
 
195
+ case 'mediaInline':
196
+ return this.getMediaInlineProps(node);
197
+
195
198
  case 'mediaSingle':
196
199
  return this.getMediaSingleProps(node, path);
197
200
 
@@ -410,6 +413,11 @@ export default class ReactSerializer {
410
413
  };
411
414
  }
412
415
 
416
+ getMediaInlineProps(node) {
417
+ return { ...this.getProps(node)
418
+ };
419
+ }
420
+
413
421
  getTaskItemProps(node, path = []) {
414
422
  return { ...this.getProps(node, path),
415
423
  disabled: this.disableActions
@@ -1,8 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
+ import { injectIntl } from 'react-intl';
3
4
  import AkCode from '@atlaskit/code/inline';
4
- export default function Code(props) {
5
+ import { codeBidiWarningMessages } from '@atlaskit/editor-common/messages';
6
+ import { useFeatureFlags } from '../../use-feature-flags';
7
+ export function CodeWithIntl(props) {
8
+ const featureFlags = useFeatureFlags();
9
+ const codeBidiWarningLabel = props.intl.formatMessage(codeBidiWarningMessages.label);
5
10
  return /*#__PURE__*/React.createElement(AkCode, _extends({
6
- className: "code"
11
+ className: "code",
12
+ codeBidiWarnings: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.codeBidiWarnings,
13
+ codeBidiWarningLabel: codeBidiWarningLabel
7
14
  }, props.dataAttributes), props.children);
8
- }
15
+ }
16
+ export default injectIntl(CodeWithIntl);
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
+ import { injectIntl } from 'react-intl';
2
3
  import styled from 'styled-components';
3
4
  import { CodeBlock as AkCodeBlock } from '@atlaskit/code';
4
5
  import { overflowShadow, relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
5
6
  import { N20, DN50 } from '@atlaskit/theme/colors';
6
7
  import { themed } from '@atlaskit/theme/components';
7
8
  import { fontSize, gridSize } from '@atlaskit/theme/constants';
9
+ import { codeBidiWarningMessages } from '@atlaskit/editor-common/messages';
10
+ import { useFeatureFlags } from '../../use-feature-flags';
8
11
  import CopyButton from './codeBlockCopyButton';
9
12
 
10
13
  function CodeBlock(props) {
@@ -13,6 +16,8 @@ function CodeBlock(props) {
13
16
  language,
14
17
  allowCopyToClipboard = false
15
18
  } = props;
19
+ const featureFlags = useFeatureFlags();
20
+ const codeBidiWarningLabel = props.intl.formatMessage(codeBidiWarningMessages.label);
16
21
  const className = ['code-block', props.className].join(' ');
17
22
  return /*#__PURE__*/React.createElement("div", {
18
23
  className: className
@@ -20,11 +25,14 @@ function CodeBlock(props) {
20
25
  content: text
21
26
  }) : null, /*#__PURE__*/React.createElement(AkCodeBlock, {
22
27
  language: language,
23
- text: text
28
+ text: text,
29
+ codeBidiWarnings: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.codeBidiWarnings,
30
+ codeBidiWarningLabel: codeBidiWarningLabel
24
31
  }));
25
32
  }
26
33
 
27
- export default styled(CodeBlock)`
34
+ const IntlCodeBlock = injectIntl(CodeBlock);
35
+ export default styled(IntlCodeBlock)`
28
36
  tab-size: 4;
29
37
  [data-ds--code--code-block] {
30
38
  font-size: ${relativeFontSizeToBase16(fontSize())};
@@ -85,6 +85,12 @@ const MediaGroup = Loadable({
85
85
  './mediaGroup').then(mod => mod.default),
86
86
  loading: () => null
87
87
  });
88
+ const MediaInline = Loadable({
89
+ loader: () => import(
90
+ /* webpackChunkName: "@atlaskit-internal_renderer-node_MediaInline" */
91
+ './mediaInline').then(mod => mod.default),
92
+ loading: () => null
93
+ });
88
94
  const Mention = Loadable({
89
95
  loader: () => import(
90
96
  /* webpackChunkName: "@atlaskit-internal_renderer-node_Mention" */
@@ -119,6 +125,7 @@ export const nodeToReact = {
119
125
  listItem: ListItem,
120
126
  media: Media,
121
127
  mediaGroup: MediaGroup,
128
+ mediaInline: MediaInline,
122
129
  mediaSingle: MediaSingle,
123
130
  mention: Mention,
124
131
  orderedList: OrderedList,
@@ -278,4 +285,4 @@ const isEmojiBlock = pnode => {
278
285
  return emojiCount > 0;
279
286
  };
280
287
 
281
- export { Blockquote, BodiedExtension, BulletList, BlockCard, Caption, CodeBlock, Date, DecisionItem, DecisionList, Doc, DocWithSelectAllTrap, Emoji, Extension, Expand, HardBreak, Heading, ListItem, InlineCard, InlineExtension, LayoutSection, LayoutColumn, Media, MediaGroup, MediaSingle, Mention, OrderedList, Panel, Paragraph, Placeholder, Rule, Status, TaskItem, TaskList, Table, TableCell, TableRow, UnknownBlock, EmbedCard };
288
+ export { Blockquote, BodiedExtension, BulletList, BlockCard, Caption, CodeBlock, Date, DecisionItem, DecisionList, Doc, DocWithSelectAllTrap, Emoji, Extension, Expand, HardBreak, Heading, ListItem, InlineCard, InlineExtension, LayoutSection, LayoutColumn, Media, MediaGroup, MediaInline, MediaSingle, Mention, OrderedList, Panel, Paragraph, Placeholder, Rule, Status, TaskItem, TaskList, Table, TableCell, TableRow, UnknownBlock, EmbedCard };
@@ -0,0 +1,53 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { MediaInlineCard } from '@atlaskit/media-card';
3
+ import { WithProviders } from '@atlaskit/editor-common';
4
+ export const RenderMediaInline = props => {
5
+ const {
6
+ mediaProvider
7
+ } = props;
8
+ const [viewMediaClientConfigState, setViewMediaClientConfigState] = useState({});
9
+ useEffect(() => {
10
+ updateViewMediaClientConfigState(mediaProvider);
11
+ }, [mediaProvider]);
12
+
13
+ const updateViewMediaClientConfigState = async mediaProvider => {
14
+ if (mediaProvider) {
15
+ const mediaClientConfig = await mediaProvider;
16
+ setViewMediaClientConfigState(mediaClientConfig.viewMediaClientConfig);
17
+ }
18
+ };
19
+
20
+ return /*#__PURE__*/React.createElement(MediaInlineCard, {
21
+ identifier: props.identifier,
22
+ shouldOpenMediaViewer: true,
23
+ mediaClientConfig: viewMediaClientConfigState
24
+ });
25
+ };
26
+
27
+ const MediaInline = props => {
28
+ const {
29
+ collection,
30
+ id,
31
+ providers
32
+ } = props;
33
+ const identifier = {
34
+ id,
35
+ mediaItemType: 'file',
36
+ collectionName: collection
37
+ };
38
+ return /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(WithProviders, {
39
+ providers: ['mediaProvider'],
40
+ providerFactory: providers,
41
+ renderNode: providers => {
42
+ const {
43
+ mediaProvider
44
+ } = providers;
45
+ return /*#__PURE__*/React.createElement(RenderMediaInline, {
46
+ identifier: identifier,
47
+ mediaProvider: mediaProvider
48
+ });
49
+ }
50
+ }));
51
+ };
52
+
53
+ export default MediaInline;
@@ -77,7 +77,7 @@ const Panel = props => {
77
77
  const icon = getIcon();
78
78
 
79
79
  if (icon) {
80
- return /*#__PURE__*/React.createElement("span", {
80
+ return /*#__PURE__*/React.createElement("div", {
81
81
  className: PanelSharedCssClassName.icon
82
82
  }, icon);
83
83
  }
@@ -86,6 +86,8 @@ const Panel = props => {
86
86
  return /*#__PURE__*/React.createElement(PanelStyled, {
87
87
  className: PanelSharedCssClassName.prefix,
88
88
  "data-panel-type": panelType,
89
+ "data-panel-color": panelColor,
90
+ "data-panel-icon": panelIcon,
89
91
  backgroundColor: panelColor
90
92
  }, renderIcon(), /*#__PURE__*/React.createElement("div", {
91
93
  className: PanelSharedCssClassName.content
@@ -98,12 +98,12 @@ export const Colgroup = props => {
98
98
  }
99
99
  } // scaling down
100
100
  else if (renderWidth < tableWidth) {
101
- scaleDownPercent = calcScalePercent({
102
- renderWidth,
103
- tableWidth,
104
- maxScale: MAX_SCALING_PERCENT
105
- });
106
- }
101
+ scaleDownPercent = calcScalePercent({
102
+ renderWidth,
103
+ tableWidth,
104
+ maxScale: MAX_SCALING_PERCENT
105
+ });
106
+ }
107
107
 
108
108
  return /*#__PURE__*/React.createElement("colgroup", null, isNumberColumnEnabled && /*#__PURE__*/React.createElement("col", {
109
109
  style: {
@@ -147,7 +147,7 @@ export class Renderer extends PureComponent {
147
147
  const nextMedia = nextProps.media || {};
148
148
  const media = this.props.media || {};
149
149
 
150
- if (nextProps.portal !== this.props.portal || nextProps.appearance !== this.props.appearance || nextProps.stickyHeaders !== this.props.stickyHeaders || nextProps.disableActions !== this.props.disableActions || nextProps.allowHeadingAnchorLinks !== this.props.allowHeadingAnchorLinks || nextMedia.allowLinking !== media.allowLinking) {
150
+ if (nextProps.portal !== this.props.portal || nextProps.appearance !== this.props.appearance || nextProps.stickyHeaders !== this.props.stickyHeaders || nextProps.disableActions !== this.props.disableActions || nextProps.UNSAFE_allowCustomPanels !== this.props.UNSAFE_allowCustomPanels || nextProps.allowHeadingAnchorLinks !== this.props.allowHeadingAnchorLinks || nextMedia.allowLinking !== media.allowLinking) {
151
151
  this.serializer = new ReactSerializer(this.deriveSerializerProps(nextProps));
152
152
  }
153
153
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "81.0.0",
3
+ "version": "82.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -212,6 +212,9 @@ var ReactSerializer = /*#__PURE__*/function () {
212
212
  case 'mediaGroup':
213
213
  return this.getMediaGroupProps(node);
214
214
 
215
+ case 'mediaInline':
216
+ return this.getMediaInlineProps(node);
217
+
215
218
  case 'mediaSingle':
216
219
  return this.getMediaSingleProps(node, path);
217
220
 
@@ -470,6 +473,11 @@ var ReactSerializer = /*#__PURE__*/function () {
470
473
  enableDownloadButton: (_this$media = this.media) === null || _this$media === void 0 ? void 0 : _this$media.enableDownloadButton
471
474
  });
472
475
  }
476
+ }, {
477
+ key: "getMediaInlineProps",
478
+ value: function getMediaInlineProps(node) {
479
+ return _objectSpread({}, this.getProps(node));
480
+ }
473
481
  }, {
474
482
  key: "getTaskItemProps",
475
483
  value: function getTaskItemProps(node) {
@@ -1,8 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
+ import { injectIntl } from 'react-intl';
3
4
  import AkCode from '@atlaskit/code/inline';
4
- export default function Code(props) {
5
+ import { codeBidiWarningMessages } from '@atlaskit/editor-common/messages';
6
+ import { useFeatureFlags } from '../../use-feature-flags';
7
+ export function CodeWithIntl(props) {
8
+ var featureFlags = useFeatureFlags();
9
+ var codeBidiWarningLabel = props.intl.formatMessage(codeBidiWarningMessages.label);
5
10
  return /*#__PURE__*/React.createElement(AkCode, _extends({
6
- className: "code"
11
+ className: "code",
12
+ codeBidiWarnings: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.codeBidiWarnings,
13
+ codeBidiWarningLabel: codeBidiWarningLabel
7
14
  }, props.dataAttributes), props.children);
8
- }
15
+ }
16
+ export default injectIntl(CodeWithIntl);
@@ -3,12 +3,15 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
3
3
  var _templateObject;
4
4
 
5
5
  import React from 'react';
6
+ import { injectIntl } from 'react-intl';
6
7
  import styled from 'styled-components';
7
8
  import { CodeBlock as AkCodeBlock } from '@atlaskit/code';
8
9
  import { overflowShadow, relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
9
10
  import { N20, DN50 } from '@atlaskit/theme/colors';
10
11
  import { themed } from '@atlaskit/theme/components';
11
12
  import { fontSize, gridSize } from '@atlaskit/theme/constants';
13
+ import { codeBidiWarningMessages } from '@atlaskit/editor-common/messages';
14
+ import { useFeatureFlags } from '../../use-feature-flags';
12
15
  import CopyButton from './codeBlockCopyButton';
13
16
 
14
17
  function CodeBlock(props) {
@@ -16,6 +19,8 @@ function CodeBlock(props) {
16
19
  language = props.language,
17
20
  _props$allowCopyToCli = props.allowCopyToClipboard,
18
21
  allowCopyToClipboard = _props$allowCopyToCli === void 0 ? false : _props$allowCopyToCli;
22
+ var featureFlags = useFeatureFlags();
23
+ var codeBidiWarningLabel = props.intl.formatMessage(codeBidiWarningMessages.label);
19
24
  var className = ['code-block', props.className].join(' ');
20
25
  return /*#__PURE__*/React.createElement("div", {
21
26
  className: className
@@ -23,11 +28,14 @@ function CodeBlock(props) {
23
28
  content: text
24
29
  }) : null, /*#__PURE__*/React.createElement(AkCodeBlock, {
25
30
  language: language,
26
- text: text
31
+ text: text,
32
+ codeBidiWarnings: featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.codeBidiWarnings,
33
+ codeBidiWarningLabel: codeBidiWarningLabel
27
34
  }));
28
35
  }
29
36
 
30
- export default styled(CodeBlock)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n tab-size: 4;\n [data-ds--code--code-block] {\n font-size: ", ";\n line-height: 1.5rem;\n background-image: ", ";\n background-attachment: local, scroll, scroll;\n background-position: 100% 0, 100% 0, 0 0;\n }\n"])), relativeFontSizeToBase16(fontSize()), overflowShadow({
37
+ var IntlCodeBlock = injectIntl(CodeBlock);
38
+ export default styled(IntlCodeBlock)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n tab-size: 4;\n [data-ds--code--code-block] {\n font-size: ", ";\n line-height: 1.5rem;\n background-image: ", ";\n background-attachment: local, scroll, scroll;\n background-position: 100% 0, 100% 0, 0 0;\n }\n"])), relativeFontSizeToBase16(fontSize()), overflowShadow({
31
39
  background: themed({
32
40
  light: N20,
33
41
  dark: DN50
@@ -145,6 +145,18 @@ var MediaGroup = Loadable({
145
145
  return null;
146
146
  }
147
147
  });
148
+ var MediaInline = Loadable({
149
+ loader: function loader() {
150
+ return import(
151
+ /* webpackChunkName: "@atlaskit-internal_renderer-node_MediaInline" */
152
+ './mediaInline').then(function (mod) {
153
+ return mod.default;
154
+ });
155
+ },
156
+ loading: function loading() {
157
+ return null;
158
+ }
159
+ });
148
160
  var Mention = Loadable({
149
161
  loader: function loader() {
150
162
  return import(
@@ -191,6 +203,7 @@ export var nodeToReact = {
191
203
  listItem: ListItem,
192
204
  media: Media,
193
205
  mediaGroup: MediaGroup,
206
+ mediaInline: MediaInline,
194
207
  mediaSingle: MediaSingle,
195
208
  mention: Mention,
196
209
  orderedList: OrderedList,
@@ -354,4 +367,4 @@ var isEmojiBlock = function isEmojiBlock(pnode) {
354
367
  return emojiCount > 0;
355
368
  };
356
369
 
357
- export { Blockquote, BodiedExtension, BulletList, BlockCard, Caption, CodeBlock, Date, DecisionItem, DecisionList, Doc, DocWithSelectAllTrap, Emoji, Extension, Expand, HardBreak, Heading, ListItem, InlineCard, InlineExtension, LayoutSection, LayoutColumn, Media, MediaGroup, MediaSingle, Mention, OrderedList, Panel, Paragraph, Placeholder, Rule, Status, TaskItem, TaskList, Table, TableCell, TableRow, UnknownBlock, EmbedCard };
370
+ export { Blockquote, BodiedExtension, BulletList, BlockCard, Caption, CodeBlock, Date, DecisionItem, DecisionList, Doc, DocWithSelectAllTrap, Emoji, Extension, Expand, HardBreak, Heading, ListItem, InlineCard, InlineExtension, LayoutSection, LayoutColumn, Media, MediaGroup, MediaInline, MediaSingle, Mention, OrderedList, Panel, Paragraph, Placeholder, Rule, Status, TaskItem, TaskList, Table, TableCell, TableRow, UnknownBlock, EmbedCard };
@@ -0,0 +1,80 @@
1
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import React, { useEffect, useState } from 'react';
5
+ import { MediaInlineCard } from '@atlaskit/media-card';
6
+ import { WithProviders } from '@atlaskit/editor-common';
7
+ export var RenderMediaInline = function RenderMediaInline(props) {
8
+ var mediaProvider = props.mediaProvider;
9
+
10
+ var _useState = useState({}),
11
+ _useState2 = _slicedToArray(_useState, 2),
12
+ viewMediaClientConfigState = _useState2[0],
13
+ setViewMediaClientConfigState = _useState2[1];
14
+
15
+ useEffect(function () {
16
+ updateViewMediaClientConfigState(mediaProvider);
17
+ }, [mediaProvider]);
18
+
19
+ var updateViewMediaClientConfigState = /*#__PURE__*/function () {
20
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(mediaProvider) {
21
+ var mediaClientConfig;
22
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
23
+ while (1) {
24
+ switch (_context.prev = _context.next) {
25
+ case 0:
26
+ if (!mediaProvider) {
27
+ _context.next = 5;
28
+ break;
29
+ }
30
+
31
+ _context.next = 3;
32
+ return mediaProvider;
33
+
34
+ case 3:
35
+ mediaClientConfig = _context.sent;
36
+ setViewMediaClientConfigState(mediaClientConfig.viewMediaClientConfig);
37
+
38
+ case 5:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }
43
+ }, _callee);
44
+ }));
45
+
46
+ return function updateViewMediaClientConfigState(_x) {
47
+ return _ref.apply(this, arguments);
48
+ };
49
+ }();
50
+
51
+ return /*#__PURE__*/React.createElement(MediaInlineCard, {
52
+ identifier: props.identifier,
53
+ shouldOpenMediaViewer: true,
54
+ mediaClientConfig: viewMediaClientConfigState
55
+ });
56
+ };
57
+
58
+ var MediaInline = function MediaInline(props) {
59
+ var collection = props.collection,
60
+ id = props.id,
61
+ providers = props.providers;
62
+ var identifier = {
63
+ id: id,
64
+ mediaItemType: 'file',
65
+ collectionName: collection
66
+ };
67
+ return /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(WithProviders, {
68
+ providers: ['mediaProvider'],
69
+ providerFactory: providers,
70
+ renderNode: function renderNode(providers) {
71
+ var mediaProvider = providers.mediaProvider;
72
+ return /*#__PURE__*/React.createElement(RenderMediaInline, {
73
+ identifier: identifier,
74
+ mediaProvider: mediaProvider
75
+ });
76
+ }
77
+ }));
78
+ };
79
+
80
+ export default MediaInline;
@@ -72,7 +72,7 @@ var Panel = function Panel(props) {
72
72
  var icon = getIcon();
73
73
 
74
74
  if (icon) {
75
- return /*#__PURE__*/React.createElement("span", {
75
+ return /*#__PURE__*/React.createElement("div", {
76
76
  className: PanelSharedCssClassName.icon
77
77
  }, icon);
78
78
  }
@@ -81,6 +81,8 @@ var Panel = function Panel(props) {
81
81
  return /*#__PURE__*/React.createElement(PanelStyled, {
82
82
  className: PanelSharedCssClassName.prefix,
83
83
  "data-panel-type": panelType,
84
+ "data-panel-color": panelColor,
85
+ "data-panel-icon": panelIcon,
84
86
  backgroundColor: panelColor
85
87
  }, renderIcon(), /*#__PURE__*/React.createElement("div", {
86
88
  className: PanelSharedCssClassName.content
@@ -97,12 +97,12 @@ export var Colgroup = function Colgroup(props) {
97
97
  }
98
98
  } // scaling down
99
99
  else if (renderWidth < tableWidth) {
100
- scaleDownPercent = calcScalePercent({
101
- renderWidth: renderWidth,
102
- tableWidth: tableWidth,
103
- maxScale: MAX_SCALING_PERCENT
104
- });
105
- }
100
+ scaleDownPercent = calcScalePercent({
101
+ renderWidth: renderWidth,
102
+ tableWidth: tableWidth,
103
+ maxScale: MAX_SCALING_PERCENT
104
+ });
105
+ }
106
106
 
107
107
  return /*#__PURE__*/React.createElement("colgroup", null, isNumberColumnEnabled && /*#__PURE__*/React.createElement("col", {
108
108
  style: {
@@ -174,7 +174,7 @@ export var Renderer = /*#__PURE__*/function (_PureComponent) {
174
174
  var nextMedia = nextProps.media || {};
175
175
  var media = this.props.media || {};
176
176
 
177
- if (nextProps.portal !== this.props.portal || nextProps.appearance !== this.props.appearance || nextProps.stickyHeaders !== this.props.stickyHeaders || nextProps.disableActions !== this.props.disableActions || nextProps.allowHeadingAnchorLinks !== this.props.allowHeadingAnchorLinks || nextMedia.allowLinking !== media.allowLinking) {
177
+ if (nextProps.portal !== this.props.portal || nextProps.appearance !== this.props.appearance || nextProps.stickyHeaders !== this.props.stickyHeaders || nextProps.disableActions !== this.props.disableActions || nextProps.UNSAFE_allowCustomPanels !== this.props.UNSAFE_allowCustomPanels || nextProps.allowHeadingAnchorLinks !== this.props.allowHeadingAnchorLinks || nextMedia.allowLinking !== media.allowLinking) {
178
178
  this.serializer = new ReactSerializer(this.deriveSerializerProps(nextProps));
179
179
  }
180
180
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "81.0.0",
3
+ "version": "82.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -88,6 +88,7 @@ export default class ReactSerializer implements Serializer<JSX.Element> {
88
88
  private getMediaProps;
89
89
  private getEmbedCardProps;
90
90
  private getMediaGroupProps;
91
+ private getMediaInlineProps;
91
92
  private getTaskItemProps;
92
93
  private getHardBreakProps;
93
94
  private getCodeBlockProps;
@@ -1,2 +1,8 @@
1
+ import React from 'react';
2
+ import { InjectedIntlProps } from 'react-intl';
1
3
  import type { MarkProps } from '../types';
2
- export default function Code(props: MarkProps): JSX.Element;
4
+ export declare function CodeWithIntl(props: MarkProps & InjectedIntlProps): JSX.Element;
5
+ declare const _default: React.ComponentClass<import("../types").MarkMeta, any> & {
6
+ WrappedComponent: ReactIntl.ComponentConstructor<import("../types").MarkMeta & InjectedIntlProps>;
7
+ };
8
+ export default _default;
@@ -60,6 +60,7 @@ declare const BlockCard: (React.ComponentClass<{
60
60
  }> & Loadable.LoadableComponent);
61
61
  declare const Media: (React.ComponentClass<import("./media").MediaProps, any> & Loadable.LoadableComponent) | (React.FunctionComponent<import("./media").MediaProps> & Loadable.LoadableComponent);
62
62
  declare const MediaGroup: (React.ComponentClass<import("./mediaGroup").MediaGroupProps, any> & Loadable.LoadableComponent) | (React.FunctionComponent<import("./mediaGroup").MediaGroupProps> & Loadable.LoadableComponent);
63
+ declare const MediaInline: (React.ComponentClass<import("./mediaInline").MediaInlineProps, any> & Loadable.LoadableComponent) | (React.FunctionComponent<import("./mediaInline").MediaInlineProps> & Loadable.LoadableComponent);
63
64
  declare const Mention: (React.ComponentClass<import("./mention").Props, any> & Loadable.LoadableComponent) | (React.FunctionComponent<import("./mention").Props> & Loadable.LoadableComponent);
64
65
  declare const Expand: (React.ComponentClass<import("../../ui/Expand").ExpandProps, any> & Loadable.LoadableComponent) | (React.FunctionComponent<import("../../ui/Expand").ExpandProps> & Loadable.LoadableComponent);
65
66
  export declare const nodeToReact: {
@@ -93,5 +94,5 @@ export declare function isTextNode(node: Node | Mark): node is Node;
93
94
  * whose content satisfies the condition for an emoji block
94
95
  */
95
96
  export declare const isEmojiDoc: (doc: Fragment) => boolean;
96
- export { Blockquote, BodiedExtension, BulletList, BlockCard, Caption, CodeBlock, Date, DecisionItem, DecisionList, Doc, DocWithSelectAllTrap, Emoji, Extension, Expand, HardBreak, Heading, ListItem, InlineCard, InlineExtension, LayoutSection, LayoutColumn, Media, MediaGroup, MediaSingle, Mention, OrderedList, Panel, Paragraph, Placeholder, Rule, Status, TaskItem, TaskList, Table, TableCell, TableRow, UnknownBlock, EmbedCard, };
97
+ export { Blockquote, BodiedExtension, BulletList, BlockCard, Caption, CodeBlock, Date, DecisionItem, DecisionList, Doc, DocWithSelectAllTrap, Emoji, Extension, Expand, HardBreak, Heading, ListItem, InlineCard, InlineExtension, LayoutSection, LayoutColumn, Media, MediaGroup, MediaInline, MediaSingle, Mention, OrderedList, Panel, Paragraph, Placeholder, Rule, Status, TaskItem, TaskList, Table, TableCell, TableRow, UnknownBlock, EmbedCard, };
97
98
  export type { BodiedExtensionProps, ExtensionProps, InlineExtensionProps };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { ProviderFactory } from '@atlaskit/editor-common';
3
+ import { FileIdentifier } from '@atlaskit/media-client';
4
+ import { MediaProvider } from '../../ui/MediaCard';
5
+ export declare type RenderMediaInlineProps = {
6
+ identifier: FileIdentifier;
7
+ mediaProvider?: Promise<MediaProvider>;
8
+ children?: React.ReactNode;
9
+ };
10
+ export declare type MediaInlineProps = {
11
+ id: string;
12
+ collection?: string;
13
+ providers: ProviderFactory;
14
+ };
15
+ export declare const RenderMediaInline: React.FC<RenderMediaInlineProps>;
16
+ declare const MediaInline: React.FC<MediaInlineProps>;
17
+ export default MediaInline;
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
- export declare type FeatureFlags = {};
2
+ export declare type FeatureFlags = {
3
+ codeBidiWarnings?: boolean;
4
+ };
3
5
  export declare type RendererContextProps = {
4
6
  featureFlags?: FeatureFlags;
5
7
  };
@@ -29,7 +29,7 @@ export default class ExtensionRenderer extends React.Component<Props, State> {
29
29
  UNSAFE_componentWillMount(): void;
30
30
  componentWillUnmount(): void;
31
31
  handleProvider: (name: keyof State, providerPromise?: Promise<any> | undefined) => void;
32
- getNodeRenderer: typeof getNodeRenderer;
32
+ getNodeRenderer: import("memoize-one").MemoizedFn<typeof getNodeRenderer>;
33
33
  renderExtensionNode: (extensionProvider?: ExtensionProvider<any> | null | undefined) => JSX.Element;
34
34
  setupAndRenderExtensionNode: (providers: {
35
35
  extensionProvider?: Promise<ExtensionProvider<any>> | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "81.0.0",
3
+ "version": "82.1.0",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -24,30 +24,30 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "@atlaskit/adf-schema": "^19.1.0",
28
- "@atlaskit/adf-utils": "^14.2.0",
27
+ "@atlaskit/adf-schema": "^19.3.0",
28
+ "@atlaskit/adf-utils": "^14.3.0",
29
29
  "@atlaskit/analytics-listeners": "^8.0.0",
30
30
  "@atlaskit/analytics-namespaced-context": "^6.3.0",
31
31
  "@atlaskit/analytics-next": "^8.2.0",
32
32
  "@atlaskit/button": "^16.1.0",
33
- "@atlaskit/code": "^14.1.0",
34
- "@atlaskit/editor-common": "^60.0.0",
33
+ "@atlaskit/code": "^14.2.0",
34
+ "@atlaskit/editor-common": "^60.3.0",
35
35
  "@atlaskit/editor-json-transformer": "^8.6.0",
36
- "@atlaskit/editor-shared-styles": "^1.5.0",
37
- "@atlaskit/icon": "^21.8.0",
38
- "@atlaskit/media-card": "^70.11.0",
39
- "@atlaskit/media-client": "^14.2.0",
36
+ "@atlaskit/editor-shared-styles": "^1.6.0",
37
+ "@atlaskit/icon": "^21.9.0",
38
+ "@atlaskit/media-card": "^72.0.0",
39
+ "@atlaskit/media-client": "^14.3.0",
40
40
  "@atlaskit/media-common": "^2.9.0",
41
41
  "@atlaskit/media-filmstrip": "^42.1.0",
42
42
  "@atlaskit/media-viewer": "^45.8.0",
43
43
  "@atlaskit/status": "^0.11.0",
44
44
  "@atlaskit/task-decision": "^17.2.0",
45
- "@atlaskit/theme": "^11.5.0",
46
- "@atlaskit/tooltip": "^17.4.0",
45
+ "@atlaskit/theme": "^12.0.0",
46
+ "@atlaskit/tooltip": "^17.5.0",
47
47
  "@atlaskit/width-detector": "^3.0.0",
48
48
  "@babel/runtime": "^7.0.0",
49
49
  "lodash": "^4.17.15",
50
- "memoize-one": "^5.1.0",
50
+ "memoize-one": "^6.0.0",
51
51
  "prosemirror-model": "1.11.0",
52
52
  "prosemirror-transform": "1.2.8",
53
53
  "prosemirror-utils": "^1.0.0-0",
@@ -58,31 +58,31 @@
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@atlaskit/media-core": "^32.2.0",
61
- "@atlaskit/smart-card": "^16.1.0",
61
+ "@atlaskit/smart-card": "^16.2.0",
62
62
  "react": "^16.8.0",
63
63
  "react-dom": "^16.8.0",
64
64
  "styled-components": "^3.2.6"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@atlaskit/analytics-gas-types": "^5.0.5",
68
- "@atlaskit/avatar": "^20.4.0",
68
+ "@atlaskit/avatar": "^20.5.0",
69
69
  "@atlaskit/build-utils": "^2.6.2",
70
- "@atlaskit/css-reset": "^6.1.0",
70
+ "@atlaskit/css-reset": "^6.2.0",
71
71
  "@atlaskit/docs": "*",
72
- "@atlaskit/editor-core": "^149.0.0",
73
- "@atlaskit/editor-test-helpers": "^15.4.0",
72
+ "@atlaskit/editor-core": "^151.1.0",
73
+ "@atlaskit/editor-test-helpers": "^15.5.0",
74
74
  "@atlaskit/field-range": "^9.0.0",
75
75
  "@atlaskit/logo": "^13.5.0",
76
76
  "@atlaskit/media-core": "^32.2.0",
77
77
  "@atlaskit/media-integration-test-helpers": "^2.5.0",
78
- "@atlaskit/media-test-helpers": "^28.7.0",
78
+ "@atlaskit/media-test-helpers": "^28.8.0",
79
79
  "@atlaskit/mention": "^19.7.0",
80
80
  "@atlaskit/navigation-next": "^9.0.0",
81
- "@atlaskit/profilecard": "^15.0.0",
81
+ "@atlaskit/profilecard": "^15.8.0",
82
82
  "@atlaskit/radio": "^5.3.0",
83
- "@atlaskit/smart-card": "^16.1.0",
83
+ "@atlaskit/smart-card": "^16.2.0",
84
84
  "@atlaskit/ssr": "^0.2.0",
85
- "@atlaskit/util-data-test": "^15.0.0",
85
+ "@atlaskit/util-data-test": "^16.0.0",
86
86
  "@atlaskit/visual-regression": "*",
87
87
  "@atlaskit/webdriver-runner": "*",
88
88
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",