@atlaskit/editor-core 229.0.1 → 229.1.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 229.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`dca860eb0017e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/dca860eb0017e) -
8
+ Migrate Editor Core's lazy-loaded extension components to react-loosely-lazy behind the
9
+ `platform_editor_loosely_lazy_migration` experiment.
10
+
11
+ ### Patch Changes
12
+
13
+ - [`38952a4383a53`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/38952a4383a53) -
14
+ Add Data and charts slash-command hover previews behind platform_editor_slash_command.
15
+ - [`14307d3138fd3`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/14307d3138fd3) -
16
+ Refactor styles to use statically analyzable values and type-checked inline constants for Compiled
17
+ and Atlaspack incremental builds, preserving existing styling behavior.
18
+ - Updated dependencies
19
+
3
20
  ## 229.0.1
4
21
 
5
22
  ### Patch Changes
@@ -25,6 +25,8 @@ var _PluginSlot = _interopRequireDefault(require("../../PluginSlot"));
25
25
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
26
  // Ignored via go/ees005
27
27
  // eslint-disable-next-line import/no-named-as-default
28
+ var akLayoutGutterOffsetStatic = 12;
29
+ var akEditorGutterPaddingReducedStatic = 24;
28
30
  var akEditorFullWidthLayoutWidth = 1800;
29
31
  var akEditorUltraWideLayoutWidth = 4000;
30
32
  var akEditorSwoopCubicBezier = "cubic-bezier(0.15, 1, 0.3, 1)";
@@ -13,7 +13,6 @@ var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
- var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
17
16
  var _excluded = ["children", "customWidth", "visible"],
18
17
  _excluded2 = ["children", "customWidth", "visible", "hasPadding"];
19
18
  /**
@@ -23,6 +22,7 @@ var _excluded = ["children", "customWidth", "visible"],
23
22
  * Cleanup: delete this file once the `platform_editor_core_non_ecc_static_css` experiment has shipped.
24
23
  */
25
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
25
+ var akEditorContextPanelWidthStatic = 320;
26
26
  var getContextPanelWidthStyle = function getContextPanelWidthStyle(_ref) {
27
27
  var customWidth = _ref.customWidth,
28
28
  visible = _ref.visible;
@@ -11,9 +11,6 @@ var _runtime = require("@compiled/react/runtime");
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
  var _browser = require("@atlaskit/editor-common/browser");
14
- var _panel = require("@atlaskit/editor-common/panel");
15
- var _styles = require("@atlaskit/editor-common/styles");
16
- var _syncBlock = require("@atlaskit/editor-common/sync-block");
17
14
  var _tableCellBackgroundForCompiled = require("@atlaskit/editor-common/table-cell-background-for-compiled");
18
15
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
19
16
  var _overflowShadowForCompiled = require("@atlaskit/editor-shared-styles/overflow-shadow-for-compiled");
@@ -1,14 +1,124 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.getExtensionQuickInsertPreviewImageUrls = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ 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; }
10
+ 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; }
7
11
  var googleDrivePreviewImageUrls = {
8
12
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/y01wj4t58w86byx86l6k81a22axud131.png',
9
13
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/wi413m0837rjykg23r6y0256b7377185.png'
10
14
  };
11
- var previewImageUrlsByKey = {
15
+ var dataAndChartsPreviewImageUrlsByKey = {
16
+ 'quick-insert-assets-menu-item': {
17
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/64d41r462m2343iomn821ver0g4ohh37.png',
18
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/0w58rc60jh54m68224qqinuk52d6lldt.png'
19
+ },
20
+ 'blog-posts': {
21
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/syvwj7cg10q6n1586u2l64q78o2dc54d.png',
22
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5n54qb4j1pn588ud6604eh4c8hj5422v.png'
23
+ },
24
+ 'change-history': {
25
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/623tjta5b2flb1b7lf3t0dp6r4c858v5.png',
26
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/u83vu4k3if5kh4a12e34pr5jf833e71l.png'
27
+ },
28
+ children: {
29
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/a0qd7lp8011o238rmf3m872hb765y2g1.png',
30
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/ttbt2qi6tkl6cgdyig1th4x837g3c018.png'
31
+ },
32
+ details: {
33
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/11j376ovg761h7o2vfr0l6n8okxf22m4.png',
34
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/857b0i4hxk3pxeq3h5v2ykfav4niv5hx.png'
35
+ },
36
+ detailssummary: {
37
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/566j328lm7022fx64cv77w8xtyodre44.png',
38
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/07k170i7odd417hvcpkp800353211gwi.png'
39
+ },
40
+ 'content-report-table': {
41
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/ewhj8d8216yc6lyny58l2w4h3nikbs06.png',
42
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/060xk53i83jkbc5m5op8v44887tv3038.png'
43
+ },
44
+ pagetree: {
45
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8g3qkn50t2m3n05465s783f54517su0j.png',
46
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/kji77816l70343e211ll54222q3i0m57.png'
47
+ },
48
+ contributors: {
49
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/f115sn7v8x2oo65outd1g7124u03dfj1.png',
50
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/22801wwe6yf82mcfcrd7vg54620p5e0g.png'
51
+ },
52
+ 'database-extension:create-database': {
53
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/65m57812l47f0a55qpm51t8glk24vsne.png',
54
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/lqqxkx57ue3ws60m642br54ss6m3neow.png'
55
+ },
56
+ 'decisionreport:decisionreport': {
57
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/1w6a5k5f1yndoy2g3j158n151020v71y.png',
58
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3347ejx66xy7y375s232mbeg0ia1rdm8.png'
59
+ },
60
+ 'database-extension:reference-database': {
61
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5b815435xso5xv248niy0dg3m3yr2w6c.png',
62
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/he1vu1p7ngbjcy6lw8i8vh601aw14ct1.png'
63
+ },
64
+ contentbylabel: {
65
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3i6n45of3ks7lm5v65k74r0580mqya62.png',
66
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8hy8d25516esmq4q267bf15483851454.png'
67
+ },
68
+ 'quick-insert-confluence-list-menu-item': {
69
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8jh31f0k143b475y5tun230v166c7087.png',
70
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/6co68akkw56t83fql3m823qi21k8776u.png'
71
+ },
72
+ 'quick-insert-jira-work-items-menu-item': {
73
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/m284qw5066530tr5yd11473uq1l8t86t.png',
74
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4b1455q46emetd0jxv70xuo7i7lwo574.png'
75
+ },
76
+ listlabels: {
77
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3k50k14u80g034t323q3m13m6820ag70.png',
78
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/1a51b87u6bvsq84pup1wy1n32pg2s6c7.png'
79
+ },
80
+ livesearch: {
81
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/80v4vx47y130st85qx46432fo18g0sbx.png',
82
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/0n8ie724cnnvl62w1m521k8eq5v73u76.png'
83
+ },
84
+ pagetreesearch: {
85
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g32sx54apgb3yt844qi4y28gu835q682.png',
86
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/w7o6smtuy41bg08327dy2ai0fht2lc6m.png'
87
+ },
88
+ 'popular-labels': {
89
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/oqgl5347hqmx6u3v837q1bh2q70ls7bd.png',
90
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/a2x44n7aasba646mlmqht7cqfq6k8783.png'
91
+ },
92
+ 'questionslist-macro-native:questionslist-macro-native': {
93
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/37x027653yfd01ik041qnf005f1j5867.png',
94
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4f6f51758m5m6nu06x557nm115613233.png'
95
+ },
96
+ 'recently-updated': {
97
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g4y1gsehg600ge0nem6r2xv4b0ga7106.png',
98
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g2vqf86yj16fi74mny6b265mw5l181fx.png'
99
+ },
100
+ 'gadget:spaces': {
101
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/jw8r2233444raq4p3v56obq230hh5a8n.png',
102
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/b3py8prmf21tl73nb42gc67a0i437o1q.png'
103
+ },
104
+ 'tasks-report-macro': {
105
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/n2lm728m8n7au2q455wy57m407a8i74b.png',
106
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/e7qda5xter48ao38ieq82jgv3m7j3g8c.png'
107
+ },
108
+ calendar: {
109
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/01d5gi6lifcsu5el861v8p7kw84ja8it.png',
110
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g7v75uv8mw0i7hw36181xx2nly2674pi.png'
111
+ },
112
+ userlister: {
113
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5cy6l23fwmo2820uce5m50g1222l0hpb.png',
114
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4883g3sm4pdy8w3mmphdqj81588c37gf.png'
115
+ },
116
+ profile: {
117
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/evx8rg04mer8binf15e8ao0imm5kv7ek.png',
118
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/o2kexap23ijq8jeqhpvi8lgc51dex3wj.png'
119
+ }
120
+ };
121
+ var previewImageUrlsByKey = _objectSpread(_objectSpread({}, dataAndChartsPreviewImageUrlsByKey), {}, {
12
122
  'profile-picture:profile-picture': {
13
123
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/35rb2mbxc2dt8p7op8u8lyss5h220428.png',
14
124
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4o3lpe2eh4nlakav375621i73do50kyx.png'
@@ -91,7 +201,7 @@ var previewImageUrlsByKey = {
91
201
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/7jj541q4pq1joqf0ar53j42kr6371t1t.png',
92
202
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/v8eyy0fvu61fb8a4b4teea4pjs7g2842.png'
93
203
  }
94
- };
204
+ });
95
205
  var previewImageUrlsByTitle = {
96
206
  amplitude: {
97
207
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/7v8shu6n3wd15644f3ys785628dkt632.png',
@@ -112,6 +222,7 @@ var previewImageUrlsByTitle = {
112
222
  }
113
223
  };
114
224
  var getExtensionQuickInsertPreviewImageUrls = exports.getExtensionQuickInsertPreviewImageUrls = function getExtensionQuickInsertPreviewImageUrls(item) {
115
- var _ref;
116
- return (_ref = item.key ? previewImageUrlsByKey[item.key] : undefined) !== null && _ref !== void 0 ? _ref : previewImageUrlsByTitle[item.title.toLowerCase()];
225
+ var _ref, _ref2, _ref3;
226
+ var normalizedTitle = item.title.toLowerCase();
227
+ return (_ref = (_ref2 = (_ref3 = item.key ? previewImageUrlsByKey[item.key] : undefined) !== null && _ref3 !== void 0 ? _ref3 : item.extensionKey === 'gadget' ? dataAndChartsPreviewImageUrlsByKey["".concat(item.extensionKey, ":").concat(normalizedTitle)] : undefined) !== null && _ref2 !== void 0 ? _ref2 : item.extensionKey ? dataAndChartsPreviewImageUrlsByKey[item.extensionKey] : undefined) !== null && _ref !== void 0 ? _ref : previewImageUrlsByTitle[normalizedTitle];
117
228
  };
@@ -14,9 +14,10 @@ var _analytics = require("@atlaskit/editor-common/analytics");
14
14
  var _extensions = require("@atlaskit/editor-common/extensions");
15
15
  var _analytics2 = require("@atlaskit/editor-common/utils/analytics");
16
16
  var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
17
+ var _reactLooselyLazy = require("react-loosely-lazy");
17
18
  var _getExtensionQuickInsertComponents = require("../ui/quick-insert/getExtensionQuickInsertComponents");
18
19
  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; }
19
- 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; }
20
+ 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; } // oxlint-disable-next-line @atlassian/no-restricted-imports
20
21
  // Structural shape of the markdown-mode plugin's slice of the injection API.
21
22
  // Used to read `isMarkdownMode` without importing the `MarkdownModePlugin`
22
23
  // type — that would pull editor-plugin-markdown-mode into editor-core's
@@ -77,6 +78,23 @@ var dummyExtensionAPI = {
77
78
  }
78
79
  }
79
80
  };
81
+ // Keep lazy icon component identities stable across menu unmounts and remounts.
82
+ var lazyExtensionIconCache = new WeakMap();
83
+ var LazyExtensionIcon = function LazyExtensionIcon(_ref) {
84
+ var iconLoader = _ref.iconLoader;
85
+ var Icon = lazyExtensionIconCache.get(iconLoader);
86
+ if (!Icon) {
87
+ Icon = (0, _reactLooselyLazy.lazyForPaint)(function () {
88
+ return iconLoader();
89
+ });
90
+ lazyExtensionIconCache.set(iconLoader, Icon);
91
+ }
92
+ return /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
93
+ fallback: null
94
+ }, /*#__PURE__*/_react.default.createElement(Icon, {
95
+ label: ""
96
+ }));
97
+ };
80
98
 
81
99
  /** Creates legacy and registered Quick Insert representations for extensions. */
82
100
  function extensionProviderToQuickInsertProvider(_x, _x2, _x3, _x4) {
@@ -122,12 +140,6 @@ function _extensionProviderToQuickInsertProvider() {
122
140
  return Promise.resolve([]);
123
141
  }
124
142
  var quickInsertItems = (0, _extensions.getQuickInsertItemsFromModule)(extensions, function (item) {
125
- var Icon = (0, _reactLoadable.default)({
126
- loader: item.icon,
127
- loading: function loading() {
128
- return null;
129
- }
130
- });
131
143
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_slash_app_category_analytics') || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_slash_command')) && item.app ? {
132
144
  app: item.app
133
145
  } : {}), {}, {
@@ -138,6 +150,17 @@ function _extensionProviderToQuickInsertProvider() {
138
150
  title: item.title,
139
151
  description: item.description,
140
152
  icon: function icon() {
153
+ if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration')) {
154
+ return /*#__PURE__*/_react.default.createElement(LazyExtensionIcon, {
155
+ iconLoader: item.icon
156
+ });
157
+ }
158
+ var Icon = (0, _reactLoadable.default)({
159
+ loader: item.icon,
160
+ loading: function loading() {
161
+ return null;
162
+ }
163
+ });
141
164
  return /*#__PURE__*/_react.default.createElement(Icon, {
142
165
  label: ""
143
166
  });
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.version = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/editor-core";
8
8
  // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
9
- var version = exports.version = "229.0.0";
9
+ var version = exports.version = "229.0.1";
@@ -6,7 +6,7 @@ import classnames from 'classnames';
6
6
  import { injectIntl } from 'react-intl';
7
7
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
8
8
  import { fullPageMessages as messages } from '@atlaskit/editor-common/messages';
9
- import { akEditorGutterPaddingDynamic, akEditorGutterPaddingReduced, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
9
+ import { akEditorGutterPaddingDynamic, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
10
10
  import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
11
11
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
12
12
 
@@ -18,6 +18,8 @@ import { contentComponentClickWrapper } from '../../Addon/ClickAreaBlock/content
18
18
  import { ContextPanel } from '../../ContextPanel';
19
19
  import EditorContentContainer from '../../EditorContentContainer/EditorContentContainer';
20
20
  import PluginSlot from '../../PluginSlot';
21
+ const akLayoutGutterOffsetStatic = 12;
22
+ const akEditorGutterPaddingReducedStatic = 24;
21
23
  const akEditorFullWidthLayoutWidth = 1800;
22
24
  const akEditorUltraWideLayoutWidth = 4000;
23
25
  const akEditorSwoopCubicBezier = `cubic-bezier(0.15, 1, 0.3, 1)`;
@@ -10,7 +10,7 @@ import { ax, ix } from "@compiled/react/runtime";
10
10
  * Cleanup: delete this file once the `platform_editor_core_non_ecc_static_css` experiment has shipped.
11
11
  */
12
12
  import { useMemo } from 'react';
13
- import { akEditorContextPanelWidth } from '@atlaskit/editor-shared-styles';
13
+ const akEditorContextPanelWidthStatic = 320;
14
14
  const getContextPanelWidthStyle = ({
15
15
  customWidth,
16
16
  visible
@@ -12,11 +12,9 @@ import { getBrowserInfo } from '@atlaskit/editor-common/browser';
12
12
  // eslint-disable-next-line @atlaskit/editor/enforce-todo-comment-format
13
13
  // TODO: add back tableSharedStyle when migrate table styles
14
14
  // import { richMediaClassName, tableSharedStyle } from '@atlaskit/editor-common/styles';
15
- import { PanelSharedCssClassName } from '@atlaskit/editor-common/panel';
16
- import { AnnotationSharedClassNames, richMediaClassName, expandClassNames, SmartCardSharedCssClassName, CodeBlockSharedCssClassName, tableCellBorderWidth, tableCellMinWidth, tableMarginTop, TaskDecisionSharedCssClassName } from '@atlaskit/editor-common/styles';
17
- import { BodiedSyncBlockSharedCssClassName, SyncBlockSharedCssClassName, SyncBlockLabelSharedCssClassName, SyncBlockStateCssClassName } from '@atlaskit/editor-common/sync-block';
15
+
18
16
  import { tableCellBackgroundColorVariablesForCompiled } from '@atlaskit/editor-common/table-cell-background-for-compiled';
19
- import { akEditorFullPageDefaultFontSize, akEditorFullPageDenseFontSize, akEditorGutterPaddingDynamic, akEditorShadowZIndex, akEditorSwoopCubicBezier, akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
17
+ import { akEditorFullPageDefaultFontSize, akEditorGutterPaddingDynamic } from '@atlaskit/editor-shared-styles';
20
18
  import { overflowShadowForCompiled } from '@atlaskit/editor-shared-styles/overflow-shadow-for-compiled';
21
19
  import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
22
20
  import { UNSAFE_expValNoExposure } from '@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure';
@@ -2,7 +2,114 @@ const googleDrivePreviewImageUrls = {
2
2
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/y01wj4t58w86byx86l6k81a22axud131.png',
3
3
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/wi413m0837rjykg23r6y0256b7377185.png'
4
4
  };
5
+ const dataAndChartsPreviewImageUrlsByKey = {
6
+ 'quick-insert-assets-menu-item': {
7
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/64d41r462m2343iomn821ver0g4ohh37.png',
8
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/0w58rc60jh54m68224qqinuk52d6lldt.png'
9
+ },
10
+ 'blog-posts': {
11
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/syvwj7cg10q6n1586u2l64q78o2dc54d.png',
12
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5n54qb4j1pn588ud6604eh4c8hj5422v.png'
13
+ },
14
+ 'change-history': {
15
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/623tjta5b2flb1b7lf3t0dp6r4c858v5.png',
16
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/u83vu4k3if5kh4a12e34pr5jf833e71l.png'
17
+ },
18
+ children: {
19
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/a0qd7lp8011o238rmf3m872hb765y2g1.png',
20
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/ttbt2qi6tkl6cgdyig1th4x837g3c018.png'
21
+ },
22
+ details: {
23
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/11j376ovg761h7o2vfr0l6n8okxf22m4.png',
24
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/857b0i4hxk3pxeq3h5v2ykfav4niv5hx.png'
25
+ },
26
+ detailssummary: {
27
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/566j328lm7022fx64cv77w8xtyodre44.png',
28
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/07k170i7odd417hvcpkp800353211gwi.png'
29
+ },
30
+ 'content-report-table': {
31
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/ewhj8d8216yc6lyny58l2w4h3nikbs06.png',
32
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/060xk53i83jkbc5m5op8v44887tv3038.png'
33
+ },
34
+ pagetree: {
35
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8g3qkn50t2m3n05465s783f54517su0j.png',
36
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/kji77816l70343e211ll54222q3i0m57.png'
37
+ },
38
+ contributors: {
39
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/f115sn7v8x2oo65outd1g7124u03dfj1.png',
40
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/22801wwe6yf82mcfcrd7vg54620p5e0g.png'
41
+ },
42
+ 'database-extension:create-database': {
43
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/65m57812l47f0a55qpm51t8glk24vsne.png',
44
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/lqqxkx57ue3ws60m642br54ss6m3neow.png'
45
+ },
46
+ 'decisionreport:decisionreport': {
47
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/1w6a5k5f1yndoy2g3j158n151020v71y.png',
48
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3347ejx66xy7y375s232mbeg0ia1rdm8.png'
49
+ },
50
+ 'database-extension:reference-database': {
51
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5b815435xso5xv248niy0dg3m3yr2w6c.png',
52
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/he1vu1p7ngbjcy6lw8i8vh601aw14ct1.png'
53
+ },
54
+ contentbylabel: {
55
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3i6n45of3ks7lm5v65k74r0580mqya62.png',
56
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8hy8d25516esmq4q267bf15483851454.png'
57
+ },
58
+ 'quick-insert-confluence-list-menu-item': {
59
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8jh31f0k143b475y5tun230v166c7087.png',
60
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/6co68akkw56t83fql3m823qi21k8776u.png'
61
+ },
62
+ 'quick-insert-jira-work-items-menu-item': {
63
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/m284qw5066530tr5yd11473uq1l8t86t.png',
64
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4b1455q46emetd0jxv70xuo7i7lwo574.png'
65
+ },
66
+ listlabels: {
67
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3k50k14u80g034t323q3m13m6820ag70.png',
68
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/1a51b87u6bvsq84pup1wy1n32pg2s6c7.png'
69
+ },
70
+ livesearch: {
71
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/80v4vx47y130st85qx46432fo18g0sbx.png',
72
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/0n8ie724cnnvl62w1m521k8eq5v73u76.png'
73
+ },
74
+ pagetreesearch: {
75
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g32sx54apgb3yt844qi4y28gu835q682.png',
76
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/w7o6smtuy41bg08327dy2ai0fht2lc6m.png'
77
+ },
78
+ 'popular-labels': {
79
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/oqgl5347hqmx6u3v837q1bh2q70ls7bd.png',
80
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/a2x44n7aasba646mlmqht7cqfq6k8783.png'
81
+ },
82
+ 'questionslist-macro-native:questionslist-macro-native': {
83
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/37x027653yfd01ik041qnf005f1j5867.png',
84
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4f6f51758m5m6nu06x557nm115613233.png'
85
+ },
86
+ 'recently-updated': {
87
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g4y1gsehg600ge0nem6r2xv4b0ga7106.png',
88
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g2vqf86yj16fi74mny6b265mw5l181fx.png'
89
+ },
90
+ 'gadget:spaces': {
91
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/jw8r2233444raq4p3v56obq230hh5a8n.png',
92
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/b3py8prmf21tl73nb42gc67a0i437o1q.png'
93
+ },
94
+ 'tasks-report-macro': {
95
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/n2lm728m8n7au2q455wy57m407a8i74b.png',
96
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/e7qda5xter48ao38ieq82jgv3m7j3g8c.png'
97
+ },
98
+ calendar: {
99
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/01d5gi6lifcsu5el861v8p7kw84ja8it.png',
100
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g7v75uv8mw0i7hw36181xx2nly2674pi.png'
101
+ },
102
+ userlister: {
103
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5cy6l23fwmo2820uce5m50g1222l0hpb.png',
104
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4883g3sm4pdy8w3mmphdqj81588c37gf.png'
105
+ },
106
+ profile: {
107
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/evx8rg04mer8binf15e8ao0imm5kv7ek.png',
108
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/o2kexap23ijq8jeqhpvi8lgc51dex3wj.png'
109
+ }
110
+ };
5
111
  const previewImageUrlsByKey = {
112
+ ...dataAndChartsPreviewImageUrlsByKey,
6
113
  'profile-picture:profile-picture': {
7
114
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/35rb2mbxc2dt8p7op8u8lyss5h220428.png',
8
115
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4o3lpe2eh4nlakav375621i73do50kyx.png'
@@ -106,6 +213,7 @@ const previewImageUrlsByTitle = {
106
213
  }
107
214
  };
108
215
  export const getExtensionQuickInsertPreviewImageUrls = item => {
109
- var _ref;
110
- return (_ref = item.key ? previewImageUrlsByKey[item.key] : undefined) !== null && _ref !== void 0 ? _ref : previewImageUrlsByTitle[item.title.toLowerCase()];
216
+ var _ref, _ref2, _ref3;
217
+ const normalizedTitle = item.title.toLowerCase();
218
+ return (_ref = (_ref2 = (_ref3 = item.key ? previewImageUrlsByKey[item.key] : undefined) !== null && _ref3 !== void 0 ? _ref3 : item.extensionKey === 'gadget' ? dataAndChartsPreviewImageUrlsByKey[`${item.extensionKey}:${normalizedTitle}`] : undefined) !== null && _ref2 !== void 0 ? _ref2 : item.extensionKey ? dataAndChartsPreviewImageUrlsByKey[item.extensionKey] : undefined) !== null && _ref !== void 0 ? _ref : previewImageUrlsByTitle[normalizedTitle];
111
219
  };
@@ -4,6 +4,8 @@ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEve
4
4
  import { getQuickInsertItemsFromModule, resolveImport } from '@atlaskit/editor-common/extensions';
5
5
  import { findInsertLocation } from '@atlaskit/editor-common/utils/analytics';
6
6
  import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
7
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
8
+ import { lazyForPaint, LazySuspense } from 'react-loosely-lazy';
7
9
  import { getExtensionQuickInsertComponents } from '../ui/quick-insert/getExtensionQuickInsertComponents';
8
10
 
9
11
  // Structural shape of the markdown-mode plugin's slice of the injection API.
@@ -55,6 +57,22 @@ const dummyExtensionAPI = {
55
57
  update: () => showDummyAPIWarning('doc:update')
56
58
  }
57
59
  };
60
+ // Keep lazy icon component identities stable across menu unmounts and remounts.
61
+ const lazyExtensionIconCache = new WeakMap();
62
+ const LazyExtensionIcon = ({
63
+ iconLoader
64
+ }) => {
65
+ let Icon = lazyExtensionIconCache.get(iconLoader);
66
+ if (!Icon) {
67
+ Icon = lazyForPaint(() => iconLoader());
68
+ lazyExtensionIconCache.set(iconLoader, Icon);
69
+ }
70
+ return /*#__PURE__*/React.createElement(LazySuspense, {
71
+ fallback: null
72
+ }, /*#__PURE__*/React.createElement(Icon, {
73
+ label: ""
74
+ }));
75
+ };
58
76
 
59
77
  /** Creates legacy and registered Quick Insert representations for extensions. */
60
78
  export async function extensionProviderToQuickInsertProvider(extensionProvider, editorActions, apiRef, createAnalyticsEvent) {
@@ -85,10 +103,6 @@ export async function extensionProviderToQuickInsertProvider(extensionProvider,
85
103
  return Promise.resolve([]);
86
104
  }
87
105
  const quickInsertItems = getQuickInsertItemsFromModule(extensions, item => {
88
- const Icon = Loadable({
89
- loader: item.icon,
90
- loading: () => null
91
- });
92
106
  return {
93
107
  ...((isExperimentEnabled('platform_editor_slash_app_category_analytics') || isExperimentEnabled('platform_editor_slash_command')) && item.app ? {
94
108
  app: item.app
@@ -99,9 +113,20 @@ export async function extensionProviderToQuickInsertProvider(extensionProvider,
99
113
  key: item.key,
100
114
  title: item.title,
101
115
  description: item.description,
102
- icon: () => /*#__PURE__*/React.createElement(Icon, {
103
- label: ""
104
- }),
116
+ icon: () => {
117
+ if (isExperimentEnabled('platform_editor_loosely_lazy_migration')) {
118
+ return /*#__PURE__*/React.createElement(LazyExtensionIcon, {
119
+ iconLoader: item.icon
120
+ });
121
+ }
122
+ const Icon = Loadable({
123
+ loader: item.icon,
124
+ loading: () => null
125
+ });
126
+ return /*#__PURE__*/React.createElement(Icon, {
127
+ label: ""
128
+ });
129
+ },
105
130
  keywords: item.keywords,
106
131
  featured: item.featured,
107
132
  priority: item.priority,
@@ -1,3 +1,3 @@
1
1
  export const name = "@atlaskit/editor-core";
2
2
  // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
3
- export const version = "229.0.0";
3
+ export const version = "229.0.1";
@@ -6,7 +6,7 @@ import classnames from 'classnames';
6
6
  import { injectIntl } from 'react-intl';
7
7
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
8
8
  import { fullPageMessages as messages } from '@atlaskit/editor-common/messages';
9
- import { akEditorGutterPaddingDynamic, akEditorGutterPaddingReduced, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
9
+ import { akEditorGutterPaddingDynamic, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
10
10
  import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
11
11
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
12
12
 
@@ -18,6 +18,8 @@ import { contentComponentClickWrapper } from '../../Addon/ClickAreaBlock/content
18
18
  import { ContextPanel } from '../../ContextPanel';
19
19
  import EditorContentContainer from '../../EditorContentContainer/EditorContentContainer';
20
20
  import PluginSlot from '../../PluginSlot';
21
+ var akLayoutGutterOffsetStatic = 12;
22
+ var akEditorGutterPaddingReducedStatic = 24;
21
23
  var akEditorFullWidthLayoutWidth = 1800;
22
24
  var akEditorUltraWideLayoutWidth = 4000;
23
25
  var akEditorSwoopCubicBezier = "cubic-bezier(0.15, 1, 0.3, 1)";
@@ -13,7 +13,7 @@ import { ax, ix } from "@compiled/react/runtime";
13
13
  * Cleanup: delete this file once the `platform_editor_core_non_ecc_static_css` experiment has shipped.
14
14
  */
15
15
  import { useMemo } from 'react';
16
- import { akEditorContextPanelWidth } from '@atlaskit/editor-shared-styles';
16
+ var akEditorContextPanelWidthStatic = 320;
17
17
  var getContextPanelWidthStyle = function getContextPanelWidthStyle(_ref) {
18
18
  var customWidth = _ref.customWidth,
19
19
  visible = _ref.visible;
@@ -17,11 +17,9 @@ import { getBrowserInfo } from '@atlaskit/editor-common/browser';
17
17
  // eslint-disable-next-line @atlaskit/editor/enforce-todo-comment-format
18
18
  // TODO: add back tableSharedStyle when migrate table styles
19
19
  // import { richMediaClassName, tableSharedStyle } from '@atlaskit/editor-common/styles';
20
- import { PanelSharedCssClassName } from '@atlaskit/editor-common/panel';
21
- import { AnnotationSharedClassNames, richMediaClassName, expandClassNames, SmartCardSharedCssClassName, CodeBlockSharedCssClassName, tableCellBorderWidth, tableCellMinWidth, tableMarginTop, TaskDecisionSharedCssClassName } from '@atlaskit/editor-common/styles';
22
- import { BodiedSyncBlockSharedCssClassName, SyncBlockSharedCssClassName, SyncBlockLabelSharedCssClassName, SyncBlockStateCssClassName } from '@atlaskit/editor-common/sync-block';
20
+
23
21
  import { tableCellBackgroundColorVariablesForCompiled } from '@atlaskit/editor-common/table-cell-background-for-compiled';
24
- import { akEditorFullPageDefaultFontSize, akEditorFullPageDenseFontSize, akEditorGutterPaddingDynamic, akEditorShadowZIndex, akEditorSwoopCubicBezier, akEditorTableNumberColumnWidth } from '@atlaskit/editor-shared-styles';
22
+ import { akEditorFullPageDefaultFontSize, akEditorGutterPaddingDynamic } from '@atlaskit/editor-shared-styles';
25
23
  import { overflowShadowForCompiled } from '@atlaskit/editor-shared-styles/overflow-shadow-for-compiled';
26
24
  import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
27
25
  import { UNSAFE_expValNoExposure } from '@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure';
@@ -1,8 +1,117 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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) { _defineProperty(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; }
1
4
  var googleDrivePreviewImageUrls = {
2
5
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/y01wj4t58w86byx86l6k81a22axud131.png',
3
6
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/wi413m0837rjykg23r6y0256b7377185.png'
4
7
  };
5
- var previewImageUrlsByKey = {
8
+ var dataAndChartsPreviewImageUrlsByKey = {
9
+ 'quick-insert-assets-menu-item': {
10
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/64d41r462m2343iomn821ver0g4ohh37.png',
11
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/0w58rc60jh54m68224qqinuk52d6lldt.png'
12
+ },
13
+ 'blog-posts': {
14
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/syvwj7cg10q6n1586u2l64q78o2dc54d.png',
15
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5n54qb4j1pn588ud6604eh4c8hj5422v.png'
16
+ },
17
+ 'change-history': {
18
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/623tjta5b2flb1b7lf3t0dp6r4c858v5.png',
19
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/u83vu4k3if5kh4a12e34pr5jf833e71l.png'
20
+ },
21
+ children: {
22
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/a0qd7lp8011o238rmf3m872hb765y2g1.png',
23
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/ttbt2qi6tkl6cgdyig1th4x837g3c018.png'
24
+ },
25
+ details: {
26
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/11j376ovg761h7o2vfr0l6n8okxf22m4.png',
27
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/857b0i4hxk3pxeq3h5v2ykfav4niv5hx.png'
28
+ },
29
+ detailssummary: {
30
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/566j328lm7022fx64cv77w8xtyodre44.png',
31
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/07k170i7odd417hvcpkp800353211gwi.png'
32
+ },
33
+ 'content-report-table': {
34
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/ewhj8d8216yc6lyny58l2w4h3nikbs06.png',
35
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/060xk53i83jkbc5m5op8v44887tv3038.png'
36
+ },
37
+ pagetree: {
38
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8g3qkn50t2m3n05465s783f54517su0j.png',
39
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/kji77816l70343e211ll54222q3i0m57.png'
40
+ },
41
+ contributors: {
42
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/f115sn7v8x2oo65outd1g7124u03dfj1.png',
43
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/22801wwe6yf82mcfcrd7vg54620p5e0g.png'
44
+ },
45
+ 'database-extension:create-database': {
46
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/65m57812l47f0a55qpm51t8glk24vsne.png',
47
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/lqqxkx57ue3ws60m642br54ss6m3neow.png'
48
+ },
49
+ 'decisionreport:decisionreport': {
50
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/1w6a5k5f1yndoy2g3j158n151020v71y.png',
51
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3347ejx66xy7y375s232mbeg0ia1rdm8.png'
52
+ },
53
+ 'database-extension:reference-database': {
54
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5b815435xso5xv248niy0dg3m3yr2w6c.png',
55
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/he1vu1p7ngbjcy6lw8i8vh601aw14ct1.png'
56
+ },
57
+ contentbylabel: {
58
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3i6n45of3ks7lm5v65k74r0580mqya62.png',
59
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8hy8d25516esmq4q267bf15483851454.png'
60
+ },
61
+ 'quick-insert-confluence-list-menu-item': {
62
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/8jh31f0k143b475y5tun230v166c7087.png',
63
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/6co68akkw56t83fql3m823qi21k8776u.png'
64
+ },
65
+ 'quick-insert-jira-work-items-menu-item': {
66
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/m284qw5066530tr5yd11473uq1l8t86t.png',
67
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4b1455q46emetd0jxv70xuo7i7lwo574.png'
68
+ },
69
+ listlabels: {
70
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/3k50k14u80g034t323q3m13m6820ag70.png',
71
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/1a51b87u6bvsq84pup1wy1n32pg2s6c7.png'
72
+ },
73
+ livesearch: {
74
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/80v4vx47y130st85qx46432fo18g0sbx.png',
75
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/0n8ie724cnnvl62w1m521k8eq5v73u76.png'
76
+ },
77
+ pagetreesearch: {
78
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g32sx54apgb3yt844qi4y28gu835q682.png',
79
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/w7o6smtuy41bg08327dy2ai0fht2lc6m.png'
80
+ },
81
+ 'popular-labels': {
82
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/oqgl5347hqmx6u3v837q1bh2q70ls7bd.png',
83
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/a2x44n7aasba646mlmqht7cqfq6k8783.png'
84
+ },
85
+ 'questionslist-macro-native:questionslist-macro-native': {
86
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/37x027653yfd01ik041qnf005f1j5867.png',
87
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4f6f51758m5m6nu06x557nm115613233.png'
88
+ },
89
+ 'recently-updated': {
90
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g4y1gsehg600ge0nem6r2xv4b0ga7106.png',
91
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g2vqf86yj16fi74mny6b265mw5l181fx.png'
92
+ },
93
+ 'gadget:spaces': {
94
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/jw8r2233444raq4p3v56obq230hh5a8n.png',
95
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/b3py8prmf21tl73nb42gc67a0i437o1q.png'
96
+ },
97
+ 'tasks-report-macro': {
98
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/n2lm728m8n7au2q455wy57m407a8i74b.png',
99
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/e7qda5xter48ao38ieq82jgv3m7j3g8c.png'
100
+ },
101
+ calendar: {
102
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/01d5gi6lifcsu5el861v8p7kw84ja8it.png',
103
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/g7v75uv8mw0i7hw36181xx2nly2674pi.png'
104
+ },
105
+ userlister: {
106
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/5cy6l23fwmo2820uce5m50g1222l0hpb.png',
107
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4883g3sm4pdy8w3mmphdqj81588c37gf.png'
108
+ },
109
+ profile: {
110
+ dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/evx8rg04mer8binf15e8ao0imm5kv7ek.png',
111
+ light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/o2kexap23ijq8jeqhpvi8lgc51dex3wj.png'
112
+ }
113
+ };
114
+ var previewImageUrlsByKey = _objectSpread(_objectSpread({}, dataAndChartsPreviewImageUrlsByKey), {}, {
6
115
  'profile-picture:profile-picture': {
7
116
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/35rb2mbxc2dt8p7op8u8lyss5h220428.png',
8
117
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/4o3lpe2eh4nlakav375621i73do50kyx.png'
@@ -85,7 +194,7 @@ var previewImageUrlsByKey = {
85
194
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/7jj541q4pq1joqf0ar53j42kr6371t1t.png',
86
195
  light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/v8eyy0fvu61fb8a4b4teea4pjs7g2842.png'
87
196
  }
88
- };
197
+ });
89
198
  var previewImageUrlsByTitle = {
90
199
  amplitude: {
91
200
  dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/7v8shu6n3wd15644f3ys785628dkt632.png',
@@ -106,6 +215,7 @@ var previewImageUrlsByTitle = {
106
215
  }
107
216
  };
108
217
  export var getExtensionQuickInsertPreviewImageUrls = function getExtensionQuickInsertPreviewImageUrls(item) {
109
- var _ref;
110
- return (_ref = item.key ? previewImageUrlsByKey[item.key] : undefined) !== null && _ref !== void 0 ? _ref : previewImageUrlsByTitle[item.title.toLowerCase()];
218
+ var _ref, _ref2, _ref3;
219
+ var normalizedTitle = item.title.toLowerCase();
220
+ return (_ref = (_ref2 = (_ref3 = item.key ? previewImageUrlsByKey[item.key] : undefined) !== null && _ref3 !== void 0 ? _ref3 : item.extensionKey === 'gadget' ? dataAndChartsPreviewImageUrlsByKey["".concat(item.extensionKey, ":").concat(normalizedTitle)] : undefined) !== null && _ref2 !== void 0 ? _ref2 : item.extensionKey ? dataAndChartsPreviewImageUrlsByKey[item.extensionKey] : undefined) !== null && _ref !== void 0 ? _ref : previewImageUrlsByTitle[normalizedTitle];
111
221
  };
@@ -9,6 +9,8 @@ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEve
9
9
  import { getQuickInsertItemsFromModule, resolveImport } from '@atlaskit/editor-common/extensions';
10
10
  import { findInsertLocation } from '@atlaskit/editor-common/utils/analytics';
11
11
  import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
12
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
13
+ import { lazyForPaint, LazySuspense } from 'react-loosely-lazy';
12
14
  import { getExtensionQuickInsertComponents } from '../ui/quick-insert/getExtensionQuickInsertComponents';
13
15
 
14
16
  // Structural shape of the markdown-mode plugin's slice of the injection API.
@@ -71,6 +73,23 @@ var dummyExtensionAPI = {
71
73
  }
72
74
  }
73
75
  };
76
+ // Keep lazy icon component identities stable across menu unmounts and remounts.
77
+ var lazyExtensionIconCache = new WeakMap();
78
+ var LazyExtensionIcon = function LazyExtensionIcon(_ref) {
79
+ var iconLoader = _ref.iconLoader;
80
+ var Icon = lazyExtensionIconCache.get(iconLoader);
81
+ if (!Icon) {
82
+ Icon = lazyForPaint(function () {
83
+ return iconLoader();
84
+ });
85
+ lazyExtensionIconCache.set(iconLoader, Icon);
86
+ }
87
+ return /*#__PURE__*/React.createElement(LazySuspense, {
88
+ fallback: null
89
+ }, /*#__PURE__*/React.createElement(Icon, {
90
+ label: ""
91
+ }));
92
+ };
74
93
 
75
94
  /** Creates legacy and registered Quick Insert representations for extensions. */
76
95
  export function extensionProviderToQuickInsertProvider(_x, _x2, _x3, _x4) {
@@ -116,12 +135,6 @@ function _extensionProviderToQuickInsertProvider() {
116
135
  return Promise.resolve([]);
117
136
  }
118
137
  var quickInsertItems = getQuickInsertItemsFromModule(extensions, function (item) {
119
- var Icon = Loadable({
120
- loader: item.icon,
121
- loading: function loading() {
122
- return null;
123
- }
124
- });
125
138
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, (isExperimentEnabled('platform_editor_slash_app_category_analytics') || isExperimentEnabled('platform_editor_slash_command')) && item.app ? {
126
139
  app: item.app
127
140
  } : {}), {}, {
@@ -132,6 +145,17 @@ function _extensionProviderToQuickInsertProvider() {
132
145
  title: item.title,
133
146
  description: item.description,
134
147
  icon: function icon() {
148
+ if (isExperimentEnabled('platform_editor_loosely_lazy_migration')) {
149
+ return /*#__PURE__*/React.createElement(LazyExtensionIcon, {
150
+ iconLoader: item.icon
151
+ });
152
+ }
153
+ var Icon = Loadable({
154
+ loader: item.icon,
155
+ loading: function loading() {
156
+ return null;
157
+ }
158
+ });
135
159
  return /*#__PURE__*/React.createElement(Icon, {
136
160
  label: ""
137
161
  });
@@ -1,3 +1,3 @@
1
1
  export var name = "@atlaskit/editor-core";
2
2
  // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
3
- export var version = "229.0.0";
3
+ export var version = "229.0.1";
@@ -3,5 +3,5 @@ type PreviewImageUrls = {
3
3
  dark: string;
4
4
  light: string;
5
5
  };
6
- export declare const getExtensionQuickInsertPreviewImageUrls: (item: Pick<MenuItem, 'title'> & Partial<Pick<MenuItem, 'key'>>) => PreviewImageUrls | undefined;
6
+ export declare const getExtensionQuickInsertPreviewImageUrls: (item: Pick<MenuItem, 'title'> & Partial<Pick<MenuItem, 'extensionKey' | 'key'>>) => PreviewImageUrls | undefined;
7
7
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "229.0.1",
3
+ "version": "229.1.0",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -59,7 +59,7 @@
59
59
  "@atlaskit/editor-prosemirror": "^9.0.0",
60
60
  "@atlaskit/editor-shared-styles": "^4.3.0",
61
61
  "@atlaskit/editor-ssr-renderer": "^14.0.0",
62
- "@atlaskit/editor-toolbar": "^2.6.0",
62
+ "@atlaskit/editor-toolbar": "^2.7.0",
63
63
  "@atlaskit/editor-toolbar-model": "^1.2.0",
64
64
  "@atlaskit/emoji": "^72.4.0",
65
65
  "@atlaskit/feature-gate-js-client": "^6.0.0",
@@ -91,11 +91,12 @@
91
91
  "memoize-one": "^6.0.0",
92
92
  "prop-types": "^15.5.10",
93
93
  "react-loadable": "^5.1.0",
94
+ "react-loosely-lazy": "^1.0.0",
94
95
  "react-transition-group": "^4.4.1",
95
96
  "uuid": "^11.1.1"
96
97
  },
97
98
  "peerDependencies": {
98
- "@atlaskit/editor-common": "^123.0.0",
99
+ "@atlaskit/editor-common": "^123.1.0",
99
100
  "@atlaskit/link-provider": "^5.7.0",
100
101
  "@atlaskit/media-core": "^38.2.0",
101
102
  "react": "^18.2.0 || ^19.2.0",
@@ -111,7 +112,7 @@
111
112
  "@atlaskit/analytics-gas-types": "^6.2.0",
112
113
  "@atlaskit/analytics-listeners": "^11.4.0",
113
114
  "@atlaskit/code": "^19.2.0",
114
- "@atlaskit/collab-provider": "^28.1.0",
115
+ "@atlaskit/collab-provider": "^28.2.0",
115
116
  "@atlaskit/docs": "^12.2.0",
116
117
  "@atlaskit/drawer": "^14.3.0",
117
118
  "@atlaskit/editor-plugin-alignment": "^20.0.0",
@@ -146,7 +147,7 @@
146
147
  "@atlaskit/form": "^17.2.0",
147
148
  "@atlaskit/link-provider": "^5.7.0",
148
149
  "@atlaskit/linking-common": "^12.3.0",
149
- "@atlaskit/logo": "^23.0.0",
150
+ "@atlaskit/logo": "^23.1.0",
150
151
  "@atlaskit/media-core": "^38.2.0",
151
152
  "@atlaskit/media-integration-test-helpers": "workspace:^",
152
153
  "@atlaskit/media-picker": "^72.4.0",