@atlaskit/editor-plugin-analytics 0.1.6 → 0.2.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,45 @@
1
1
  # @atlaskit/editor-plugin-analytics
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`ad3c5c21079`](https://bitbucket.org/atlassian/atlassian-frontend/commits/ad3c5c21079) - Updating all plugins with minor version to correct issue with semver.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies
12
+
13
+ ## 0.1.7
14
+
15
+ ### Patch Changes
16
+
17
+ - [`8467bdcdf4f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8467bdcdf4f) - Removing `dependencies` prop from PluginInjectionAPI and changing
18
+ signature of `NextEditorPlugin`.
19
+
20
+ Previously a `NextEditorPlugin` would be consumed as so:
21
+
22
+ ```ts
23
+ const plugin: NextEditorPlugin< ... > = (config, api) => {
24
+ // Can use api like so:
25
+ api.dependencies.core.actions.execute( ... )
26
+ return { ... }
27
+ }
28
+ ```
29
+
30
+ Now these have become named parameters like so and the `pluginInjectionAPI` is used
31
+ without the `dependencies` prop:
32
+
33
+ ```ts
34
+ const plugin: NextEditorPlugin< ... > = ({ config, api }) => {
35
+ // Can use api like so:
36
+ api.core.actions.execute( ... )
37
+ return { ... }
38
+ }
39
+ ```
40
+
41
+ - Updated dependencies
42
+
3
43
  ## 0.1.6
4
44
 
5
45
  ### Patch Changes
package/README.md CHANGED
@@ -1,7 +1,30 @@
1
- # EditorPluginAnalytics
1
+ # Editor plugin analytics
2
2
 
3
3
  Analytics plugin for @atlaskit/editor-core
4
4
 
5
+ **Note:** This component is designed for internal Atlassian development.
6
+ External contributors will be able to use this component but will not be able to submit issues.
7
+
8
+ ## Install
9
+ ---
10
+ - **Install** - *yarn add @atlaskit/editor-plugin-analytics*
11
+ - **npm** - [@atlaskit/editor-plugin-analytics](https://www.npmjs.com/package/@atlaskit/editor-plugin-analytics)
12
+ - **Source** - [Bitbucket](https://bitbucket.org/atlassian/atlassian-frontend/src/master/packages/editor/editor-plugin-analytics)
13
+ - **Bundle** - [unpkg.com](https://unpkg.com/@atlaskit/editor-plugin-analytics/dist/)
14
+
5
15
  ## Usage
16
+ ---
17
+ **Internal use only**
18
+
19
+ @atlaskit/editor-plugin-analytics is intended for internal use by the @atlaskit/editor-core and as a plugin dependency of the Editor within your product.
20
+
21
+ Direct use of this component is not supported.
22
+
23
+ Please see [Atlaskit - Editor plugin analytics](https://atlaskit.atlassian.com/packages/editor/editor-plugin-analytics) for documentation and examples for this package.
6
24
 
7
- `import { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';`
25
+ ## Support
26
+ ---
27
+ For internal Atlassian, visit the slack channel [#help-editor](https://atlassian.slack.com/archives/CFG3PSQ9E) for support or visit [go/editor-help](https://go/editor-help) to submit a bug.
28
+ ## License
29
+ ---
30
+ Please see [Atlassian Frontend - License](https://developer.atlassian.com/cloud/framework/atlassian-frontend/#license) for more licensing information.
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.mapActionSubjectIdToAttributes = mapActionSubjectIdToAttributes;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _analytics = require("@atlaskit/editor-common/analytics");
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
+ 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; }
11
+ 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) { (0, _defineProperty2.default)(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; }
12
12
  function mapActionSubjectIdToAttributes(payload) {
13
13
  var documentInserted = payload.action === _analytics.ACTION.INSERTED && payload.actionSubject === _analytics.ACTION_SUBJECT.DOCUMENT;
14
14
  var textFormatted = payload.action === _analytics.ACTION.FORMATTED && payload.actionSubject === _analytics.ACTION_SUBJECT.TEXT;
@@ -21,8 +21,8 @@ var _undoRedoInputSource = require("./undo-redo-input-source");
21
21
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
22
22
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
23
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+ 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; }
25
+ 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) { (0, _defineProperty2.default)(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; }
26
26
  function createPlugin(options, featureFlags) {
27
27
  if (!options) {
28
28
  return;
@@ -95,9 +95,16 @@ function createPlugin(options, featureFlags) {
95
95
  }
96
96
  });
97
97
  }
98
- var analyticsPlugin = function analyticsPlugin(options, api) {
99
- var _api$dependencies$fea;
100
- var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies$fea = api.dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
98
+ /**
99
+ * Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
100
+ * from `@atlaskit/editor-core`.
101
+ */
102
+ var analyticsPlugin = function analyticsPlugin(_ref3) {
103
+ var _api$featureFlags;
104
+ var _ref3$config = _ref3.config,
105
+ options = _ref3$config === void 0 ? {} : _ref3$config,
106
+ api = _ref3.api;
107
+ var featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
101
108
  return {
102
109
  name: 'analytics',
103
110
  getSharedState: function getSharedState(editorState) {
@@ -108,8 +115,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
108
115
  attachAnalyticsEvent: null
109
116
  };
110
117
  }
111
- var _ref3 = (_analyticsPluginKey$g = _pluginKey.analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
112
- createAnalyticsEvent = _ref3.createAnalyticsEvent;
118
+ var _ref4 = (_analyticsPluginKey$g = _pluginKey.analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
119
+ createAnalyticsEvent = _ref4.createAnalyticsEvent;
113
120
  return {
114
121
  createAnalyticsEvent: createAnalyticsEvent,
115
122
  attachAnalyticsEvent: (0, _attachPayloadIntoTransaction.createAttachPayloadIntoTransaction)(editorState.selection)
@@ -119,10 +126,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
119
126
  attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
120
127
  var channel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _analyticsListeners.FabricChannel.editor;
121
128
  return function (tr) {
122
- var _api$dependencies$ana, _api$dependencies$ana2;
123
- var _ref4 = (_api$dependencies$ana = api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.sharedState.currentState()) !== null && _api$dependencies$ana !== void 0 ? _api$dependencies$ana : {},
124
- createAnalyticsEvent = _ref4.createAnalyticsEvent,
125
- attachAnalyticsEvent = _ref4.attachAnalyticsEvent;
129
+ var _api$analytics$shared, _api$analytics;
130
+ var _ref5 = (_api$analytics$shared = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.sharedState.currentState()) !== null && _api$analytics$shared !== void 0 ? _api$analytics$shared : {},
131
+ createAnalyticsEvent = _ref5.createAnalyticsEvent,
132
+ attachAnalyticsEvent = _ref5.attachAnalyticsEvent;
126
133
  if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
127
134
  return false;
128
135
  }
@@ -135,8 +142,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
135
142
  };
136
143
  }
137
144
  },
138
- usePluginHook: function usePluginHook(_ref5) {
139
- var editorView = _ref5.editorView;
145
+ usePluginHook: function usePluginHook(_ref6) {
146
+ var editorView = _ref6.editorView;
140
147
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
141
148
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
142
149
  (0, _react.useLayoutEffect)(function () {
@@ -156,10 +163,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
156
163
  }
157
164
  }];
158
165
  },
159
- onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref6) {
160
- var originalTransaction = _ref6.originalTransaction,
161
- transactions = _ref6.transactions,
162
- newEditorState = _ref6.newEditorState;
166
+ onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref7) {
167
+ var originalTransaction = _ref7.originalTransaction,
168
+ transactions = _ref7.transactions,
169
+ newEditorState = _ref7.newEditorState;
163
170
  var pluginState = _pluginKey.analyticsPluginKey.getState(newEditorState);
164
171
  if (!pluginState || !pluginState.createAnalyticsEvent) {
165
172
  return;
@@ -180,9 +187,9 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
180
187
  }
181
188
  var createAnalyticsEvent = pluginState.createAnalyticsEvent;
182
189
  var undoAnaltyicsEventTransformer = (0, _undoRedoInputSource.generateUndoRedoInputSoucePayload)(originalTransaction);
183
- steps.forEach(function (_ref7) {
184
- var payload = _ref7.payload,
185
- channel = _ref7.channel;
190
+ steps.forEach(function (_ref8) {
191
+ var payload = _ref8.payload,
192
+ channel = _ref8.channel;
186
193
  var nextPayload = undoAnaltyicsEventTransformer(payload);
187
194
  (0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)({
188
195
  payload: nextPayload,
@@ -193,10 +200,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
193
200
  };
194
201
  };
195
202
  exports.analyticsPlugin = analyticsPlugin;
196
- function extendPayload(_ref8) {
197
- var payload = _ref8.payload,
198
- duration = _ref8.duration,
199
- distortedDuration = _ref8.distortedDuration;
203
+ function extendPayload(_ref9) {
204
+ var payload = _ref9.payload,
205
+ duration = _ref9.duration,
206
+ distortedDuration = _ref9.distortedDuration;
200
207
  return _objectSpread(_objectSpread({}, payload), {}, {
201
208
  attributes: _objectSpread(_objectSpread({}, payload.attributes), {}, {
202
209
  duration: duration,
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.generateUndoRedoInputSoucePayload = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+ 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; }
10
+ 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) { (0, _defineProperty2.default)(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; }
11
11
  var getUndoRedoInputSource = function getUndoRedoInputSource(tr) {
12
12
  var _tr$getMeta;
13
13
  // TODO: Please, do not copy or use this kind of code below
@@ -73,9 +73,16 @@ function createPlugin(options, featureFlags) {
73
73
  }
74
74
  });
75
75
  }
76
- const analyticsPlugin = (options, api) => {
77
- var _api$dependencies$fea;
78
- const featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies$fea = api.dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
76
+ /**
77
+ * Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
78
+ * from `@atlaskit/editor-core`.
79
+ */
80
+ const analyticsPlugin = ({
81
+ config: options = {},
82
+ api
83
+ }) => {
84
+ var _api$featureFlags;
85
+ const featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
79
86
  return {
80
87
  name: 'analytics',
81
88
  getSharedState: editorState => {
@@ -96,11 +103,11 @@ const analyticsPlugin = (options, api) => {
96
103
  },
97
104
  actions: {
98
105
  attachAnalyticsEvent: (payload, channel = FabricChannel.editor) => tr => {
99
- var _api$dependencies$ana, _api$dependencies$ana2;
106
+ var _api$analytics$shared, _api$analytics;
100
107
  const {
101
108
  createAnalyticsEvent,
102
109
  attachAnalyticsEvent
103
- } = (_api$dependencies$ana = api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.sharedState.currentState()) !== null && _api$dependencies$ana !== void 0 ? _api$dependencies$ana : {};
110
+ } = (_api$analytics$shared = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.sharedState.currentState()) !== null && _api$analytics$shared !== void 0 ? _api$analytics$shared : {};
104
111
  if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
105
112
  return false;
106
113
  }
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
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
+ 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
4
  import { ACTION, ACTION_SUBJECT } from '@atlaskit/editor-common/analytics';
5
5
  export function mapActionSubjectIdToAttributes(payload) {
6
6
  var documentInserted = payload.action === ACTION.INSERTED && payload.actionSubject === ACTION_SUBJECT.DOCUMENT;
@@ -3,8 +3,8 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
4
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
+ 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; }
7
+ 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; }
8
8
  import { useLayoutEffect } from 'react';
9
9
  import { AnalyticsStep } from '@atlaskit/adf-schema/steps';
10
10
  import { FabricChannel } from '@atlaskit/analytics-listeners';
@@ -87,9 +87,16 @@ function createPlugin(options, featureFlags) {
87
87
  }
88
88
  });
89
89
  }
90
- var analyticsPlugin = function analyticsPlugin(options, api) {
91
- var _api$dependencies$fea;
92
- var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies$fea = api.dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
90
+ /**
91
+ * Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
92
+ * from `@atlaskit/editor-core`.
93
+ */
94
+ var analyticsPlugin = function analyticsPlugin(_ref3) {
95
+ var _api$featureFlags;
96
+ var _ref3$config = _ref3.config,
97
+ options = _ref3$config === void 0 ? {} : _ref3$config,
98
+ api = _ref3.api;
99
+ var featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
93
100
  return {
94
101
  name: 'analytics',
95
102
  getSharedState: function getSharedState(editorState) {
@@ -100,8 +107,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
100
107
  attachAnalyticsEvent: null
101
108
  };
102
109
  }
103
- var _ref3 = (_analyticsPluginKey$g = analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
104
- createAnalyticsEvent = _ref3.createAnalyticsEvent;
110
+ var _ref4 = (_analyticsPluginKey$g = analyticsPluginKey.getState(editorState)) !== null && _analyticsPluginKey$g !== void 0 ? _analyticsPluginKey$g : {},
111
+ createAnalyticsEvent = _ref4.createAnalyticsEvent;
105
112
  return {
106
113
  createAnalyticsEvent: createAnalyticsEvent,
107
114
  attachAnalyticsEvent: createAttachPayloadIntoTransaction(editorState.selection)
@@ -111,10 +118,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
111
118
  attachAnalyticsEvent: function attachAnalyticsEvent(payload) {
112
119
  var channel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FabricChannel.editor;
113
120
  return function (tr) {
114
- var _api$dependencies$ana, _api$dependencies$ana2;
115
- var _ref4 = (_api$dependencies$ana = api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.sharedState.currentState()) !== null && _api$dependencies$ana !== void 0 ? _api$dependencies$ana : {},
116
- createAnalyticsEvent = _ref4.createAnalyticsEvent,
117
- attachAnalyticsEvent = _ref4.attachAnalyticsEvent;
121
+ var _api$analytics$shared, _api$analytics;
122
+ var _ref5 = (_api$analytics$shared = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.sharedState.currentState()) !== null && _api$analytics$shared !== void 0 ? _api$analytics$shared : {},
123
+ createAnalyticsEvent = _ref5.createAnalyticsEvent,
124
+ attachAnalyticsEvent = _ref5.attachAnalyticsEvent;
118
125
  if (!tr || !createAnalyticsEvent || !attachAnalyticsEvent) {
119
126
  return false;
120
127
  }
@@ -127,8 +134,8 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
127
134
  };
128
135
  }
129
136
  },
130
- usePluginHook: function usePluginHook(_ref5) {
131
- var editorView = _ref5.editorView;
137
+ usePluginHook: function usePluginHook(_ref6) {
138
+ var editorView = _ref6.editorView;
132
139
  var _useAnalyticsEvents = useAnalyticsEvents(),
133
140
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
134
141
  useLayoutEffect(function () {
@@ -148,10 +155,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
148
155
  }
149
156
  }];
150
157
  },
151
- onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref6) {
152
- var originalTransaction = _ref6.originalTransaction,
153
- transactions = _ref6.transactions,
154
- newEditorState = _ref6.newEditorState;
158
+ onEditorViewStateUpdated: function onEditorViewStateUpdated(_ref7) {
159
+ var originalTransaction = _ref7.originalTransaction,
160
+ transactions = _ref7.transactions,
161
+ newEditorState = _ref7.newEditorState;
155
162
  var pluginState = analyticsPluginKey.getState(newEditorState);
156
163
  if (!pluginState || !pluginState.createAnalyticsEvent) {
157
164
  return;
@@ -172,9 +179,9 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
172
179
  }
173
180
  var createAnalyticsEvent = pluginState.createAnalyticsEvent;
174
181
  var undoAnaltyicsEventTransformer = generateUndoRedoInputSoucePayload(originalTransaction);
175
- steps.forEach(function (_ref7) {
176
- var payload = _ref7.payload,
177
- channel = _ref7.channel;
182
+ steps.forEach(function (_ref8) {
183
+ var payload = _ref8.payload,
184
+ channel = _ref8.channel;
178
185
  var nextPayload = undoAnaltyicsEventTransformer(payload);
179
186
  fireAnalyticsEvent(createAnalyticsEvent)({
180
187
  payload: nextPayload,
@@ -184,10 +191,10 @@ var analyticsPlugin = function analyticsPlugin(options, api) {
184
191
  }
185
192
  };
186
193
  };
187
- export function extendPayload(_ref8) {
188
- var payload = _ref8.payload,
189
- duration = _ref8.duration,
190
- distortedDuration = _ref8.distortedDuration;
194
+ export function extendPayload(_ref9) {
195
+ var payload = _ref9.payload,
196
+ duration = _ref9.duration,
197
+ distortedDuration = _ref9.distortedDuration;
191
198
  return _objectSpread(_objectSpread({}, payload), {}, {
192
199
  attributes: _objectSpread(_objectSpread({}, payload.attributes), {}, {
193
200
  duration: duration,
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
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
+ 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
4
  var getUndoRedoInputSource = function getUndoRedoInputSource(tr) {
5
5
  var _tr$getMeta;
6
6
  // TODO: Please, do not copy or use this kind of code below
@@ -16,6 +16,10 @@ export type AnalyticsPlugin = NextEditorPlugin<'analytics', {
16
16
  dependencies: [FeatureFlagsPlugin];
17
17
  actions: EditorAnalyticsAPI;
18
18
  }>;
19
+ /**
20
+ * Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
21
+ * from `@atlaskit/editor-core`.
22
+ */
19
23
  declare const analyticsPlugin: AnalyticsPlugin;
20
24
  export declare function extendPayload({ payload, duration, distortedDuration, }: {
21
25
  payload: AnalyticsEventPayload;
@@ -18,6 +18,10 @@ export type AnalyticsPlugin = NextEditorPlugin<'analytics', {
18
18
  ];
19
19
  actions: EditorAnalyticsAPI;
20
20
  }>;
21
+ /**
22
+ * Analytics plugin to be added to an `EditorPresetBuilder` and used with `ComposableEditor`
23
+ * from `@atlaskit/editor-core`.
24
+ */
21
25
  declare const analyticsPlugin: AnalyticsPlugin;
22
26
  export declare function extendPayload({ payload, duration, distortedDuration, }: {
23
27
  payload: AnalyticsEventPayload;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-analytics",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Analytics plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -8,7 +8,7 @@
8
8
  "registry": "https://registry.npmjs.org/"
9
9
  },
10
10
  "atlassian": {
11
- "team": "Editor",
11
+ "team": "Editor: Lego",
12
12
  "singleton": true,
13
13
  "releaseModel": "continuous"
14
14
  },
@@ -34,8 +34,8 @@
34
34
  "@atlaskit/adf-schema": "28.1.2",
35
35
  "@atlaskit/analytics-listeners": "^8.6.0",
36
36
  "@atlaskit/analytics-next": "^9.0.0",
37
- "@atlaskit/editor-common": "^74.52.0",
38
- "@atlaskit/editor-plugin-feature-flags": "^0.1.0",
37
+ "@atlaskit/editor-common": "^74.55.0",
38
+ "@atlaskit/editor-plugin-feature-flags": "^0.2.0",
39
39
  "@atlaskit/editor-prosemirror": "1.1.0",
40
40
  "@atlaskit/editor-tables": "^2.2.0",
41
41
  "@babel/runtime": "^7.0.0"
package/report.api.md CHANGED
@@ -37,7 +37,7 @@ export type AnalyticsPlugin = NextEditorPlugin<
37
37
  }
38
38
  >;
39
39
 
40
- // @public (undocumented)
40
+ // @public
41
41
  export const analyticsPlugin: AnalyticsPlugin;
42
42
 
43
43
  // @public (undocumented)
@@ -0,0 +1,46 @@
1
+ ## API Report File for "@atlaskit/editor-plugin-analytics"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
8
+ import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
9
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
10
+ import type { FeatureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
11
+ import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
12
+ import type { PerformanceTracking } from '@atlaskit/editor-common/types';
13
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
14
+
15
+ // @public (undocumented)
16
+ export type AnalyticsPlugin = NextEditorPlugin<'analytics', {
17
+ pluginConfiguration: AnalyticsPluginOptions;
18
+ sharedState: {
19
+ createAnalyticsEvent: CreateUIAnalyticsEvent | null;
20
+ attachAnalyticsEvent: CreateAttachPayloadIntoTransaction | null;
21
+ };
22
+ dependencies: [FeatureFlagsPlugin];
23
+ actions: EditorAnalyticsAPI;
24
+ }>;
25
+
26
+ // @public
27
+ export const analyticsPlugin: AnalyticsPlugin;
28
+
29
+ // @public (undocumented)
30
+ export interface AnalyticsPluginOptions {
31
+ // (undocumented)
32
+ createAnalyticsEvent?: CreateUIAnalyticsEvent;
33
+ // (undocumented)
34
+ performanceTracking?: PerformanceTracking;
35
+ }
36
+
37
+ // @public (undocumented)
38
+ export type CreateAttachPayloadIntoTransaction = (props: {
39
+ payload: AnalyticsEventPayload;
40
+ tr: Transaction;
41
+ channel: string;
42
+ }) => void;
43
+
44
+ // (No @packageDocumentation comment for this package)
45
+
46
+ ```