@atlaskit/renderer 92.0.1 → 93.0.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 (87) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/analytics/enums.js +1 -0
  3. package/dist/cjs/react/marks/alignment.js +11 -12
  4. package/dist/cjs/react/marks/breakout.js +7 -9
  5. package/dist/cjs/react/marks/link.js +13 -6
  6. package/dist/cjs/react/nodes/codeBlock.js +1 -1
  7. package/dist/cjs/react/nodes/codeBlockCopyButton.js +13 -11
  8. package/dist/cjs/react/nodes/embedCard.js +25 -33
  9. package/dist/cjs/react/nodes/heading-anchor.js +7 -6
  10. package/dist/cjs/react/nodes/mediaSingle/index.js +15 -4
  11. package/dist/cjs/react/nodes/mediaSingle/styles.js +7 -10
  12. package/dist/cjs/react/nodes/panel.js +26 -16
  13. package/dist/cjs/react/nodes/table/sticky.js +51 -54
  14. package/dist/cjs/react/nodes/table.js +2 -10
  15. package/dist/cjs/react/utils/performance/RenderTracking.js +52 -0
  16. package/dist/cjs/ui/Expand.js +40 -20
  17. package/dist/cjs/ui/MediaCard.js +4 -14
  18. package/dist/cjs/ui/Renderer/index.js +37 -48
  19. package/dist/cjs/ui/Renderer/style.js +58 -63
  20. package/dist/cjs/ui/Renderer/truncated-wrapper.js +19 -21
  21. package/dist/cjs/ui/SortingIcon.js +8 -9
  22. package/dist/cjs/ui/renderer-props.js +1 -3
  23. package/dist/cjs/version.json +1 -1
  24. package/dist/es2019/analytics/enums.js +1 -0
  25. package/dist/es2019/react/marks/alignment.js +15 -7
  26. package/dist/es2019/react/marks/breakout.js +6 -5
  27. package/dist/es2019/react/marks/link.js +8 -5
  28. package/dist/es2019/react/nodes/codeBlock.js +1 -1
  29. package/dist/es2019/react/nodes/codeBlockCopyButton.js +12 -9
  30. package/dist/es2019/react/nodes/embedCard.js +16 -16
  31. package/dist/es2019/react/nodes/heading-anchor.js +9 -6
  32. package/dist/es2019/react/nodes/mediaSingle/index.js +10 -6
  33. package/dist/es2019/react/nodes/mediaSingle/styles.js +6 -7
  34. package/dist/es2019/react/nodes/panel.js +23 -16
  35. package/dist/es2019/react/nodes/table/sticky.js +48 -41
  36. package/dist/es2019/react/nodes/table.js +2 -5
  37. package/dist/es2019/react/utils/performance/RenderTracking.js +37 -0
  38. package/dist/es2019/ui/Expand.js +52 -28
  39. package/dist/es2019/ui/MediaCard.js +3 -6
  40. package/dist/es2019/ui/Renderer/index.js +37 -42
  41. package/dist/es2019/ui/Renderer/style.js +363 -336
  42. package/dist/es2019/ui/Renderer/truncated-wrapper.js +26 -15
  43. package/dist/es2019/ui/SortingIcon.js +9 -7
  44. package/dist/es2019/ui/renderer-props.js +1 -1
  45. package/dist/es2019/version.json +1 -1
  46. package/dist/esm/analytics/enums.js +1 -0
  47. package/dist/esm/react/marks/alignment.js +13 -6
  48. package/dist/esm/react/marks/breakout.js +6 -5
  49. package/dist/esm/react/marks/link.js +7 -5
  50. package/dist/esm/react/nodes/codeBlock.js +1 -1
  51. package/dist/esm/react/nodes/codeBlockCopyButton.js +10 -7
  52. package/dist/esm/react/nodes/embedCard.js +19 -19
  53. package/dist/esm/react/nodes/heading-anchor.js +8 -6
  54. package/dist/esm/react/nodes/mediaSingle/index.js +11 -6
  55. package/dist/esm/react/nodes/mediaSingle/styles.js +5 -7
  56. package/dist/esm/react/nodes/panel.js +27 -15
  57. package/dist/esm/react/nodes/table/sticky.js +53 -52
  58. package/dist/esm/react/nodes/table.js +2 -8
  59. package/dist/esm/react/utils/performance/RenderTracking.js +39 -0
  60. package/dist/esm/ui/Expand.js +45 -21
  61. package/dist/esm/ui/MediaCard.js +3 -9
  62. package/dist/esm/ui/Renderer/index.js +38 -46
  63. package/dist/esm/ui/Renderer/style.js +55 -56
  64. package/dist/esm/ui/Renderer/truncated-wrapper.js +20 -14
  65. package/dist/esm/ui/SortingIcon.js +9 -7
  66. package/dist/esm/ui/renderer-props.js +1 -1
  67. package/dist/esm/version.json +1 -1
  68. package/dist/types/analytics/enums.d.ts +1 -0
  69. package/dist/types/analytics/events.d.ts +7 -2
  70. package/dist/types/react/marks/alignment.d.ts +2 -2
  71. package/dist/types/react/marks/breakout.d.ts +4 -3
  72. package/dist/types/react/marks/link.d.ts +2 -2
  73. package/dist/types/react/nodes/embedCard.d.ts +3 -2
  74. package/dist/types/react/nodes/heading-anchor.d.ts +1 -0
  75. package/dist/types/react/nodes/mediaSingle/index.d.ts +1 -0
  76. package/dist/types/react/nodes/mediaSingle/styles.d.ts +2 -3
  77. package/dist/types/react/nodes/panel.d.ts +3 -1
  78. package/dist/types/react/nodes/table/sticky.d.ts +4 -2
  79. package/dist/types/react/utils/performance/RenderTracking.d.ts +15 -0
  80. package/dist/types/ui/Expand.d.ts +2 -2
  81. package/dist/types/ui/MediaCard.d.ts +1 -3
  82. package/dist/types/ui/Renderer/index.d.ts +0 -25
  83. package/dist/types/ui/Renderer/style.d.ts +1 -4
  84. package/dist/types/ui/Renderer/truncated-wrapper.d.ts +3 -1
  85. package/dist/types/ui/SortingIcon.d.ts +3 -3
  86. package/dist/types/ui/renderer-props.d.ts +14 -2
  87. package/package.json +17 -19
