@atlaskit/editor-plugin-extension 4.1.2 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/extensionPlugin.js +19 -5
  3. package/dist/cjs/pm-plugins/toolbar.js +25 -24
  4. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +9 -1
  5. package/dist/cjs/ui/ConfigPanel/DescriptionSummary.js +50 -0
  6. package/dist/cjs/ui/ConfigPanel/Header/HeaderAfterIconElement.js +50 -0
  7. package/dist/cjs/ui/ConfigPanel/Header/HeaderIcon.js +49 -0
  8. package/dist/cjs/ui/ConfigPanel/Header.js +3 -12
  9. package/dist/cjs/ui/ConfigPanel/HelpLink.js +22 -0
  10. package/dist/cjs/ui/ConfigPanel/constants.js +4 -2
  11. package/dist/cjs/ui/ConfigPanel/withExtensionManifest.js +33 -0
  12. package/dist/cjs/ui/useConfigPanelPluginHook.js +250 -0
  13. package/dist/es2019/extensionPlugin.js +19 -5
  14. package/dist/es2019/pm-plugins/toolbar.js +25 -24
  15. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +9 -1
  16. package/dist/es2019/ui/ConfigPanel/DescriptionSummary.js +45 -0
  17. package/dist/es2019/ui/ConfigPanel/Header/HeaderAfterIconElement.js +44 -0
  18. package/dist/es2019/ui/ConfigPanel/Header/HeaderIcon.js +39 -0
  19. package/dist/es2019/ui/ConfigPanel/Header.js +1 -11
  20. package/dist/es2019/ui/ConfigPanel/HelpLink.js +16 -0
  21. package/dist/es2019/ui/ConfigPanel/constants.js +3 -1
  22. package/dist/es2019/ui/ConfigPanel/withExtensionManifest.js +21 -0
  23. package/dist/es2019/ui/useConfigPanelPluginHook.js +201 -0
  24. package/dist/esm/extensionPlugin.js +18 -5
  25. package/dist/esm/pm-plugins/toolbar.js +25 -24
  26. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +9 -1
  27. package/dist/esm/ui/ConfigPanel/DescriptionSummary.js +41 -0
  28. package/dist/esm/ui/ConfigPanel/Header/HeaderAfterIconElement.js +43 -0
  29. package/dist/esm/ui/ConfigPanel/Header/HeaderIcon.js +40 -0
  30. package/dist/esm/ui/ConfigPanel/Header.js +1 -10
  31. package/dist/esm/ui/ConfigPanel/HelpLink.js +15 -0
  32. package/dist/esm/ui/ConfigPanel/constants.js +3 -1
  33. package/dist/esm/ui/ConfigPanel/withExtensionManifest.js +26 -0
  34. package/dist/esm/ui/useConfigPanelPluginHook.js +236 -0
  35. package/dist/types/extensionPluginType.d.ts +2 -0
  36. package/dist/types/ui/ConfigPanel/DescriptionSummary.d.ts +7 -0
  37. package/dist/types/ui/ConfigPanel/Header/HeaderAfterIconElement.d.ts +7 -0
  38. package/dist/types/ui/ConfigPanel/Header/HeaderIcon.d.ts +7 -0
  39. package/dist/types/ui/ConfigPanel/HelpLink.d.ts +7 -0
  40. package/dist/types/ui/ConfigPanel/constants.d.ts +2 -0
  41. package/dist/types/ui/ConfigPanel/withExtensionManifest.d.ts +9 -0
  42. package/dist/types/ui/useConfigPanelPluginHook.d.ts +27 -0
  43. package/dist/types-ts4.5/extensionPluginType.d.ts +2 -0
  44. package/dist/types-ts4.5/ui/ConfigPanel/DescriptionSummary.d.ts +7 -0
  45. package/dist/types-ts4.5/ui/ConfigPanel/Header/HeaderAfterIconElement.d.ts +7 -0
  46. package/dist/types-ts4.5/ui/ConfigPanel/Header/HeaderIcon.d.ts +7 -0
  47. package/dist/types-ts4.5/ui/ConfigPanel/HelpLink.d.ts +7 -0
  48. package/dist/types-ts4.5/ui/ConfigPanel/constants.d.ts +2 -0
  49. package/dist/types-ts4.5/ui/ConfigPanel/withExtensionManifest.d.ts +9 -0
  50. package/dist/types-ts4.5/ui/useConfigPanelPluginHook.d.ts +27 -0
  51. package/package.json +7 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/editor-plugin-extension
