@atlaskit/editor-common 74.1.2 → 74.2.1

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 (99) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/monitoring/error.js +1 -1
  3. package/dist/cjs/styles/index.js +14 -1
  4. package/dist/cjs/styles/shared/grid.js +16 -0
  5. package/dist/cjs/styles/shared/resizer.js +14 -2
  6. package/dist/cjs/ui/ContextPanel/context.js +89 -0
  7. package/dist/cjs/ui/DropList/index.js +3 -5
  8. package/dist/cjs/ui/Resizer/index.js +8 -1
  9. package/dist/cjs/ui/index.js +25 -0
  10. package/dist/cjs/ui-menu/ToolbarButton/index.js +3 -1
  11. package/dist/cjs/ui-menu/ToolbarButton/styles.js +3 -0
  12. package/dist/cjs/utils/grid.js +10 -0
  13. package/dist/cjs/utils/index.js +7 -0
  14. package/dist/cjs/utils/validator.js +2 -1
  15. package/dist/cjs/version.json +1 -1
  16. package/dist/es2019/index.js +1 -1
  17. package/dist/es2019/monitoring/error.js +1 -1
  18. package/dist/es2019/styles/index.js +2 -1
  19. package/dist/es2019/styles/shared/grid.js +36 -0
  20. package/dist/es2019/styles/shared/resizer.js +23 -0
  21. package/dist/es2019/ui/ContextPanel/context.js +65 -0
  22. package/dist/es2019/ui/DropList/index.js +3 -6
  23. package/dist/es2019/ui/Resizer/index.js +8 -2
  24. package/dist/es2019/ui/index.js +2 -1
  25. package/dist/es2019/ui-menu/ToolbarButton/index.js +3 -0
  26. package/dist/es2019/ui-menu/ToolbarButton/styles.js +3 -0
  27. package/dist/es2019/utils/grid.js +1 -0
  28. package/dist/es2019/utils/index.js +2 -1
  29. package/dist/es2019/utils/validator.js +2 -1
  30. package/dist/es2019/version.json +1 -1
  31. package/dist/esm/index.js +1 -1
  32. package/dist/esm/monitoring/error.js +1 -1
  33. package/dist/esm/styles/index.js +2 -1
  34. package/dist/esm/styles/shared/grid.js +7 -0
  35. package/dist/esm/styles/shared/resizer.js +9 -1
  36. package/dist/esm/ui/ContextPanel/context.js +79 -0
  37. package/dist/esm/ui/DropList/index.js +3 -6
  38. package/dist/esm/ui/Resizer/index.js +9 -2
  39. package/dist/esm/ui/index.js +2 -1
  40. package/dist/esm/ui-menu/ToolbarButton/index.js +3 -0
  41. package/dist/esm/ui-menu/ToolbarButton/styles.js +3 -0
  42. package/dist/esm/utils/grid.js +3 -0
  43. package/dist/esm/utils/index.js +2 -1
  44. package/dist/esm/utils/validator.js +2 -1
  45. package/dist/esm/version.json +1 -1
  46. package/dist/types/analytics/types/events.d.ts +1 -1
  47. package/dist/types/provider-factory/types.d.ts +1 -1
  48. package/dist/types/resizer.d.ts +1 -0
  49. package/dist/types/styles/index.d.ts +1 -0
  50. package/dist/types/styles/shared/grid.d.ts +2 -0
  51. package/dist/types/styles/shared/resizer.d.ts +8 -0
  52. package/dist/types/types/editor-actions.d.ts +1 -1
  53. package/dist/types/types/grid.d.ts +1 -0
  54. package/dist/types/types/index.d.ts +2 -2
  55. package/dist/types/types/next-editor-plugin.d.ts +5 -0
  56. package/dist/types/ui/ContextPanel/context.d.ts +24 -0
  57. package/dist/types/ui/DropList/index.d.ts +1 -1
  58. package/dist/types/ui/Resizer/index.d.ts +2 -1
  59. package/dist/types/ui/Resizer/types.d.ts +1 -0
  60. package/dist/types/ui/index.d.ts +1 -0
  61. package/dist/types/ui-menu/ToolbarButton/index.d.ts +1 -1
  62. package/dist/types/utils/grid.d.ts +3 -0
  63. package/dist/types/utils/index.d.ts +1 -0
  64. package/dist/types-ts4.5/analytics/types/events.d.ts +1 -1
  65. package/dist/types-ts4.5/provider-factory/types.d.ts +1 -1
  66. package/dist/types-ts4.5/resizer.d.ts +1 -0
  67. package/dist/types-ts4.5/styles/index.d.ts +1 -0
  68. package/dist/types-ts4.5/styles/shared/grid.d.ts +2 -0
  69. package/dist/types-ts4.5/styles/shared/resizer.d.ts +8 -0
  70. package/dist/types-ts4.5/types/editor-actions.d.ts +1 -1
  71. package/dist/types-ts4.5/types/grid.d.ts +1 -0
  72. package/dist/types-ts4.5/types/index.d.ts +2 -2
  73. package/dist/types-ts4.5/types/next-editor-plugin.d.ts +5 -0
  74. package/dist/types-ts4.5/ui/ContextPanel/context.d.ts +24 -0
  75. package/dist/types-ts4.5/ui/DropList/index.d.ts +1 -1
  76. package/dist/types-ts4.5/ui/Resizer/index.d.ts +2 -1
  77. package/dist/types-ts4.5/ui/Resizer/types.d.ts +1 -0
  78. package/dist/types-ts4.5/ui/index.d.ts +1 -0
  79. package/dist/types-ts4.5/ui-menu/ToolbarButton/index.d.ts +1 -1
  80. package/dist/types-ts4.5/utils/grid.d.ts +3 -0
  81. package/dist/types-ts4.5/utils/index.d.ts +1 -0
  82. package/package.json +10 -8
  83. package/report.api.md +1 -1
  84. package/collab/package.json +0 -15
  85. package/dist/cjs/collab/types.js +0 -5
  86. package/dist/cjs/types/collab.js +0 -5
  87. package/dist/es2019/types/collab.js +0 -1
  88. package/dist/esm/collab/types.js +0 -1
  89. package/dist/esm/collab.js +0 -1
  90. package/dist/esm/types/collab.js +0 -1
  91. package/dist/types/collab/types.d.ts +0 -101
  92. package/dist/types/collab.d.ts +0 -1
  93. package/dist/types/types/collab.d.ts +0 -8
  94. package/dist/types-ts4.5/collab/types.d.ts +0 -101
  95. package/dist/types-ts4.5/collab.d.ts +0 -1
  96. package/dist/types-ts4.5/types/collab.d.ts +0 -8
  97. /package/dist/cjs/{collab.js → types/grid.js} +0 -0
  98. /package/dist/es2019/{collab.js → types/grid.js} +0 -0
  99. /package/dist/{es2019/collab/types.js → esm/types/grid.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 74.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`01bb98b52ee`](https://bitbucket.org/atlassian/atlassian-frontend/commits/01bb98b52ee) - Internal change to replace gridSize with space tokens.
8
+
9
+ ## 74.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`1549c2e6dda`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1549c2e6dda) - Extract width plugin from `editor-core` to separate `editor-plugin-width` package.
14
+ - [`f055b886032`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f055b886032) - Extract the grid plugin to a separate package.
15
+
16
+ ### Patch Changes
17
+
18
+ - [`6b56797b868`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6b56797b868) - Dummy changeset to trigger a pre-release of editor-common
19
+ - [`10ddf00db40`](https://bitbucket.org/atlassian/atlassian-frontend/commits/10ddf00db40) - [ux] add a handler size option and relevant style and demo page
20
+ - [`94561f309f3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/94561f309f3) - New stage-0 change: custom "width" attribute on Tables nodes
21
+ - [`b7086232a7c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b7086232a7c) - ESS-3135: move collab provider types into @atlaskit/collab-provider
22
+ - Updated dependencies
23
+
3
24
  ## 74.1.2
4
25
 
5
26
  ### Patch Changes
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  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; }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "74.1.2";
19
+ var packageVersion = "74.2.1";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -45,6 +45,12 @@ Object.defineProperty(exports, "EXTENSION_PADDING", {
45
45
  return _extension.EXTENSION_PADDING;
46
46
  }
47
47
  });
