@atlaskit/editor-common 76.33.2 → 76.35.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 (118) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cjs/collab/index.js +27 -2
  3. package/dist/cjs/core-utils/document-logger.js +171 -0
  4. package/dist/cjs/core-utils/index.js +8 -1
  5. package/dist/cjs/extensibility/Extension/Extension/index.js +151 -0
  6. package/dist/cjs/extensibility/Extension/Extension/styles.js +17 -0
  7. package/dist/cjs/extensibility/Extension/InlineExtension/index.js +50 -0
  8. package/dist/cjs/extensibility/Extension/InlineExtension/styles.js +12 -0
  9. package/dist/cjs/extensibility/Extension/Lozenge.js +95 -0
  10. package/dist/cjs/extensibility/Extension/styles.js +30 -0
  11. package/dist/cjs/extensibility/Extension.js +79 -0
  12. package/dist/cjs/extensibility/ExtensionComponent.js +252 -0
  13. package/dist/cjs/extensibility/ExtensionNodeWrapper.js +21 -0
  14. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +264 -0
  15. package/dist/cjs/extensibility/extensionNodeView.js +91 -0
  16. package/dist/cjs/extensibility/index.js +42 -0
  17. package/dist/cjs/extensibility/types.js +5 -0
  18. package/dist/cjs/media-inline/media-inline-image-card.js +24 -19
  19. package/dist/cjs/monitoring/error.js +3 -2
  20. package/dist/cjs/ui/DropList/index.js +1 -1
  21. package/dist/cjs/utils/index.js +7 -0
  22. package/dist/cjs/utils/insert-node-into-ordered-list.js +91 -0
  23. package/dist/es2019/collab/index.js +54 -1
  24. package/dist/es2019/core-utils/document-logger.js +161 -0
  25. package/dist/es2019/core-utils/index.js +2 -1
  26. package/dist/es2019/extensibility/Extension/Extension/index.js +155 -0
  27. package/dist/es2019/extensibility/Extension/Extension/styles.js +42 -0
  28. package/dist/es2019/extensibility/Extension/InlineExtension/index.js +26 -0
  29. package/dist/es2019/extensibility/Extension/InlineExtension/styles.js +26 -0
  30. package/dist/es2019/extensibility/Extension/Lozenge.js +71 -0
  31. package/dist/es2019/extensibility/Extension/styles.js +62 -0
  32. package/dist/es2019/extensibility/Extension.js +52 -0
  33. package/dist/es2019/extensibility/ExtensionComponent.js +204 -0
  34. package/dist/es2019/extensibility/ExtensionNodeWrapper.js +13 -0
  35. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +283 -0
  36. package/dist/es2019/extensibility/extensionNodeView.js +62 -0
  37. package/dist/es2019/extensibility/index.js +4 -0
  38. package/dist/es2019/extensibility/types.js +1 -0
  39. package/dist/es2019/media-inline/media-inline-image-card.js +24 -19
  40. package/dist/es2019/monitoring/error.js +3 -2
  41. package/dist/es2019/ui/DropList/index.js +1 -1
  42. package/dist/es2019/utils/index.js +1 -0
  43. package/dist/es2019/utils/insert-node-into-ordered-list.js +84 -0
  44. package/dist/esm/collab/index.js +23 -1
  45. package/dist/esm/core-utils/document-logger.js +165 -0
  46. package/dist/esm/core-utils/index.js +2 -1
  47. package/dist/esm/extensibility/Extension/Extension/index.js +146 -0
  48. package/dist/esm/extensibility/Extension/Extension/styles.js +10 -0
  49. package/dist/esm/extensibility/Extension/InlineExtension/index.js +43 -0
  50. package/dist/esm/extensibility/Extension/InlineExtension/styles.js +5 -0
  51. package/dist/esm/extensibility/Extension/Lozenge.js +90 -0
  52. package/dist/esm/extensibility/Extension/styles.js +11 -0
  53. package/dist/esm/extensibility/Extension.js +69 -0
  54. package/dist/esm/extensibility/ExtensionComponent.js +243 -0
  55. package/dist/esm/extensibility/ExtensionNodeWrapper.js +14 -0
  56. package/dist/esm/extensibility/MultiBodiedExtension/index.js +257 -0
  57. package/dist/esm/extensibility/extensionNodeView.js +83 -0
  58. package/dist/esm/extensibility/index.js +4 -0
  59. package/dist/esm/extensibility/types.js +1 -0
  60. package/dist/esm/media-inline/media-inline-image-card.js +24 -19
  61. package/dist/esm/monitoring/error.js +3 -2
  62. package/dist/esm/ui/DropList/index.js +1 -1
  63. package/dist/esm/utils/index.js +1 -0
  64. package/dist/esm/utils/insert-node-into-ordered-list.js +84 -0
  65. package/dist/types/collab/index.d.ts +7 -0
  66. package/dist/types/core-utils/document-logger.d.ts +6 -0
  67. package/dist/types/core-utils/index.d.ts +1 -0
  68. package/dist/types/extensibility/Extension/Extension/index.d.ts +108 -0
  69. package/dist/types/extensibility/Extension/Extension/styles.d.ts +5 -0
  70. package/dist/types/extensibility/Extension/InlineExtension/index.d.ts +12 -0
  71. package/dist/types/extensibility/Extension/InlineExtension/styles.d.ts +1 -0
  72. package/dist/types/extensibility/Extension/Lozenge.d.ts +14 -0
  73. package/dist/types/extensibility/Extension/styles.d.ts +7 -0
  74. package/dist/types/extensibility/Extension.d.ts +29 -0
  75. package/dist/types/extensibility/ExtensionComponent.d.ts +53 -0
  76. package/dist/types/extensibility/ExtensionNodeWrapper.d.ts +14 -0
  77. package/dist/types/extensibility/MultiBodiedExtension/index.d.ts +26 -0
  78. package/dist/types/extensibility/extensionNodeView.d.ts +31 -0
  79. package/dist/types/extensibility/index.d.ts +4 -0
  80. package/dist/types/extensibility/types.d.ts +6 -0
  81. package/dist/types/extensions/types/extension-handler.d.ts +2 -0
  82. package/dist/types/media-inline/media-inline-image-card.d.ts +3 -2
  83. package/dist/types/media-inline/types.d.ts +6 -2
  84. package/dist/types/types/index.d.ts +1 -1
  85. package/dist/types/types/next-editor-plugin.d.ts +0 -1
  86. package/dist/types/ui/DropList/index.d.ts +1 -1
  87. package/dist/types/ui-menu/ColorPickerButton/index.d.ts +1 -1
  88. package/dist/types/ui-menu/ToolbarButton/index.d.ts +1 -1
  89. package/dist/types/utils/index.d.ts +1 -0
  90. package/dist/types/utils/insert-node-into-ordered-list.d.ts +3 -0
  91. package/dist/types-ts4.5/collab/index.d.ts +7 -0
  92. package/dist/types-ts4.5/core-utils/document-logger.d.ts +6 -0
  93. package/dist/types-ts4.5/core-utils/index.d.ts +1 -0
  94. package/dist/types-ts4.5/extensibility/Extension/Extension/index.d.ts +108 -0
  95. package/dist/types-ts4.5/extensibility/Extension/Extension/styles.d.ts +5 -0
  96. package/dist/types-ts4.5/extensibility/Extension/InlineExtension/index.d.ts +12 -0
  97. package/dist/types-ts4.5/extensibility/Extension/InlineExtension/styles.d.ts +1 -0
  98. package/dist/types-ts4.5/extensibility/Extension/Lozenge.d.ts +14 -0
  99. package/dist/types-ts4.5/extensibility/Extension/styles.d.ts +7 -0
  100. package/dist/types-ts4.5/extensibility/Extension.d.ts +29 -0
  101. package/dist/types-ts4.5/extensibility/ExtensionComponent.d.ts +53 -0
  102. package/dist/types-ts4.5/extensibility/ExtensionNodeWrapper.d.ts +14 -0
  103. package/dist/types-ts4.5/extensibility/MultiBodiedExtension/index.d.ts +26 -0
  104. package/dist/types-ts4.5/extensibility/extensionNodeView.d.ts +31 -0
  105. package/dist/types-ts4.5/extensibility/index.d.ts +4 -0
  106. package/dist/types-ts4.5/extensibility/types.d.ts +8 -0
  107. package/dist/types-ts4.5/extensions/types/extension-handler.d.ts +2 -0
  108. package/dist/types-ts4.5/media-inline/media-inline-image-card.d.ts +3 -2
  109. package/dist/types-ts4.5/media-inline/types.d.ts +6 -2
  110. package/dist/types-ts4.5/types/index.d.ts +1 -1
  111. package/dist/types-ts4.5/types/next-editor-plugin.d.ts +0 -3
  112. package/dist/types-ts4.5/ui/DropList/index.d.ts +1 -1
  113. package/dist/types-ts4.5/ui-menu/ColorPickerButton/index.d.ts +1 -1
  114. package/dist/types-ts4.5/ui-menu/ToolbarButton/index.d.ts +1 -1
  115. package/dist/types-ts4.5/utils/index.d.ts +1 -0
  116. package/dist/types-ts4.5/utils/insert-node-into-ordered-list.d.ts +3 -0
  117. package/extensibility/package.json +15 -0
  118. package/package.json +6 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.35.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#65382](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/65382) [`5f67f805635f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/5f67f805635f) - # WHAT
