@atlaskit/editor-plugin-tasks-and-decisions 24.0.3 → 24.0.4

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,32 @@
1
1
  # @atlaskit/editor-plugin-tasks-and-decisions
2
2
 
3
+ ## 24.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`a034f535638cc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a034f535638cc) -
8
+ Add structured Quick Insert previews with localised title, description and attribution under
9
+ platform_editor_slash_command.
10
+
11
+ Exclude footer and category navigation actions from previews. Left-align attribution, use subtle
12
+ title and attribution text, and default description text.
13
+
14
+ Show text previews even without preview metadata, and reserve a fixed image area while images load
15
+ or when they fail. Keep previews within the viewport, flipping left when needed, with compact
16
+ panel dimensions and typography.
17
+
18
+ Replace baked panel screenshots with image-only assets. Remove image fields from text-only legacy
19
+ previews while preserving their attribution.
20
+
21
+ Let extension providers own their preview images and attribution. Pass preview metadata through
22
+ the Company Hub manifest factory and remove Editor's fallback preview registry.
23
+
24
+ Localize provider attribution names and display Confluence and Jira product icons instead of the
25
+ attribution prefix when an icon is present. Allow the Dropbox manifest to receive the host's
26
+ message formatter.
27
+
28
+ - Updated dependencies
29
+
3
30
  ## 24.0.3
4
31
 
5
32
  ### Patch Changes
@@ -12,12 +12,14 @@ var _analytics = require("@atlaskit/editor-common/analytics");
12
12
  var _hooks = require("@atlaskit/editor-common/hooks");
13
13
  var _messages = require("@atlaskit/editor-common/messages");
14
14
  var _menuItem = require("@atlaskit/editor-common/quick-insert/menu-item");
15
+ var _messages2 = require("@atlaskit/editor-common/quick-insert/messages");
15
16
  var _decision = _interopRequireDefault(require("@atlaskit/icon/core/decision"));
16
17
  var _fieldCheckboxGroup = _interopRequireDefault(require("@atlaskit/icon/core/field-checkbox-group"));
17
18
  var _insertCommands = require("../../pm-plugins/insert-commands");
18
19
  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); }
19
20
  var TasksAndDecisionsQuickInsertMenuItem = exports.TasksAndDecisionsQuickInsertMenuItem = function TasksAndDecisionsQuickInsertMenuItem(_ref) {
20
21
  var api = _ref.api,
22
+ description = _ref.description,
21
23
  item = _ref.item,
22
24
  previewImageUrls = _ref.previewImageUrls;
23
25
  var _useIntl = (0, _reactIntl.useIntl)(),
@@ -30,6 +32,14 @@ var TasksAndDecisionsQuickInsertMenuItem = exports.TasksAndDecisionsQuickInsertM
30
32
  }),
31
33
  contextIdentifierProvider = _useSharedPluginState.contextIdentifierProvider;
32
34
  var isAction = item === 'taskList';
35
+ var preview = (0, _react.useMemo)(function () {
36
+ return previewImageUrls ? {
37
+ image: previewImageUrls,
38
+ attribution: {
39
+ name: formatMessage(_messages2.messages.previewAttributionAtlassian)
40
+ }
41
+ } : undefined;
42
+ }, [formatMessage, previewImageUrls]);
33
43
  var onSelect = (0, _react.useCallback)(function (_ref2) {
34
44
  var _api$analytics;
35
45
  var editorView = _ref2.editorView,
@@ -53,13 +63,14 @@ var TasksAndDecisionsQuickInsertMenuItem = exports.TasksAndDecisionsQuickInsertM
53
63
  })(editorView.state, item, source !== null && source !== void 0 ? source : _analytics.INPUT_METHOD.QUICK_INSERT, addAndCreateList);
54
64
  }, [api, contextIdentifierProvider, item]);
55
65
  return /*#__PURE__*/_react.default.createElement(_menuItem.QuickInsertMenuItem, {
66
+ description: description !== null && description !== void 0 ? description : formatMessage(isAction ? _messages.toolbarInsertBlockMessages.actionDescription : _messages.toolbarInsertBlockMessages.decisionDescription),
56
67
  iconBefore: isAction ? /*#__PURE__*/_react.default.createElement(_fieldCheckboxGroup.default, {
57
68
  label: ""
58
69
  }) : /*#__PURE__*/_react.default.createElement(_decision.default, {
59
70
  label: ""
60
71
  }),
61
72
  onSelect: onSelect,
62
- previewImageUrls: previewImageUrls,
73
+ preview: preview,
63
74
  shortcut: isAction ? '[]' : '<>',
64
75
  title: formatMessage(isAction ? _messages.toolbarInsertBlockMessages.action : _messages.toolbarInsertBlockMessages.decision)
65
76
  });
