@atlaskit/editor-common 99.5.2 → 99.5.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,23 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 99.5.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#107202](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/107202)
8
+ [`0774310c32dec`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/0774310c32dec) -
9
+ Restructured the proactive ai plugin content components to simplify the plugin code and better
10
+ seperate individual components to their own files.
11
+
12
+ ## 99.5.3
13
+
14
+ ### Patch Changes
15
+
16
+ - [#107473](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/107473)
17
+ [`962b3297548df`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/962b3297548df) -
18
+ [ux] Implement variation 2 for editor contextual toolbar formatting experiment
19
+ - Updated dependencies
20
+
3
21
  ## 99.5.2
4
22
 
5
23
  ### Patch Changes
@@ -281,7 +281,6 @@ var ACTION_SUBJECT = exports.ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJ
281
281
  ACTION_SUBJECT["DROP_TARGET"] = "dropTarget";
282
282
  ACTION_SUBJECT["DRAG"] = "drag";
283
283
  ACTION_SUBJECT["ELEMENT"] = "element";
284
- ACTION_SUBJECT["CONTEXT_MENU"] = "contextMenu";
285
284
  ACTION_SUBJECT["INLINE_DIALOG"] = "inlineDialog";
286
285
  ACTION_SUBJECT["ENGAGEMENT_PLATFORM"] = "engagementPlatform";
287
286
  ACTION_SUBJECT["MEDIA_VIEWER"] = "mediaViewer";
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  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; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "99.5.2";
20
+ var packageVersion = "99.5.4";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -23,7 +23,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
23
23
  * @jsx jsx
24
24
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
25
25
  var packageName = "@atlaskit/editor-common";
26
- var packageVersion = "99.5.2";
26
+ var packageVersion = "99.5.4";
27
27
  var halfFocusRing = 1;
28
28
  var dropOffset = '0, 8';
29
29
  // Ignored via go/ees005
@@ -275,7 +275,6 @@ export let ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJECT) {
275
275
  ACTION_SUBJECT["DROP_TARGET"] = "dropTarget";
276
276
  ACTION_SUBJECT["DRAG"] = "drag";
277
277
  ACTION_SUBJECT["ELEMENT"] = "element";
278
- ACTION_SUBJECT["CONTEXT_MENU"] = "contextMenu";
279
278
  ACTION_SUBJECT["INLINE_DIALOG"] = "inlineDialog";
280
279
  ACTION_SUBJECT["ENGAGEMENT_PLATFORM"] = "engagementPlatform";
281
280
  ACTION_SUBJECT["MEDIA_VIEWER"] = "mediaViewer";
@@ -1,7 +1,7 @@
1
1
  import { isFedRamp } from './environment';
2
2
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
3
3
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
4
- const packageVersion = "99.5.2";
4
+ const packageVersion = "99.5.4";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // TODO: Sanitise the URL instead of just removing it
@@ -13,7 +13,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
13
13
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import Layer from '../Layer';
15
15
  const packageName = "@atlaskit/editor-common";
16
- const packageVersion = "99.5.2";
16
+ const packageVersion = "99.5.4";
17
17
  const halfFocusRing = 1;
18
18
  const dropOffset = '0, 8';
19
19
  // Ignored via go/ees005
@@ -275,7 +275,6 @@ export var ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJECT) {
275
275
  ACTION_SUBJECT["DROP_TARGET"] = "dropTarget";
276
276
  ACTION_SUBJECT["DRAG"] = "drag";
277
277
  ACTION_SUBJECT["ELEMENT"] = "element";
278
- ACTION_SUBJECT["CONTEXT_MENU"] = "contextMenu";
279
278
  ACTION_SUBJECT["INLINE_DIALOG"] = "inlineDialog";
280
279
  ACTION_SUBJECT["ENGAGEMENT_PLATFORM"] = "engagementPlatform";
281
280
  ACTION_SUBJECT["MEDIA_VIEWER"] = "mediaViewer";
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "99.5.2";
10
+ var packageVersion = "99.5.4";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // TODO: Sanitise the URL instead of just removing it
@@ -20,7 +20,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
20
20
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import Layer from '../Layer';
22
22
  var packageName = "@atlaskit/editor-common";
23
- var packageVersion = "99.5.2";
23
+ var packageVersion = "99.5.4";
24
24
  var halfFocusRing = 1;
25
25
  var dropOffset = '0, 8';
26
26
  // Ignored via go/ees005
@@ -16,14 +16,14 @@ type AIProactiveSuggestionDisplayToggledAEP = TrackAEP<ACTION.TOGGLED, ACTION_SU
16
16
  }, undefined>;
17
17
  type AIProactiveSuggestionInsertedAEP = TrackAEP<ACTION.INSERTED, ACTION_SUBJECT.EDITOR_PLUGIN_AI, ACTION_SUBJECT_ID.PROACTIVE_SUGGESTION, {
18
18
  aiInteractionID: string | undefined;
19
- triggeredFrom: 'contextPanel' | 'preview';
19
+ triggeredFrom: string;
20
20
  transformAction: string;
21
21
  transformType: 'REPLACE_PARAGRAPH';
22
22
  insertionMethod: 'replace' | 'insertBelow';
23
23
  }, undefined>;
