@atlaskit/renderer 91.0.0 → 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 (113) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/cjs/analytics/enums.js +2 -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 +17 -16
  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/heading.js +4 -2
  11. package/dist/cjs/react/nodes/layoutColumn.js +7 -2
  12. package/dist/cjs/react/nodes/media.js +7 -6
  13. package/dist/cjs/react/nodes/mediaSingle/index.js +15 -4
  14. package/dist/cjs/react/nodes/mediaSingle/styles.js +7 -10
  15. package/dist/cjs/react/nodes/panel.js +26 -16
  16. package/dist/cjs/react/nodes/table/sticky.js +63 -55
  17. package/dist/cjs/react/nodes/table.js +2 -10
  18. package/dist/cjs/react/utils/inject-props.js +33 -0
  19. package/dist/cjs/react/utils/performance/RenderTracking.js +52 -0
  20. package/dist/cjs/ui/Expand.js +52 -28
  21. package/dist/cjs/ui/MediaCard.js +4 -14
  22. package/dist/cjs/ui/Renderer/index.js +72 -64
  23. package/dist/cjs/ui/Renderer/style.js +62 -55
  24. package/dist/cjs/ui/Renderer/truncated-wrapper.js +19 -21
  25. package/dist/cjs/ui/SortingIcon.js +8 -9
  26. package/dist/cjs/ui/annotations/draft/component.js +22 -12
  27. package/dist/cjs/ui/annotations/element/mark.js +9 -5
  28. package/dist/cjs/ui/renderer-props.js +1 -3
  29. package/dist/cjs/version.json +1 -1
  30. package/dist/es2019/analytics/enums.js +2 -0
  31. package/dist/es2019/react/marks/alignment.js +15 -7
  32. package/dist/es2019/react/marks/breakout.js +6 -5
  33. package/dist/es2019/react/marks/link.js +8 -5
  34. package/dist/es2019/react/nodes/codeBlock.js +25 -23
  35. package/dist/es2019/react/nodes/codeBlockCopyButton.js +12 -9
  36. package/dist/es2019/react/nodes/embedCard.js +16 -16
  37. package/dist/es2019/react/nodes/heading-anchor.js +9 -6
  38. package/dist/es2019/react/nodes/heading.js +4 -2
  39. package/dist/es2019/react/nodes/layoutColumn.js +7 -3
  40. package/dist/es2019/react/nodes/media.js +9 -5
  41. package/dist/es2019/react/nodes/mediaSingle/index.js +10 -6
  42. package/dist/es2019/react/nodes/mediaSingle/styles.js +6 -7
  43. package/dist/es2019/react/nodes/panel.js +23 -16
  44. package/dist/es2019/react/nodes/table/sticky.js +55 -37
  45. package/dist/es2019/react/nodes/table.js +2 -5
  46. package/dist/es2019/react/utils/inject-props.js +24 -0
  47. package/dist/es2019/react/utils/performance/RenderTracking.js +37 -0
  48. package/dist/es2019/ui/Expand.js +65 -36
  49. package/dist/es2019/ui/MediaCard.js +3 -6
  50. package/dist/es2019/ui/Renderer/index.js +72 -57
  51. package/dist/es2019/ui/Renderer/style.js +370 -327
  52. package/dist/es2019/ui/Renderer/truncated-wrapper.js +26 -15
  53. package/dist/es2019/ui/SortingIcon.js +9 -7
  54. package/dist/es2019/ui/annotations/draft/component.js +18 -12
  55. package/dist/es2019/ui/annotations/element/mark.js +12 -6
  56. package/dist/es2019/ui/renderer-props.js +1 -1
  57. package/dist/es2019/version.json +1 -1
  58. package/dist/esm/analytics/enums.js +2 -0
  59. package/dist/esm/react/marks/alignment.js +13 -6
  60. package/dist/esm/react/marks/breakout.js +6 -5
  61. package/dist/esm/react/marks/link.js +7 -5
  62. package/dist/esm/react/nodes/codeBlock.js +18 -14
  63. package/dist/esm/react/nodes/codeBlockCopyButton.js +10 -7
  64. package/dist/esm/react/nodes/embedCard.js +19 -19
  65. package/dist/esm/react/nodes/heading-anchor.js +8 -6
  66. package/dist/esm/react/nodes/heading.js +4 -2
  67. package/dist/esm/react/nodes/layoutColumn.js +7 -3
  68. package/dist/esm/react/nodes/media.js +8 -5
  69. package/dist/esm/react/nodes/mediaSingle/index.js +11 -6
  70. package/dist/esm/react/nodes/mediaSingle/styles.js +5 -7
  71. package/dist/esm/react/nodes/panel.js +27 -15
  72. package/dist/esm/react/nodes/table/sticky.js +64 -53
  73. package/dist/esm/react/nodes/table.js +2 -8
  74. package/dist/esm/react/utils/inject-props.js +24 -0
  75. package/dist/esm/react/utils/performance/RenderTracking.js +39 -0
  76. package/dist/esm/ui/Expand.js +57 -29
  77. package/dist/esm/ui/MediaCard.js +3 -9
  78. package/dist/esm/ui/Renderer/index.js +74 -61
  79. package/dist/esm/ui/Renderer/style.js +58 -51
  80. package/dist/esm/ui/Renderer/truncated-wrapper.js +20 -14
  81. package/dist/esm/ui/SortingIcon.js +9 -7
  82. package/dist/esm/ui/annotations/draft/component.js +18 -11
  83. package/dist/esm/ui/annotations/element/mark.js +11 -4
  84. package/dist/esm/ui/renderer-props.js +1 -1
  85. package/dist/esm/version.json +1 -1
  86. package/dist/types/analytics/enums.d.ts +2 -0
  87. package/dist/types/analytics/events.d.ts +12 -2
  88. package/dist/types/react/marks/alignment.d.ts +2 -2
  89. package/dist/types/react/marks/breakout.d.ts +4 -3
  90. package/dist/types/react/marks/link.d.ts +2 -2
  91. package/dist/types/react/nodes/codeBlock.d.ts +4 -14
  92. package/dist/types/react/nodes/embedCard.d.ts +3 -2
  93. package/dist/types/react/nodes/heading-anchor.d.ts +1 -0
  94. package/dist/types/react/nodes/heading.d.ts +1 -0
  95. package/dist/types/react/nodes/index.d.ts +1 -13
  96. package/dist/types/react/nodes/layoutColumn.d.ts +3 -1
  97. package/dist/types/react/nodes/media.d.ts +3 -1
  98. package/dist/types/react/nodes/mediaSingle/index.d.ts +1 -0
  99. package/dist/types/react/nodes/mediaSingle/styles.d.ts +2 -3
  100. package/dist/types/react/nodes/panel.d.ts +3 -1
  101. package/dist/types/react/nodes/table/sticky.d.ts +4 -2
  102. package/dist/types/react/utils/inject-props.d.ts +6 -0
  103. package/dist/types/react/utils/performance/RenderTracking.d.ts +15 -0
  104. package/dist/types/ui/Expand.d.ts +3 -2
  105. package/dist/types/ui/MediaCard.d.ts +1 -3
  106. package/dist/types/ui/Renderer/index.d.ts +3 -26
  107. package/dist/types/ui/Renderer/style.d.ts +2 -3
  108. package/dist/types/ui/Renderer/truncated-wrapper.d.ts +3 -1
  109. package/dist/types/ui/SortingIcon.d.ts +3 -3
  110. package/dist/types/ui/annotations/draft/component.d.ts +1 -0
  111. package/dist/types/ui/annotations/element/mark.d.ts +1 -0
  112. package/dist/types/ui/renderer-props.d.ts +14 -2
  113. package/package.json +22 -23
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -9,7 +11,9 @@ exports.getMediaContainerWidth = exports.default = void 0;
9
11
 