@@ -17,7 +17,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
17
17
 
18
18
  var _react = _interopRequireDefault(require("react"));
19
19
 
20
- var _styledComponents = _interopRequireDefault(require("styled-components"));
20
+ var _react2 = require("@emotion/react");
21
21
 
22
22
  var _styles = require("@atlaskit/editor-common/styles");
23
23
 
@@ -40,76 +40,73 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
40
40
  var N40A = colors.N40A;
41
41
  var tableStickyPadding = 8;
42
42
  exports.tableStickyPadding = tableStickyPadding;
43
+ var fixedTableDivModeToPosition = {
44
+ stick: 'fixed',
45
+ 'pin-bottom': 'absolute'
46
+ };
43
47
 
44
- // creates a new stacking context and places the div in the same
45
- // position as the table
46
- var RelativeTableDiv = _styledComponents.default.div.attrs({
47
- style: function style(_ref) {
48
- var left = _ref.left,
49
- top = _ref.top;
50
- return {
51
- left: left && left < 0 ? left : undefined,
52
- top: top
53
- };
54
- }
55
- })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
56
-
57
- var FixedTableDiv = _styledComponents.default.div.attrs({
58
- style: function style(_ref2) {
59
- var top = _ref2.top,
60
- wrapperWidth = _ref2.wrapperWidth;
61
- return {
62
- top: top,
63
- width: wrapperWidth
64
- };
48
+ var getModeSpecificStyles = function getModeSpecificStyles(mode) {
49
+ if (mode === 'none') {
50
+ return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n "])));
51
+ } else {
52
+ return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n position: ", ";\n "])), fixedTableDivModeToPosition[mode]);
65
53
  }
66
- })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n ", ";\n ", ";\n\n z-index: ", ";\n\n // Fix this when move we move this to use emotion\n &&&\n .", ",\n &&&\n .", "\n > table {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n border-top: ", "px solid white;\n background: white;\n box-shadow: 0 6px 4px -4px ", ";\n\n div[data-expanded='false'] & {\n display: none;\n }\n\n &&&\n .", ".right-shadow::after,\n &&&\n .", ".left-shadow::before {\n top: 0px;\n height: 100%;\n }\n"])), function (props) {
67
- return props.mode === 'stick' ? 'position: fixed' : '';
68
- }, function (props) {
69
- return props.mode === 'pin-bottom' ? 'position: absolute' : '';
70
- }, function (props) {
71
- return props.mode === 'none' ? 'display: none' : '';
72
- }, _editorSharedStyles.akEditorStickyHeaderZIndex, _styles.TableSharedCssClassName.TABLE_CONTAINER, _styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableStickyPadding, N40A, _styles.TableSharedCssClassName.TABLE_CONTAINER, _styles.TableSharedCssClassName.TABLE_CONTAINER);
54
+ };
55
+
56
+ var fixedTableDivStaticStyles = function fixedTableDivStaticStyles(top, width) {
57
+ return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n top: ", "px;\n width: ", "px;\n z-index: ", ";\n &\n .", ",\n &\n .", "\n > table {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n border-top: ", "px solid white;\n background: white;\n box-shadow: 0 6px 4px -4px ", ";\n\n div[data-expanded='false'] & {\n display: none;\n }\n\n &\n .", ".right-shadow::after,\n &\n .", ".left-shadow::before {\n top: 0px;\n height: 100%;\n }\n"])), top, width, _editorSharedStyles.akEditorStickyHeaderZIndex, _styles.TableSharedCssClassName.TABLE_CONTAINER, _styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableStickyPadding, N40A, _styles.TableSharedCssClassName.TABLE_CONTAINER, _styles.TableSharedCssClassName.TABLE_CONTAINER);
58
+ };
59
+
60
+ var FixedTableDiv = function FixedTableDiv(props) {
61
+ var top = props.top,
62
+ wrapperWidth = props.wrapperWidth,
63
+ mode = props.mode;
64
+ var fixedTableCss = [fixedTableDivStaticStyles(top, wrapperWidth), getModeSpecificStyles(mode)];
65
+ return (0, _react2.jsx)("div", {
66
+ css: fixedTableCss
67
+ }, props.children);
68
+ };
73
69
 
74
70
  exports.FixedTableDiv = FixedTableDiv;
75
71
 
76
- var StyledDiv = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)([""])));
77
-
78
- var StickyTable = function StickyTable(_ref3) {
79
- var top = _ref3.top,
80
- left = _ref3.left,
81
- mode = _ref3.mode,
82
- shadowClassNames = _ref3.shadowClassNames,
83
- innerRef = _ref3.innerRef,
84
- wrapperWidth = _ref3.wrapperWidth,
85
- tableWidth = _ref3.tableWidth,
86
- isNumberColumnEnabled = _ref3.isNumberColumnEnabled,
87
- layout = _ref3.layout,
88
- children = _ref3.children,
89
- columnWidths = _ref3.columnWidths,
90
- renderWidth = _ref3.renderWidth,
91
- allowDynamicTextSizing = _ref3.allowDynamicTextSizing,
92
- rowHeight = _ref3.rowHeight;
93
- return /*#__PURE__*/_react.default.createElement(RelativeTableDiv, {
94
- left: left,
95
- top: mode === 'pin-bottom' ? top : undefined
96
- }, /*#__PURE__*/_react.default.createElement(FixedTableDiv, {
72
+ var StickyTable = function StickyTable(_ref) {
73
+ var top = _ref.top,
74
+ left = _ref.left,
75
+ mode = _ref.mode,
76
+ shadowClassNames = _ref.shadowClassNames,
77
+ innerRef = _ref.innerRef,
78
+ wrapperWidth = _ref.wrapperWidth,
79
+ tableWidth = _ref.tableWidth,
80
+ isNumberColumnEnabled = _ref.isNumberColumnEnabled,
81
+ layout = _ref.layout,
82
+ children = _ref.children,
83
+ columnWidths = _ref.columnWidths,
84
+ renderWidth = _ref.renderWidth,
85
+ allowDynamicTextSizing = _ref.allowDynamicTextSizing,
86
+ rowHeight = _ref.rowHeight;
87
+ return (0, _react2.jsx)("div", {
88
+ css: {
89
+ left: left && left < 0 ? left : undefined,
90
+ top: mode === 'pin-bottom' ? top : undefined,
91
+ position: 'relative'
92
+ }
93
+ }, (0, _react2.jsx)(FixedTableDiv, {
97
94
  top: mode === 'stick' ? top : undefined,
98
95
  mode: rowHeight > 300 ? 'none' : mode,
99
96
  wrapperWidth: wrapperWidth
100
- }, /*#__PURE__*/_react.default.createElement(StyledDiv, {
97
+ }, (0, _react2.jsx)("div", {
101
98
  className: "".concat(_styles.TableSharedCssClassName.TABLE_CONTAINER, " ").concat(shadowClassNames),
102
99
  "data-layout": layout,
103
100
  style: {
104
101
  width: tableWidth
105
102
  }
106
- }, /*#__PURE__*/_react.default.createElement(StyledDiv, {
107
- innerRef: innerRef,
103
+ }, (0, _react2.jsx)("div", {
104
+ ref: innerRef,
108
105
  className: "".concat(_styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER),
109
106
  style: {
110
107
  overflow: 'hidden'
111
108
  }
112
- }, /*#__PURE__*/_react.default.createElement(_table.Table, {
109
+ }, (0, _react2.jsx)(_table.Table, {
113
110
  columnWidths: columnWidths,
114
111
  layout: layout,
115
112
  isNumberColumnEnabled: isNumberColumnEnabled,
@@ -23,12 +23,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
25
 
26
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
27
-
28
26
  var _react = _interopRequireDefault(require("react"));
29
27
 
30
- var _styledComponents = _interopRequireDefault(require("styled-components"));
31
-
32
28
  var _styles = require("@atlaskit/editor-common/styles");
33
29
 
34
30
  var _ui = require("@atlaskit/editor-common/ui");
@@ -49,8 +45,6 @@ var _sticky = require("./table/sticky");
49
45
 
50
46
  var _table = require("./table/table");
51
47
 
52
- var _templateObject;
53
-
54
48
  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); }; }
55
49
 
56
50
  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; } }
@@ -152,8 +146,6 @@ var tableCanBeSticky = function tableCanBeSticky(node, children) {
152
146
  return isHeaderRowEnabled(children) && node && node.firstChild && !hasRowspan(node.firstChild);
153
147
  };
154
148
 
155
- var MainTableContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)([""])));
156
-
157
149
  var canUseLinelength = function canUseLinelength(appearance) {
158
150
  return appearance === 'full-page' || appearance === 'mobile';
159
151
  };
@@ -348,10 +340,10 @@ var TableContainer = /*#__PURE__*/function (_React$Component) {
348
340
  columnWidths: columnWidths,
349
341
  rowHeight: this.headerRowHeight,
350
342
  allowDynamicTextSizing: allowDynamicTextSizing
351
- }, [children && children[0]]), /*#__PURE__*/_react.default.createElement(MainTableContainer, {
343
+ }, [children && children[0]]), /*#__PURE__*/_react.default.createElement("div", {
352
344
  className: "".concat(_styles.TableSharedCssClassName.TABLE_CONTAINER, " ").concat(this.props.shadowClassNames),
353
345
  "data-layout": layout,
354
- innerRef: this.props.handleRef,
346
+ ref: this.props.handleRef,
355
347
  style: {
356
348
  width: tableWidth,
357
349
  left: left && left < 0 ? left : undefined
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.RenderTracking = RenderTracking;
9
+
10
+ var _react = require("react");
11
+
12
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
13
+
14
+ var _utils = require("@atlaskit/editor-common/utils");
15
+
16
+ var _enums = require("../../../analytics/enums");
17
+
18
+ function RenderTracking(props) {
19
+ var debouncedHandleAnalyticsEvent = (0, _react.useMemo)(function () {
20
+ return (0, _debounce.default)(props.handleAnalyticsEvent, 500);
21
+ }, [props.handleAnalyticsEvent]);
22
+ (0, _utils.useComponentRenderTracking)({
23
+ onRender: function onRender(_ref) {
24
+ var renderCount = _ref.renderCount,
25
+ propsDifference = _ref.propsDifference,
26
+ componentId = _ref.componentId;
27
+
28
+ if (!renderCount) {
29
+ return;
30
+ }
31
+
32
+ debouncedHandleAnalyticsEvent({
33
+ action: props.action,
34
+ actionSubject: props.actionSubject,
35
+ attributes: {
36
+ count: renderCount,
37
+ propsDifference: propsDifference,
38
+ componentId: componentId
39
+ },
40
+ eventType: _enums.EVENT_TYPE.OPERATIONAL
41
+ });
42
+ },
43
+ propsDiffingOptions: {
44
+ enabled: true,
45
+ props: props.componentProps,
46
+ propsToIgnore: props.propsToIgnore,
47
+ useShallow: props.useShallow
48
+ },
49
+ zeroBasedCount: true
50
+ });
51
+ return null;
52
+ }
@@ -19,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _react2 = require("@emotion/react");
21
21
 
22
- var _styledComponents = _interopRequireDefault(require("styled-components"));
23
-
24
22
  var _constants = require("@atlaskit/theme/constants");
25
23
 
26
24
  var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-right"));
@@ -47,28 +45,49 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
47
45
 
48
46
  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; }
49
47
 
50
- var Title = _styledComponents.default.span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n outline: none;\n border: none;\n font-size: ", ";\n line-height: ", ";\n font-weight: normal;\n display: flex;\n flex: 1;\n margin: 0;\n padding: 0 0 0 ", "px;\n text-align: left;\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSize)()), _editorSharedStyles.akEditorLineHeight, (0, _constants.gridSize)() / 2);
48
+ var titleStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n outline: none;\n border: none;\n font-size: ", ";\n line-height: ", ";\n font-weight: normal;\n display: flex;\n flex: 1;\n margin: 0;\n padding: 0 0 0 ", "px;\n text-align: left;\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSize)()), _editorSharedStyles.akEditorLineHeight, (0, _constants.gridSize)() / 2);
51
49
 
52
- var Container = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: 0;\n padding-bottom: ", "px;\n"])), _ui.sharedExpandStyles.ContainerStyles, function (props) {
53
- return props.expanded ? (0, _constants.gridSize)() : 0;
54
- });
50
+ var Container = function Container(props) {
51
+ var paddingBottom = "".concat(props.expanded ? (0, _constants.gridSize)() : 0, "px");
55
52
 
56
- var TitleContainer = _styledComponents.default.button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: ", "px;\n padding-bottom: ", "px;\n"])), _ui.sharedExpandStyles.TitleContainerStyles, (0, _constants.gridSize)(), function (props) {
57
- return !props.expanded ? (0, _constants.gridSize)() : 0;
58
- });
53
+ var sharedContainerStyles = _ui.sharedExpandStyles.containerStyles(props);
54
+
55
+ var styles = function styles(themeProps) {
56
+ return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: 0;\n padding-bottom: ", ";\n "])), sharedContainerStyles(themeProps), paddingBottom);
57
+ };
58
+
59
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
60
+ css: styles
61
+ }, props), props.children);
62
+ };
63
+
64
+ var TitleContainer = function TitleContainer(props) {
65
+ var paddingBottom = "".concat(!props.expanded ? (0, _constants.gridSize)() : 0, "px");
66
+
67
+ var styles = function styles(themeProps) {
68
+ return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: ", "px;\n padding-bottom: ", ";\n "])), _ui.sharedExpandStyles.titleContainerStyles(themeProps), (0, _constants.gridSize)(), paddingBottom);
69
+ };
70
+
71
+ return (0, _react2.jsx)("button", (0, _extends2.default)({
72
+ css: styles
73
+ }, props), props.children);
74
+ };
59
75
 
