@atlaskit/editor-common 76.28.0 → 76.29.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.29.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#62416](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/62416) [`9f3c36680d89`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9f3c36680d89) - [ux] Updated table context menu styling.
8
+
9
+ ## 76.29.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#62560](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/62560) [`5ad72b247e6a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/5ad72b247e6a) - [ux] ED-20895 Added linking support for inline images
14
+
3
15
  ## 76.28.0
4
16
 
5
17
  ### Minor Changes
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.addParagraphAtEnd = addParagraphAtEnd;
8
8
  exports.clearEditorContent = exports.changeImageAlignment = void 0;
9
9
  exports.createParagraphAtEnd = createParagraphAtEnd;
10
- exports.createToggleBlockMarkOnRange = void 0;
10
+ exports.createToggleInlineMarkOnRange = exports.createToggleBlockMarkOnRange = void 0;
11
11
  exports.findCutBefore = findCutBefore;
12
12
  Object.defineProperty(exports, "insertBlock", {
13
13
  enumerable: true,
@@ -89,6 +89,29 @@ var createToggleBlockMarkOnRange = exports.createToggleBlockMarkOnRange = functi
89
89
  return markApplied;
90
90
  };
91
91
  };
92
+ var createToggleInlineMarkOnRange = exports.createToggleInlineMarkOnRange = function createToggleInlineMarkOnRange(markType, getAttrs) {
93
+ return function (from, to, tr, state) {
94
+ var markApplied = false;
95
+ state.doc.nodesBetween(from, to, function (node, pos, parent) {
96
+ if (parent !== null && parent !== void 0 && parent.type.allowsMarkType(markType)) {
97
+ var oldMarks = node.marks.filter(function (mark) {
98
+ return mark.type === markType;
99
+ });
100
+ var _prevAttrs2 = oldMarks.length ? oldMarks[0].attrs : undefined;
101
+ var newAttrs = getAttrs(_prevAttrs2, node);
102
+ if (newAttrs !== undefined) {
103
+ tr.setNodeMarkup(pos, node.type, node.attrs, node.marks.filter(function (mark) {
104
+ return !markType.excludes(mark.type);
105
+ }).concat(newAttrs === false ? [] : markType.create(newAttrs)));
106
+ tr.setSelection(_state.NodeSelection.create(tr.doc, state.selection.from));
107
+ markApplied = true;
108
+ }
109
+ }
110
+ return;
111
+ });
112
+ return markApplied;
113
+ };
114
+ };
92
115
 
93
116
  /**
94
117
  * Toggles block mark based on the return type of `getAttrs`.
@@ -51,6 +51,11 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
51
51
  defaultMessage: 'Insert column right',
52
52
  description: 'Inserts a new column to the right of selected column.'
53
53
  },
54
+ addColumn: {
55
+ id: 'fabric.editor.addColumn',
56
+ defaultMessage: 'Add column right',
57
+ description: 'Adds a new column to the right of selected column.'
58
+ },
54
59
  insertColumnDrag: {
55
60
  id: 'fabric.editor.insertColumnDrag',
56
61
  defaultMessage: 'Insert column',
@@ -66,6 +71,11 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
66
71
  defaultMessage: 'Insert row below',
67
72
  description: 'Inserts a new row below the selected row.'
68
73
  },
74
+ addRow: {
75
+ id: 'fabric.editor.addRow',
76
+ defaultMessage: 'Add row below',
77
+ description: 'Adds a new row below the selected row.'
78
+ },
69
79
  insertRowDrag: {
70
80
  id: 'fabric.editor.insertRowDrag',
71
81
  defaultMessage: 'Insert row',
@@ -126,6 +136,11 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
126
136
  defaultMessage: 'Cell background',
127
137
  description: 'Change the background color of a table cell.'
128
138
  },
139
+ backgroundColor: {
140
+ id: 'fabric.editor.backgroundColor',
141
+ defaultMessage: 'Background Color',
142
+ description: 'Change the background color of a table cell.'
143
+ },
129
144
  mergeCells: {
130
145
  id: 'fabric.editor.mergeCells',
131
146
  defaultMessage: 'Merge cells',
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "76.28.0";
19
+ var packageVersion = "76.29.1";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -22,7 +22,7 @@ var _templateObject, _templateObject2, _templateObject3;
22
22
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
23
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
24
24
  var packageName = "@atlaskit/editor-common";
25
- var packageVersion = "76.28.0";
25
+ var packageVersion = "76.29.1";
26
26
  var halfFocusRing = 1;
27
27
  var dropOffset = '0, 8';
28
28
  var DropList = /*#__PURE__*/function (_Component) {
@@ -187,7 +187,8 @@ var ColorPickerButton = function ColorPickerButton(props) {
187
187
  css: colorPickerExpandContainer
188
188
  }, (0, _react2.jsx)(_chevronDown.default, {
189
189
  label: ""
190
- }))
190
+ })),
191
+ "data-selected-color": props.currentColor
191
192
  })), renderPopup());