10
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _react2 = require("@emotion/react");
13
17
 
14
18
  var _reactIntlNext = require("react-intl-next");
15
19
 
@@ -25,6 +29,11 @@ var _useObservedWidth2 = require("../../hooks/use-observed-width");
25
29
 
26
30
  var _styles = require("./styles");
27
31
 
32
+ 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); }
33
+
34
+ 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; }
35
+
36
+ /** @jsx jsx */
28
37
  var DEFAULT_WIDTH = 250;
29
38
  var DEFAULT_HEIGHT = 200;
30
39
 
@@ -198,7 +207,9 @@ var MediaSingle = function MediaSingle(props) {
198
207
  featureFlags: featureFlags
199
208
  });
200
209
 
201
- return /*#__PURE__*/_react.default.createElement(_styles.ExtendedUIMediaSingle, {
210
+ var uiMediaSingleStyles = layout === 'full-width' || layout === 'wide' ? [_styles.uiMediaSingleBaseStyles, _styles.uiMediaSingleLayoutStyles] : [_styles.uiMediaSingleBaseStyles];
211
+ return (0, _react2.jsx)(_ui.MediaSingle, {
212
+ css: uiMediaSingleStyles,
202
213
  handleMediaSingleRef: ref,
203
214
  layout: layout,
204
215
  width: width,
@@ -207,10 +218,10 @@ var MediaSingle = function MediaSingle(props) {
207
218
  containerWidth: containerWidth,
208
219
  pctWidth: pctWidth,
209
220
  fullWidthMode: isFullWidth
210
- }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, mediaComponent), isCaptionsFlaggedOn && caption);
221
+ }, (0, _react2.jsx)(_react.Fragment, null, mediaComponent), isCaptionsFlaggedOn && caption);
211
222
  };