8
+
9
+ Deprecating entry-points from `@atlaskit/editor-core` to decouple the `extension` plugin.
10
+
11
+ These entry-points will no longer be available:
12
+
13
+ - `@atlaskit/editor-core/extensibility`
14
+ - `@atlaskit/editor-core/extensions`
15
+
16
+ # WHY
17
+
18
+ We are going to extract the `extension` plugin code to its own package.
19
+ These entry-points are only used for internal packages and are no longer required.
20
+
21
+ They couple the `extension` plugin to `editor-core` which blocks extraction.
22
+
23
+ # HOW
24
+
25
+ In general these were only used internally and should not be required.
26
+
27
+ However we do expose some of the components from `@atlaskit/editor-core/extensibility` in `@atlaskit/editor-common/extensibility`.
28
+
29
+ This includes:
30
+
31
+ - Extension
32
+ - ExtensionNode
33
+ - ExtensionNodeWrapper
34
+
35
+ For any issues please reach out to #help-editor
36
+
37
+ - [#64844](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/64844) [`fdad147e2231`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/fdad147e2231) - [ED-21730] Extract Collab Edit Plugin
38
+
39
+ ### Patch Changes
40
+
41
+ - [#65031](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/65031) [`a00094111b5a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a00094111b5a) - ED-21609 Update adf-schema to 35.3.0
42
+ - [#64930](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/64930) [`800c9e0275bb`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/800c9e0275bb) - NO-ISSUE Add optional chaining to the build info window variable when generating Sentry tags to avoid missing Jira errors
43
+ - Updated dependencies
44
+
45
+ ## 76.34.0
46
+
47
+ ### Minor Changes
48
+
49
+ - [#64836](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/64836) [`f3e1604287a9`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f3e1604287a9) - ED-20879 add ssr support for mediaInline
50
+
51
+ ### Patch Changes
52
+
53
+ - [#64335](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/64335) [`efc8826c907f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/efc8826c907f) - [ux] [ED-16509] Restart numbered list inserting nodes via QUICK INSERT, nodes including : panels, expands, decisions, tables, layout, quotes, actions, dividers, headings. Changes are being guarded behind feature flag platform.editor.ordered-list-inserting-nodes_bh0vo
54
+ - [#63266](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/63266) [`630f6c9fc80c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/630f6c9fc80c) - ED-21576: Added new Example for MBE - Interactive Fake Tabs
55
+ - Updated dependencies
56
+
3
57
  ## 76.33.2
4
58
 
5
59
  ### Patch Changes
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.PROVIDER_ERROR_CODE = exports.DisconnectReason = void 0;
8
+ exports.telepointerStyle = exports.colors = exports.TELEPOINTER_DIM_CLASS = exports.PROVIDER_ERROR_CODE = exports.DisconnectReason = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = require("@emotion/react");
11
+ var _adfSchema = require("@atlaskit/adf-schema");
12
+ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
13
+ var themeColors = _interopRequireWildcard(require("@atlaskit/theme/colors"));
14
+ var _templateObject;
15
+ 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); }
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; }
7
17
  // Format of the payload returned by the callback function passed to the collab provider
8
18
  // that gets called when syncing with the back-end service fails.
9
19
  // Format of the document and its metadata returned from the collab provider
@@ -111,4 +121,19 @@ var DisconnectReason = exports.DisconnectReason = /*#__PURE__*/function (Disconn
111
121
  DisconnectReason["SOCKET_TIMEOUT"] = "SOCKET_TIMEOUT";
112
122
  DisconnectReason["UNKNOWN_DISCONNECT"] = "UNKNOWN_DISCONNECT";
113
123
  return DisconnectReason;
114
- }({});
124
+ }({});
125
+ // TODO: https://product-fabric.atlassian.net/browse/DSP-7269
126
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
127
+ var colors = exports.colors = [themeColors.R100, themeColors.R300, themeColors.R500, themeColors.Y100, themeColors.Y300, themeColors.Y500, themeColors.G100, themeColors.G300, themeColors.G500, themeColors.T100, themeColors.T300, themeColors.T500, themeColors.B100, themeColors.B300, themeColors.B500, themeColors.P100, themeColors.P300, themeColors.P500, themeColors.N70, themeColors.N200, themeColors.N800].map(function (solid) {
128
+ return {
129
+ solid: solid,
130
+ selection: (0, _adfSchema.hexToRgba)(solid, 0.2)
131
+ };
132
+ });
133
+ var telepointerColorStyle = function telepointerColorStyle(color, index) {
134
+ return "\n &.color-".concat(index, " {\n background-color: ").concat(color.selection, ";\n &::after {\n background-color: ").concat(color.solid, ";\n color: ", "var(--ds-text-inverse, #fff)", ";\n border-color: ").concat(color.solid, ";\n }\n }\n");
135
+ };
136
+ var TELEPOINTER_DIM_CLASS = exports.TELEPOINTER_DIM_CLASS = 'telepointer-dim';
137
+ var telepointerStyle = exports.telepointerStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror .telepointer {\n position: relative;\n transition: opacity 200ms;\n\n &.telepointer-selection {\n line-height: 1.2;\n pointer-events: none;\n user-select: none;\n }\n\n &.telepointer-selection-badge::after {\n content: attr(data-initial);\n position: absolute;\n display: block;\n top: -14px;\n font-size: ", ";\n padding: ", ";\n color: ", ";\n left: -1px;\n border-radius: 2px 2px 2px 0;\n line-height: initial;\n }\n\n &.", " {\n opacity: 0.2;\n }\n\n ", ";\n }\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)(9), "var(--ds-space-025, 2px)", "var(--ds-text-inverse, white)", TELEPOINTER_DIM_CLASS, colors.map(function (color, index) {
138
+ return telepointerColorStyle(color, index);
139
+ }));
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDocStructure = void 0;
7
+ var hash = {
8
+ nodes: {
9
+ doc: 'doc',
10
+ paragraph: 'p',
11
+ text: 't',
12
+ bulletList: 'ul',
13
+ orderedList: 'ol',
14
+ listItem: 'li',
15
+ heading: 'h',
16
+ blockquote: 'blockq',
17
+ codeBlock: 'codebl',
18
+ panel: 'pnl',
19
+ rule: 'rl',
20
+ hardBreak: 'br',
21
+ mention: 'ment',
22
+ emoji: 'emj',
23
+ image: 'img',
24
+ caption: 'cap',
25
+ media: 'media',
26
+ mediaGroup: 'mediag',
27
+ mediaSingle: 'medias',
28
+ plain: 'pln',
29
+ table: 'table',
30
+ tableCell: 'td',
31
+ tableHeader: 'th',
32
+ tableRow: 'tr',
33
+ decisionList: 'dl',
34
+ decisionItem: 'di',
35
+ taskList: 'tl',
36
+ taskItem: 'ti',
37
+ extension: 'ext',
38
+ inlineExtension: 'exti',
39
+ bodiedExtension: 'extb',
40
+ multiBodiedExtension: 'extmbe',
41
+ extensionFrame: 'extfrm',
42
+ status: 'sts',
43
+ placeholder: 'plh',
44
+ inlineCard: 'cardi',
45
+ blockCard: 'cardb',
46
+ embedCard: 'carde',
47
+ expand: 'exp',
48
+ nestedExpand: 'expn',
49
+ unsupportedBlock: 'unsupb',
50
+ unsupportedInline: 'unsupi',
51
+ unknownBlock: 'unkb',
52
+ date: 'date'
53
+ },
54
+ marks: {
55
+ em: 'em',
56
+ strong: 'strong',
57
+ code: 'code',
58
+ strike: 'strike',
59
+ underline: 'undline',
60
+ link: 'lnk',
61
+ subsup: 'subsup',
62
+ textColor: 'txtclr',
63
+ unsupportedMark: 'unsupmrk',
64
+ unsupportedNodeAttribute: 'unsupnattr',
65
+ annotation: 'anno'
66
+ }
67
+ };
68
+ function shortHash(type, isMark) {
69
+ var code = hash[isMark ? 'marks' : 'nodes'][type];
70
+ return code ? code : type;
71
+ }
72
+ function compactStringifier(node) {
73
+ var _node$marks;
74
+ var isContentEmpty = !node.content;
75
+ var isTextNode = (node === null || node === void 0 ? void 0 : node.type) === 'text';
76
+ var hasMarks = (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.length;
77
+ var isContentArray = Array.isArray(node.content);
78
+ var marks = function marks(child) {
79
+ if (hasMarks) {
80
+ return node.marks.reduce(function (str, mark) {
81
+ return "".concat(shortHash(mark, true), "(").concat(str, ")");
82
+ }, child);
83
+ }
84
+ return child;
85
+ };
86
+ var content;
87
+ if (isTextNode) {
88
+ content = String(node.nodeSize);
89
+ } else if (isContentEmpty) {
90
+ content = '';
91
+ } else if (isContentArray) {
92
+ content = node.content.map(function (node) {
93
+ return compactStringifier(node);
94
+ }).join(',');
95
+ }
96
+ return marks("".concat(shortHash(node.type, false), "(").concat(content, ")"));
97
+ }
98
+ var getDocStructure = exports.getDocStructure = function getDocStructure(doc, options) {
99
+ try {
100
+ var result = getBlockNode(doc, 0);
101
+ if (options !== null && options !== void 0 && options.compact) {
102
+ return compactStringifier(result);
103
+ }
104
+ return result;
105
+ } catch (error) {
106
+ return "Error logging document structure: ".concat(error);
107
+ }
108
+ };
109
+ var getBlockNode = function getBlockNode(node, pos) {
110
+ var blockNode = {
111
+ type: node.type.name,
112
+ pos: pos,
113
+ nodeSize: node.nodeSize
114
+ };
115
+ var content = getBlockNodeContent(node.content, pos);
116
+ if (content.length > 0) {
117
+ blockNode.content = content;
118
+ }
119
+ var marks = getMarks(node);
120
+ if (marks.length > 0) {
121
+ blockNode.marks = marks;
122
+ }
123
+ return blockNode;
124
+ };
125
+ var getBlockNodeContent = function getBlockNodeContent(node, pos) {
126
+ if (!node || !node.content || !node.content.length) {
127
+ return [];
128
+ }
129
+ var blockNodeContent = [];
130
+ var content = node.content;
131
+ if (content[0].isBlock) {
132
+ // children are block nodes
133
+ var prevNode;
134
+ blockNodeContent = content.map(function (node) {
135
+ pos += prevNode ? prevNode.nodeSize : 1;
136
+ prevNode = node;
137
+ return getBlockNode(node, pos);
138
+ });
139
+ } else {
140
+ // children are inline nodes .
141
+ var result = getInlineNodes(content, pos);
142
+ blockNodeContent = result.inlineNodes;
143
+ pos = result.pos;
144
+ }
145
+ return blockNodeContent;
146
+ };
147
+ var getInlineNodes = function getInlineNodes(nodes, pos) {
148
+ var inlineNodes = nodes.map(function (node) {
149
+ var nodeSize = node.nodeSize;
150
+ var inlineNode = {
151
+ type: node.type.name,
152
+ pos: pos,
153
+ nodeSize: nodeSize
154
+ };
155
+ var marks = getMarks(node);
156
+ if (marks.length > 0) {
157
+ inlineNode.marks = marks;
158
+ }
159
+ pos += nodeSize;
160
+ return inlineNode;
161
+ });
162
+ return {
163
+ inlineNodes: inlineNodes,
164
+ pos: pos
165
+ };
166
+ };
167
+ var getMarks = function getMarks(node) {
168
+ return node.marks.map(function (mark) {
169
+ return mark.type.name;
170
+ });
171
+ };
@@ -3,10 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "getDocStructure", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _documentLogger.getDocStructure;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "insideTable", {
7
13
  enumerable: true,
8
14
  get: function get() {
9
15
  return _inside.insideTable;
10
16
  }
11
17
  });