192
193
  };
193
194
  var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)({
@@ -1,4 +1,4 @@
1
- import { Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
1
+ import { NodeSelection, Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
2
2
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
3
3
  export function addParagraphAtEnd(tr) {
4
4
  const {
@@ -72,6 +72,23 @@ export const createToggleBlockMarkOnRange = (markType, getAttrs, allowedBlocks)
72
72
  });
73
73
  return markApplied;
74
74
  };
75
+ export const createToggleInlineMarkOnRange = (markType, getAttrs) => (from, to, tr, state) => {
76
+ let markApplied = false;
77
+ state.doc.nodesBetween(from, to, (node, pos, parent) => {
78
+ if (parent !== null && parent !== void 0 && parent.type.allowsMarkType(markType)) {
79
+ const oldMarks = node.marks.filter(mark => mark.type === markType);
80
+ const prevAttrs = oldMarks.length ? oldMarks[0].attrs : undefined;
81
+ const newAttrs = getAttrs(prevAttrs, node);
82
+ if (newAttrs !== undefined) {
83
+ tr.setNodeMarkup(pos, node.type, node.attrs, node.marks.filter(mark => !markType.excludes(mark.type)).concat(newAttrs === false ? [] : markType.create(newAttrs)));
84
+ tr.setSelection(NodeSelection.create(tr.doc, state.selection.from));
85
+ markApplied = true;
86
+ }
87
+ }
88
+ return;
89
+ });
90
+ return markApplied;
91
+ };
75
92
 
76
93
  /**
77
94
  * Toggles block mark based on the return type of `getAttrs`.
@@ -45,6 +45,11 @@ export const messages = defineMessages({
45
45
  defaultMessage: 'Insert column right',
46
46
  description: 'Inserts a new column to the right of selected column.'
47
47
  },
48
+ addColumn: {
49
+ id: 'fabric.editor.addColumn',
50
+ defaultMessage: 'Add column right',
51
+ description: 'Adds a new column to the right of selected column.'
52
+ },
48
53
  insertColumnDrag: {
49
54
  id: 'fabric.editor.insertColumnDrag',
50
55
  defaultMessage: 'Insert column',
@@ -60,6 +65,11 @@ export const messages = defineMessages({
60
65
  defaultMessage: 'Insert row below',
61
66
  description: 'Inserts a new row below the selected row.'
62
67
  },
68
+ addRow: {
69
+ id: 'fabric.editor.addRow',
70
+ defaultMessage: 'Add row below',
71
+ description: 'Adds a new row below the selected row.'
72
+ },
63
73
  insertRowDrag: {
64
74
  id: 'fabric.editor.insertRowDrag',
65
75
  defaultMessage: 'Insert row',
@@ -120,6 +130,11 @@ export const messages = defineMessages({
120
130
  defaultMessage: 'Cell background',
121
131
  description: 'Change the background color of a table cell.'
122
132
  },
133
+ backgroundColor: {
134
+ id: 'fabric.editor.backgroundColor',
135
+ defaultMessage: 'Background Color',
136
+ description: 'Change the background color of a table cell.'
137
+ },
123
138
  mergeCells: {
124
139
  id: 'fabric.editor.mergeCells',
125
140
  defaultMessage: 'Merge cells',
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "76.28.0";
3
+ const packageVersion = "76.29.1";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -7,7 +7,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
7
7
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
8
8
  import Layer from '../Layer';
9
9
  const packageName = "@atlaskit/editor-common";
10
- const packageVersion = "76.28.0";
10
+ const packageVersion = "76.29.1";
11
11
  const halfFocusRing = 1;
12
12
  const dropOffset = '0, 8';
13
13
  class DropList extends Component {
@@ -196,7 +196,8 @@ const ColorPickerButton = props => {
196
196
  css: colorPickerExpandContainer
197
197
  }, jsx(ExpandIcon, {
198
198
  label: ""
199
- }))
199
+ })),
200
+ "data-selected-color": props.currentColor
200
201
  })), renderPopup());
201
202
  };
202
203
  export default withAnalyticsContext({
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
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
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; }
4
- import { Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
4
+ import { NodeSelection, Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
5
5
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
6
6
  export function addParagraphAtEnd(tr) {
7
7
  var paragraph = tr.doc.type.schema.nodes.paragraph,
@@ -69,6 +69,29 @@ export var createToggleBlockMarkOnRange = function createToggleBlockMarkOnRange(
69
69
  return markApplied;
70
70
  };
71
71
  };
72
+ export var createToggleInlineMarkOnRange = function createToggleInlineMarkOnRange(markType, getAttrs) {
73
+ return function (from, to, tr, state) {
74
+ var markApplied = false;
75
+ state.doc.nodesBetween(from, to, function (node, pos, parent) {
76
+ if (parent !== null && parent !== void 0 && parent.type.allowsMarkType(markType)) {
77
+ var oldMarks = node.marks.filter(function (mark) {
78
+ return mark.type === markType;
79
+ });
80
+ var _prevAttrs2 = oldMarks.length ? oldMarks[0].attrs : undefined;
81
+ var newAttrs = getAttrs(_prevAttrs2, node);
82
+ if (newAttrs !== undefined) {
83
+ tr.setNodeMarkup(pos, node.type, node.attrs, node.marks.filter(function (mark) {
84
+ return !markType.excludes(mark.type);
85
+ }).concat(newAttrs === false ? [] : markType.create(newAttrs)));
86
+ tr.setSelection(NodeSelection.create(tr.doc, state.selection.from));
87
+ markApplied = true;
88
+ }
89
+ }
90
+ return;
91
+ });
92
+ return markApplied;
93
+ };
94
+ };
72
95
 
73
96
  /**
74
97
  * Toggles block mark based on the return type of `getAttrs`.
@@ -45,6 +45,11 @@ export var messages = defineMessages({
45
45
  defaultMessage: 'Insert column right',
46
46
  description: 'Inserts a new column to the right of selected column.'
47
47
  },
48
+ addColumn: {
49
+ id: 'fabric.editor.addColumn',
50
+ defaultMessage: 'Add column right',
51
+ description: 'Adds a new column to the right of selected column.'
52
+ },
48
53
  insertColumnDrag: {
49
54
  id: 'fabric.editor.insertColumnDrag',
50
55
  defaultMessage: 'Insert column',
@@ -60,6 +65,11 @@ export var messages = defineMessages({
60
65
  defaultMessage: 'Insert row below',
61
66
  description: 'Inserts a new row below the selected row.'
62
67
  },
68
+ addRow: {
69
+ id: 'fabric.editor.addRow',
70
+ defaultMessage: 'Add row below',
71
+ description: 'Adds a new row below the selected row.'
72
+ },
63
73
  insertRowDrag: {
64
74
  id: 'fabric.editor.insertRowDrag',
65
75
  defaultMessage: 'Insert row',
@@ -120,6 +130,11 @@ export var messages = defineMessages({
120
130
  defaultMessage: 'Cell background',
121
131
  description: 'Change the background color of a table cell.'
122
132
  },
133
+ backgroundColor: {
134
+ id: 'fabric.editor.backgroundColor',
135
+ defaultMessage: 'Background Color',
136
+ description: 'Change the background color of a table cell.'
137
+ },
123
138
  mergeCells: {
124
139
  id: 'fabric.editor.mergeCells',
125
140
  defaultMessage: 'Merge cells',
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  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; }
7
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "76.28.0";
9
+ var packageVersion = "76.29.1";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -17,7 +17,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
17
17
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
18
18
  import Layer from '../Layer';
19
19
  var packageName = "@atlaskit/editor-common";
20
- var packageVersion = "76.28.0";
20
+ var packageVersion = "76.29.1";
21
21
  var halfFocusRing = 1;
22
22
  var dropOffset = '0, 8';
23
23
  var DropList = /*#__PURE__*/function (_Component) {
@@ -181,7 +181,8 @@ var ColorPickerButton = function ColorPickerButton(props) {
181
181
  css: colorPickerExpandContainer
182
182
  }, jsx(ExpandIcon, {
183
183
  label: ""
184
- }))
184
+ })),
185
+ "data-selected-color": props.currentColor
185
186
  })), renderPopup());
