@atlaskit/editor-common 60.0.0 → 61.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 (191) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/card/package.json +7 -0
  3. package/dist/cjs/card/cardOptions.js +5 -0
  4. package/dist/cjs/emoji.js +23 -0
  5. package/dist/cjs/extensions/index.js +6 -0
  6. package/dist/cjs/extensions/types/field-definitions.js +7 -1
  7. package/dist/cjs/extensions/types/index.js +6 -0
  8. package/dist/cjs/extensions.js +6 -0
  9. package/dist/cjs/i18n/cs.js +1 -0
  10. package/dist/cjs/i18n/da.js +1 -0
  11. package/dist/cjs/i18n/de.js +1 -0
  12. package/dist/cjs/i18n/es.js +1 -0
  13. package/dist/cjs/i18n/fi.js +1 -0
  14. package/dist/cjs/i18n/fr.js +1 -0
  15. package/dist/cjs/i18n/hu.js +1 -0
  16. package/dist/cjs/i18n/it.js +1 -0
  17. package/dist/cjs/i18n/ja.js +1 -0
  18. package/dist/cjs/i18n/ko.js +1 -0
  19. package/dist/cjs/i18n/nb.js +1 -0
  20. package/dist/cjs/i18n/nl.js +1 -0
  21. package/dist/cjs/i18n/pl.js +1 -0
  22. package/dist/cjs/i18n/pt_BR.js +1 -0
  23. package/dist/cjs/i18n/ru.js +1 -0
  24. package/dist/cjs/i18n/sv.js +1 -0
  25. package/dist/cjs/i18n/th.js +1 -0
  26. package/dist/cjs/i18n/tr.js +1 -0
  27. package/dist/cjs/i18n/uk.js +1 -0
  28. package/dist/cjs/i18n/vi.js +1 -0
  29. package/dist/cjs/i18n/zh.js +1 -1
  30. package/dist/cjs/i18n/zh_TW.js +1 -0
  31. package/dist/cjs/index.js +12 -0
  32. package/dist/cjs/mention.js +23 -0
  33. package/dist/cjs/messages/codeBidiWarning.js +21 -0
  34. package/dist/cjs/messages/index.js +8 -0
  35. package/dist/cjs/styles/index.js +6 -0
  36. package/dist/cjs/styles/shared/panel.js +92 -37
  37. package/dist/cjs/styles/shared/table.js +2 -2
  38. package/dist/cjs/ufo/experience-store.js +160 -0
  39. package/dist/cjs/ufo/index.js +25 -0
  40. package/dist/cjs/ui/Messages/index.js +1 -3
  41. package/dist/cjs/utils/compareNodes.js +6 -0
  42. package/dist/cjs/utils/index.js +23 -1
  43. package/dist/cjs/utils/profiler/render-count.js +135 -0
  44. package/dist/cjs/utils/validator.js +46 -26
  45. package/dist/cjs/version.json +1 -1
  46. package/dist/es2019/card/cardOptions.js +1 -0
  47. package/dist/es2019/emoji.js +2 -0
  48. package/dist/es2019/extensions/index.js +1 -1
  49. package/dist/es2019/extensions/types/field-definitions.js +3 -0
  50. package/dist/es2019/extensions/types/index.js +1 -1
  51. package/dist/es2019/extensions.js +1 -1
  52. package/dist/es2019/i18n/cs.js +1 -0
  53. package/dist/es2019/i18n/da.js +1 -0
  54. package/dist/es2019/i18n/de.js +1 -0
  55. package/dist/es2019/i18n/es.js +1 -0
  56. package/dist/es2019/i18n/fi.js +1 -0
  57. package/dist/es2019/i18n/fr.js +1 -0
  58. package/dist/es2019/i18n/hu.js +1 -0
  59. package/dist/es2019/i18n/it.js +1 -0
  60. package/dist/es2019/i18n/ja.js +1 -0
  61. package/dist/es2019/i18n/ko.js +1 -0
  62. package/dist/es2019/i18n/nb.js +1 -0
  63. package/dist/es2019/i18n/nl.js +1 -0
  64. package/dist/es2019/i18n/pl.js +1 -0
  65. package/dist/es2019/i18n/pt_BR.js +1 -0
  66. package/dist/es2019/i18n/ru.js +1 -0
  67. package/dist/es2019/i18n/sv.js +1 -0
  68. package/dist/es2019/i18n/th.js +1 -0
  69. package/dist/es2019/i18n/tr.js +1 -0
  70. package/dist/es2019/i18n/uk.js +1 -0
  71. package/dist/es2019/i18n/vi.js +1 -0
  72. package/dist/es2019/i18n/zh.js +1 -1
  73. package/dist/es2019/i18n/zh_TW.js +1 -0
  74. package/dist/es2019/index.js +26 -8
  75. package/dist/es2019/mention.js +2 -0
  76. package/dist/es2019/messages/codeBidiWarning.js +12 -0
  77. package/dist/es2019/messages/index.js +1 -0
  78. package/dist/es2019/styles/index.js +4 -2
  79. package/dist/es2019/styles/shared/panel.js +104 -39
  80. package/dist/es2019/styles/shared/table.js +2 -1
  81. package/dist/es2019/ufo/experience-store.js +116 -0
  82. package/dist/es2019/ufo/index.js +1 -0
  83. package/dist/es2019/ui/Messages/index.js +1 -2
  84. package/dist/es2019/ui/index.js +8 -3
  85. package/dist/es2019/utils/compareNodes.js +6 -0
  86. package/dist/es2019/utils/index.js +3 -1
  87. package/dist/es2019/utils/profiler/render-count.js +107 -0
  88. package/dist/es2019/utils/validator.js +36 -13
  89. package/dist/es2019/version.json +1 -1
  90. package/dist/esm/card/cardOptions.js +1 -0
  91. package/dist/esm/emoji.js +2 -0
  92. package/dist/esm/extensions/index.js +1 -1
  93. package/dist/esm/extensions/types/field-definitions.js +3 -0
  94. package/dist/esm/extensions/types/index.js +1 -1
  95. package/dist/esm/extensions.js +1 -1
  96. package/dist/esm/i18n/cs.js +1 -0
  97. package/dist/esm/i18n/da.js +1 -0
  98. package/dist/esm/i18n/de.js +1 -0
  99. package/dist/esm/i18n/es.js +1 -0
  100. package/dist/esm/i18n/fi.js +1 -0
  101. package/dist/esm/i18n/fr.js +1 -0
  102. package/dist/esm/i18n/hu.js +1 -0
  103. package/dist/esm/i18n/it.js +1 -0
  104. package/dist/esm/i18n/ja.js +1 -0
  105. package/dist/esm/i18n/ko.js +1 -0
  106. package/dist/esm/i18n/nb.js +1 -0
  107. package/dist/esm/i18n/nl.js +1 -0
  108. package/dist/esm/i18n/pl.js +1 -0
  109. package/dist/esm/i18n/pt_BR.js +1 -0
  110. package/dist/esm/i18n/ru.js +1 -0
  111. package/dist/esm/i18n/sv.js +1 -0
  112. package/dist/esm/i18n/th.js +1 -0
  113. package/dist/esm/i18n/tr.js +1 -0
  114. package/dist/esm/i18n/uk.js +1 -0
  115. package/dist/esm/i18n/vi.js +1 -0
  116. package/dist/esm/i18n/zh.js +1 -1
  117. package/dist/esm/i18n/zh_TW.js +1 -0
  118. package/dist/esm/index.js +26 -8
  119. package/dist/esm/mention.js +2 -0
  120. package/dist/esm/messages/codeBidiWarning.js +12 -0
  121. package/dist/esm/messages/index.js +1 -0
  122. package/dist/esm/styles/index.js +4 -2
  123. package/dist/esm/styles/shared/panel.js +87 -38
  124. package/dist/esm/styles/shared/table.js +2 -2
  125. package/dist/esm/ufo/experience-store.js +144 -0
  126. package/dist/esm/ufo/index.js +1 -0
  127. package/dist/esm/ui/Messages/index.js +1 -2
  128. package/dist/esm/ui/index.js +8 -3
  129. package/dist/esm/utils/compareNodes.js +6 -0
  130. package/dist/esm/utils/index.js +3 -1
  131. package/dist/esm/utils/profiler/render-count.js +123 -0
  132. package/dist/esm/utils/validator.js +46 -26
  133. package/dist/esm/version.json +1 -1
  134. package/dist/types/card/cardOptions.d.ts +9 -0
  135. package/dist/types/card/index.d.ts +1 -9
  136. package/dist/types/collab/types.d.ts +5 -0
  137. package/dist/types/collab.d.ts +1 -1
  138. package/dist/types/emoji.d.ts +3 -0
  139. package/dist/types/extensions/index.d.ts +1 -1
  140. package/dist/types/extensions/types/extension-handler.d.ts +6 -2
  141. package/dist/types/extensions/types/extension-parameters.d.ts +1 -0
  142. package/dist/types/extensions/types/field-definitions.d.ts +2 -0
  143. package/dist/types/extensions/types/index.d.ts +1 -1
  144. package/dist/types/extensions.d.ts +1 -1
  145. package/dist/types/i18n/cs.d.ts +1 -0
  146. package/dist/types/i18n/da.d.ts +1 -0
  147. package/dist/types/i18n/de.d.ts +1 -0
  148. package/dist/types/i18n/es.d.ts +1 -0
  149. package/dist/types/i18n/fi.d.ts +1 -0
  150. package/dist/types/i18n/fr.d.ts +1 -0
  151. package/dist/types/i18n/hu.d.ts +1 -0
  152. package/dist/types/i18n/it.d.ts +1 -0
  153. package/dist/types/i18n/ja.d.ts +1 -0
  154. package/dist/types/i18n/ko.d.ts +1 -0
  155. package/dist/types/i18n/nb.d.ts +1 -0
  156. package/dist/types/i18n/nl.d.ts +1 -0
  157. package/dist/types/i18n/pl.d.ts +1 -0
  158. package/dist/types/i18n/pt_BR.d.ts +1 -0
  159. package/dist/types/i18n/ru.d.ts +1 -0
  160. package/dist/types/i18n/sv.d.ts +1 -0
  161. package/dist/types/i18n/th.d.ts +1 -0
  162. package/dist/types/i18n/tr.d.ts +1 -0
  163. package/dist/types/i18n/uk.d.ts +1 -0
  164. package/dist/types/i18n/vi.d.ts +1 -0
  165. package/dist/types/i18n/zh.d.ts +1 -0
  166. package/dist/types/i18n/zh_TW.d.ts +1 -0
  167. package/dist/types/index.d.ts +7 -3
  168. package/dist/types/mention.d.ts +2 -0
  169. package/dist/types/messages/codeBidiWarning.d.ts +11 -0
  170. package/dist/types/messages/index.d.ts +1 -0
  171. package/dist/types/provider-factory.d.ts +1 -0
  172. package/dist/types/styles/index.d.ts +1 -1
  173. package/dist/types/styles/shared/panel.d.ts +3 -1
  174. package/dist/types/ufo/experience-store.d.ts +33 -0
  175. package/dist/types/ufo/index.d.ts +1 -0
  176. package/dist/types/utils/index.d.ts +2 -0
  177. package/dist/types/utils/profiler/render-count.d.ts +50 -0
  178. package/emoji/package.json +7 -0
  179. package/mention/package.json +7 -0
  180. package/package.json +33 -21
  181. package/provider-helpers/package.json +7 -0
  182. package/types/package.json +7 -0
  183. package/ufo/package.json +7 -0
  184. package/ui/package.json +7 -0
  185. package/utils/package.json +7 -0
  186. package/dist/cjs/ui/Caption/index.test.js +0 -82
  187. package/dist/cjs/utils/performance/measure-tti.test.js +0 -183
  188. package/dist/es2019/ui/Caption/index.test.js +0 -73
  189. package/dist/es2019/utils/performance/measure-tti.test.js +0 -124
  190. package/dist/esm/ui/Caption/index.test.js +0 -73
  191. package/dist/esm/utils/performance/measure-tti.test.js +0 -174