48
+ Object.defineProperty(exports, "GRID_GUTTER", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _grid.GRID_GUTTER;
52
+ }
53
+ });
48
54
  Object.defineProperty(exports, "LAYOUT_COLUMN_PADDING", {
49
55
  enumerable: true,
50
56
  get: function get() {
@@ -141,6 +147,12 @@ Object.defineProperty(exports, "getOrderedListInlineStyles", {
141
147
  return _lists.getOrderedListInlineStyles;
142
148
  }
143
149
  });
150
+ Object.defineProperty(exports, "gridStyles", {
151
+ enumerable: true,
152
+ get: function get() {
153
+ return _grid.gridStyles;
154
+ }
155
+ });
144
156
  Object.defineProperty(exports, "headingsSharedStyles", {
145
157
  enumerable: true,
146
158
  get: function get() {
@@ -315,4 +327,5 @@ var _dropdownMenu = require("./shared/dropdown-menu");
315
327
  var _codeBlock = require("./shared/code-block");
316
328
  var _layout = require("./shared/layout");
317
329
  var _extension = require("./shared/extension");
318
- var _resizer = require("./shared/resizer");
330
+ var _resizer = require("./shared/resizer");
331
+ var _grid = require("./shared/grid");
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.gridStyles = exports.GRID_GUTTER = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
11
+ var _colors = require("@atlaskit/theme/colors");
12
+ var _templateObject;
13
+ var GRID_GUTTER = 12;
14
+ exports.GRID_GUTTER = GRID_GUTTER;
15
+ var gridStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: -", "px;\n margin-right: -", "px;\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, GRID_GUTTER, GRID_GUTTER, _editorSharedStyles.akEditorGridLineZIndex, "var(--ds-border, ".concat(_colors.N30A, ")"), "var(--ds-border-focused, ".concat(_colors.B200, ")"));
16
+ exports.gridStyles = gridStyles;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.resizerStyles = exports.resizerItemClassName = exports.resizerHandleZIndex = exports.resizerHandleRightClassName = exports.resizerHandlePadding = exports.resizerHandleLeftClassName = void 0;
7
+ exports.resizerStyles = exports.resizerItemClassName = exports.resizerHandlerSmallClassName = exports.resizerHandlerMediumClassName = exports.resizerHandlerLargeClassName = exports.resizerHandlerClassName = exports.resizerHandleZIndex = exports.resizerHandleRightClassName = exports.resizerHandlePadding = exports.resizerHandleLeftClassName = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _colors = require("@atlaskit/theme/colors");
@@ -27,5 +27,17 @@ var resizerHandlePadding = 13;
27
27
  exports.resizerHandlePadding = resizerHandlePadding;
28
28
  var resizerHandleZIndex = 99;
29
29
  exports.resizerHandleZIndex = resizerHandleZIndex;
30
- var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n background: ", ";\n }\n\n .", ", .", " {\n display: flex;\n flex-direction: column;\n\n /* vertical align */\n justify-content: center;\n }\n\n .", " {\n align-items: flex-end;\n /* padding-right: 12px; */\n /* margin-right: -", "px; */\n }\n\n .", " {\n align-items: flex-start;\n /* padding-left: 12px; */\n /* margin-left: -", "px; */\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after {\n background: ", ";\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n"])), resizerItemClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandlePadding, resizerHandleLeftClassName, resizerHandlePadding, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, "var(--ds-border, ".concat(_colors.N60, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"));
30
+ var resizerHandlerSmallClassName = 'resizer-handler-small';
31
+ exports.resizerHandlerSmallClassName = resizerHandlerSmallClassName;
32
+ var resizerHandlerMediumClassName = 'resizer-handler-medium';
33
+ exports.resizerHandlerMediumClassName = resizerHandlerMediumClassName;
34
+ var resizerHandlerLargeClassName = 'resizer-handler-large';
35
+ exports.resizerHandlerLargeClassName = resizerHandlerLargeClassName;
36
+ var resizerHandlerClassName = {
37
+ small: resizerHandlerSmallClassName,
38
+ medium: resizerHandlerMediumClassName,
39
+ large: resizerHandlerLargeClassName
40
+ };
41
+ exports.resizerHandlerClassName = resizerHandlerClassName;
42
+ var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n background: ", ";\n }\n\n .", ", .", " {\n display: flex;\n flex-direction: column;\n\n /* vertical align */\n justify-content: center;\n }\n\n .", " {\n align-items: flex-end;\n /* padding-right: 12px; */\n /* margin-right: -", "px; */\n }\n\n .", " {\n align-items: flex-start;\n /* padding-left: 12px; */\n /* margin-left: -", "px; */\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after {\n background: ", ";\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 64px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 43px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 96px;\n }\n"])), resizerItemClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandlePadding, resizerHandleLeftClassName, resizerHandlePadding, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, "var(--ds-border, ".concat(_colors.N60, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandlerClassName.medium, resizerHandleLeftClassName, resizerHandlerClassName.medium, resizerHandleRightClassName, resizerHandlerClassName.small, resizerHandleLeftClassName, resizerHandlerClassName.small, resizerHandleRightClassName, resizerHandlerClassName.large, resizerHandleLeftClassName, resizerHandlerClassName.large);
31
43
  exports.resizerStyles = resizerStyles;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ContextPanelWidthProvider = exports.ContextPanelProvider = exports.ContextPanelConsumer = exports.ContextPanel = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ 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); }; }
17
+ 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; } }
18
+ // React context to communicate the active context panel width up and down the tree.
19
+ //
20
+ // We need the width prop from the ContextPanel component.
21
+ //
22
+ // However, the actual <ContextPanel /> component might be deeply nested inside the contextPanel.
23
+ // For example, in the template context panel storybook, we wrap it in 2 higher order components.
24
+ //
25
+ // Changing the max-width on the main editor container happens above where the <ContextPanel /> gets rendered.
26
+ //
27
+ // To subtract the context panel width from the available real estate, we use the Provider and Consumer.
28
+ //
29
+ // positionedOverEditor is used to determine whether the context panel is positioned over the Editor so we are
30
+ // able to position and add margins to handle certain elements like inline comment dialogues overlapping the context
31
+ // panel
32
+
33
+ var ContextPanel = /*#__PURE__*/_react.default.createContext({
34
+ width: 0,
35
+ positionedOverEditor: false,
36
+ broadcastWidth: function broadcastWidth() {},
37
+ broadcastPosition: function broadcastPosition() {}
38
+ });
39
+ exports.ContextPanel = ContextPanel;
40
+ var ContextPanelWidthProvider = /*#__PURE__*/function (_React$Component) {
41
+ (0, _inherits2.default)(ContextPanelWidthProvider, _React$Component);
42
+ var _super = _createSuper(ContextPanelWidthProvider);
43
+ function ContextPanelWidthProvider(props) {
44
+ var _this;
45
+ (0, _classCallCheck2.default)(this, ContextPanelWidthProvider);
46
+ _this = _super.call(this, props);
47
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
48
+ width: 0,
49
+ positionedOverEditor: false
50
+ });
51
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "broadcastSidebarWidth", function (width) {
52
+ if (width !== _this.state.width) {
53
+ _this.setState({
54
+ width: width
55
+ });
56
+ }
57
+ });
58
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "broadcastPosition", function (positionedOverEditor) {
59
+ if (positionedOverEditor !== _this.state.positionedOverEditor) {
60
+ _this.setState({
61
+ positionedOverEditor: positionedOverEditor
62
+ });
63
+ }
64
+ });
65
+ return _this;
66
+ }
67
+ (0, _createClass2.default)(ContextPanelWidthProvider, [{
68
+ key: "render",
69
+ value: function render() {
70
+ var _this$state = this.state,
71
+ width = _this$state.width,
72
+ positionedOverEditor = _this$state.positionedOverEditor;
73
+ return /*#__PURE__*/_react.default.createElement(Provider, {
74
+ value: {
75
+ width: width,
76
+ positionedOverEditor: positionedOverEditor,
77
+ broadcastWidth: this.broadcastSidebarWidth,
78
+ broadcastPosition: this.broadcastPosition
79
+ }
80
+ }, this.props.children);
81
+ }
82
+ }]);
83
+ return ContextPanelWidthProvider;
84
+ }(_react.default.Component);
85
+ exports.ContextPanelWidthProvider = ContextPanelWidthProvider;
86
+ var Provider = ContextPanel.Provider,
87
+ Consumer = ContextPanel.Consumer;
88
+ exports.ContextPanelConsumer = Consumer;
89
+ exports.ContextPanelProvider = Provider;
@@ -22,13 +22,11 @@ var _constants = require("@atlaskit/theme/constants");
22
22
  var _Layer = _interopRequireDefault(require("../Layer"));