2
2
 
3
+ ## 5.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#123010](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/123010)
8
+ [`de55801631775`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/de55801631775) -
9
+ [ux] Move copy/delete to overflow menu on editor floating toolbar
10
+ - Updated dependencies
11
+
12
+ ## 5.0.0
13
+
14
+ ### Major Changes
15
+
16
+ - [#122281](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/122281)
17
+ [`8c84e6db9b94f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8c84e6db9b94f) -
18
+ EDF-2539 Integrated object sidebar api through context-panel plugin in extensions to show panel.
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies
23
+
3
24
  ## 4.1.2
4
25
 
5
26
  ### Patch Changes
@@ -8,6 +8,7 @@ exports.extensionPlugin = void 0;
8
8
  var _adfSchema = require("@atlaskit/adf-schema");
9
9
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
10
10
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
+ var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
11
12
  var _actions = require("./editor-actions/actions");
12
13
  var _commands = require("./editor-commands/commands");
13
14
  var _extensionApi = require("./pm-plugins/extension-api");
@@ -20,6 +21,9 @@ var _bodiedExtension = require("./pm-plugins/toDOM-fixes/bodiedExtension");
20
21
  var _toolbar = require("./pm-plugins/toolbar");
21
22
  var _uniqueId = require("./pm-plugins/unique-id");
22
23
  var _contextPanel = require("./ui/context-panel");
24
+ var _useConfigPanelPluginHook = require("./ui/useConfigPanelPluginHook");
25
+ // Remove below line when cleaning up platform_editor_ai_object_sidebar_injection feature flag
26
+
23
27
  var extensionPlugin = exports.extensionPlugin = function extensionPlugin(_ref) {
24
28
  var _api$featureFlags, _api$analytics2, _api$analytics3, _api$contextPanel3, _api$decorations, _api$contextPanel4, _api$analytics4;
25
29
  var _ref$config = _ref.config,
@@ -58,7 +62,9 @@ var extensionPlugin = exports.extensionPlugin = function extensionPlugin(_ref) {
58
62
  }
59
63
  var pluginState = _pluginKey.pluginKey.getState(state);
60
64
  return {
61
- showContextPanel: pluginState === null || pluginState === void 0 ? void 0 : pluginState.showContextPanel
65
+ showContextPanel: pluginState === null || pluginState === void 0 ? void 0 : pluginState.showContextPanel,
66
+ extensionProvider: pluginState === null || pluginState === void 0 ? void 0 : pluginState.extensionProvider,
67
+ processParametersAfter: pluginState === null || pluginState === void 0 ? void 0 : pluginState.processParametersAfter
62
68
  };
63
69
  },
64
70
  pmPlugins: function pmPlugins() {
@@ -174,12 +180,20 @@ var extensionPlugin = exports.extensionPlugin = function extensionPlugin(_ref) {
174
180
  breakoutEnabled: options.breakoutEnabled,
175
181
  hoverDecoration: _api === null || _api === void 0 || (_api$decorations = _api.decorations) === null || _api$decorations === void 0 ? void 0 : _api$decorations.actions.hoverDecoration,
176
182
  applyChangeToContextPanel: _api === null || _api === void 0 || (_api$contextPanel4 = _api.contextPanel) === null || _api$contextPanel4 === void 0 ? void 0 : _api$contextPanel4.actions.applyChange,
177
- editorAnalyticsAPI: _api === null || _api === void 0 || (_api$analytics4 = _api.analytics) === null || _api$analytics4 === void 0 ? void 0 : _api$analytics4.actions
183
+ editorAnalyticsAPI: _api === null || _api === void 0 || (_api$analytics4 = _api.analytics) === null || _api$analytics4 === void 0 ? void 0 : _api$analytics4.actions,
184
+ extensionApi: (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') ? _api : undefined
178
185
  }),
179
- contextPanel: (0, _contextPanel.getContextPanel)(function () {
186
+ contextPanel: !(0, _platformFeatureFlags.fg)('platform_editor_ai_object_sidebar_injection') ? (0, _contextPanel.getContextPanel)(function () {
180
187
  var _editorViewRef$curren;
181
188
  return (_editorViewRef$curren = editorViewRef.current) !== null && _editorViewRef$curren !== void 0 ? _editorViewRef$curren : undefined;
182
- })(_api, featureFlags)
183
- }
189
+ })(_api, featureFlags) : undefined
190
+ },
191
+ usePluginHook: (0, _platformFeatureFlags.fg)('platform_editor_ai_object_sidebar_injection') ? function (_ref6) {
192
+ var editorView = _ref6.editorView;
193
+ (0, _useConfigPanelPluginHook.useConfigPanelPluginHook)({
194
+ editorView: editorView,
195
+ api: _api
196
+ });
197
+ } : undefined
184
198
  };
185
199
  };
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getToolbarConfig = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _react = _interopRequireDefault(require("react"));
9
10
  var _extensions = require("@atlaskit/editor-common/extensions");
10
11
  var _messages = _interopRequireDefault(require("@atlaskit/editor-common/messages"));
11
12
  var _styles = require("@atlaskit/editor-common/styles");
@@ -13,6 +14,7 @@ var _utils = require("@atlaskit/editor-common/utils");
13
14
  var _utils2 = require("@atlaskit/editor-prosemirror/utils");
14
15
  var _contentWidthNarrow = _interopRequireDefault(require("@atlaskit/icon/core/content-width-narrow"));
15
16
  var _contentWidthWide = _interopRequireDefault(require("@atlaskit/icon/core/content-width-wide"));
17
+ var _copy = _interopRequireDefault(require("@atlaskit/icon/core/copy"));
16
18
  var _delete = _interopRequireDefault(require("@atlaskit/icon/core/delete"));
17
19
  var _edit = _interopRequireDefault(require("@atlaskit/icon/core/edit"));
18
20
  var _expandHorizontal = _interopRequireDefault(require("@atlaskit/icon/core/expand-horizontal"));
@@ -139,7 +141,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(_ref
139
141
  editorAnalyticsAPI = extensionApi === null || extensionApi === void 0 || (_extensionApi$analyti = extensionApi.analytics) === null || _extensionApi$analyti === void 0 ? void 0 : _extensionApi$analyti.actions;
140
142
  }
141
143
  if (extensionState && !extensionState.showContextPanel && extensionState.element) {
142
- var _hoverDecoration, _hoverDecoration2, _hoverDecoration3, _hoverDecoration4, _hoverDecoration5, _hoverDecoration6, _hoverDecoration7, _hoverDecoration8;
144
+ var _hoverDecoration, _hoverDecoration2, _hoverDecoration3, _hoverDecoration4;
143
145
  var nodeType = [state.schema.nodes.extension, state.schema.nodes.inlineExtension, state.schema.nodes.bodiedExtension, state.schema.nodes.multiBodiedExtension];
144
146
  var editButtonArray = editButton(formatMessage, extensionState, applyChangeToContextPanel, editorAnalyticsAPI);
145
147
  var breakoutButtonArray = breakoutOptions(state, formatMessage, extensionState, breakoutEnabled, editorAnalyticsAPI);
@@ -215,13 +217,13 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(_ref
215
217
  left: nextPos.left
216
218
  };
217
219
  },
218
- items: [].concat((0, _toConsumableArray2.default)(editButtonArray), (0, _toConsumableArray2.default)(breakoutButtonArray), [{
220
+ items: [].concat((0, _toConsumableArray2.default)(editButtonArray), (0, _toConsumableArray2.default)(breakoutButtonArray), (0, _toConsumableArray2.default)((0, _experiments.editorExperiment)('platform_editor_controls', 'control') ? [{
219
221
  type: 'separator',
220
222
  hidden: editButtonArray.length === 0 && breakoutButtonArray.length === 0
221
223
  }, {
222
224
  type: 'extensions-placeholder',
223
225
  separator: 'end'
224
- }], (0, _toConsumableArray2.default)((0, _experiments.editorExperiment)('platform_editor_controls', 'control') ? [{
226
+ }, {
225
227
  type: 'copy-button',
226
228
  items: [{
227
229
  state: state,
@@ -246,28 +248,27 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(_ref
246
248
  tabIndex: null,
247
249
  confirmDialog: confirmDialog
248
250
  }] : [{
249
- id: 'editor.extension.delete',
250
- type: 'button',
251
- icon: _delete.default,
252
- iconFallback: _remove.default,
253
- appearance: 'danger',
254
- onClick: (0, _commands.removeExtension)(editorAnalyticsAPI),
255
- onMouseEnter: (_hoverDecoration5 = hoverDecoration) === null || _hoverDecoration5 === void 0 ? void 0 : _hoverDecoration5(nodeType, true),
256
- onMouseLeave: (_hoverDecoration6 = hoverDecoration) === null || _hoverDecoration6 === void 0 ? void 0 : _hoverDecoration6(nodeType, false),
257
- onFocus: (_hoverDecoration7 = hoverDecoration) === null || _hoverDecoration7 === void 0 ? void 0 : _hoverDecoration7(nodeType, true),
258
- onBlur: (_hoverDecoration8 = hoverDecoration) === null || _hoverDecoration8 === void 0 ? void 0 : _hoverDecoration8(nodeType, false),
259
- focusEditoronEnter: true,
260
- title: formatMessage(_messages.default.remove),
261
- tabIndex: null,
262
- confirmDialog: confirmDialog
263
- }, {
264
- type: 'separator'
251
+ type: 'separator',
252
+ fullHeight: true
265
253
  }, {
266
- type: 'copy-button',
267
- items: [{
268
- state: state,
269
- formatMessage: intl.formatMessage,
270
- nodeType: nodeType
254
+ type: 'overflow-dropdown',
255
+ options: [{
256
+ title: 'Copy',
257
+ onClick: function onClick() {
258
+ var _extensionApi$core, _extensionApi$floatin;
259
+ extensionApi === null || extensionApi === void 0 || (_extensionApi$core = extensionApi.core) === null || _extensionApi$core === void 0 || _extensionApi$core.actions.execute( // @ts-ignore
260
+ extensionApi === null || extensionApi === void 0 || (_extensionApi$floatin = extensionApi.floatingToolbar) === null || _extensionApi$floatin === void 0 ? void 0 : _extensionApi$floatin.commands.copyNode(nodeType));
261
+ return true;
262
+ },
263
+ icon: /*#__PURE__*/_react.default.createElement(_copy.default, {
264
+ label: "Copy"
265
+ })
266
+ }, {
267
+ title: 'Delete',
268
+ onClick: (0, _commands.removeExtension)(editorAnalyticsAPI),
269
+ icon: /*#__PURE__*/_react.default.createElement(_delete.default, {
270
+ label: "Delete"
271
+ })
271
272
  }]
272
273
  }])),
273
274
  scrollable: true
@@ -27,7 +27,9 @@ var _analytics = require("@atlaskit/editor-common/analytics");
27
27
  var _extensions = require("@atlaskit/editor-common/extensions");
28
28
  var _hooks = require("@atlaskit/editor-common/hooks");
29
29
  var _form = _interopRequireWildcard(require("@atlaskit/form"));
30
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
30
31
  var _constants = require("./constants");
32
+ var _DescriptionSummary = require("./DescriptionSummary");
31
33
  var _ErrorMessage = _interopRequireDefault(require("./ErrorMessage"));
32
34
  var _FormContent = _interopRequireDefault(require("./FormContent"));
33
35
  var _FormErrorBoundary = require("./FormErrorBoundary");
@@ -270,6 +272,10 @@ var ConfigPanel = /*#__PURE__*/function (_React$Component) {
270
272
  }());
271
273
  // memoized to prevent rerender on new parameters
272
274
  (0, _defineProperty2.default)(_this, "renderHeader", (0, _memoizeOne.default)(function (extensionManifest) {
275
+ // If below FG is true then Header will be rendered separately
276
+ if ((0, _platformFeatureFlags.fg)('platform_editor_ai_object_sidebar_injection')) {
277
+ return null;
278
+ }
273
279
  var _this$props2 = _this.props,
274
280
  onCancel = _this$props2.onCancel,
275
281
  showHeader = _this$props2.showHeader;
@@ -436,7 +442,9 @@ var ConfigPanel = /*#__PURE__*/function (_React$Component) {
436
442
  noValidate: true,
437
443
  onKeyDown: handleKeyDown,
438
444
  "data-testid": "extension-config-panel"
439
- }), _this2.renderHeader(extensionManifest), /*#__PURE__*/_react.default.createElement(ConfigFormIntlWithBoundary, {
445
+ }), _this2.renderHeader(extensionManifest), (0, _platformFeatureFlags.fg)('platform_editor_ai_object_sidebar_injection') && /*#__PURE__*/_react.default.createElement(_DescriptionSummary.DescriptionSummary, {
446
+ extensionManifest: extensionManifest
447
+ }), /*#__PURE__*/_react.default.createElement(ConfigFormIntlWithBoundary, {
440
448
  api: api,
441
449
  canSave: false,
442
450
  errorMessage: errorMessage,
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DescriptionSummary = DescriptionSummary;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _extensions = require("@atlaskit/editor-common/extensions");
11
+ var _primitives = require("@atlaskit/primitives");
12
+ var _HelpLink = require("./HelpLink");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ var descriptionStyles = (0, _primitives.xcss)({
16
+ marginBottom: 'space.300'
17
+ });
18
+ var helpLinkStyles = (0, _primitives.xcss)({
19
+ paddingTop: 'space.150'
20
+ });
21
+ function DescriptionSummary(_ref) {
22
+ var extensionManifest = _ref.extensionManifest;
23
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
24
+ formatMessage = _useIntl.formatMessage;
25
+ var description = extensionManifest.description,
26
+ documentationUrl = extensionManifest.documentationUrl;
27
+ // Use a temporary allowlist of top 3 macros to test out a new "Documentation" CTA ("Need help?")
28
+ // This will be removed when Top 5 Modernized Macros updates are rolled out
29
+ var modernizedMacrosList = ['children', 'recently-updated', 'excerpt'];
30
+ var enableHelpCTA = modernizedMacrosList.includes(extensionManifest.key);
31
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, (description || documentationUrl) && /*#__PURE__*/_react.default.createElement(_primitives.Box, {
32
+ xcss: descriptionStyles
33
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
34
+ as: "p",
35
+ testId: "config-panel-header-description"
36
+ }, description && /*#__PURE__*/_react.default.createElement(_react.Fragment, null,
37
+ // Ignored via go/ees005
38
+ // eslint-disable-next-line require-unicode-regexp
39
+ description.replace(/([^.])$/, '$1.'), ' '), documentationUrl && (enableHelpCTA ? /*#__PURE__*/_react.default.createElement(_primitives.Box, {
40
+ xcss: helpLinkStyles
41
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
42
+ as: "p"
43
+ }, /*#__PURE__*/_react.default.createElement(_HelpLink.HelpLink, {
44
+ documentationUrl: documentationUrl,
45
+ label: formatMessage(_extensions.configPanelMessages.help)
46
+ }))) : /*#__PURE__*/_react.default.createElement(_HelpLink.HelpLink, {
47
+ documentationUrl: documentationUrl,
48
+ label: formatMessage(_extensions.configPanelMessages.documentation)
49
+ })))));
50
+ }
@@ -0,0 +1,50 @@
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 _react = _interopRequireDefault(require("react"));
9
+ var _primitives = require("@atlaskit/primitives");
10
+ var _withExtensionManifest = require("../withExtensionManifest");
11
+ var itemBodyStyles = (0, _primitives.xcss)({
12
+ display: 'flex',
13
+ flexDirection: 'row',
14
+ flexWrap: 'nowrap',
15
+ justifyContent: 'space-between',
16
+ margin: 'space.200',
17
+ flexGrow: 3
18
+ });
19
+ var itemTextStyles = (0, _primitives.xcss)({
20
+ maxWidth: '100%',
21
+ whiteSpace: 'initial'
22
+ });
23
+ var summaryStyles = (0, _primitives.xcss)({
24
+ font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
25
+ color: 'color.text.subtlest',
26
+ marginTop: 'space.050',
27
+ whiteSpace: 'nowrap',
28
+ overflow: 'hidden',
29
+ textOverflow: 'ellipsis'
30
+ });
31
+ function HeaderAfterIconElement(_ref) {
32
+ var extensionManifest = _ref.extensionManifest;
33
+ var title = extensionManifest.title;
34
+ var summary = extensionManifest.summary;
35
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
36
+ xcss: itemBodyStyles
37
+ }, summary ? /*#__PURE__*/_react.default.createElement(_primitives.Box, {
38
+ xcss: itemTextStyles
39
+ }, /*#__PURE__*/_react.default.createElement("div", {
40
+ id: "context-panel-title",
41
+ "data-testid": "context-panel-title"
42
+ }, title), /*#__PURE__*/_react.default.createElement(_primitives.Box, {
43
+ xcss: summaryStyles
44
+ }, summary)) : /*#__PURE__*/_react.default.createElement(_primitives.Flex, {
45
+ direction: "column",
46
+ alignItems: "center",
47
+ testId: "context-panel-title"
48
+ }, title));
49
+ }
50
+ var _default = exports.default = (0, _withExtensionManifest.withExtensionManifest)(HeaderAfterIconElement);
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _primitives = require("@atlaskit/primitives");
10
+ var _withExtensionManifest = require("../withExtensionManifest");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ var iconWidth = '40px';
14
+ var itemIconStyles = (0, _primitives.xcss)({
15
+ width: iconWidth,
16
+ height: iconWidth,
17
+ overflow: 'hidden',
18
+ border: "1px solid ".concat("var(--ds-border, rgba(223, 225, 229, 0.5))"),
19
+ borderRadius: "var(--ds-border-radius, 3px)",
20
+ boxSizing: 'border-box',
21
+ display: 'flex',
22
+ justifyContent: 'center',
23
+ alignItems: 'center'
24
+ });
25
+ function HeaderIcon(_ref) {
26
+ var extensionManifest = _ref.extensionManifest;
27
+ var icon = extensionManifest.icons['48'];
28
+ var title = extensionManifest.title;
29
+ var ResolvedIcon = (0, _react.useMemo)(function () {
30
+ return /*#__PURE__*/(0, _react.lazy)(function () {
31
+ return icon().then(function (Cmp) {
32
+ if ('default' in Cmp) {
33
+ return Cmp;
34
+ }
35
+ return {
36
+ default: Cmp
37
+ };
38
+ });
39
+ });
40
+ }, [icon]);
41
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
42
+ xcss: itemIconStyles
43
+ }, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
44
+ fallback: null
45
+ }, /*#__PURE__*/_react.default.createElement(ResolvedIcon, {
46
+ label: title
47
+ })));
48
+ }
49
+ var _default = exports.default = (0, _withExtensionManifest.withExtensionManifest)(HeaderIcon);
@@ -15,6 +15,7 @@ var _closeCross = _interopRequireDefault(require("@atlaskit/icon/core/migration/
15
15
  var _primitives = require("@atlaskit/primitives");
16
16
  var _colors = require("@atlaskit/theme/colors");
17
17
  var _constants = require("@atlaskit/theme/constants");
18
+ var _HelpLink = require("./HelpLink");
18
19
  /**
19
20
  * @jsxRuntime classic
20
21
  * @jsx jsx
@@ -152,22 +153,12 @@ var Header = function Header(_ref) {
152
153
  xcss: helpLinkStyles
153
154
  }, (0, _react2.jsx)(_primitives.Text, {
154
155
  as: "p"
155
- }, (0, _react2.jsx)(HelpLink, {
156
+ }, (0, _react2.jsx)(_HelpLink.HelpLink, {
156
157
  documentationUrl: documentationUrl,
157
158
  label: intl.formatMessage(_extensions.configPanelMessages.help)
158
- }))) : (0, _react2.jsx)(HelpLink, {
159
+ }))) : (0, _react2.jsx)(_HelpLink.HelpLink, {
159
160
  documentationUrl: documentationUrl,
160
161
  label: intl.formatMessage(_extensions.configPanelMessages.documentation)
161
162
  })))));
162
163
  };
163
- var HelpLink = function HelpLink(_ref2) {
164
- var documentationUrl = _ref2.documentationUrl,
165
- label = _ref2.label;
166
- return (0, _react2.jsx)("a", {
167
- target: "_blank",
168
- rel: "noopener noreferrer",
169
- href: documentationUrl,
170
- "data-testid": "config-panel-header-documentation-link"
171
- }, label);
172
- };
173
164
  var _default = exports.default = (0, _reactIntlNext.injectIntl)(Header);
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.HelpLink = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var HelpLink = exports.HelpLink = function HelpLink(_ref) {
10
+ var documentationUrl = _ref.documentationUrl,
11
+ label = _ref.label;
12
+ return (
13
+ /*#__PURE__*/
14
+ // eslint-disable-next-line @atlaskit/design-system/no-html-anchor
15
+ _react.default.createElement("a", {
16
+ target: "_blank",
17
+ rel: "noopener noreferrer",
18
+ href: documentationUrl,
19
+ "data-testid": "config-panel-header-documentation-link"
20
+ }, label)
21
+ );
22
+ };
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ALLOWED_PARAM_TYPES = exports.ALLOWED_LOGGED_MACRO_PARAMS = void 0;
6
+ exports.CONFIG_PANEL_WIDTH = exports.CONFIG_PANEL_ID = exports.ALLOWED_PARAM_TYPES = exports.ALLOWED_LOGGED_MACRO_PARAMS = void 0;
7
7
  // Allowlist of { macroKey: parameterName[] } for analytics logging
8
8
  var ALLOWED_LOGGED_MACRO_PARAMS = exports.ALLOWED_LOGGED_MACRO_PARAMS = {
9
9
  children: ['all', 'first', 'depth', 'style', 'excerptType', 'sort', 'reverse'],
10
10
  'recently-updated': ['width', 'types', 'max', 'theme', 'showProfilePic', 'hideHeading'],
11
11
  excerpt: ['hidden']
12
12
  };
13
- var ALLOWED_PARAM_TYPES = exports.ALLOWED_PARAM_TYPES = ['enum', 'number', 'boolean'];
13
+ var ALLOWED_PARAM_TYPES = exports.ALLOWED_PARAM_TYPES = ['enum', 'number', 'boolean'];
14
+ var CONFIG_PANEL_WIDTH = exports.CONFIG_PANEL_WIDTH = 320;
15
+ var CONFIG_PANEL_ID = exports.CONFIG_PANEL_ID = 'extensions-panel';
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.withExtensionManifest = withExtensionManifest;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _useStateFromPromise3 = require("./use-state-from-promise");
13
+ var _excluded = ["extensionKey", "extensionProvider", "extensionType"];
14
+ function withExtensionManifest(WrappedComponent) {
15
+ return function WithExtensionManifest(props) {
16
+ var extensionKey = props.extensionKey,
17
+ extensionProvider = props.extensionProvider,
18
+ extensionType = props.extensionType,
19
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
20
+ var _useStateFromPromise = (0, _useStateFromPromise3.useStateFromPromise)(function () {
21
+ return extensionProvider.getExtension(extensionType, extensionKey);
22
+ }, [extensionProvider, extensionType, extensionKey]),
23
+ _useStateFromPromise2 = (0, _slicedToArray2.default)(_useStateFromPromise, 1),
24
+ extensionManifest = _useStateFromPromise2[0];
25
+ return extensionManifest ?
26
+ /*#__PURE__*/
27
+ // Ignored via go/ees005
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, react/jsx-props-no-spreading
29
+ _react.default.createElement(WrappedComponent, (0, _extends2.default)({
30
+ extensionManifest: extensionManifest
31
+ }, restProps)) : null;
32
+ };
33
+ }