60
76
  TitleContainer.displayName = 'TitleContainerButton';
61
77
 
62
- var ContentContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n padding-right: ", "px;\n padding-left: ", "px;\n visibility: ", ";\n"])), _ui.sharedExpandStyles.ContentStyles, (0, _constants.gridSize)() * 2, (0, _constants.gridSize)() * 5 - (0, _constants.gridSize)() / 2, function (props) {
63
- return props.expanded ? 'visible' : 'hidden';
64
- });
78
+ var ContentContainer = function ContentContainer(props) {
79
+ var sharedContentStyles = _ui.sharedExpandStyles.contentStyles(props);
65
80
 
66
- var ExpandLayoutWrapperWithRef = /*#__PURE__*/(0, _react.forwardRef)(function WithRef(props, ref) {
67
- // @ts-ignore: incorrect innerRef typing
68
- return (0, _react2.jsx)(_ui.ExpandLayoutWrapper, (0, _extends2.default)({}, props, {
69
- innerRef: ref
70
- }));
71
- });
81
+ var visibility = props.expanded ? 'visible' : 'hidden';
82
+
83
+ var styles = function styles(themeProps) {
84
+ return (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n padding-right: ", "px;\n padding-left: ", "px;\n visibility: ", ";\n "])), sharedContentStyles(themeProps), (0, _constants.gridSize)() * 2, (0, _constants.gridSize)() * 5 - (0, _constants.gridSize)() / 2, visibility);
85
+ };
86
+
87
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
88
+ css: styles
89
+ }, props), props.children);
90
+ };
72
91
 