@@ -12,12 +12,12 @@ var _keys = require("@atlaskit/editor-common/quick-insert/keys");
12
12
  var _rank = require("@atlaskit/editor-common/quick-insert/rank");
13
13
  var _TasksAndDecisionsQuickInsertMenuItem = require("./TasksAndDecisionsQuickInsertMenuItem");
14
14
  var taskPreviewImageUrls = {
15
- light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/y5ly4nr488m2m4k4esk1bu415k1gn4gn.png',
16
- dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/t7loyl783j0qo1h45i828310rv4au3h8.png'
15
+ light: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVLK.png',
16
+ dark: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVHI.png'
17
17
  };
18
18
  var decisionPreviewImageUrls = {
19
- light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/h5duy8s83312r7263jauu10mapc53383.png',
20
- dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/70q22b8a03dep35ynbv8xigg82osw0rk.png'
19
+ light: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVLY.png',
20
+ dark: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVHM.png'
21
21
  };
22
22
  var getTasksAndDecisionsQuickInsertComponents = exports.getTasksAndDecisionsQuickInsertComponents = function getTasksAndDecisionsQuickInsertComponents(_ref) {
23
23
  var api = _ref.api,
@@ -42,6 +42,7 @@ var getTasksAndDecisionsQuickInsertComponents = exports.getTasksAndDecisionsQuic
42
42
  component: function component() {
43
43
  return /*#__PURE__*/_react.default.createElement(_TasksAndDecisionsQuickInsertMenuItem.TasksAndDecisionsQuickInsertMenuItem, {
44
44
  api: api,
45
+ description: quickInsertActionDescription,
45
46
  item: "taskList",
46
47
  previewImageUrls: taskPreviewImageUrls
47
48
  });
@@ -1,14 +1,16 @@
1
- import React, { useCallback } from 'react';
1
+ import React, { useCallback, useMemo } from 'react';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
4
4
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
5
5
  import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
6
6
  import { QuickInsertMenuItem } from '@atlaskit/editor-common/quick-insert/menu-item';
7
+ import { messages as quickInsertMessages } from '@atlaskit/editor-common/quick-insert/messages';
7
8
  import DecisionIcon from '@atlaskit/icon/core/decision';
8
9
  import FieldCheckboxGroupIcon from '@atlaskit/icon/core/field-checkbox-group';
9
10
  import { getListTypes, insertTaskDecisionAction } from '../../pm-plugins/insert-commands';
10
11
  export const TasksAndDecisionsQuickInsertMenuItem = ({
11
12
  api,
13
+ description,
12
14
  item,
13
15
  previewImageUrls
14
16
  }) => {
@@ -24,6 +26,12 @@ export const TasksAndDecisionsQuickInsertMenuItem = ({
24
26
  };
25
27
  });
26
28
  const isAction = item === 'taskList';
29
+ const preview = useMemo(() => previewImageUrls ? {
30
+ image: previewImageUrls,
31
+ attribution: {
32
+ name: formatMessage(quickInsertMessages.previewAttributionAtlassian)
33
+ }
34
+ } : undefined, [formatMessage, previewImageUrls]);
27
35
  const onSelect = useCallback(({
28
36
  editorView,
29
37
  insert,
@@ -50,13 +58,14 @@ export const TasksAndDecisionsQuickInsertMenuItem = ({
50
58
  return insertTaskDecisionAction(api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, () => contextIdentifierProvider)(editorView.state, item, source !== null && source !== void 0 ? source : INPUT_METHOD.QUICK_INSERT, addAndCreateList);
51
59
  }, [api, contextIdentifierProvider, item]);
52
60
  return /*#__PURE__*/React.createElement(QuickInsertMenuItem, {
61
+ description: description !== null && description !== void 0 ? description : formatMessage(isAction ? messages.actionDescription : messages.decisionDescription),
53
62
  iconBefore: isAction ? /*#__PURE__*/React.createElement(FieldCheckboxGroupIcon, {
54
63
  label: ""
55
64
  }) : /*#__PURE__*/React.createElement(DecisionIcon, {
56
65
  label: ""
57
66
  }),
58
67
  onSelect: onSelect,
59
- previewImageUrls: previewImageUrls,
68
+ preview: preview,
60
69
  shortcut: isAction ? '[]' : '<>',
61
70
  title: formatMessage(isAction ? messages.action : messages.decision)
62
71
  });
@@ -5,12 +5,12 @@ import { ACTION_MENU_ITEM, DECISION_MENU_ITEM, STRUCTURE_SECTION } from '@atlask
5
5
  import { STRUCTURE_SECTION_RANK } from '@atlaskit/editor-common/quick-insert/rank';
6
6
  import { TasksAndDecisionsQuickInsertMenuItem } from './TasksAndDecisionsQuickInsertMenuItem';
7
7
  const taskPreviewImageUrls = {
8
- light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/y5ly4nr488m2m4k4esk1bu415k1gn4gn.png',
9
- dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/t7loyl783j0qo1h45i828310rv4au3h8.png'
8
+ light: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVLK.png',
9
+ dark: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVHI.png'
10
10
  };
11
11
  const decisionPreviewImageUrls = {
12
- light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/h5duy8s83312r7263jauu10mapc53383.png',
13
- dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/70q22b8a03dep35ynbv8xigg82osw0rk.png'
12
+ light: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVLY.png',
13
+ dark: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVHM.png'
14
14
  };
15
15
  export const getTasksAndDecisionsQuickInsertComponents = ({
16
16
  api,
@@ -33,6 +33,7 @@ export const getTasksAndDecisionsQuickInsertComponents = ({
33
33
  })),
34
34
  component: () => /*#__PURE__*/React.createElement(TasksAndDecisionsQuickInsertMenuItem, {
35
35
  api: api,
36
+ description: quickInsertActionDescription,
36
37
  item: "taskList",
37
38
  previewImageUrls: taskPreviewImageUrls
38
39
  })
@@ -1,14 +1,16 @@
1
- import React, { useCallback } from 'react';
1
+ import React, { useCallback, useMemo } from 'react';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
4
4
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
5
5
  import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
6
6
  import { QuickInsertMenuItem } from '@atlaskit/editor-common/quick-insert/menu-item';
7
+ import { messages as quickInsertMessages } from '@atlaskit/editor-common/quick-insert/messages';
7
8
  import DecisionIcon from '@atlaskit/icon/core/decision';
8
9
  import FieldCheckboxGroupIcon from '@atlaskit/icon/core/field-checkbox-group';
9
10
  import { getListTypes, insertTaskDecisionAction } from '../../pm-plugins/insert-commands';
10
11
  export var TasksAndDecisionsQuickInsertMenuItem = function TasksAndDecisionsQuickInsertMenuItem(_ref) {
11
12
  var api = _ref.api,
13
+ description = _ref.description,
12
14
  item = _ref.item,
13
15
  previewImageUrls = _ref.previewImageUrls;
14
16
  var _useIntl = useIntl(),
@@ -21,6 +23,14 @@ export var TasksAndDecisionsQuickInsertMenuItem = function TasksAndDecisionsQuic
21
23
  }),
22
24
  contextIdentifierProvider = _useSharedPluginState.contextIdentifierProvider;
23
25
  var isAction = item === 'taskList';
26
+ var preview = useMemo(function () {
27
+ return previewImageUrls ? {
28
+ image: previewImageUrls,
29
+ attribution: {
30
+ name: formatMessage(quickInsertMessages.previewAttributionAtlassian)
31
+ }
32
+ } : undefined;
33
+ }, [formatMessage, previewImageUrls]);
24
34
  var onSelect = useCallback(function (_ref2) {
25
35
  var _api$analytics;
26
36
  var editorView = _ref2.editorView,
@@ -44,13 +54,14 @@ export var TasksAndDecisionsQuickInsertMenuItem = function TasksAndDecisionsQuic
44
54
  })(editorView.state, item, source !== null && source !== void 0 ? source : INPUT_METHOD.QUICK_INSERT, addAndCreateList);
45
55
  }, [api, contextIdentifierProvider, item]);
46
56
  return /*#__PURE__*/React.createElement(QuickInsertMenuItem, {
57
+ description: description !== null && description !== void 0 ? description : formatMessage(isAction ? messages.actionDescription : messages.decisionDescription),
47
58
  iconBefore: isAction ? /*#__PURE__*/React.createElement(FieldCheckboxGroupIcon, {
48
59
  label: ""
49
60
  }) : /*#__PURE__*/React.createElement(DecisionIcon, {
50
61
  label: ""
51
62
  }),
52
63
  onSelect: onSelect,
53
- previewImageUrls: previewImageUrls,
64
+ preview: preview,
54
65
  shortcut: isAction ? '[]' : '<>',
55
66
  title: formatMessage(isAction ? messages.action : messages.decision)
56
67
  });
@@ -5,12 +5,12 @@ import { ACTION_MENU_ITEM, DECISION_MENU_ITEM, STRUCTURE_SECTION } from '@atlask
5
5
  import { STRUCTURE_SECTION_RANK } from '@atlaskit/editor-common/quick-insert/rank';
6
6
  import { TasksAndDecisionsQuickInsertMenuItem } from './TasksAndDecisionsQuickInsertMenuItem';
7
7
  var taskPreviewImageUrls = {
8
- light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/y5ly4nr488m2m4k4esk1bu415k1gn4gn.png',
9
- dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/t7loyl783j0qo1h45i828310rv4au3h8.png'
8
+ light: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVLK.png',
9
+ dark: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVHI.png'
10
10
  };
11
11
  var decisionPreviewImageUrls = {
12
- light: 'https://dam-cdn.atl.orangelogic.com/AssetLink/h5duy8s83312r7263jauu10mapc53383.png',
13
- dark: 'https://dam-cdn.atl.orangelogic.com/AssetLink/70q22b8a03dep35ynbv8xigg82osw0rk.png'
12
+ light: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVLY.png',
13
+ dark: 'https://dam-cdn.atl.orangelogic.com/CDNLink/AT12OVHM.png'
14
14
  };
15
15
  export var getTasksAndDecisionsQuickInsertComponents = function getTasksAndDecisionsQuickInsertComponents(_ref) {
16
16
  var api = _ref.api,
@@ -35,6 +35,7 @@ export var getTasksAndDecisionsQuickInsertComponents = function getTasksAndDecis
35
35
  component: function component() {
36
36
  return /*#__PURE__*/React.createElement(TasksAndDecisionsQuickInsertMenuItem, {
37
37
  api: api,
38
+ description: quickInsertActionDescription,
38
39
  item: "taskList",
39
40
  previewImageUrls: taskPreviewImageUrls
40
41
  });
@@ -5,8 +5,9 @@ import type { TasksAndDecisionsPlugin } from '../../tasksAndDecisionsPluginType'
5
5
  import type { TaskDecisionListType } from '../../types';
6
6
  type Props = {
7
7
  api: ExtractInjectionAPI<TasksAndDecisionsPlugin> | undefined;
8
+ description?: string;
8
9
  item: TaskDecisionListType;
9
10
  previewImageUrls?: QuickInsertMenuItemProps['previewImageUrls'];
10
11
  };
11
- export declare const TasksAndDecisionsQuickInsertMenuItem: ({ api, item, previewImageUrls, }: Props) => React.JSX.Element;
12
+ export declare const TasksAndDecisionsQuickInsertMenuItem: ({ api, description, item, previewImageUrls, }: Props) => React.JSX.Element;
12
13
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-tasks-and-decisions",
3
- "version": "24.0.3",
3
+ "version": "24.0.4",
4
4
  "description": "Tasks and decisions plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -35,10 +35,10 @@
35
35
  "@atlaskit/editor-plugin-editor-viewmode": "^23.0.0",
36
36
  "@atlaskit/editor-plugin-selection": "^21.0.0",
37
37
  "@atlaskit/editor-plugin-toolbar": "^18.0.0",
38
- "@atlaskit/editor-plugin-type-ahead": "^22.0.0",
38
+ "@atlaskit/editor-plugin-type-ahead": "^22.1.0",
39
39
  "@atlaskit/editor-prosemirror": "^9.0.0",
40
40
  "@atlaskit/editor-shared-styles": "^4.3.0",
41
- "@atlaskit/editor-toolbar": "^2.7.0",
41
+ "@atlaskit/editor-toolbar": "^2.8.0",
42
42
  "@atlaskit/editor-toolbar-model": "^1.2.0",
43
43
  "@atlaskit/heading": "^8.0.0",
44
44
  "@atlaskit/icon": "^38.0.0",
@@ -46,15 +46,15 @@
46
46
  "@atlaskit/platform-feature-flags": "^2.2.0",
47
47
  "@atlaskit/primitives": "^22.5.0",
48
48
  "@atlaskit/prosemirror-input-rules": "^4.1.0",
49
- "@atlaskit/task-decision": "^21.10.0",
50
- "@atlaskit/tmp-editor-statsig": "^208.0.0",
49
+ "@atlaskit/task-decision": "^21.11.0",
50
+ "@atlaskit/tmp-editor-statsig": "^209.0.0",
51
51
  "@atlaskit/tokens": "^20.0.0",
52
52
  "@babel/runtime": "^7.0.0",
53
53
  "@compiled/react": "^1.0.2",
54
54
  "bind-event-listener": "^3.0.0"
55
55
  },
56
56
  "peerDependencies": {
57
- "@atlaskit/editor-common": "^125.2.0",
57
+ "@atlaskit/editor-common": "^125.4.0",
58
58
  "react": "^18.2.0 || ^19.2.0",
59
59
  "react-dom": "^18.2.0 || ^19.2.0",
60
60
  "react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"