24
24
  type AIProactiveSuggestionDismissedAEP = TrackAEP<ACTION.DISMISSED, ACTION_SUBJECT.EDITOR_PLUGIN_AI, ACTION_SUBJECT_ID.PROACTIVE_SUGGESTION, {
25
25
  aiInteractionID: string | undefined;
26
- triggeredFrom: 'contextPanel' | 'preview';
26
+ triggeredFrom: string;
27
27
  transformAction: string;
28
28
  transformType: 'REPLACE_PARAGRAPH';
29
29
  }, undefined>;
@@ -284,7 +284,6 @@ export declare enum ACTION_SUBJECT {
284
284
  DROP_TARGET = "dropTarget",
285
285
  DRAG = "drag",
286
286
  ELEMENT = "element",
287
- CONTEXT_MENU = "contextMenu",
288
287
  INLINE_DIALOG = "inlineDialog",
289
288
  ENGAGEMENT_PLATFORM = "engagementPlatform",
290
289
  MEDIA_VIEWER = "mediaViewer",
@@ -12,7 +12,6 @@ import type { AIUnifiedEventPayload } from './ai-unified-events';
12
12
  import type { AvatarEventPayload } from './avatar';
13
13
  import { type BreakoutEventPayload } from './breakout-events';
14
14
  import type { ConfigPanelEventPayload } from './config-panel-events';
15
- import type { ContextMenuEventPayload } from './context-menu-events';
16
15
  import type { CutCopyEventPayload } from './cut-copy-events';
17
16
  import type { DatasourceClickedPayload } from './datasource-clicked-events';
18
17
  import type { DateEventPayload } from './date-events';
@@ -54,7 +53,7 @@ export type SimplifiedNode = {
54
53
  marks?: string[];
55
54
  content?: SimplifiedNode[];
56
55
  };
57
- export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | ContextMenuEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload;
56
+ export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload;
58
57
  type CustomPanelEventPayload = TrackAEP<ACTION.CHANGED_BACKGROUND_COLOR | ACTION.CHANGED_ICON | ACTION.REMOVE_ICON, ACTION_SUBJECT.PANEL, ACTION_SUBJECT_ID.PANEL, {
59
58
  previousColor: string;
60
59
  newColor: string;
@@ -66,6 +66,7 @@ type MentionTypeaheadRenderedPayload = OperationalAEP<ACTION.RENDERED, ACTION_SU
66
66
  }> | null;
67
67
  queryLength?: number;
68
68
  spaceInQuery?: boolean;
69
+ xProductMentionsLength?: number;
69
70
  }>;
