@atlaskit/editor-common 119.15.0 → 119.16.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,32 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 119.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`943e747f0c27d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/943e747f0c27d) -
8
+ Enable React 19 compatibility for additional Editor packages.
9
+ - [`5cc70c8e13d71`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5cc70c8e13d71) -
10
+ Add the suggestionsPanelEmptyState analytics entry point for the
11
+ platform_editor_ai_content_suggested_edits experiment.
12
+
13
+ ### Patch Changes
14
+
15
+ - [`9e4a665de419a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9e4a665de419a) -
16
+ Clean up of expriment flag `platform_editor_preview_panel_linking_exp_conf` and
17
+ `platform_editor_preview_panel_linking_exp_jira`.
18
+ - Updated dependencies
19
+
20
+ ## 119.15.1
21
+
22
+ ### Patch Changes
23
+
24
+ - [`e4462b86bc887`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e4462b86bc887) -
25
+ [ux] [ux] Add analytics tracking for the "Try again" retry button on the AI suggested edits error
26
+ screen. Clicking retry now fires an `ai suggestions clicked` track event with
27
+ `actionSubjectId: suggestionsErrorRetry`.
28
+ - Updated dependencies
29
+
3
30
  ## 119.15.0
4
31
 
5
32
  ### Minor Changes
@@ -15,13 +15,7 @@ const EXCLUDED_PACKAGE_JSON_PATHS = [
15
15
  'packages/editor/editor-core/package.json',
16
16
  'packages/editor/editor-plugin-ai-tests/package.json',
17
17
  'packages/editor/editor-plugin-extension-tests/package.json',
18
- 'packages/editor/editor-plugin-synced-block-tests/package.json',
19
- 'packages/editor/generative-ai-modal/package.json',
20
- 'packages/editor/editor-plugin-show-diff-tests/package.json',
21
18
  'packages/editor/editor-plugin-table-tests/package.json',
22
- 'packages/editor/editor-plugin-quick-insert-tests/package.json',
23
- 'packages/editor/editor-referentiality/package.json',
24
- 'packages/editor/editor-synced-block-renderer-tests/package.json',
25
19
  ];
26
20
 
27
21
  type DependencyName = 'react' | 'react-dom' | '@types/react' | '@types/react-dom';
@@ -447,6 +447,7 @@ var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTIO
447
447
  ACTION_SUBJECT_ID["CODEBLOCK_WRAP"] = "codeBlockWrap";
448
448
  ACTION_SUBJECT_ID["CONVERSATION_ERROR"] = "conversationError";
449
449
  ACTION_SUBJECT_ID["SUGGESTIONS_REGENERATION_ERROR"] = "suggestionsRegenerationError";
450
+ ACTION_SUBJECT_ID["SUGGESTIONS_ERROR_RETRY"] = "suggestionsErrorRetry";
450
451
  ACTION_SUBJECT_ID["COPY_BUTTON"] = "copyButton";
451
452
  ACTION_SUBJECT_ID["COPY_LINK_TO_ANCHOR"] = "copyLinkToAnchor";
452
453
  ACTION_SUBJECT_ID["COPY_BLOCK"] = "copyBlock";
@@ -28,7 +28,7 @@ var NETWORK_FAILURE_REGEX = /^network failure/i;
28
28
  var RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
29
29
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
30
30
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
31
- var packageVersion = "119.14.0";
31
+ var packageVersion = "119.15.1";
32
32
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
33
33
  // Remove URL as it has UGC
34
34
  // Ignored via go/ees007
@@ -24,7 +24,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
24
24
  * @jsx jsx