12
- var _inside = require("./inside");
18
+ var _inside = require("./inside");
19
+ var _documentLogger = require("./document-logger");
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _react2 = require("@emotion/react");
13
+ var _classnames2 = _interopRequireDefault(require("classnames"));
14
+ var _withPluginState = require("../../..//with-plugin-state");
15
+ var _hooks = require("../../../hooks");
16
+ var _ui = require("../../../ui");
17
+ var _utils = require("../../../utils");
18
+ var _Lozenge = _interopRequireDefault(require("../Lozenge"));
19
+ var _styles = require("../styles");
20
+ var _styles2 = require("./styles");
21
+ var _excluded = ["type"];
22
+ /** @jsx jsx */
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ function ExtensionWithPluginState(props) {
26
+ var node = props.node,
27
+ handleContentDOMRef = props.handleContentDOMRef,
28
+ children = props.children,
29
+ _props$widthState = props.widthState,
30
+ widthState = _props$widthState === void 0 ? {
31
+ width: 0
32
+ } : _props$widthState,
33
+ handleRef = props.handleRef,
34
+ shadowClassNames = props.shadowClassNames,
35
+ hideFrame = props.hideFrame,
36
+ editorAppearance = props.editorAppearance;
37
+ var hasBody = ['bodiedExtension', 'multiBodiedExtension'].includes(node.type.name);
38
+ var isMobile = editorAppearance === 'mobile';
39
+ var hasChildren = !!children;
40
+ var removeBorder = hideFrame && !isMobile && !hasBody || false;
41
+ var getPos = props.getPos,
42
+ view = props.view;
43
+ var isTopLevelNode = _react.default.useMemo(function () {
44
+ var pos = typeof getPos === 'function' ? getPos() : undefined;
45
+ return typeof pos !== 'undefined' && !isNaN(pos) && view.state.doc.resolve(pos).depth === 0;
46
+ return false;
47
+ }, [view, getPos]);
48
+ var shouldBreakout =
49
+ // Extension should breakout when the layout is set to 'full-width' or 'wide'.
50
+ ['full-width', 'wide'].includes(node.attrs.layout) &&
51
+ // Extension breakout state should only be respected for top level nodes.
52
+ isTopLevelNode &&
53
+ // Extension breakout state should not be respected when the editor appearance is full-width mode
54
+ editorAppearance !== 'full-width';
55
+ var classNames = (0, _classnames2.default)('extension-container', 'block', shadowClassNames, (0, _defineProperty2.default)({
56
+ 'with-overlay': !hasBody,
57
+ 'without-frame': removeBorder
58
+ }, _styles2.widerLayoutClassName, shouldBreakout));
59
+ var headerClassNames = (0, _classnames2.default)({
60
+ 'with-children': hasChildren,
61
+ 'without-frame': removeBorder
62
+ });
63
+ var customContainerStyles = {
64
+ width: '100%'
65
+ };
66
+ var newContentStyles = {};
67
+ if (shouldBreakout) {
68
+ var _calculateBreakoutSty = (0, _utils.calculateBreakoutStyles)({
69
+ mode: node.attrs.layout,
70
+ widthStateWidth: widthState.width,
71
+ widthStateLineLength: widthState.lineLength
72
+ }),
73
+ type = _calculateBreakoutSty.type,
74
+ breakoutStyles = (0, _objectWithoutProperties2.default)(_calculateBreakoutSty, _excluded);
75
+ newContentStyles = _objectSpread({}, breakoutStyles);
76
+ customContainerStyles = breakoutStyles;
77
+ }
78
+ newContentStyles = _objectSpread(_objectSpread({}, newContentStyles), _styles2.contentWrapper);
79
+ return (0, _react2.jsx)("div", {
80
+ ref: handleRef,
81
+ "data-layout": node.attrs.layout,
82
+ className: classNames,
83
+ css: _styles2.wrapperStyle,
84
+ style: customContainerStyles
85
+ }, (0, _react2.jsx)("div", {
86
+ className: "extension-overflow-wrapper ".concat(hasBody ? 'with-body' : '')
87
+ }, (0, _react2.jsx)("div", {
88
+ css: _styles.overlay,
89
+ className: "extension-overlay"
90
+ }), (0, _react2.jsx)("div", {
91
+ css: _styles2.header,
92
+ contentEditable: false,
93
+ className: headerClassNames
94
+ }, !removeBorder && (0, _react2.jsx)(_Lozenge.default, {
95
+ node: node
96
+ }), children), hasBody && (0, _react2.jsx)("div", {
97
+ css: newContentStyles
98
+ }, (0, _react2.jsx)("div", {
99
+ css: _styles2.content,
100
+ ref: handleContentDOMRef,
101
+ className: "extension-content block"
102
+ }))));
103
+ }
104
+ var Extension = function Extension(props) {
105
+ // TODO: ED-17836 This code is here because confluence injects
106
+ // the `editor-referentiality` plugin via `dangerouslyAppendPlugins`
107
+ // which cannot access the `pluginInjectionApi`. When we move
108
+ // Confluence to using presets we can remove this workaround.
109
+ var pluginInjectionApi = props.pluginInjectionApi;
110
+ return pluginInjectionApi === undefined ? (0, _react2.jsx)(ExtensionDeprecated, props) : (0, _react2.jsx)(ExtensionWithSharedState, props);
111
+ };
112
+ var ExtensionWithSharedState = function ExtensionWithSharedState(props) {
113
+ var pluginInjectionApi = props.pluginInjectionApi;
114
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width']),
115
+ widthState = _useSharedPluginState.widthState;
116
+ return (0, _react2.jsx)(ExtensionWithPluginState, (0, _extends2.default)({
117
+ widthState: widthState
118
+ }, props));
119
+ };
120
+
121
+ // TODO: ED-17836 This code is here because Confluence injects
122
+ // the `editor-referentiality` plugin via `dangerouslyAppendPlugins`
123
+ // which cannot access the `pluginInjectionApi`. When we move
124
+ // Confluence to using presets we can remove this workaround.
125
+ // @ts-ignore
126
+ var widthPluginKey = {
127
+ key: 'widthPlugin$',
128
+ getState: function getState(state) {
129
+ return state['widthPlugin$'];
130
+ }
131
+ };
132
+ var ExtensionDeprecated = function ExtensionDeprecated(props) {
133
+ return (0, _react2.jsx)(_withPluginState.WithPluginState, {
134
+ editorView: props.view,
135
+ plugins: {
136
+ widthState: widthPluginKey
137
+ },
138
+ render: function render(_ref) {
139
+ var widthState = _ref.widthState;
140
+ return (0, _react2.jsx)(ExtensionWithPluginState, (0, _extends2.default)({
141
+ widthState: widthState
142
+ }, props));
143
+ }
144
+ });
145
+ };
146
+ /**
147
+ * End workaround
148
+ */
149
+ var _default = exports.default = (0, _ui.overflowShadow)(Extension, {
150
+ overflowSelector: '.extension-overflow-wrapper'
151
+ });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.wrapperStyle = exports.widerLayoutClassName = exports.header = exports.contentWrapper = exports.content = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ var _styles = require("../styles");
12
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
+ var widerLayoutClassName = exports.widerLayoutClassName = 'wider-layout';
14
+ var wrapperStyle = exports.wrapperStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n\n &.without-frame {\n background: transparent;\n }\n cursor: pointer;\n width: 100%;\n\n .extension-overflow-wrapper:not(.with-body) {\n overflow-x: auto;\n }\n"])), _styles.wrapperDefault);
15
+ var header = exports.header = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", "px ", "px 0px;\n vertical-align: middle;\n\n &.with-children:not(.without-frame) {\n padding: ", " ", "\n ", ";\n }\n &.without-frame {\n padding: 0;\n }\n"])), _styles.padding / 2, _styles.padding / 2, "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
16
+ var content = exports.content = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", "px;\n background: ", ";\n border: 1px solid ", ";\n border-radius: ", ";\n cursor: initial;\n width: 100%;\n"])), _styles.padding, "var(--ds-surface, white)", "var(--ds-border, ".concat(_colors.N30, ")"), "var(--ds-border-radius, 3px)");
17
+ var contentWrapper = exports.contentWrapper = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0 ", "px ", "px;\n display: flex;\n justify-content: center;\n"])), _styles.padding, _styles.padding);
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _react = _interopRequireWildcard(require("react"));
15
+ var _react2 = require("@emotion/react");
16
+ var _Lozenge = _interopRequireDefault(require("../Lozenge"));
17
+ var _styles = require("../styles");
18
+ var _styles2 = require("./styles");
19
+ 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
+ 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; }
21
+ 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); }; }
22
+ 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 */
23
+ var InlineExtension = exports.default = /*#__PURE__*/function (_Component) {
24
+ (0, _inherits2.default)(InlineExtension, _Component);
25
+ var _super = _createSuper(InlineExtension);
26
+ function InlineExtension() {
27
+ (0, _classCallCheck2.default)(this, InlineExtension);
28
+ return _super.apply(this, arguments);
29
+ }
30
+ (0, _createClass2.default)(InlineExtension, [{
31
+ key: "render",
32
+ value: function render() {
33
+ var _this$props = this.props,
34
+ node = _this$props.node,
35
+ children = _this$props.children;
36
+ var hasChildren = !!children;
37
+ var className = hasChildren ? 'with-overlay with-children' : 'with-overlay';
38
+ return (0, _react2.jsx)("div", {
39
+ css: _styles2.wrapperStyle,
40
+ className: "extension-container inline ".concat(className)
41
+ }, (0, _react2.jsx)("div", {
42
+ css: _styles.overlay,
43
+ className: "extension-overlay"
44
+ }), children ? children : (0, _react2.jsx)(_Lozenge.default, {
45
+ node: node
46
+ }));
47
+ }
48
+ }]);
49
+ return InlineExtension;
50
+ }(_react.Component);
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.wrapperStyle = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _styles = require("../styles");
11
+ var _templateObject;
12
+ var wrapperStyle = exports.wrapperStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n\n cursor: pointer;\n display: inline-flex;\n margin: 1px 1px ", ";\n\n > img {\n border-radius: ", ";\n }\n\n &::after,\n &::before {\n vertical-align: text-top;\n display: inline-block;\n width: 1px;\n content: '';\n }\n\n &.with-children {\n padding: 0;\n background: ", ";\n }\n"])), _styles.wrapperDefault, "var(--ds-space-050, 4px)", "var(--ds-border-radius, 3px)", "var(--ds-background-neutral-subtle, white)");
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.capitalizeFirstLetter = exports.ICON_SIZE = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _react = require("react");
17
+ var _react2 = require("@emotion/react");
18
+ var _file = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/file"));
19
+ var _utils = require("../../utils");
20
+ var _styles = require("./styles");
21
+ var _excluded = ["url"];
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
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 */
26
+ var capitalizeFirstLetter = exports.capitalizeFirstLetter = function capitalizeFirstLetter(str) {
27
+ return str.charAt(0).toUpperCase() + str.slice(1);
28
+ };
29
+ var ICON_SIZE = exports.ICON_SIZE = 24;
30
+ var ExtensionLozenge = exports.default = /*#__PURE__*/function (_Component) {
31
+ (0, _inherits2.default)(ExtensionLozenge, _Component);
32
+ var _super = _createSuper(ExtensionLozenge);
33
+ function ExtensionLozenge() {
34
+ (0, _classCallCheck2.default)(this, ExtensionLozenge);
35
+ return _super.apply(this, arguments);
36
+ }
37
+ (0, _createClass2.default)(ExtensionLozenge, [{
38
+ key: "render",
39
+ value: function render() {
40
+ var node = this.props.node;
41
+ var imageData = (0, _utils.getExtensionLozengeData)({
42
+ node: node,
43
+ type: 'image'
44
+ });
45
+ if (imageData && node.type.name !== 'extension') {
46
+ return this.renderImage(imageData);
47
+ }
48
+ var iconData = (0, _utils.getExtensionLozengeData)({
49
+ node: node,
50
+ type: 'icon'
51
+ });
52
+ return this.renderFallback(iconData);
53
+ }
54
+ }, {
55
+ key: "renderImage",
56
+ value: function renderImage(lozengeData) {
57
+ var extensionKey = this.props.node.attrs.extensionKey;
58
+ var url = lozengeData.url,
59
+ rest = (0, _objectWithoutProperties2.default)(lozengeData, _excluded);
60
+ return (0, _react2.jsx)("img", (0, _extends2.default)({
61
+ css: _styles.styledImage,
62
+ src: url
63
+ }, rest, {
64
+ alt: extensionKey
65
+ }));
66
+ }
67
+ }, {
68
+ key: "renderFallback",
69
+ value: function renderFallback(lozengeData) {
70
+ var _this$props$node$attr = this.props.node.attrs,
71
+ parameters = _this$props$node$attr.parameters,
72
+ extensionKey = _this$props$node$attr.extensionKey;
73
+ var name = this.props.node.type.name;
74
+ var params = parameters && parameters.macroParams;
75
+ var title = parameters && parameters.extensionTitle || parameters && parameters.macroMetadata && parameters.macroMetadata.title || extensionKey;
76
+ var isBlockExtension = name === 'extension';
77
+ return (0, _react2.jsx)("div", {
78
+ "data-testid": "lozenge-fallback",
79
+ css: _styles.placeholderFallback
80
+ }, lozengeData && !isBlockExtension ? this.renderImage(_objectSpread({
81
+ height: ICON_SIZE,
82
+ width: ICON_SIZE
83
+ }, lozengeData)) : (0, _react2.jsx)(_file.default, {
84
+ label: title
85
+ }), (0, _react2.jsx)("span", {
86
+ className: "extension-title"
87
+ }, capitalizeFirstLetter(title)), params && !isBlockExtension && (0, _react2.jsx)("span", {
88
+ css: _styles.placeholderFallbackParams
89
+ }, Object.keys(params).map(function (key) {
90
+ return key && " | ".concat(key, " = ").concat(params[key].value);
91
+ })));
92
+ }
93
+ }]);
94
+ return ExtensionLozenge;
95
+ }(_react.Component);