186
187
  };
187
188
  export default withAnalyticsContext({
@@ -7,6 +7,7 @@ export declare function addParagraphAtEnd(tr: Transaction): void;
7
7
  export declare function createParagraphAtEnd(): Command;
8
8
  export declare const changeImageAlignment: (align?: AlignmentState) => Command;
9
9
  export declare const createToggleBlockMarkOnRange: <T extends {} = object>(markType: MarkType, getAttrs: (prevAttrs?: T | undefined, node?: PMNode) => false | T | undefined, allowedBlocks?: NodeType[] | ((schema: Schema, node: PMNode, parent: PMNode | null) => boolean) | undefined) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
10
+ export declare const createToggleInlineMarkOnRange: <T extends {} = object>(markType: MarkType, getAttrs: (prevAttrs?: T | undefined, node?: PMNode) => false | T | undefined) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
10
11
  /**
11
12
  * Toggles block mark based on the return type of `getAttrs`.
12
13
  * This is similar to ProseMirror's `getAttrs` from `AttributeSpec`
@@ -44,6 +44,11 @@ export declare const messages: {
44
44
  defaultMessage: string;
45
45
  description: string;
46
46
  };
47
+ addColumn: {
48
+ id: string;
49
+ defaultMessage: string;
50
+ description: string;
51
+ };
47
52
  insertColumnDrag: {
48
53
  id: string;
49
54
  defaultMessage: string;
@@ -59,6 +64,11 @@ export declare const messages: {
59
64
  defaultMessage: string;
60
65
  description: string;
61
66
  };
67
+ addRow: {
68
+ id: string;
69
+ defaultMessage: string;
70
+ description: string;
71
+ };
62
72
  insertRowDrag: {
63
73
  id: string;
64
74
  defaultMessage: string;
@@ -119,6 +129,11 @@ export declare const messages: {
119
129
  defaultMessage: string;
120
130
  description: string;
121
131
  };
132
+ backgroundColor: {
133
+ id: string;
134
+ defaultMessage: string;
135
+ description: string;
136
+ };
122
137
  mergeCells: {
123
138
  id: string;
124
139
  defaultMessage: string;
@@ -7,6 +7,7 @@ export declare function addParagraphAtEnd(tr: Transaction): void;
7
7
  export declare function createParagraphAtEnd(): Command;
8
8
  export declare const changeImageAlignment: (align?: AlignmentState) => Command;
9
9
  export declare const createToggleBlockMarkOnRange: <T extends {} = object>(markType: MarkType, getAttrs: (prevAttrs?: T | undefined, node?: PMNode) => false | T | undefined, allowedBlocks?: NodeType[] | ((schema: Schema, node: PMNode, parent: PMNode | null) => boolean) | undefined) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
10
+ export declare const createToggleInlineMarkOnRange: <T extends {} = object>(markType: MarkType, getAttrs: (prevAttrs?: T | undefined, node?: PMNode) => false | T | undefined) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
10
11
  /**
11
12
  * Toggles block mark based on the return type of `getAttrs`.
12
13
  * This is similar to ProseMirror's `getAttrs` from `AttributeSpec`
@@ -44,6 +44,11 @@ export declare const messages: {
44
44
  defaultMessage: string;
45
45
  description: string;
46
46
  };
47
+ addColumn: {
48
+ id: string;
49
+ defaultMessage: string;
50
+ description: string;
51
+ };
47
52
  insertColumnDrag: {
48
53
  id: string;
49
54
  defaultMessage: string;
@@ -59,6 +64,11 @@ export declare const messages: {
59
64
  defaultMessage: string;
60
65
  description: string;
61
66
  };
67
+ addRow: {
68
+ id: string;
69
+ defaultMessage: string;
70
+ description: string;
71
+ };
62
72
  insertRowDrag: {
63
73
  id: string;
64
74
  defaultMessage: string;
@@ -119,6 +129,11 @@ export declare const messages: {
119
129
  defaultMessage: string;
120
130
  description: string;
121
131
  };
132
+ backgroundColor: {
133
+ id: string;
134
+ defaultMessage: string;
135
+ description: string;
136
+ };
122
137
  mergeCells: {
123
138
  id: string;
124
139
  defaultMessage: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "76.28.0",
3
+ "version": "76.29.1",
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/"
@@ -26,7 +26,8 @@
26
26
  "team": "Editor",
27
27
  "inPublicMirror": true,
28
28
  "singleton": true,
29
- "releaseModel": "continuous"
29
+ "releaseModel": "continuous",
30
+ "runReact18": false
30
31
  },
31
32
  "af:exports": {
32
33
  "./event-dispatcher": "./src/event-dispatcher/index.ts",