212
223
 
213
- return observedWidthFlag ? renderMediaSingle(observedWidth || document.body.offsetWidth) : /*#__PURE__*/_react.default.createElement(_ui.WidthConsumer, null, function (_ref3) {
224
+ return observedWidthFlag ? renderMediaSingle(observedWidth || document.body.offsetWidth) : (0, _react2.jsx)(_ui.WidthConsumer, null, function (_ref3) {
214
225
  var width = _ref3.width,
215
226
  breakpoint = _ref3.breakpoint;
216
227
  return renderMediaSingle(width, breakpoint);
@@ -5,18 +5,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.ExtendedUIMediaSingle = void 0;
8
+ exports.uiMediaSingleLayoutStyles = exports.uiMediaSingleBaseStyles = void 0;
9
9
 
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
 
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _react = require("@emotion/react");
13
13
 
14
- var _ui = require("@atlaskit/editor-common/ui");
14
+ var _templateObject, _templateObject2;
15
15
 
16
- var _templateObject;
17
-
18
- var ExtendedUIMediaSingle = (0, _styledComponents.default)(_ui.MediaSingle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", " transition: all 0.1s linear;\n"])), function (_ref) {
19
- var layout = _ref.layout;
20
- return layout === 'full-width' || layout === 'wide' ? "\n margin-left: 50%;\n transform: translateX(-50%);\n " : "";
21
- });
22
- exports.ExtendedUIMediaSingle = ExtendedUIMediaSingle;
16
+ var uiMediaSingleBaseStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n transition: all 0.1s linear;\n"])));
17
+ exports.uiMediaSingleBaseStyles = uiMediaSingleBaseStyles;
18
+ var uiMediaSingleLayoutStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: 50%;\n transform: translateX(-50%);\n"])));
19
+ exports.uiMediaSingleLayoutStyles = uiMediaSingleLayoutStyles;
@@ -7,11 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
10
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
13
15
 
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
16
+ var _react2 = require("@emotion/react");
15
17
 
16
18
  var _hint = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/hint"));
17
19
 
@@ -27,19 +29,27 @@ var _theme = require("@atlaskit/theme");
27
29
 
28
30
  var _icons = require("@atlaskit/editor-common/icons");
29
31
 
30
- var _templateObject;
31
-
32
- var PanelStyled = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), function (props) {
33
- if (props['data-panel-type'] !== _adfSchema.PanelType.CUSTOM || !props.backgroundColor) {
34
- return '';
35
- } // Similar to mainDynamicStyles()
32
+ var _templateObject, _templateObject2;
36
33
 
34
+ var PanelStyled = function PanelStyled(props) {
35
+ var styles = function styles(themeProps) {
36
+ return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)([""])));
37
+ };
37
38
 
38
- return "\n &[data-panel-type=".concat(_adfSchema.PanelType.CUSTOM, "] {\n background-color: ").concat(props.backgroundColor, ";\n ").concat((0, _theme.themed)({
39
- dark: _styles.getPanelBackgroundDarkModeColors
40
- }), ";\n }\n ");
41
- });
39
+ if (props['data-panel-type'] === _adfSchema.PanelType.CUSTOM && props.backgroundColor) {
40
+ styles = function styles(themeProps) {
41
+ return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n &[data-panel-type=", "] {\n background-color: ", ";\n ", ";\n }\n "])), _adfSchema.PanelType.CUSTOM, props.backgroundColor, (0, _theme.themed)({
42
+ dark: _styles.getPanelBackgroundDarkModeColors
43
+ })(themeProps));
44
+ };
45
+ }
46
+
47
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
48
+ css: styles
49
+ }, props), props.children);
50
+ };
42
51
 