@@ -0,0 +1,144 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import { ExperiencePerformanceTypes, ExperienceTypes, UFOExperience } from '@atlaskit/ufo';
5
+ export var experienceConfig = {
6
+ type: ExperienceTypes.Operation,
7
+ performanceType: ExperiencePerformanceTypes.Custom,
8
+ platform: {
9
+ component: 'editor'
10
+ }
11
+ };
12
+ export var EditorExperience;
13
+
14
+ (function (EditorExperience) {
15
+ EditorExperience["loadEditor"] = "load";
16
+ EditorExperience["typing"] = "type";
17
+ EditorExperience["interaction"] = "interact";
18
+ EditorExperience["editSession"] = "editSession";
19
+ })(EditorExperience || (EditorExperience = {}));
20
+
21
+ export var RELIABILITY_INTERVAL = 30000;
22
+ export var ExperienceStore = /*#__PURE__*/function () {
23
+ function ExperienceStore() {
24
+ _classCallCheck(this, ExperienceStore);
25
+
26
+ this.experiences = new Map();
27
+
28
+ for (var _i = 0, _Object$values = Object.values(EditorExperience); _i < _Object$values.length; _i++) {
29
+ var experienceId = _Object$values[_i];
30
+ var experience = new UFOExperience(experienceId, experienceConfig);
31
+ this.experiences.set(experienceId, experience);
32
+ }
33
+ }
34
+
35
+ _createClass(ExperienceStore, [{
36
+ key: "get",
37
+ value: function get(experienceId) {
38
+ return this.experiences.get(experienceId);
39
+ }
40
+ }, {
41
+ key: "getActive",
42
+ value: function getActive(experienceId) {
43
+ var experience = this.experiences.get(experienceId);
44
+
45
+ if (!(experience !== null && experience !== void 0 && experience.state.final)) {
46
+ return experience;
47
+ }
48
+ }
49
+ }, {
50
+ key: "getAll",
51
+ value: function getAll() {
52
+ return Array.from(this.experiences.values());
53
+ }
54
+ }, {
55
+ key: "start",
56
+ value: function start(experienceId, startTime) {
57
+ var _this$get;
58
+
59
+ (_this$get = this.get(experienceId)) === null || _this$get === void 0 ? void 0 : _this$get.start(startTime);
60
+ }
61
+ }, {
62
+ key: "addMetadata",
63
+ value: function addMetadata(experienceId, metadata) {
64
+ var _this$get2;
65
+
66
+ (_this$get2 = this.get(experienceId)) === null || _this$get2 === void 0 ? void 0 : _this$get2.addMetadata(metadata);
67
+ }
68
+ }, {
69
+ key: "mark",
70
+ value: function mark(experienceId, _mark, value) {
71
+ var _this$get3;
72
+
73
+ (_this$get3 = this.get(experienceId)) === null || _this$get3 === void 0 ? void 0 : _this$get3.mark(_mark, value);
74
+ }
75
+ }, {
76
+ key: "success",
77
+ value: function success(experienceId, metadata) {
78
+ var _this$getActive;
79
+
80
+ return (_this$getActive = this.getActive(experienceId)) === null || _this$getActive === void 0 ? void 0 : _this$getActive.success({
81
+ metadata: metadata
82
+ });
83
+ }
84
+ }, {
85
+ key: "fail",
86
+ value: function fail(experienceId, metadata) {
87
+ var _this$getActive2;
88
+
89
+ (_this$getActive2 = this.getActive(experienceId)) === null || _this$getActive2 === void 0 ? void 0 : _this$getActive2.failure({
90
+ metadata: metadata
91
+ });
92
+ }
93
+ }, {
94
+ key: "abort",
95
+ value: function abort(experienceId, metadata) {
96
+ var _this = this;
97
+
98
+ // We add this wait in here because when React catches an error it unmounts the component
99
+ // before the error boundary's componentDidCatch is called
100
+ // In this case we want to fail the experience, but without this wait, abort is called first
101
+ setTimeout(function () {
102
+ var _this$getActive3;
103
+
104
+ (_this$getActive3 = _this.getActive(experienceId)) === null || _this$getActive3 === void 0 ? void 0 : _this$getActive3.abort({
105
+ metadata: metadata
106
+ });
107
+ }, 0);
108
+ }
109
+ }, {
110
+ key: "abortAll",
111
+ value: function abortAll(metadata) {
112
+ var _this2 = this;
113
+
114
+ this.experiences.forEach(function (experience) {
115
+ _this2.abort(experience.id, metadata);
116
+ });
117
+ }
118
+ }, {
119
+ key: "failAll",
120
+ value: function failAll(metadata) {
121
+ var _this3 = this;
122
+
123
+ this.experiences.forEach(function (experience) {
124
+ _this3.fail(experience.id, metadata);
125
+ });
126
+ }
127
+ }], [{
128
+ key: "getInstance",
129
+ value: function getInstance(view) {
130
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
131
+
132
+ if (!this.stores.get(view) || options !== null && options !== void 0 && options.forceNewInstance) {
133
+ var store = new ExperienceStore();
134
+ this.stores.set(view, store);
135
+ }
136
+
137
+ return this.stores.get(view);
138
+ }
139
+ }]);
140
+
141
+ return ExperienceStore;
142
+ }();
143
+
144
+ _defineProperty(ExperienceStore, "stores", new WeakMap());
@@ -0,0 +1 @@
1
+ export { ExperienceStore, EditorExperience, RELIABILITY_INTERVAL } from './experience-store';
@@ -8,7 +8,6 @@ import SuccessIcon from '@atlaskit/icon/glyph/editor/success';
8
8
  import ErrorIcon from '@atlaskit/icon/glyph/error';