73
92
  function fireExpandToggleAnalytics(nodeType, expanded, fireAnalyticsEvent) {
74
93
  if (!fireAnalyticsEvent) {
@@ -145,12 +164,13 @@ function Expand(_ref) {
145
164
  }, (0, _react2.jsx)(_tooltip.default, {
146
165
  content: label,
147
166
  position: "top",
148
- tag: ExpandLayoutWrapperWithRef
167
+ tag: _ui.ExpandLayoutWrapperWithRef
149
168
  }, (0, _react2.jsx)(_ui.ExpandIconWrapper, {
150
169
  expanded: expanded
151
170
  }, (0, _react2.jsx)(_chevronRight.default, {
152
171
  label: label
153
- }))), (0, _react2.jsx)(Title, {
172
+ }))), (0, _react2.jsx)("span", {
173
+ css: titleStyles,
154
174
  id: id
155
175
  }, title || intl.formatMessage(_ui.expandMessages.expandDefaultTitle))), (0, _react2.jsx)(ContentContainer, {
156
176
  expanded: expanded
@@ -7,9 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.getListOfIdentifiersFromDoc = exports.getClipboardAttrs = exports.MediaCardInternal = exports.MediaCard = exports.CardWrapper = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ exports.getListOfIdentifiersFromDoc = exports.getClipboardAttrs = exports.MediaCardInternal = exports.MediaCard = void 0;
13
11
 
14
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
13
 
@@ -39,10 +37,6 @@ var _mediaClient = require("@atlaskit/media-client");
39
37
 
40
38
  var _utils = require("@atlaskit/editor-common/utils");
41
39
 
42
- var _styledComponents = _interopRequireDefault(require("styled-components"));
43
-
44
- var _templateObject;
45
-
46
40
  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); }