52
+ PanelStyled.displayName = 'PanelStyled';
43
53
  var panelIcons = {
44
54
  info: _icons.PanelInfoIcon,
45
55
  success: _icons.PanelSuccessIcon,
@@ -66,7 +76,7 @@ var Panel = function Panel(props) {
66
76
  var getIcon = function getIcon() {
67
77
  if (panelType === _adfSchema.PanelType.CUSTOM) {
68
78
  if (panelIcon && providers) {
69
- return /*#__PURE__*/_react.default.createElement(_emoji2.default, {
79
+ return (0, _react2.jsx)(_emoji2.default, {
70
80
  id: panelIconId,
71
81
  text: panelIconText,
72
82
  shortName: panelIcon,
@@ -78,7 +88,7 @@ var Panel = function Panel(props) {
78
88
  }
79
89
 
80
90
  var Icon = panelIcons[panelType];
81
- return /*#__PURE__*/_react.default.createElement(Icon, {
91
+ return (0, _react2.jsx)(Icon, {
82
92
  label: "Panel ".concat(panelType)
83
93
  });
84
94
  };
@@ -87,13 +97,13 @@ var Panel = function Panel(props) {
87
97
  var icon = getIcon();
88
98
 
89
99
  if (icon) {
90
- return /*#__PURE__*/_react.default.createElement("div", {
100
+ return (0, _react2.jsx)("div", {
91
101
  className: _styles.PanelSharedCssClassName.icon
92
102
  }, icon);
93
103
  }
94
104
  };
95
105
 
96
- return /*#__PURE__*/_react.default.createElement(PanelStyled, {
106
+ return (0, _react2.jsx)(PanelStyled, {
97
107
  className: _styles.PanelSharedCssClassName.prefix,
98
108
  "data-panel-type": panelType,
99
109
  "data-panel-color": panelColor,
@@ -101,7 +111,7 @@ var Panel = function Panel(props) {
101
111
  "data-panel-icon-id": panelIconId,
102
112
  "data-panel-icon-text": panelIconText,
103
113
  backgroundColor: panelColor
104
- }, renderIcon(), /*#__PURE__*/_react.default.createElement("div", {
114
+ }, renderIcon(), (0, _react2.jsx)("div", {
105
115
  className: _styles.PanelSharedCssClassName.content
106
116
  }, children));
107
117
  };
@@ -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
 
@@ -29,6 +29,8 @@ var _utils = require("../../../utils");
29
29
 
30
30
  var _table = require("./table");
31
31
 
32
+ var _injectProps = require("../../utils/inject-props");
33
+
32
34
  var _templateObject, _templateObject2, _templateObject3;
33
35
 
34
36
  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); }
@@ -38,82 +40,88 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
38
40
  var N40A = colors.N40A;
39
41
  var tableStickyPadding = 8;
40
42
  exports.tableStickyPadding = tableStickyPadding;
43
+ var fixedTableDivModeToPosition = {
44
+ stick: 'fixed',
45
+ 'pin-bottom': 'absolute'
46
+ };
41
47
 
42
- // creates a new stacking context and places the div in the same
43
- // position as the table
44
- var RelativeTableDiv = _styledComponents.default.div.attrs({
45
- style: function style(_ref) {
46
- var left = _ref.left,
47
- top = _ref.top;
48
- return {
49
- left: left && left < 0 ? left : undefined,
50
- top: top
51
- };
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]);
52
53
  }
53
- })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
54
-
55
- var FixedTableDiv = _styledComponents.default.div.attrs({
56
- style: function style(_ref2) {
57
- var top = _ref2.top,
58
- wrapperWidth = _ref2.wrapperWidth;
59
- return {
60
- top: top,
61
- width: wrapperWidth
62
- };
63
- }
64
- })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n ", ";\n ", ";\n\n z-index: ", ";\n\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) {
65
- return props.mode === 'stick' ? 'position: fixed' : '';
66
- }, function (props) {
67
- return props.mode === 'pin-bottom' ? 'position: absolute' : '';
68
- }, function (props) {
69
- return props.mode === 'none' ? 'display: none' : '';
70
- }, _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
+ };
71
69
 
72
70
  exports.FixedTableDiv = FixedTableDiv;
73
71
 
74
- var StyledDiv = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)([""])));
75
-
76
- var StickyTable = function StickyTable(_ref3) {
77
- var top = _ref3.top,
78
- left = _ref3.left,
79
- mode = _ref3.mode,
80
- shadowClassNames = _ref3.shadowClassNames,
81
- innerRef = _ref3.innerRef,
82
- wrapperWidth = _ref3.wrapperWidth,
83
- tableWidth = _ref3.tableWidth,
84
- isNumberColumnEnabled = _ref3.isNumberColumnEnabled,
85
- layout = _ref3.layout,
86
- children = _ref3.children,
87
- columnWidths = _ref3.columnWidths,
88
- renderWidth = _ref3.renderWidth,
89
- allowDynamicTextSizing = _ref3.allowDynamicTextSizing,
90
- rowHeight = _ref3.rowHeight;
91
- return /*#__PURE__*/_react.default.createElement(RelativeTableDiv, {
92
- left: left,
93
- top: mode === 'pin-bottom' ? top : undefined
94
- }, /*#__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, {
95
94
  top: mode === 'stick' ? top : undefined,
96
95
  mode: rowHeight > 300 ? 'none' : mode,
97
96
  wrapperWidth: wrapperWidth
98
- }, /*#__PURE__*/_react.default.createElement(StyledDiv, {
97
+ }, (0, _react2.jsx)("div", {
99
98
  className: "".concat(_styles.TableSharedCssClassName.TABLE_CONTAINER, " ").concat(shadowClassNames),
100
99
  "data-layout": layout,
101
100
  style: {
102
101
  width: tableWidth
103
102
  }
104
- }, /*#__PURE__*/_react.default.createElement(StyledDiv, {
105
- innerRef: innerRef,
103
+ }, (0, _react2.jsx)("div", {
104
+ ref: innerRef,
106
105
  className: "".concat(_styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER),
107
106
  style: {
108
107
  overflow: 'hidden'
109
108
  }
110
- }, /*#__PURE__*/_react.default.createElement(_table.Table, {
109
+ }, (0, _react2.jsx)(_table.Table, {
111
110
  columnWidths: columnWidths,
112
111
  layout: layout,
113
112
  isNumberColumnEnabled: isNumberColumnEnabled,
114
113
  renderWidth: renderWidth,
115
114
  allowDynamicTextSizing: allowDynamicTextSizing
116
- }, children)))));
115
+ },
116
+ /**
117
+ * @see https://product-fabric.atlassian.net/browse/ED-10235
118
+ * We pass prop 'invisible' to our table's children nodes meaning
119
+ * they exist inside of the 'invisible' duplicated table component that
120
+ * enables sticky headers.
121
+ */
122
+ (0, _injectProps.recursivelyInjectProps)(children, {
123
+ invisible: true
124
+ }))))));
117
125
  };
118
126
 
119
127
  exports.StickyTable = StickyTable;
@@ -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,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.recursivelyInjectProps = recursivelyInjectProps;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ /**
13
+ * Helper function to recursively injects props to
14
+ * all valid children react nodes.
15
+ */
16
+ function recursivelyInjectProps(children, propsToInject) {
17
+ return _react.default.Children.toArray(children).map(function (child) {
18
+ // Cannot add a prop to an invalid element, so just return the child
19
+ if (! /*#__PURE__*/_react.default.isValidElement(child)) {
20
+ return child;
21
+ } // Recursive call if child has nested children
22
+
23
+
24
+ if (child.props.children) {
25
+ child = /*#__PURE__*/_react.default.cloneElement(child, {
26
+ children: recursivelyInjectProps(child.props.children, propsToInject)
27
+ });
28
+ } // Add props to react child node
29
+
30
+
31
+ return /*#__PURE__*/_react.default.cloneElement(child, propsToInject);
32
+ });
33
+ }
@@ -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
+ }
@@ -17,7 +17,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
- var _styledComponents = _interopRequireDefault(require("styled-components"));
20
+ var _react2 = require("@emotion/react");
21
21
 
22
22
  var _constants = require("@atlaskit/theme/constants");
23
23
 
@@ -45,28 +45,49 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
45
45
 
46
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; }
47
47
 