23
23
  var _templateObject, _templateObject2, _templateObject3;
24
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */ // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
25
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "74.1.2";
27
+ var packageVersion = "74.2.1";
28
28
  var halfFocusRing = 1;
29
- // TODO: Migrate away from gridSize
30
- // Recommendation: Replace gridSize with token('space.100', '8px') after verfiying Popper can accept this
31
- var dropOffset = "0, ".concat((0, _constants.gridSize)(), "px");
29
+ var dropOffset = '0, 8';
32
30
  var DropList = /*#__PURE__*/function (_Component) {
33
31
  (0, _inherits2.default)(DropList, _Component);
34
32
  var _super = _createSuper(DropList);
@@ -14,7 +14,9 @@ function ResizerNext(props) {
14
14
  var resizable = _react.default.useRef(null);
15
15
  var handleResize = props.handleResize,
16
16
  handleResizeStart = props.handleResizeStart,
17
- handleResizeStop = props.handleResizeStop;
17
+ handleResizeStop = props.handleResizeStop,
18
+ _props$handlerHeightS = props.handlerHeightSize,
19
+ handlerHeightSize = _props$handlerHeightS === void 0 ? 'medium' : _props$handlerHeightS;
18
20
  var onResizeStart = _react.default.useCallback(function (event) {
19
21
  // prevent creating a drag event on Firefox
20
22
  event.preventDefault();
@@ -57,6 +59,11 @@ function ResizerNext(props) {
57
59
  right: _resizer.resizerHandleRightClassName
58
60
  };
59
61
  }
62
+
63
+ // add handler height size classname to handleClasses
64
+ Object.keys(handles).forEach(function (key) {
65
+ handles[key] = (0, _classnames.default)(handles[key], _resizer.resizerHandlerClassName[handlerHeightSize]);
66
+ });
60
67
  var innerPadding = props.innerPadding || _resizer.resizerHandlePadding;
61
68
  var handleStyles = {
62
69
  left: {
@@ -17,6 +17,30 @@ Object.defineProperty(exports, "Caption", {
17
17
  return _Caption.default;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "ContextPanel", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _context.ContextPanel;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "ContextPanelConsumer", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _context.ContextPanelConsumer;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "ContextPanelProvider", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _context.ContextPanelProvider;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "ContextPanelWidthProvider", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _context.ContextPanelWidthProvider;
42
+ }
43
+ });
20
44
  Object.defineProperty(exports, "DEFAULT_IMAGE_HEIGHT", {
21
45
  enumerable: true,
22
46
  get: function get() {
@@ -295,5 +319,6 @@ var _clearNextSiblingMarginTop = require("./clear-next-sibling-margin-top");
295
319
  var _IntlErrorBoundary = require("./IntlErrorBoundary");
296
320
  var _IntlProviderIfMissingWrapper = _interopRequireDefault(require("./IntlProviderIfMissingWrapper"));
297
321
  var _Button = _interopRequireDefault(require("./FloatingToolbar/Button"));
322
+ var _context = require("./ContextPanel/context");
298
323
  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); }
299
324
  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; }
@@ -14,7 +14,9 @@ var _analyticsListeners = require("@atlaskit/analytics-listeners");
14
14
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
15
15
  var _analytics = require("../../analytics");
16
16
  var _styles = _interopRequireDefault(require("./styles"));
17
- var _templateObject;
17
+ var _templateObject; // This file is copied to `packages/editor/editor-plugin-ai/src/ui/components/AtlassianIntelligenceToolbarButton/ToolbarButton/index.tsx`
18
+ // If you make any change here, copy it to above file as well
19
+ // and notify about the change in #team-fc-editor-ai-dev channel.
18
20
  /** @jsx jsx */
19
21
  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); }
20
22
  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; }
@@ -8,6 +8,9 @@ exports.default = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
11
+ // This file is copied to `packages/editor/editor-plugin-ai/src/ui/components/AtlassianIntelligenceToolbarButton/ToolbarButton/styles.tsx`
12
+ // If you make any change here, copy it to above file as well
13
+ // and notify about the change in #team-fc-editor-ai-dev channel.
11
14
  var _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
12
15
  return /*#__PURE__*/_react.default.createElement(_standardButton.default, (0, _extends2.default)({
13
16
  ref: ref
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.gridTypeForLayout = void 0;
7
+ var gridTypeForLayout = function gridTypeForLayout(layout) {
8
+ return layout === 'wrap-left' || layout === 'wrap-right' ? 'wrapped' : 'full';
9
+ };
10
+ exports.gridTypeForLayout = gridTypeForLayout;
@@ -346,6 +346,12 @@ Object.defineProperty(exports, "getUnsupportedContentLevelData", {
346
346
  return _analytics.getUnsupportedContentLevelData;
347
347
  }
348
348
  });
349
+ Object.defineProperty(exports, "gridTypeForLayout", {
350
+ enumerable: true,
351
+ get: function get() {
352
+ return _grid.gridTypeForLayout;
353
+ }
354
+ });
349
355
  Object.defineProperty(exports, "hasMergedCell", {
350
356
  enumerable: true,
351
357
  get: function get() {
@@ -769,6 +775,7 @@ var _outdatedBrowsers = require("./outdated-browsers");
769
775
  var _referentiality = require("./referentiality");
770
776
  var _list = require("./list");
771
777
  var _hyperlink = require("./hyperlink");
778
+ var _grid = require("./grid");
772
779
  // prosemirror-history does not export its plugin key
773
780
  var pmHistoryPluginKey = 'history$';
774
781
  exports.pmHistoryPluginKey = pmHistoryPluginKey;
@@ -670,7 +670,8 @@ var getValidNode = function getValidNode(originalNode) {
670
670
  type: type,
671
671
  content: content,
672
672
  attrs: _objectSpread(_objectSpread({}, attrs), {}, {
673
- localId: (attrs === null || attrs === void 0 ? void 0 : attrs.localId) || (0, _adfSchema.generateUuid)()
673
+ localId: (attrs === null || attrs === void 0 ? void 0 : attrs.localId) || (0, _adfSchema.generateUuid)(),
674
+ width: (attrs === null || attrs === void 0 ? void 0 : attrs.width) || null
674
675
  })
675
676
  };
676
677
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "74.1.2",
3
+ "version": "74.2.1",
4
4
  "sideEffects": false
5
5
  }
@@ -1,2 +1,2 @@
1
- // DO NOT EMPORT ANYTHING FROM THIS FILE. USE CHILD ENTRY POINTS.
1
+ // DO NOT EXPORT ANYTHING FROM THIS FILE. USE CHILD ENTRY POINTS.
2
2
  export {};
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "74.1.2";
3
+ const packageVersion = "74.2.1";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -22,4 +22,5 @@ export { DropdownMenuSharedCssClassName } from './shared/dropdown-menu';
22
22
  export { CodeBlockSharedCssClassName, codeBlockSharedStyles, codeBlockInListSafariFix } from './shared/code-block';
23
23
  export { LAYOUT_SECTION_MARGIN, LAYOUT_COLUMN_PADDING } from './shared/layout';
24
24
  export { EXTENSION_PADDING, BODIED_EXT_PADDING } from './shared/extension';
25
- export { resizerStyles } from './shared/resizer';
25
+ export { resizerStyles } from './shared/resizer';
26
+ export { gridStyles, GRID_GUTTER } from './shared/grid';
@@ -0,0 +1,36 @@
1
+ import { css } from '@emotion/react';
2
+ import { akEditorGridLineZIndex } from '@atlaskit/editor-shared-styles';
3
+ import { B200, N30A } from '@atlaskit/theme/colors';
4
+ export const GRID_GUTTER = 12;
5
+ export const gridStyles = css`
6
+ .gridParent {
7
+ width: calc(100% + ${GRID_GUTTER * 2}px);
8
+ margin-left: -${GRID_GUTTER}px;
9
+ margin-right: -${GRID_GUTTER}px;
10
+ transform: scale(1);
11
+ z-index: ${akEditorGridLineZIndex};
12
+ }
13
+
14
+ .gridContainer {
15
+ position: fixed;
16
+ height: 100vh;
17
+ width: 100%;
18
+ pointer-events: none;
19
+ }
20
+
21
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-4352
22
+ .gridLine {
23
+ border-left: 1px solid ${`var(--ds-border, ${N30A})`};
24
+ display: inline-block;
25
+ box-sizing: border-box;
26
+ height: 100%;
27
+ margin-left: -1px;
28
+
29
+ transition: border-color 0.15s linear;
30
+ z-index: 0;
31
+ }
32
+
33
+ .highlight {
34
+ border-left: 1px solid ${`var(--ds-border-focused, ${B200})`};
35
+ }
36
+ `;
@@ -13,6 +13,14 @@ export const resizerHandleLeftClassName = 'resizer-handle-left';
13
13
  const akEditorSelectedNodeClassName = 'ak-editor-selected-node';
14
14
  export const resizerHandlePadding = 13;
15
15
  export const resizerHandleZIndex = 99;
16
+ export const resizerHandlerSmallClassName = 'resizer-handler-small';
17
+ export const resizerHandlerMediumClassName = 'resizer-handler-medium';
18
+ export const resizerHandlerLargeClassName = 'resizer-handler-large';
19
+ export const resizerHandlerClassName = {
20
+ small: resizerHandlerSmallClassName,
21
+ medium: resizerHandlerMediumClassName,
22
+ large: resizerHandlerLargeClassName
23
+ };
16
24
  export const resizerStyles = css`
17
25
  .${resizerItemClassName} {
18
26
  background: ${`var(--ds-border-focused, ${B200})`};
@@ -69,4 +77,19 @@ export const resizerStyles = css`
69
77
  .${resizerHandleLeftClassName}::after {
70
78
  background: ${`var(--ds-border-focused, ${B200})`};
71
79
  }
80
+
81
+ .${resizerHandleRightClassName}.${resizerHandlerClassName.medium}::after,
82
+ .${resizerHandleLeftClassName}.${resizerHandlerClassName.medium}::after {
83
+ height: 64px;
84
+ }
85
+
86
+ .${resizerHandleRightClassName}.${resizerHandlerClassName.small}::after,
87
+ .${resizerHandleLeftClassName}.${resizerHandlerClassName.small}::after {
88
+ height: 43px;
89
+ }
90
+
91
+ .${resizerHandleRightClassName}.${resizerHandlerClassName.large}::after,
92
+ .${resizerHandleLeftClassName}.${resizerHandlerClassName.large}::after {
93
+ height: 96px;
94
+ }
72
95
  `;
@@ -0,0 +1,65 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import React from 'react';
3
+
4
+ // React context to communicate the active context panel width up and down the tree.
5
+ //
6
+ // We need the width prop from the ContextPanel component.
7
+ //
8
+ // However, the actual <ContextPanel /> component might be deeply nested inside the contextPanel.
9
+ // For example, in the template context panel storybook, we wrap it in 2 higher order components.
10
+ //
11
+ // Changing the max-width on the main editor container happens above where the <ContextPanel /> gets rendered.
12
+ //
13
+ // To subtract the context panel width from the available real estate, we use the Provider and Consumer.
14
+ //
15
+ // positionedOverEditor is used to determine whether the context panel is positioned over the Editor so we are
16
+ // able to position and add margins to handle certain elements like inline comment dialogues overlapping the context
17
+ // panel
18
+ export const ContextPanel = /*#__PURE__*/React.createContext({
19
+ width: 0,
20
+ positionedOverEditor: false,
21
+ broadcastWidth: () => {},
22
+ broadcastPosition: () => {}
23
+ });
24
+ export class ContextPanelWidthProvider extends React.Component {
25
+ constructor(props) {
26
+ super(props);
27
+ _defineProperty(this, "state", {
28
+ width: 0,
29
+ positionedOverEditor: false
30
+ });
31
+ _defineProperty(this, "broadcastSidebarWidth", width => {
32
+ if (width !== this.state.width) {
33
+ this.setState({
34
+ width
35
+ });
36
+ }
37
+ });
38
+ _defineProperty(this, "broadcastPosition", positionedOverEditor => {
39
+ if (positionedOverEditor !== this.state.positionedOverEditor) {
40
+ this.setState({
41
+ positionedOverEditor
42
+ });
43
+ }
44
+ });
45
+ }
46
+ render() {
47
+ const {
48
+ width,
49
+ positionedOverEditor
50
+ } = this.state;
51
+ return /*#__PURE__*/React.createElement(Provider, {
52
+ value: {
53
+ width,
54
+ positionedOverEditor,
55
+ broadcastWidth: this.broadcastSidebarWidth,
56
+ broadcastPosition: this.broadcastPosition
57
+ }
58
+ }, this.props.children);
59
+ }
60
+ }
61
+ const {
62
+ Provider,
63
+ Consumer
64
+ } = ContextPanel;
65
+ export { Provider as ContextPanelProvider, Consumer as ContextPanelConsumer };
@@ -5,15 +5,12 @@ import { css, jsx } from '@emotion/react';
5
5
  import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
6
6
  import { DN50, DN600, N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
7
7
  import { themed } from '@atlaskit/theme/components';
8
- // eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
9
- import { borderRadius, gridSize } from '@atlaskit/theme/constants';
8
+ import { borderRadius } from '@atlaskit/theme/constants';
10
9
  import Layer from '../Layer';
11
10
  const packageName = "@atlaskit/editor-common";
12
- const packageVersion = "74.1.2";
11
+ const packageVersion = "74.2.1";
13
12
  const halfFocusRing = 1;
14
- // TODO: Migrate away from gridSize
15
- // Recommendation: Replace gridSize with token('space.100', '8px') after verfiying Popper can accept this
16
- const dropOffset = `0, ${gridSize()}px`;
13
+ const dropOffset = '0, 8';
17
14
  class DropList extends Component {
18
15
  constructor(...args) {
19
16
  super(...args);
@@ -1,14 +1,15 @@
1
1
  import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { Resizable } from 're-resizable';
4
- import { resizerHandleLeftClassName, resizerHandlePadding, resizerHandleRightClassName, resizerHandleZIndex, resizerItemClassName } from '../../styles/shared/resizer';
4
+ import { resizerHandleLeftClassName, resizerHandlePadding, resizerHandlerClassName, resizerHandleRightClassName, resizerHandleZIndex, resizerItemClassName } from '../../styles/shared/resizer';
5
5
  import { handleSides } from './utils';
6
6
  export default function ResizerNext(props) {
7
7
  const resizable = React.useRef(null);
8
8
  const {
9
9
  handleResize,
10
10
  handleResizeStart,
11
- handleResizeStop
11
+ handleResizeStop,
12
+ handlerHeightSize = 'medium'
12
13
  } = props;
13
14
  const onResizeStart = React.useCallback(event => {
14
15
  // prevent creating a drag event on Firefox
@@ -52,6 +53,11 @@ export default function ResizerNext(props) {
52
53
  right: resizerHandleRightClassName
53
54
  };
54
55
  }
56
+
57
+ // add handler height size classname to handleClasses
58
+ Object.keys(handles).forEach(key => {
59
+ handles[key] = classnames(handles[key], resizerHandlerClassName[handlerHeightSize]);
60
+ });
55
61
  const innerPadding = props.innerPadding || resizerHandlePadding;
56
62
  const handleStyles = {
57
63
  left: {
@@ -17,4 +17,5 @@ export { ErrorMessage, HelperMessage, ValidMessage } from './Messages';
17
17
  export { clearNextSiblingMarginTopStyle, clearNextSiblingBlockMarkMarginTopStyle } from './clear-next-sibling-margin-top';
18
18
  export { IntlErrorBoundary, REACT_INTL_ERROR_MESSAGE } from './IntlErrorBoundary';
19
19
  export { default as IntlProviderIfMissingWrapper } from './IntlProviderIfMissingWrapper';
20
- export { default as FloatingToolbarButton } from './FloatingToolbar/Button';
20
+ export { default as FloatingToolbarButton } from './FloatingToolbar/Button';
21
+ export { ContextPanelProvider, ContextPanelWidthProvider, ContextPanelConsumer, ContextPanel } from './ContextPanel/context';
@@ -1,3 +1,6 @@
1
+ // This file is copied to `packages/editor/editor-plugin-ai/src/ui/components/AtlassianIntelligenceToolbarButton/ToolbarButton/index.tsx`
2
+ // If you make any change here, copy it to above file as well
3
+ // and notify about the change in #team-fc-editor-ai-dev channel.
1
4
  /** @jsx jsx */
2
5
  import React, { useCallback } from 'react';
3
6
  import { css, jsx } from '@emotion/react';
@@ -1,4 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ // This file is copied to `packages/editor/editor-plugin-ai/src/ui/components/AtlassianIntelligenceToolbarButton/ToolbarButton/styles.tsx`
3
+ // If you make any change here, copy it to above file as well
4
+ // and notify about the change in #team-fc-editor-ai-dev channel.
2
5
  import React from 'react';
3
6
  import Button from '@atlaskit/button/standard-button';
4
7
  export default /*#__PURE__*/React.forwardRef((props, ref) => {
@@ -0,0 +1 @@
1
+ export const gridTypeForLayout = layout => layout === 'wrap-left' || layout === 'wrap-right' ? 'wrapped' : 'full';
@@ -38,4 +38,5 @@ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, is
38
38
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent } from './hyperlink';
39
39
 
40
40
  // prosemirror-history does not export its plugin key
41
- export const pmHistoryPluginKey = 'history$';
41
+ export const pmHistoryPluginKey = 'history$';
42
+ export { gridTypeForLayout } from './grid';
@@ -651,7 +651,8 @@ export const getValidNode = (originalNode, schema = defaultSchema, adfStage = 'f
651
651
  content,
652
652
  attrs: {
653
653
  ...attrs,
654
- localId: (attrs === null || attrs === void 0 ? void 0 : attrs.localId) || uuid()
654
+ localId: (attrs === null || attrs === void 0 ? void 0 : attrs.localId) || uuid(),
655
+ width: (attrs === null || attrs === void 0 ? void 0 : attrs.width) || null
655
656
  }
656
657
  };
657
658
  }