47
41
 
48
42
  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; }
@@ -383,7 +377,7 @@ var MediaCardInternal = /*#__PURE__*/function (_Component) {
383
377
  collectionName: collection,
384
378
  occurrenceKey: occurrenceKey
385
379
  };
386
- return /*#__PURE__*/_react.default.createElement(CardWrapper, getClipboardAttrs({
380
+ return /*#__PURE__*/_react.default.createElement("div", getClipboardAttrs({
387
381
  id: id,
388
382
  alt: alt,
389
383
  collection: collection,
@@ -413,14 +407,10 @@ var MediaCardInternal = /*#__PURE__*/function (_Component) {
413
407
  }
414
408
  }]);
415
409
  return MediaCardInternal;
416
- }(_react.Component);
410
+ }(_react.Component); // Needed for copy & paste
417
411
 
418
- exports.MediaCardInternal = MediaCardInternal;
419
412
 
420
- var CardWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)([""]))); // Needed for copy & paste
421
-
422
-
423
- exports.CardWrapper = CardWrapper;
413
+ exports.MediaCardInternal = MediaCardInternal;
424
414
 
425
415
  var getClipboardAttrs = function getClipboardAttrs(_ref2) {
426
416
  var id = _ref2.id,
@@ -7,9 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.Renderer = exports.NORMAL_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = void 0;
11
- exports.RendererWrapper = RendererWrapper;
12
- exports.default = void 0;
10
+ exports.default = exports.Renderer = exports.NORMAL_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = void 0;
13
11
 
14
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
13
 
@@ -45,8 +43,6 @@ var _normalizeFeatureFlags = require("@atlaskit/editor-common/normalize-feature-
45
43
 
46
44
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
47
45
 
48
- var _widthDetector = require("@atlaskit/width-detector");
49
-
50
46
  var _analyticsListeners = require("@atlaskit/analytics-listeners");
51
47
 
52
48
  var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-context");
@@ -91,6 +87,8 @@ var _memoizeOne = _interopRequireDefault(require("memoize-one"));
91
87
 
92
88
  var _ErrorBoundary = require("./ErrorBoundary");
93
89
 
90
+ var _RenderTracking = require("../../react/utils/performance/RenderTracking");
91
+
94
92
  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); }