48
- 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);
49
49
 
50
- var Container = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n padding: 0;\n padding-bottom: ", "px;\n"])), _ui.sharedExpandStyles.ContainerStyles, function (props) {
51
- return props.expanded ? (0, _constants.gridSize)() : 0;
52
- });
50
+ var Container = function Container(props) {
51
+ var paddingBottom = "".concat(props.expanded ? (0, _constants.gridSize)() : 0, "px");
53
52
 
54
- 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) {
55
- return !props.expanded ? (0, _constants.gridSize)() : 0;
56
- });
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
+ };
57
75
 
58
76
  TitleContainer.displayName = 'TitleContainerButton';
59
77
 
60
- 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) {
61
- return props.expanded ? 'visible' : 'hidden';
62
- });
78
+ var ContentContainer = function ContentContainer(props) {
79
+ var sharedContentStyles = _ui.sharedExpandStyles.contentStyles(props);
63
80
 
64
- var ExpandLayoutWrapperWithRef = /*#__PURE__*/(0, _react.forwardRef)(function WithRef(props, ref) {
65
- // @ts-ignore: incorrect innerRef typing
66
- return /*#__PURE__*/_react.default.createElement(_ui.ExpandLayoutWrapper, (0, _extends2.default)({}, props, {
67
- innerRef: ref
68
- }));
69
- });
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
+ };
70
91
 