70
71
  type MentionProviderErroredPayload = OperationalAEP<ACTION.ERRORED, ACTION_SUBJECT.MENTION, ACTION_SUBJECT_ID.MENTION_PROVIDER, {
71
72
  reason: string;
@@ -125,6 +125,7 @@ export type FloatingToolbarButton<T extends Object> = {
125
125
  onUnmount?: () => void;
126
126
  icon?: Icon;
127
127
  iconFallback?: Icon;
128
+ iconAfter?: Icon;
128
129
  selected?: boolean;
129
130
  disabled?: boolean;
130
131
  hidden?: boolean;
@@ -16,14 +16,14 @@ type AIProactiveSuggestionDisplayToggledAEP = TrackAEP<ACTION.TOGGLED, ACTION_SU
16
16
  }, undefined>;
17
17
  type AIProactiveSuggestionInsertedAEP = TrackAEP<ACTION.INSERTED, ACTION_SUBJECT.EDITOR_PLUGIN_AI, ACTION_SUBJECT_ID.PROACTIVE_SUGGESTION, {
18
18
  aiInteractionID: string | undefined;
19
- triggeredFrom: 'contextPanel' | 'preview';
19
+ triggeredFrom: string;
20
20
  transformAction: string;
21
21
  transformType: 'REPLACE_PARAGRAPH';
22
22
  insertionMethod: 'replace' | 'insertBelow';
23
23
  }, undefined>;
24
24
  type AIProactiveSuggestionDismissedAEP = TrackAEP<ACTION.DISMISSED, ACTION_SUBJECT.EDITOR_PLUGIN_AI, ACTION_SUBJECT_ID.PROACTIVE_SUGGESTION, {
25
25
  aiInteractionID: string | undefined;
26
- triggeredFrom: 'contextPanel' | 'preview';
26
+ triggeredFrom: string;
27
27
  transformAction: string;
28
28
  transformType: 'REPLACE_PARAGRAPH';
29
29
  }, undefined>;
@@ -284,7 +284,6 @@ export declare enum ACTION_SUBJECT {
284
284
  DROP_TARGET = "dropTarget",
285
285
  DRAG = "drag",
286
286
  ELEMENT = "element",
287
- CONTEXT_MENU = "contextMenu",
288
287
  INLINE_DIALOG = "inlineDialog",
289
288
  ENGAGEMENT_PLATFORM = "engagementPlatform",
290
289
  MEDIA_VIEWER = "mediaViewer",
@@ -12,7 +12,6 @@ import type { AIUnifiedEventPayload } from './ai-unified-events';
12
12
  import type { AvatarEventPayload } from './avatar';
13
13
  import { type BreakoutEventPayload } from './breakout-events';
14
14
  import type { ConfigPanelEventPayload } from './config-panel-events';
15
- import type { ContextMenuEventPayload } from './context-menu-events';
16
15
  import type { CutCopyEventPayload } from './cut-copy-events';
17
16
  import type { DatasourceClickedPayload } from './datasource-clicked-events';
18
17
  import type { DateEventPayload } from './date-events';
@@ -54,7 +53,7 @@ export type SimplifiedNode = {
54
53
  marks?: string[];
55
54
  content?: SimplifiedNode[];
56
55
  };
57
- export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | ContextMenuEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload;
56
+ export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload;
58
57
  type CustomPanelEventPayload = TrackAEP<ACTION.CHANGED_BACKGROUND_COLOR | ACTION.CHANGED_ICON | ACTION.REMOVE_ICON, ACTION_SUBJECT.PANEL, ACTION_SUBJECT_ID.PANEL, {
59
58
  previousColor: string;
60
59
  newColor: string;
@@ -66,6 +66,7 @@ type MentionTypeaheadRenderedPayload = OperationalAEP<ACTION.RENDERED, ACTION_SU
66
66
  }> | null;
67
67
  queryLength?: number;
68
68
  spaceInQuery?: boolean;
69
+ xProductMentionsLength?: number;
69
70
  }>;
70
71
  type MentionProviderErroredPayload = OperationalAEP<ACTION.ERRORED, ACTION_SUBJECT.MENTION, ACTION_SUBJECT_ID.MENTION_PROVIDER, {
71
72
  reason: string;
@@ -125,6 +125,7 @@ export type FloatingToolbarButton<T extends Object> = {
125
125
  onUnmount?: () => void;
126
126
  icon?: Icon;
127
127
  iconFallback?: Icon;
128
+ iconAfter?: Icon;
128
129
  selected?: boolean;
129
130
  disabled?: boolean;
130
131
  hidden?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "99.5.2",
3
+ "version": "99.5.4",
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/"
@@ -141,7 +141,7 @@
141
141
  "@atlaskit/media-file-preview": "^0.9.0",
142
142
  "@atlaskit/media-picker": "^67.0.0",
143
143
  "@atlaskit/media-ui": "^27.3.0",
144
- "@atlaskit/media-viewer": "49.6.3",
144
+ "@atlaskit/media-viewer": "50.0.0",
145
145
  "@atlaskit/mention": "^23.10.0",
146
146
  "@atlaskit/menu": "^2.13.0",
147
147
  "@atlaskit/onboarding": "^12.2.0",
@@ -152,10 +152,10 @@
152
152
  "@atlaskit/section-message": "^6.8.0",
153
153
  "@atlaskit/smart-card": "^34.6.0",
154
154
  "@atlaskit/smart-user-picker": "^6.11.0",
155
- "@atlaskit/spinner": "^16.3.0",
155
+ "@atlaskit/spinner": "^17.0.0",
156
156
  "@atlaskit/task-decision": "^17.11.0",
157
157
  "@atlaskit/textfield": "^6.7.0",
158
- "@atlaskit/tmp-editor-statsig": "^2.40.0",
158
+ "@atlaskit/tmp-editor-statsig": "^2.41.0",
159
159
  "@atlaskit/tokens": "^3.2.0",
160
160
  "@atlaskit/tooltip": "^19.0.0",
161
161
  "@atlaskit/width-detector": "^4.3.0",
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import type { ACTION, ACTION_SUBJECT } from './enums';
2
- import type { TrackAEP } from './utils';
3
- type ContextMenuOpenAEP = TrackAEP<ACTION.OPENED, ACTION_SUBJECT.CONTEXT_MENU, undefined, {
4
- button: number;
5
- altKey: boolean;
6
- ctrlKey: boolean;
7
- shiftKey: boolean;
8
- metaKey: boolean;
9
- }, undefined>;
10
- export type ContextMenuEventPayload = ContextMenuOpenAEP;
11
- export {};
@@ -1,11 +0,0 @@
1
- import type { ACTION, ACTION_SUBJECT } from './enums';
2
- import type { TrackAEP } from './utils';
3
- type ContextMenuOpenAEP = TrackAEP<ACTION.OPENED, ACTION_SUBJECT.CONTEXT_MENU, undefined, {
4
- button: number;
5
- altKey: boolean;
6
- ctrlKey: boolean;
7
- shiftKey: boolean;
8
- metaKey: boolean;
9
- }, undefined>;
10
- export type ContextMenuEventPayload = ContextMenuOpenAEP;
11
- export {};