9
9
  import { G400, N200, R400 } from '@atlaskit/theme/colors';
10
10
  import { gridSize } from '@atlaskit/theme/constants';
11
- import { multiply } from '@atlaskit/theme/math';
12
11
  import { h200 } from '@atlaskit/theme/typography';
13
12
  var Message = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", " font-weight: normal;\n color: ", ";\n margin-top: ", "px;\n display: flex;\n justify-content: baseline;\n"])), h200, function (props) {
14
13
  if (props.error) {
@@ -20,7 +19,7 @@ var Message = styled.div(_templateObject || (_templateObject = _taggedTemplateLi
20
19
  }
21
20
 
22
21
  return N200;
23
- }, multiply(gridSize, 0.5));
22
+ }, gridSize() / 2);
24
23
  var IconWrapper = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n margin-right: 4px;\n"])));
25
24
  export var HelperMessage = function HelperMessage(_ref) {
26
25
  var children = _ref.children;
@@ -1,10 +1,15 @@
1
- export { default as Emoji } from './Emoji';
1
+ // TODO: ED-13875 Remove Emoji & EmojiProps exports once root entry point for editor-common has been removed
2
+ export { default as Emoji } from './Emoji'; //exported from ./src/emoji.ts
3
+
4
+ //exported from ./src/emoji.ts
2
5
  export { default as Caption } from './Caption';
3
6
  export { default as MediaSingle, DEFAULT_IMAGE_WIDTH, DEFAULT_IMAGE_HEIGHT, wrappedLayouts, shouldAddDefaultWrappedWidth } from './MediaSingle';
4
7
  export { MediaSingleDimensionHelper } from './MediaSingle/styled';
5
8
  export { layoutSupportsWidth, calcPxFromColumns, calcPctFromPx, calcPxFromPct, calcColumnsFromPx, snapToGrid } from './MediaSingle/grid';
6
- export { MediaLink } from './MediaSingle/link';
7
- export { default as Mention } from './Mention';
9
+ export { MediaLink } from './MediaSingle/link'; // TODO: ED-13875 Remove Mention export once root entry point for editor-common has been removed
10
+
11
+ export { default as Mention } from './Mention'; //exported from ./src/mention.ts
12
+
8
13
  export { default as Popup, findOverflowScrollParent } from './Popup';
9
14
  export { default as UnsupportedBlock } from './UnsupportedBlock';
10
15
  export { default as UnsupportedInline } from './UnsupportedInline';
@@ -135,6 +135,12 @@ function compareValue(valueA, valueB) {
135
135
  return 0;
136
136
  }
137
137
 
138
+ if (typeof valueA === 'string' && typeof valueB === 'string') {
139
+ return valueA.localeCompare(valueB, window.navigator.language, {
140
+ caseFirst: 'upper'
141
+ });
142
+ }
143
+
138
144
  return valueA > valueB ? 1 : -1;
139
145
  }