95
93
 
96
94
  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; }
@@ -119,8 +117,11 @@ var Renderer = /*#__PURE__*/function (_PureComponent) {
119
117
  (0, _classCallCheck2.default)(this, Renderer);
120
118
  _this = _super.call(this, props);
121
119
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "featureFlags", (0, _memoizeOne.default)(function (featureFlags) {
120
+ var normalizedFeatureFlags = (0, _normalizeFeatureFlags.normalizeFeatureFlags)(featureFlags, {
121
+ objectFlagKeys: ['rendererRenderTracking']
122
+ });
122
123
  return {
123
- featureFlags: (0, _normalizeFeatureFlags.normalizeFeatureFlags)(featureFlags)
124
+ featureFlags: normalizedFeatureFlags
124
125
  };
125
126
  }));
126
127
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fireAnalyticsEvent", function (event) {
@@ -355,6 +356,8 @@ var Renderer = /*#__PURE__*/function (_PureComponent) {
355
356
  };
356
357
 
357
358
  try {
359
+ var _this$featureFlags, _this$featureFlags$fe, _this$featureFlags$fe2;
360
+
358
361
  var schema = this.getSchema();
359
362
 
360
363
  var _renderDocument = (0, _.renderDocument)(document, this.serializer, schema, adfStage, this.props.useSpecBasedValidator, this.id, this.fireAnalyticsEvent, this.props.unsupportedContentLevelsTracking, this.props.appearance),
@@ -370,7 +373,7 @@ var Renderer = /*#__PURE__*/function (_PureComponent) {
370
373
  value: this.featureFlags(this.props.featureFlags)
371
374
  }, (0, _react2.jsx)(_copyTextProvider.CopyTextProvider, null, (0, _react2.jsx)(_activeHeaderIdProvider.ActiveHeaderIdProvider, {
372
375
  value: (0, _links.getActiveHeadingId)(allowHeadingAnchorLinks)
373
- }, (0, _react2.jsx)(_ui.LegacyToNextIntlProvider, null, (0, _react2.jsx)(_ui.IntlLegacyFallbackProvider, null, (0, _react2.jsx)(_analyticsContext.default.Provider, {
376
+ }, (0, _react2.jsx)(_analyticsContext.default.Provider, {
374
377
  value: {
375
378
  fireAnalyticsEvent: function fireAnalyticsEvent(event) {
376
379
  return _this3.fireAnalyticsEvent(event);
@@ -393,11 +396,20 @@ var Renderer = /*#__PURE__*/function (_PureComponent) {
393
396
  doc: pmDoc,
394
397
  schema: schema,
395
398
  onAnalyticsEvent: this.fireAnalyticsEvent
396
- }, result)))))))));
397
- return truncated ? (0, _react2.jsx)(_truncatedWrapper.TruncatedWrapper, {
399
+ }, result)))))));
400
+ var rendererResult = truncated ? (0, _react2.jsx)(_truncatedWrapper.TruncatedWrapper, {
398
401
  height: maxHeight,
399
402
  fadeHeight: fadeOutHeight
400
403
  }, rendererOutput) : rendererOutput;