71
92
  function fireExpandToggleAnalytics(nodeType, expanded, fireAnalyticsEvent) {
72
93
  if (!fireAnalyticsEvent) {
@@ -114,18 +135,18 @@ function Expand(_ref) {
114
135
  var handleBlur = (0, _react.useCallback)(function () {
115
136
  return setFocused(false);
116
137
  }, []);
117
- return /*#__PURE__*/_react.default.createElement(Container, {
138
+ return (0, _react2.jsx)(Container, {
118
139
  "data-node-type": nodeType,
119
140
  "data-title": title,
120
141
  "data-expanded": expanded,
121
142
  expanded: expanded,
122
143
  focused: focused
123
- }, nestedHeaderIds && nestedHeaderIds.length > 0 ? /*#__PURE__*/_react.default.createElement(_activeHeaderIdProvider.ActiveHeaderIdConsumer, {
144
+ }, nestedHeaderIds && nestedHeaderIds.length > 0 ? (0, _react2.jsx)(_activeHeaderIdProvider.ActiveHeaderIdConsumer, {
124
145
  nestedHeaderIds: nestedHeaderIds,
125
146
  onNestedHeaderIdMatch: function onNestedHeaderIdMatch() {
126
147
  return setExpanded(true);
127
148
  }
128
- }) : null, /*#__PURE__*/_react.default.createElement(TitleContainer, {
149
+ }) : null, (0, _react2.jsx)(TitleContainer, {
129
150
  onClick: function onClick(e) {
130
151
  e.stopPropagation();
131
152
  fireExpandToggleAnalytics(nodeType, expanded, fireAnalyticsEvent);
@@ -140,21 +161,24 @@ function Expand(_ref) {
140
161
  "aria-expanded": expanded,
141
162
  contentEditable: false,
142
163
  expanded: expanded
143
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
164
+ }, (0, _react2.jsx)(_tooltip.default, {
144
165
  content: label,
145
166
  position: "top",
146
- tag: ExpandLayoutWrapperWithRef
147
- }, /*#__PURE__*/_react.default.createElement(_ui.ExpandIconWrapper, {
167
+ tag: _ui.ExpandLayoutWrapperWithRef
168
+ }, (0, _react2.jsx)(_ui.ExpandIconWrapper, {
148
169
  expanded: expanded
149
- }, /*#__PURE__*/_react.default.createElement(_chevronRight.default, {
170
+ }, (0, _react2.jsx)(_chevronRight.default, {
150
171
  label: label
151
- }))), /*#__PURE__*/_react.default.createElement(Title, {
172
+ }))), (0, _react2.jsx)("span", {
173
+ css: titleStyles,
152
174
  id: id
153
- }, title || intl.formatMessage(_ui.expandMessages.expandDefaultTitle))), /*#__PURE__*/_react.default.createElement(ContentContainer, {
175
+ }, title || intl.formatMessage(_ui.expandMessages.expandDefaultTitle))), (0, _react2.jsx)(ContentContainer, {
154
176
  expanded: expanded
155
- }, /*#__PURE__*/_react.default.createElement("div", {
177
+ }, (0, _react2.jsx)("div", {
156
178
  className: "".concat(nodeType, "-content-wrapper")
157
- }, /*#__PURE__*/_react.default.createElement(_ui.WidthProvider, null, /*#__PURE__*/_react.default.createElement(_ui.ClearNextSiblingMarginTop, null), children))));
179
+ }, (0, _react2.jsx)(_ui.WidthProvider, null, (0, _react2.jsx)("div", {
180
+ css: _ui.clearNextSiblingMarginTopStyle
181
+ }), children))));
158
182
  }
159
183
 
160
184
  var _default = (0, _reactIntlNext.injectIntl)(Expand);