25
25
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "119.14.0";
27
+ var packageVersion = "119.15.1";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var fadeIn = (0, _react2.keyframes)({
@@ -18,7 +18,6 @@ var _panelRight = _interopRequireDefault(require("@atlaskit/icon/core/panel-righ
18
18
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
19
19
  var _primitives = require("@atlaskit/primitives");
20
20
  var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
21
- var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
22
21
  var _analytics = require("../../analytics");
23
22
  var _messages = require("../../messages");
24
23
  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); }
@@ -208,14 +207,13 @@ var HoverLinkOverlay = function HoverLinkOverlay(_ref) {
208
207
  sendVisitLinkAnalytics(_analytics.INPUT_METHOD.BUTTON);
209
208
  }
210
209
  };
211
- var isPreviewButton = showPanelButton && (0, _experiments.editorExperiment)('platform_editor_preview_panel_linking_exp', true);
212
- var label = isPreviewButton ? formatMessage(_messages.cardMessages.previewButtonTitle) : formatMessage(_messages.cardMessages.openButtonTitle);
210
+ var label = showPanelButton ? formatMessage(_messages.cardMessages.previewButtonTitle) : formatMessage(_messages.cardMessages.openButtonTitle);
213
211
  var icon = null;
214
- if (isPreviewButton && showPanelButtonIcon === 'panel') {
212
+ if (showPanelButton && showPanelButtonIcon === 'panel') {
215
213
  icon = (0, _react2.jsx)(_panelRight.default, {
216
214
  label: ""
217
215
  });
218
- } else if (isPreviewButton && showPanelButtonIcon === 'modal') {
216
+ } else if (showPanelButton && showPanelButtonIcon === 'modal') {
219
217
  icon = (0, _react2.jsx)(_growDiagonal.default, {
220
218
  label: ""
221
219
  });
@@ -455,6 +455,7 @@ export let ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
455
455
  ACTION_SUBJECT_ID["CODEBLOCK_WRAP"] = "codeBlockWrap";
456
456
  ACTION_SUBJECT_ID["CONVERSATION_ERROR"] = "conversationError";
457
457
  ACTION_SUBJECT_ID["SUGGESTIONS_REGENERATION_ERROR"] = "suggestionsRegenerationError";
458
+ ACTION_SUBJECT_ID["SUGGESTIONS_ERROR_RETRY"] = "suggestionsErrorRetry";
458
459
  ACTION_SUBJECT_ID["COPY_BUTTON"] = "copyButton";
459
460
  ACTION_SUBJECT_ID["COPY_LINK_TO_ANCHOR"] = "copyLinkToAnchor";
460
461
  ACTION_SUBJECT_ID["COPY_BLOCK"] = "copyBlock";
@@ -14,7 +14,7 @@ const NETWORK_FAILURE_REGEX = /^network failure/i;
14
14
  const RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
15
15
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
16
16
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
17
- const packageVersion = "119.14.0";
17
+ const packageVersion = "119.15.1";
18
18
  const sanitiseSentryEvents = (data, _hint) => {
19
19
  // Remove URL as it has UGC
20
20
  // Ignored via go/ees007
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import { fg } from '@atlaskit/platform-feature-flags';
15
15
  import Layer from '../Layer';
16
16
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "119.14.0";
17
+ const packageVersion = "119.15.1";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  const fadeIn = keyframes({
@@ -19,7 +19,6 @@ import { fg } from '@atlaskit/platform-feature-flags';
19
19
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
20
20
  import { Anchor, Box, Text, xcss } from '@atlaskit/primitives';
21
21
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
22
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
23
22
  import { buildVisitedNonHyperLinkPayload, INPUT_METHOD } from '../../analytics';
24
23
  import { cardMessages } from '../../messages';
25
24
  /**
@@ -187,14 +186,13 @@ const HoverLinkOverlay = ({
187
186
  sendVisitLinkAnalytics(INPUT_METHOD.BUTTON);
188
187
  }
189
188
  };
190
- const isPreviewButton = showPanelButton && editorExperiment('platform_editor_preview_panel_linking_exp', true);
191
- const label = isPreviewButton ? formatMessage(cardMessages.previewButtonTitle) : formatMessage(cardMessages.openButtonTitle);
189
+ const label = showPanelButton ? formatMessage(cardMessages.previewButtonTitle) : formatMessage(cardMessages.openButtonTitle);
192
190
  let icon = null;
193
- if (isPreviewButton && showPanelButtonIcon === 'panel') {
191
+ if (showPanelButton && showPanelButtonIcon === 'panel') {
194
192
  icon = jsx(PanelRightIcon, {
195
193
  label: ""
196
194
  });
197
- } else if (isPreviewButton && showPanelButtonIcon === 'modal') {
195
+ } else if (showPanelButton && showPanelButtonIcon === 'modal') {
198
196
  icon = jsx(GrowDiagonalIcon, {
199
197
  label: ""
200
198
  });
@@ -455,6 +455,7 @@ export var ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
455
455
  ACTION_SUBJECT_ID["CODEBLOCK_WRAP"] = "codeBlockWrap";
456
456
  ACTION_SUBJECT_ID["CONVERSATION_ERROR"] = "conversationError";
457
457
  ACTION_SUBJECT_ID["SUGGESTIONS_REGENERATION_ERROR"] = "suggestionsRegenerationError";
458
+ ACTION_SUBJECT_ID["SUGGESTIONS_ERROR_RETRY"] = "suggestionsErrorRetry";
458
459
  ACTION_SUBJECT_ID["COPY_BUTTON"] = "copyButton";
459
460
  ACTION_SUBJECT_ID["COPY_LINK_TO_ANCHOR"] = "copyLinkToAnchor";
460
461
  ACTION_SUBJECT_ID["COPY_BLOCK"] = "copyBlock";
@@ -20,7 +20,7 @@ var NETWORK_FAILURE_REGEX = /^network failure/i;
20
20
  var RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
21
21
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
22
22
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
23
- var packageVersion = "119.14.0";
23
+ var packageVersion = "119.15.1";
24
24
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
25
25
  // Remove URL as it has UGC
26
26
  // Ignored via go/ees007
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import { fg } from '@atlaskit/platform-feature-flags';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "119.14.0";
24
+ var packageVersion = "119.15.1";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var fadeIn = keyframes({
@@ -20,7 +20,6 @@ import { fg } from '@atlaskit/platform-feature-flags';
20
20
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
21
21
  import { Anchor, Box, Text, xcss } from '@atlaskit/primitives';
22
22
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
23
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
24
23
  import { buildVisitedNonHyperLinkPayload, INPUT_METHOD } from '../../analytics';
25
24
  import { cardMessages } from '../../messages';
26
25
  /**
@@ -195,14 +194,13 @@ var HoverLinkOverlay = function HoverLinkOverlay(_ref) {
195
194
  sendVisitLinkAnalytics(INPUT_METHOD.BUTTON);
196
195
  }
197
196
  };
198
- var isPreviewButton = showPanelButton && editorExperiment('platform_editor_preview_panel_linking_exp', true);
199
- var label = isPreviewButton ? formatMessage(cardMessages.previewButtonTitle) : formatMessage(cardMessages.openButtonTitle);
197
+ var label = showPanelButton ? formatMessage(cardMessages.previewButtonTitle) : formatMessage(cardMessages.openButtonTitle);
200
198
  var icon = null;
201
- if (isPreviewButton && showPanelButtonIcon === 'panel') {
199
+ if (showPanelButton && showPanelButtonIcon === 'panel') {
202
200
  icon = jsx(PanelRightIcon, {
203
201
  label: ""
204
202
  });
205
- } else if (isPreviewButton && showPanelButtonIcon === 'modal') {
203
+ } else if (showPanelButton && showPanelButtonIcon === 'modal') {
206
204
  icon = jsx(GrowDiagonalIcon, {
207
205
  label: ""
208
206
  });
@@ -1,11 +1,17 @@
1
1
  import type { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID } from './enums';
2
2
  import type { OperationalAEP, TrackAEP } from './utils';
3
- export type AiSuggestionsEntryPoint = 'primaryToolbar' | 'commentsEmptyState' | 'objectSidebarControl'
3
+ export type AiSuggestionsEntryPoint = 'primaryToolbar'
4
+ /**
5
+ * Legacy entry point retained for the suggestions surface in the comments panel.
6
+ * Use `suggestionsPanelEmptyState` for the standalone suggestions panel.
7
+ */
8
+ | 'commentsEmptyState' | 'suggestionsPanelEmptyState' | 'objectSidebarControl'
4
9
  /**
5
10
  * Generation started automatically because a suggestions surface was opened
6
11
  * with nothing to show — no explicit user action. Kept distinct from
7
- * `commentsEmptyState` (the "Review" button in that empty state) so the two
8
- * can be told apart in analytics.
12
+ * `suggestionsPanelEmptyState` and the legacy `commentsEmptyState` (the "Review"
13
+ * button in those empty states) so automatic and user-initiated generation can
14
+ * be told apart in analytics.
9
15
  */
10
16
  | 'suggestionsPanelMount'
11
17
  /**
@@ -38,6 +44,12 @@ type RegenerateSuggestionsErrorAEP = OperationalAEP<ACTION.ERRORED, ACTION_SUBJE
38
44
  type EntryPointClickedAEP = TrackAEP<ACTION.CLICKED, ACTION_SUBJECT.AI_SUGGESTIONS, undefined, {
39
45
  entryPoint: AiSuggestionsEntryPoint;
40
46
  }, undefined>;
47
+ /**
48
+ * Fired when the user clicks the "Try again" / retry button on the suggested
49
+ * edits error screen (the thinking bar's error state). Lets us measure how
50
+ * often users attempt to recover from a suggestions failure.
51
+ */
52
+ type SuggestionsErrorRetryClickedAEP = TrackAEP<ACTION.CLICKED, ACTION_SUBJECT.AI_SUGGESTIONS, ACTION_SUBJECT_ID.SUGGESTIONS_ERROR_RETRY, undefined, undefined>;
41
53
  type EntryPointExposureAEP = TrackAEP<ACTION.EXPOSED, ACTION_SUBJECT.AI_SUGGESTIONS, undefined, {
42
54
  entryPoint: AiSuggestionsEntryPoint;
43
55
  }, undefined>;
@@ -84,5 +96,5 @@ type ViewSuggestionReasoningAEP = TrackAEP<ACTION.REASONING_VIEWED, ACTION_SUBJE
84
96
  reasoningCharacterCount: number;
85
97
  suggestionType: string;
86
98
  }, undefined>;
87
- export type AiSuggestionsEventPayload = NoDiffSuggestionAEP | ConversationErrorAEP | RegenerateSuggestionsErrorAEP | EntryPointClickedAEP | EntryPointExposureAEP | AcceptSuggestionAEP | DiscardSuggestionAEP | DismissSuggestionAEP | ViewSuggestionAEP | RightRailViewedAEP | ViewSuggestionReasoningAEP;
99
+ export type AiSuggestionsEventPayload = NoDiffSuggestionAEP | ConversationErrorAEP | RegenerateSuggestionsErrorAEP | EntryPointClickedAEP | SuggestionsErrorRetryClickedAEP | EntryPointExposureAEP | AcceptSuggestionAEP | DiscardSuggestionAEP | DismissSuggestionAEP | ViewSuggestionAEP | RightRailViewedAEP | ViewSuggestionReasoningAEP;
88
100
  export {};
@@ -429,6 +429,7 @@ export declare enum ACTION_SUBJECT_ID {
429
429
  CODEBLOCK_WRAP = "codeBlockWrap",
430
430
  CONVERSATION_ERROR = "conversationError",
431
431
  SUGGESTIONS_REGENERATION_ERROR = "suggestionsRegenerationError",
432
+ SUGGESTIONS_ERROR_RETRY = "suggestionsErrorRetry",
432
433
  COPY_BUTTON = "copyButton",
433
434
  COPY_LINK_TO_ANCHOR = "copyLinkToAnchor",
434
435
  COPY_BLOCK = "copyBlock",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "119.15.0",
3
+ "version": "119.16.0",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -54,7 +54,7 @@
54
54
  "@atlaskit/feature-gate-js-client": "^6.0.0",
55
55
  "@atlaskit/icon": "^37.5.0",
56
56
  "@atlaskit/link": "^5.1.0",
57
- "@atlaskit/link-datasource": "^6.6.0",
57
+ "@atlaskit/link-datasource": "^6.7.0",
58
58
  "@atlaskit/link-picker": "^6.5.0",
59
59
  "@atlaskit/media-card": "^81.7.0",
60
60
  "@atlaskit/media-client": "^37.5.0",
@@ -73,7 +73,7 @@
73
73
  "@atlaskit/platform-feature-flags-react": "^1.1.0",
74
74
  "@atlaskit/popper": "^9.3.0",
75
75
  "@atlaskit/primitives": "^22.4.0",
76
- "@atlaskit/profilecard": "^26.18.0",
76
+ "@atlaskit/profilecard": "^26.19.0",
77
77
  "@atlaskit/prosemirror-history": "^1.2.0",
78
78
  "@atlaskit/react-compiler-gating": "^0.2.0",
79
79
  "@atlaskit/react-ufo": "^7.7.0",
@@ -84,7 +84,7 @@
84
84
  "@atlaskit/task-decision": "^21.8.0",
85
85
  "@atlaskit/teams-app-config": "^2.2.0",
86
86
  "@atlaskit/textfield": "^10.1.0",
87
- "@atlaskit/tmp-editor-statsig": "^157.0.0",
87
+ "@atlaskit/tmp-editor-statsig": "^158.0.0",
88
88
  "@atlaskit/tokens": "^16.8.0",
89
89
  "@atlaskit/tooltip": "^24.2.0",
90
90
  "@atlaskit/width-detector": "^7.1.0",
@@ -125,7 +125,7 @@
125
125
  },
126
126
  "devDependencies": {
127
127
  "@atlaskit/media-core": "^38.0.0",
128
- "@atlassian/a11y-jest-testing": "^0.16.0",
128
+ "@atlassian/a11y-jest-testing": "^0.17.0",
129
129
  "@atlassian/experiment-test-utils": "^0.2.0",
130
130
  "@atlassian/feature-flags-test-utils": "^1.2.0",
131
131
  "@atlassian/testing-library": "^0.11.0",