404
+ var rendererRenderTracking = (_this$featureFlags = this.featureFlags(this.props.featureFlags)) === null || _this$featureFlags === void 0 ? void 0 : (_this$featureFlags$fe = _this$featureFlags.featureFlags) === null || _this$featureFlags$fe === void 0 ? void 0 : (_this$featureFlags$fe2 = _this$featureFlags$fe.rendererRenderTracking) === null || _this$featureFlags$fe2 === void 0 ? void 0 : _this$featureFlags$fe2[_enums.ACTION_SUBJECT.RENDERER];
405
+ var reRenderTracking = (rendererRenderTracking === null || rendererRenderTracking === void 0 ? void 0 : rendererRenderTracking.enabled) && (0, _react2.jsx)(_RenderTracking.RenderTracking, {
406
+ componentProps: this.props,
407
+ action: _enums.ACTION.RE_RENDERED,
408
+ actionSubject: _enums.ACTION_SUBJECT.RENDERER,
409
+ handleAnalyticsEvent: this.fireAnalyticsEvent,
410
+ useShallow: rendererRenderTracking.useShallow
411
+ });
412
+ return (0, _react2.jsx)(_react.Fragment, null, reRenderTracking, rendererResult);
401
413
  } catch (e) {
402
414
  if (onError) {
403
415
  onError(e);
@@ -446,73 +458,50 @@ var RendererWithAnalytics = /*#__PURE__*/_react.default.memo(function (props) {
446
458
  }
447
459
  }, (0, _react2.jsx)(_ui.WithCreateAnalyticsEvent, {
448
460
  render: function render(createAnalyticsEvent) {
449
- // `IntlNextErrorBoundary` only captures Internationalisation errors, leaving others for `ErrorBoundary`.
461
+ // `IntlErrorBoundary` only captures Internationalisation errors, leaving others for `ErrorBoundary`.
450
462
  return (0, _react2.jsx)(_ErrorBoundary.ErrorBoundary, {
451
463
  component: _enums.ACTION_SUBJECT.RENDERER,
452
464
  rethrowError: true,
453
465
  fallbackComponent: null,
454
466
  createAnalyticsEvent: createAnalyticsEvent
455
- }, (0, _react2.jsx)(_ui.IntlNextErrorBoundary, null, (0, _react2.jsx)(Renderer, (0, _extends2.default)({}, props, {
467
+ }, (0, _react2.jsx)(_ui.IntlErrorBoundary, null, (0, _react2.jsx)(Renderer, (0, _extends2.default)({}, props, {
456
468
  createAnalyticsEvent: createAnalyticsEvent
457
469
  }))));
458
470
  }
459
471
  }));
460
472
  });
461
473
 
462
- var RendererWithIframeFallbackWrapper = /*#__PURE__*/_react.default.memo(function (props) {
474
+ var RendererWrapper = /*#__PURE__*/_react.default.memo(function (props) {
463
475
  var allowColumnSorting = props.allowColumnSorting,
464
476
  dynamicTextSizing = props.dynamicTextSizing,
465
477
  allowNestedHeaderLinks = props.allowNestedHeaderLinks,
466
478
  innerRef = props.innerRef,
467
479
  appearance = props.appearance,
468
480
  children = props.children,
469
- subscribe = props.subscribe,
470
481
  onClick = props.onClick,
471
482
  onMouseDown = props.onMouseDown;
472
- var renderer = (0, _react2.jsx)(_ui.WidthProvider, {
483
+ return (0, _react2.jsx)(_ui.WidthProvider, {
473
484
  className: "ak-renderer-wrapper"
474
485
  }, (0, _react2.jsx)(_ui.BaseTheme, {
475
486
  dynamicTextSizing: dynamicTextSizing,
476
487
  baseFontSize: !dynamicTextSizing && appearance && appearance !== 'comment' ? _editorSharedStyles.akEditorFullPageDefaultFontSize : undefined
477
- }, (0, _react2.jsx)(_style.DeprecatedWrapper, {
478
- innerRef: innerRef,
479
- appearance: appearance,
480
- allowNestedHeaderLinks: allowNestedHeaderLinks,
481
- allowColumnSorting: !!allowColumnSorting,
488
+ }, (0, _react2.jsx)("div", {
489
+ ref: innerRef,
482
490
  onClick: onClick,
483
491
  onMouseDown: onMouseDown,
484
- css: _style.rendererStyles
492
+ css: (0, _style.rendererStyles)({
493
+ appearance: appearance,
494
+ allowNestedHeaderLinks: allowNestedHeaderLinks,
495
+ allowColumnSorting: !!allowColumnSorting
496
+ })
485
497
  }, children)));
486
-
487
- if (!subscribe) {
488
- return (0, _react2.jsx)(_widthDetector.IframeWidthObserverFallbackWrapper, null, renderer);
489
- }
490
-
491
- return renderer;
492
498
  });
493
- /**
494
- * When the product doesn't provide a IframeWidthObserverFallbackWrapper,
495
- * we will give one to the renderer,
496
- *
497
- * so if we have more than one `WidthProvider` on the content,
498
- * only one iframe will be created on the older browsers.
499
- */
500
-
501
-
502
- function RendererWrapper(props) {
503
- return (0, _react2.jsx)(_widthDetector.IframeWrapperConsumer, null, function (_ref) {
504
- var subscribe = _ref.subscribe;
505
- return (0, _react2.jsx)(RendererWithIframeFallbackWrapper, (0, _extends2.default)({}, props, {
506
- subscribe: subscribe
507
- }));
508
- });
509
- }
510
499
 
511
- function RendererActionsInternalUpdater(_ref2) {
512
- var children = _ref2.children,
513
- doc = _ref2.doc,
514
- schema = _ref2.schema,
515
- onAnalyticsEvent = _ref2.onAnalyticsEvent;
500
+ function RendererActionsInternalUpdater(_ref) {
501
+ var children = _ref.children,
502
+ doc = _ref.doc,
503
+ schema = _ref.schema,
504
+ onAnalyticsEvent = _ref.onAnalyticsEvent;
516
505
  var actions = (0, _react.useContext)(_RendererActionsContext.RendererContext);
517
506
  var rendererRef = (0, _react.useRef)(null);
518
507
  (0, _react.useLayoutEffect)(function () {