140
146
  /**
@@ -21,4 +21,6 @@ export { compose } from './compose';
21
21
  export { ZERO_WIDTH_SPACE } from './whitespace';
22
22
  export { shouldForceTracking } from './should-force-tracking';
23
23
  export { getModeFromTheme } from './getModeFromTheme';
24
- export { sniffUserBrowserExtensions } from './browser-extensions';
24
+ export { sniffUserBrowserExtensions } from './browser-extensions';
25
+ export { RenderCountProfiler } from './profiler/render-count';
26
+ export { validateADFEntity, validationErrorHandler } from './validate-using-spec';
@@ -0,0 +1,123 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
+
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+
9
+ export var PROFILER_KEY = '__editorRenderCountProfiler';
10
+ export var RenderCountProfiler = /*#__PURE__*/function () {
11
+ /**
12
+ * The singleton/cached instance of RenderCountProfiler that will be shared
13
+ * betweenRenderCountProfiler.getInstance() calls
14
+ */
15
+ function RenderCountProfiler(_ref) {
16
+ var store = _ref.store;
17
+
18
+ _classCallCheck(this, RenderCountProfiler);
19
+
20
+ this.store = store;
21
+ }
22
+ /**
23
+ * Returns the singleton/cached instance of RenderCountProfiler that
24
+ * currently exists. If it hasn't been instantiated yet, the singleton
25
+ * instance will be created using the given params. Returns the latest
26
+ * singleton/instance.
27
+ */
28
+
29
+
30
+ _createClass(RenderCountProfiler, [{
31
+ key: "getData",
32
+ value: function getData(profilerKey) {
33
+ var _this$store;
34
+
35
+ return (_this$store = this.store) === null || _this$store === void 0 ? void 0 : _this$store[profilerKey];
36
+ }
37
+ }, {
38
+ key: "enable",
39
+ value: function enable() {
40
+ this.store[PROFILER_KEY] = _objectSpread(_objectSpread({}, this.store[PROFILER_KEY]), {}, {
41
+ enabled: true
42
+ });
43
+ }
44
+ }, {
45
+ key: "remove",
46
+ value: function remove() {
47
+ delete this.store[PROFILER_KEY];
48
+ }
49
+ }, {
50
+ key: "isEnabled",
51
+ value: function isEnabled() {
52
+ var _this$store2, _this$store2$PROFILER;
53
+
54
+ return Boolean((_this$store2 = this.store) === null || _this$store2 === void 0 ? void 0 : (_this$store2$PROFILER = _this$store2[PROFILER_KEY]) === null || _this$store2$PROFILER === void 0 ? void 0 : _this$store2$PROFILER.enabled);
55
+ }
56
+ }, {
57
+ key: "setRenderCount",
58
+ value: function setRenderCount(_ref2) {
59
+ var componentId = _ref2.componentId,
60
+ renderCount = _ref2.renderCount,
61
+ instanceId = _ref2.instanceId;
62
+ var profilerData = this.store[PROFILER_KEY];
63
+ var instance = {
64
+ count: renderCount
65
+ };
66
+ var existingComponents = profilerData === null || profilerData === void 0 ? void 0 : profilerData.components;
67
+ var existingInstances = existingComponents === null || existingComponents === void 0 ? void 0 : existingComponents[componentId];
68
+
69
+ var updatedComponent = _objectSpread(_objectSpread({}, existingInstances), {}, _defineProperty({}, instanceId, instance));
70
+
71
+ this.store[PROFILER_KEY] = _objectSpread(_objectSpread({}, profilerData), {}, {
72
+ components: _objectSpread(_objectSpread({}, existingComponents), {}, _defineProperty({}, componentId, updatedComponent))
73
+ });
74
+ }
75
+ }, {
76
+ key: "getInstanceRenderCounters",
77
+ value: function getInstanceRenderCounters(_ref3) {
78
+ var _this$store$PROFILER_, _this$store3, _this$store3$PROFILER, _this$store3$PROFILER2;
79
+
80
+ var componentId = _ref3.componentId;
81
+ var component = (_this$store$PROFILER_ = (_this$store3 = this.store) === null || _this$store3 === void 0 ? void 0 : (_this$store3$PROFILER = _this$store3[PROFILER_KEY]) === null || _this$store3$PROFILER === void 0 ? void 0 : (_this$store3$PROFILER2 = _this$store3$PROFILER.components) === null || _this$store3$PROFILER2 === void 0 ? void 0 : _this$store3$PROFILER2[componentId]) !== null && _this$store$PROFILER_ !== void 0 ? _this$store$PROFILER_ : {};
82
+ var counters = [];
83
+
84
+ for (var _instanceId in component) {
85
+ var counter = {
86
+ instanceId: _instanceId,
87
+ count: component[_instanceId].count
88
+ };
89
+ counters.push(counter);
90
+ }
91
+
92
+ return counters;
93
+ }
94
+ }, {
95
+ key: "getRenderCount",
96
+ value: function getRenderCount(_ref4) {
97
+ var _this$store$PROFILER_2, _this$store4, _this$store4$PROFILER, _this$store4$PROFILER2;
98
+
99
+ var componentId = _ref4.componentId;
100
+ var component = (_this$store$PROFILER_2 = (_this$store4 = this.store) === null || _this$store4 === void 0 ? void 0 : (_this$store4$PROFILER = _this$store4[PROFILER_KEY]) === null || _this$store4$PROFILER === void 0 ? void 0 : (_this$store4$PROFILER2 = _this$store4$PROFILER.components) === null || _this$store4$PROFILER2 === void 0 ? void 0 : _this$store4$PROFILER2[componentId]) !== null && _this$store$PROFILER_2 !== void 0 ? _this$store$PROFILER_2 : {};
101
+ var total = 0;
102
+
103
+ for (var _instanceId2 in component) {
104
+ total += component[_instanceId2].count;
105
+ }
106
+
107
+ return total;
108
+ }
109
+ }], [{
110
+ key: "getInstance",
111
+ value: function getInstance(params) {
112
+ if (!RenderCountProfiler.instance) {
113
+ RenderCountProfiler.instance = new RenderCountProfiler({
114
+ store: params.store
115
+ });
116
+ }
117
+
118
+ return RenderCountProfiler.instance;
119
+ }
120
+ }]);
121
+
122
+ return RenderCountProfiler;
123
+ }();
@@ -15,7 +15,7 @@ export var ADFStages = {
15
15
  * It's important that this order follows the marks rank defined here:
16
16
  * https://product-fabric.atlassian.net/wiki/spaces/E/pages/11174043/Document+structure#Documentstructure-Rank
17
17
  */
18
- export var markOrder = ['link', 'em', 'strong', 'textColor', 'strike', 'subsup', 'underline', 'code', 'confluenceInlineComment', 'annotation', 'dataConsumer'];
18
+ export var markOrder = ['fragment', 'link', 'em', 'strong', 'textColor', 'strike', 'subsup', 'underline', 'code', 'confluenceInlineComment', 'annotation', 'dataConsumer'];
19
19
  export var isSubSupType = function isSubSupType(type) {
20
20
  return type === 'sub' || type === 'sup';
21
21
  };
@@ -348,7 +348,7 @@ export var getValidNode = function getValidNode(originalNode) {
348
348
 
349
349
  case 'caption':
350
350
  {
351
- if (content && adfStage === 'stage0') {
351
+ if (content) {
352
352
  return {
353
353
  type: type,
354
354
  content: content
@@ -358,21 +358,44 @@ export var getValidNode = function getValidNode(originalNode) {
358
358
  break;
359
359
  }
360
360
 
361
- case 'media':
361
+ case 'mediaInline':
362
362
  {
363
363
  var mediaId = '';
364
- var mediaType = '';
365
364
  var mediaCollection = [];
366
- var mediaUrl = '';
367
365
 
368
366
  if (attrs) {
369
367
  var id = attrs.id,
370
- collection = attrs.collection,
368
+ collection = attrs.collection;
369
+ mediaId = id;
370
+ mediaCollection = collection;
371
+ }
372
+
373
+ if (mediaId && mediaCollection && adfStage === 'stage0') {
374
+ return {
375
+ type: type,
376
+ attrs: attrs,
377
+ marks: marks
378
+ };
379
+ }
380
+
381
+ break;
382
+ }
383
+
384
+ case 'media':
385
+ {
386
+ var _mediaId = '';
387
+ var mediaType = '';
388
+ var _mediaCollection = [];
389
+ var mediaUrl = '';
390
+
391
+ if (attrs) {
392
+ var _id = attrs.id,
393
+ _collection = attrs.collection,
371
394
  _type = attrs.type,
372
395
  url = attrs.url;
373
- mediaId = id;
396
+ _mediaId = _id;
374
397
  mediaType = _type;
375
- mediaCollection = collection;
398
+ _mediaCollection = _collection;
376
399
  mediaUrl = url;
377
400
  }
378
401
 
@@ -392,11 +415,11 @@ export var getValidNode = function getValidNode(originalNode) {
392
415
  type: type,
393
416
  attrs: mediaAttrs
394
417
  };
395
- } else if (mediaId && mediaType) {
418
+ } else if (_mediaId && mediaType) {
396
419
  var _mediaAttrs = {
397
420
  type: mediaType,
398
- id: mediaId,
399
- collection: mediaCollection
421
+ id: _mediaId,
422
+ collection: _mediaCollection
400
423
  };
401
424
 
402
425
  if (attrs.width) {
@@ -465,10 +488,10 @@ export var getValidNode = function getValidNode(originalNode) {
465
488
  if (attrs) {
466
489
  var _text = attrs.text,
467
490
  displayName = attrs.displayName,
468
- _id = attrs.id,
491
+ _id2 = attrs.id,
469
492
  accessLevel = attrs.accessLevel;
470
493
  mentionText = _text || displayName;
471
- mentionId = _id;
494
+ mentionId = _id2;
472
495
  mentionAccess = accessLevel;
473
496
  }
474
497
 
@@ -617,23 +640,12 @@ export var getValidNode = function getValidNode(originalNode) {
617
640
  case 'panel':
618
641
  {
619
642
  if (attrs && content) {
620
- var panelType = attrs.panelType,
621
- panelIcon = attrs.panelIcon,
622
- panelColor = attrs.panelColor;
643
+ var panelType = attrs.panelType;
623
644
 
624
645
  if (Object.values(PanelType).includes(panelType)) {
625
- // TODO: ED-10445 remove stage0 check
626
- var _attrs = adfStage === 'stage0' ? {
627
- panelType: panelType,
628
- panelIcon: panelIcon,
629
- panelColor: panelColor
630
- } : {
631
- panelType: panelType
632
- };
633
-
634
646
  return {
635
647
  type: type,
636
- attrs: _attrs,
648
+ attrs: attrs,
637
649
  content: content
638
650
  };
639
651
  }
@@ -968,6 +980,14 @@ export var getValidMark = function getValidMark(mark) {
968
980
  attrs: attrs
969
981
  };
970
982
  }
983
+
984
+ case 'fragment':
985
+ {
986
+ return {
987
+ type: type,
988
+ attrs: attrs
989
+ };
990
+ }
971
991
  }
972
992
  }
973
993
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "60.0.0",
3
+ "version": "61.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -0,0 +1,9 @@
1
+ import { Providers } from '../provider-factory';
2
+ export interface CardOptions {
3
+ provider?: Providers['cardProvider'];
4
+ resolveBeforeMacros?: string[];
5
+ allowBlockCards?: boolean;
6
+ allowEmbeds?: boolean;
7
+ allowResizing?: boolean;
8
+ useAlternativePreloader?: boolean;
9
+ }
@@ -1,9 +1 @@
1
- import { Providers } from '../provider-factory';
2
- export interface CardOptions {
3
- provider?: Providers['cardProvider'];
4
- resolveBeforeMacros?: string[];
5
- allowBlockCards?: boolean;
6
- allowEmbeds?: boolean;
7
- allowResizing?: boolean;
8
- useAlternativePreloader?: boolean;
9
- }
1
+ export type { CardOptions } from './cardOptions';
@@ -23,6 +23,10 @@ export interface CollabEventRemoteData {
23
23
  export interface CollabEventConnectionData {
24
24
  sid: string;
25
25
  }
26
+ export interface CollabEventDisonnectedData {
27
+ sid: string;
28
+ reason: 'CLIENT_DISCONNECT' | 'SERVER_DISCONNECT' | 'SOCKET_CLOSED' | 'SOCKET_ERROR' | 'SOCKET_TIMEOUT' | 'UNKNOWN_DISCONNECT';
29
+ }
26
30
  export interface CollabEventPresenceData {
27
31
  joined?: CollabParticipant[];
28
32
  left?: {
@@ -46,6 +50,7 @@ export declare type CollabEvent = keyof CollabEventData;
46
50
  export interface CollabEventData {
47
51
  init: CollabEventInitData;
48
52
  connected: CollabEventConnectionData;
53
+ disconnected: CollabEventDisonnectedData;
49
54
  data: CollabEventRemoteData;
50
55
  telepointer: CollabEventTelepointerData;
51
56
  presence: CollabEventPresenceData;
@@ -1 +1 @@
1
- export type { CollabEditProvider, CollabEventPresenceData, CollabEvent, CollabEventConnectionData, CollabEventData, CollabEventInitData, CollabEventRemoteData, CollabEventTelepointerData, CollabParticipant, CollabSendableSelection, } from './collab/types';
1
+ export type { CollabEditProvider, CollabEventPresenceData, CollabEvent, CollabEventConnectionData, CollabEventData, CollabEventInitData, CollabEventRemoteData, CollabEventTelepointerData, CollabParticipant, CollabSendableSelection, CollabEventLocalStepData, } from './collab/types';
@@ -0,0 +1,3 @@
1
+ export { default as Emoji } from './ui/Emoji';
2
+ export type { EmojiProps } from './ui/Emoji';
3
+ export { EmojiSharedCssClassName } from './styles/shared/emoji';
@@ -1,4 +1,4 @@
1
- export { isFieldset, isTabGroup, isExpand, isDateRange } from './types';
1
+ export { isFieldset, isTabGroup, isTabField, isExpand, isDateRange, } from './types';
2
2
  export type { Extension, ExtensionAutoConvertHandler, ExtensionComponentProps, ExtensionHandler, ExtensionHandlers, ExtensionKey, ExtensionManifest, ExtensionModule, ExtensionModuleAction, ExtensionModuleActionHandler, ExtensionModuleActionObject, ExtensionModuleNode, ExtensionModuleNodes, ExtensionModules, ExtensionParams, ExtensionProvider, ExtensionQuickInsertModule, ExtensionType, ExtensionToolbarButton, ContextualToolbar, ToolbarItem, Icon, MaybeADFEntity, MenuItem, MenuItemMap, UpdateExtension, Parameters, ParametersWithDuplicateFields, BooleanField, CustomField, CustomFieldResolver, UserFieldContext, UserField, UserFieldContextProvider, ColorField, DateField, DateRangeField, DateRangeResult, EnumField, EnumCheckboxField, EnumRadioField, EnumSelectField, ExpandField, FieldDefinition, DynamicFieldDefinitions, Fieldset, GroupingField, NativeField, NestedFieldDefinition, NumberField, Option, StringField, StringOneLineField, StringMultilineField, TabGroupField, TabField, FieldHandlerLink, OnSaveCallback, ExtensionAPI, TransformBefore, TransformAfter, ReferenceEntity, ParametersGetter, AsyncParametersGetter, } from './types';
3
3
  export { getExtensionKeyAndNodeKey, resolveImport } from './manifest-helpers';
4
4
  export { default as DefaultExtensionProvider } from './default-extension-provider';
@@ -16,7 +16,9 @@ export declare type ExtensionAPI<T extends Parameters = Parameters> = {
16
16
  editInContextPanel: (transformBefore: TransformBefore<T>, transformAfter: TransformAfter<T>) => void;
17
17
  _editInLegacyMacroBrowser: () => void;
18
18
  doc: {
19
- insertAfter: (localId: string, adf: ADFEntity) => void;
19
+ insertAfter: (localId: string, adf: ADFEntity, options?: {
20
+ allowSelectionToNewNode?: boolean;
21
+ }) => void;
20
22
  scrollTo: (localId: string) => void;
21
23
  };
22
24
  };
@@ -28,6 +30,8 @@ export interface Extension<T extends Parameters = Parameters> {
28
30
  export interface ExtensionHandlers<T extends Parameters = any> {
29
31
  [key: string]: Extension<T> | ExtensionHandler<T>;
30
32
  }
31
- export declare type ReferenceEntity = ADFEntity | Object;
33
+ export declare type ReferenceEntity = {
34
+ [prop: string]: ADFEntity | Object;
35
+ };
32
36
  export declare type ParametersGetter<T extends Parameters = Parameters> = TransformBefore<T>;
33
37
  export declare type AsyncParametersGetter<T extends Parameters = Parameters> = TransformAfter<T>;
@@ -1,4 +1,5 @@
1
1
  export declare type Parameters = {
2
2
  [key: string]: any;
3
+ lastIndexOf?: never;
3
4
  };
4
5
  export declare type ParametersWithDuplicateFields = Array<Parameters>;
@@ -147,10 +147,12 @@ export interface Fieldset extends BaseFieldDefinition {
147
147
  export declare type FieldDefinition = NestedFieldDefinition | Fieldset | GroupingField;
148
148
  export declare const isFieldset: (field: FieldDefinition) => field is Fieldset;
149
149
  export declare const isTabGroup: (field: FieldDefinition) => field is TabGroupField;
150
+ export declare const isTabField: (field: any) => field is TabField;
150
151
  export declare const isExpand: (field: FieldDefinition) => field is ExpandField;
151
152
  export declare const isDateRange: (value: any) => value is DateRangeResult;
152
153
  export interface GroupedField extends BaseFieldDefinition {
153
154
  fields: NestedFieldDefinition[];
155
+ hasGroupedValues?: boolean;
154
156
  }
155
157
  export interface ExpandField extends GroupedField {
156
158
  type: 'expand';
@@ -4,5 +4,5 @@ export type { ExtensionAutoConvertHandler, ExtensionComponentProps, ExtensionKey
4
4
  export type { ContextualToolbar, ToolbarItem, ExtensionToolbarButton, } from './extension-manifest-toolbar-item';
5
5
  export type { Parameters, ParametersWithDuplicateFields, } from './extension-parameters';
6
6
  export type { MenuItem, MenuItemMap } from './utils';
7
- export { isFieldset, isTabGroup, isExpand, isDateRange, } from './field-definitions';
7
+ export { isFieldset, isTabGroup, isTabField, isExpand, isDateRange, } from './field-definitions';
8
8
  export type { BooleanField, CustomField, ColorField, DateField, DateRangeField, DateRangeResult, EnumField, EnumCheckboxField, EnumRadioField, EnumSelectField, ExpandField, FieldDefinition, Fieldset, GroupingField, NativeField, NestedFieldDefinition, NumberField, Option, StringField, StringOneLineField, StringMultilineField, TabGroupField, TabField, UserField, UserFieldContext, FieldHandlerLink, } from './field-definitions';
@@ -1,2 +1,2 @@
1
- export { DefaultExtensionProvider, combineExtensionProviders, createAutoConverterRunner, getExtensionAutoConvertersFromProvider, getExtensionKeyAndNodeKey, getExtensionModuleNode, getQuickInsertItemsFromModule, getNodeRenderer, getExtensionModuleNodePrivateProps, getContextualToolbarItemsFromModule, resolveImport, getCustomFieldResolver, getFieldSerializer, getFieldDeserializer, isFieldset, isTabGroup, isExpand, isDateRange, getUserFieldContextProvider, buildMenuItem, } from './extensions/index';
1
+ export { DefaultExtensionProvider, combineExtensionProviders, createAutoConverterRunner, getExtensionAutoConvertersFromProvider, getExtensionKeyAndNodeKey, getExtensionModuleNode, getQuickInsertItemsFromModule, getNodeRenderer, getExtensionModuleNodePrivateProps, getContextualToolbarItemsFromModule, resolveImport, getCustomFieldResolver, getFieldSerializer, getFieldDeserializer, isFieldset, isTabGroup, isTabField, isExpand, isDateRange, getUserFieldContextProvider, buildMenuItem, } from './extensions/index';
2
2
  export type { ExtensionAutoConvertHandler, Extension, ExtensionComponentProps, ExtensionHandler, ExtensionHandlers, ExtensionKey, ExtensionManifest, ExtensionModule, ExtensionModuleAction, ExtensionModuleActionHandler, ExtensionModuleActionObject, ExtensionModuleNode, ExtensionModuleNodes, ExtensionQuickInsertModule, ExtensionModules, ExtensionParams, ExtensionProvider, ExtensionType, ExtensionToolbarButton, ToolbarItem, ContextualToolbar, Icon, MaybeADFEntity, MenuItem, MenuItemMap, UpdateExtension, Parameters, ParametersWithDuplicateFields, BooleanField, CustomField, CustomFieldResolver, ColorField, DateField, DateRangeField, DateRangeResult, EnumField, EnumCheckboxField, EnumRadioField, EnumSelectField, ExpandField, FieldDefinition, DynamicFieldDefinitions, Fieldset, GroupingField, NativeField, NestedFieldDefinition, NumberField, Option, StringField, StringOneLineField, StringMultilineField, TabGroupField, TabField, UserField, UserFieldContext, UserFieldContextProvider, FieldHandlerLink, OnSaveCallback, ExtensionAPI, TransformBefore, TransformAfter, ReferenceEntity, ParametersGetter, AsyncParametersGetter, } from './extensions/index';
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;
@@ -1,4 +1,5 @@
1
1
  declare const _default: {
2
+ 'fabric.editor.codeBidiWarningLabel': string;
2
3
  'fabric.editor.captionPlaceholder': string;
3
4
  'fabric.editor.collapseNode': string;
4
5
  'fabric.editor.expandDefaultTitle': string;