@atlaskit/editor-plugin-selection-extension 2.2.6 → 2.3.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,23 @@
1
1
  # @atlaskit/editor-plugin-selection-extension
2
2
 
3
+ ## 2.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#150885](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/150885)
8
+ [`59498013981c5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/59498013981c5) -
9
+ Used plugin selector conditionally behind feature flag
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 2.2.7
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies
20
+
3
21
  ## 2.2.6
4
22
 
5
23
  ### Patch Changes
@@ -8,16 +8,35 @@ exports.SelectionExtensionComponentWrapper = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _analytics = require("@atlaskit/editor-common/analytics");
10
10
  var _hooks = require("@atlaskit/editor-common/hooks");
11
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
11
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
13
  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; }
14
+ var useSharedState = (0, _hooks.sharedPluginStateHookMigratorFactory)(function (api) {
15
+ var activeExtension = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'selectionExtension.activeExtension');
16
+ var mode = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'editorViewMode.mode');
17
+ return {
18
+ editorViewModeState: undefined,
19
+ mode: mode,
20
+ activeExtension: activeExtension
21
+ };
22
+ }, function (api) {
23
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['selectionExtension', 'editorViewMode']),
24
+ selectionExtensionState = _useSharedPluginState.selectionExtensionState,
25
+ editorViewModeState = _useSharedPluginState.editorViewModeState;
26
+ return {
27
+ editorViewModeState: editorViewModeState,
28
+ mode: editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode,
29
+ activeExtension: selectionExtensionState === null || selectionExtensionState === void 0 ? void 0 : selectionExtensionState.activeExtension
30
+ };
31
+ });
13
32
  var SelectionExtensionComponentWrapper = exports.SelectionExtensionComponentWrapper = function SelectionExtensionComponentWrapper(_ref) {
14
- var _selectionExtensionSt4;
15
33
  var api = _ref.api,
16
34
  editorAnalyticsAPI = _ref.editorAnalyticsAPI;
17
35
  var componentRef = (0, _react.useRef)();
18
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['selectionExtension', 'editorViewMode']),
19
- selectionExtensionState = _useSharedPluginState.selectionExtensionState,
20
- editorViewModeState = _useSharedPluginState.editorViewModeState;
36
+ var _useSharedState = useSharedState(api),
37
+ editorViewModeState = _useSharedState.editorViewModeState,
38
+ activeExtension = _useSharedState.activeExtension,
39
+ mode = _useSharedState.mode;
21
40
 
22
41
  // Closed from active extension
23
42
  var handleOnClose = (0, _react.useCallback)(function () {
@@ -39,13 +58,11 @@ var SelectionExtensionComponentWrapper = exports.SelectionExtensionComponentWrap
39
58
  if (componentRef.current !== undefined) {
40
59
  handleOnClose();
41
60
  }
42
- }, [handleOnClose, editorViewModeState]);
61
+ }, [handleOnClose, editorViewModeState, mode]);
43
62
 
44
63
  // Viewed analytics event for component mount
45
64
  (0, _react.useEffect)(function () {
46
- var _selectionExtensionSt, _selectionExtensionSt2;
47
- if (componentRef.current !== (selectionExtensionState === null || selectionExtensionState === void 0 || (_selectionExtensionSt = selectionExtensionState.activeExtension) === null || _selectionExtensionSt === void 0 ? void 0 : _selectionExtensionSt.extension.component) && (selectionExtensionState === null || selectionExtensionState === void 0 || (_selectionExtensionSt2 = selectionExtensionState.activeExtension) === null || _selectionExtensionSt2 === void 0 ? void 0 : _selectionExtensionSt2.extension.component) !== undefined) {
48
- var _selectionExtensionSt3;
65
+ if (componentRef.current !== (activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component) && (activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component) !== undefined) {
49
66
  if (editorAnalyticsAPI) {
50
67
  editorAnalyticsAPI.fireAnalyticsEvent({
51
68
  action: _analytics.ACTION.VIEWED,
@@ -55,15 +72,15 @@ var SelectionExtensionComponentWrapper = exports.SelectionExtensionComponentWrap
55
72
  });
56
73
  }
57
74
  // Sets reference to active component
58
- componentRef.current = selectionExtensionState === null || selectionExtensionState === void 0 || (_selectionExtensionSt3 = selectionExtensionState.activeExtension) === null || _selectionExtensionSt3 === void 0 ? void 0 : _selectionExtensionSt3.extension.component;
75
+ componentRef.current = activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component;
59
76
  }
60
- }, [selectionExtensionState, editorAnalyticsAPI]);
61
- if (!(selectionExtensionState !== null && selectionExtensionState !== void 0 && (_selectionExtensionSt4 = selectionExtensionState.activeExtension) !== null && _selectionExtensionSt4 !== void 0 && _selectionExtensionSt4.extension.component)) {
77
+ }, [activeExtension, editorAnalyticsAPI]);
78
+ if (!(activeExtension !== null && activeExtension !== void 0 && activeExtension.extension.component)) {
62
79
  return null;
63
80
  }
64
- var ExtensionComponent = selectionExtensionState.activeExtension.extension.component;
81
+ var ExtensionComponent = activeExtension.extension.component;
65
82
  return /*#__PURE__*/_react.default.createElement(ExtensionComponent, {
66
83
  closeExtension: handleOnClose,
67
- selection: selectionExtensionState.activeExtension.selection
84
+ selection: activeExtension.selection
68
85
  });
69
86
  };
@@ -1,16 +1,36 @@
1
1
  import React, { useCallback, useEffect, useRef } from 'react';
2
2
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
3
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
+ import { useSharedPluginState, sharedPluginStateHookMigratorFactory } from '@atlaskit/editor-common/hooks';
4
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
5
+ const useSharedState = sharedPluginStateHookMigratorFactory(api => {
6
+ const activeExtension = useSharedPluginStateSelector(api, 'selectionExtension.activeExtension');
7
+ const mode = useSharedPluginStateSelector(api, 'editorViewMode.mode');
8
+ return {
9
+ editorViewModeState: undefined,
10
+ mode,
11
+ activeExtension
12
+ };
13
+ }, api => {
14
+ const {
15
+ selectionExtensionState,
16
+ editorViewModeState
17
+ } = useSharedPluginState(api, ['selectionExtension', 'editorViewMode']);
18
+ return {
19
+ editorViewModeState,
20
+ mode: editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode,
21
+ activeExtension: selectionExtensionState === null || selectionExtensionState === void 0 ? void 0 : selectionExtensionState.activeExtension
22
+ };
23
+ });
4
24
  export const SelectionExtensionComponentWrapper = ({
5
25
  api,
6
26
  editorAnalyticsAPI
7
27
  }) => {
8
- var _selectionExtensionSt4;
9
28
  const componentRef = useRef();
10
29
  const {
11
- selectionExtensionState,
12
- editorViewModeState
13
- } = useSharedPluginState(api, ['selectionExtension', 'editorViewMode']);
30
+ editorViewModeState,
31
+ activeExtension,
32
+ mode
33
+ } = useSharedState(api);
14
34
 
15
35
  // Closed from active extension
16
36
  const handleOnClose = useCallback(() => {
@@ -32,13 +52,11 @@ export const SelectionExtensionComponentWrapper = ({
32
52
  if (componentRef.current !== undefined) {
33
53
  handleOnClose();
34
54
  }
35
- }, [handleOnClose, editorViewModeState]);
55
+ }, [handleOnClose, editorViewModeState, mode]);
36
56
 
37
57
  // Viewed analytics event for component mount
38
58
  useEffect(() => {
39
- var _selectionExtensionSt, _selectionExtensionSt2;
40
- if (componentRef.current !== (selectionExtensionState === null || selectionExtensionState === void 0 ? void 0 : (_selectionExtensionSt = selectionExtensionState.activeExtension) === null || _selectionExtensionSt === void 0 ? void 0 : _selectionExtensionSt.extension.component) && (selectionExtensionState === null || selectionExtensionState === void 0 ? void 0 : (_selectionExtensionSt2 = selectionExtensionState.activeExtension) === null || _selectionExtensionSt2 === void 0 ? void 0 : _selectionExtensionSt2.extension.component) !== undefined) {
41
- var _selectionExtensionSt3;
59
+ if (componentRef.current !== (activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component) && (activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component) !== undefined) {
42
60
  if (editorAnalyticsAPI) {
43
61
  editorAnalyticsAPI.fireAnalyticsEvent({
44
62
  action: ACTION.VIEWED,
@@ -48,15 +66,15 @@ export const SelectionExtensionComponentWrapper = ({
48
66
  });
49
67
  }
50
68
  // Sets reference to active component
51
- componentRef.current = selectionExtensionState === null || selectionExtensionState === void 0 ? void 0 : (_selectionExtensionSt3 = selectionExtensionState.activeExtension) === null || _selectionExtensionSt3 === void 0 ? void 0 : _selectionExtensionSt3.extension.component;
69
+ componentRef.current = activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component;
52
70
  }
53
- }, [selectionExtensionState, editorAnalyticsAPI]);
54
- if (!(selectionExtensionState !== null && selectionExtensionState !== void 0 && (_selectionExtensionSt4 = selectionExtensionState.activeExtension) !== null && _selectionExtensionSt4 !== void 0 && _selectionExtensionSt4.extension.component)) {
71
+ }, [activeExtension, editorAnalyticsAPI]);
72
+ if (!(activeExtension !== null && activeExtension !== void 0 && activeExtension.extension.component)) {
55
73
  return null;
56
74
  }
57
- const ExtensionComponent = selectionExtensionState.activeExtension.extension.component;
75
+ const ExtensionComponent = activeExtension.extension.component;
58
76
  return /*#__PURE__*/React.createElement(ExtensionComponent, {
59
77
  closeExtension: handleOnClose,
60
- selection: selectionExtensionState.activeExtension.selection
78
+ selection: activeExtension.selection
61
79
  });
62
80
  };
@@ -1,14 +1,33 @@
1
1
  import React, { useCallback, useEffect, useRef } from 'react';
2
2
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
3
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
+ import { useSharedPluginState, sharedPluginStateHookMigratorFactory } from '@atlaskit/editor-common/hooks';
4
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
5
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
6
+ var activeExtension = useSharedPluginStateSelector(api, 'selectionExtension.activeExtension');
7
+ var mode = useSharedPluginStateSelector(api, 'editorViewMode.mode');
8
+ return {
9
+ editorViewModeState: undefined,
10
+ mode: mode,
11
+ activeExtension: activeExtension
12
+ };
13
+ }, function (api) {
14
+ var _useSharedPluginState = useSharedPluginState(api, ['selectionExtension', 'editorViewMode']),
15
+ selectionExtensionState = _useSharedPluginState.selectionExtensionState,
16
+ editorViewModeState = _useSharedPluginState.editorViewModeState;
17
+ return {
18
+ editorViewModeState: editorViewModeState,
19
+ mode: editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode,
20
+ activeExtension: selectionExtensionState === null || selectionExtensionState === void 0 ? void 0 : selectionExtensionState.activeExtension
21
+ };
22
+ });
4
23
  export var SelectionExtensionComponentWrapper = function SelectionExtensionComponentWrapper(_ref) {
5
- var _selectionExtensionSt4;
6
24
  var api = _ref.api,
7
25
  editorAnalyticsAPI = _ref.editorAnalyticsAPI;
8
26
  var componentRef = useRef();
9
- var _useSharedPluginState = useSharedPluginState(api, ['selectionExtension', 'editorViewMode']),
10
- selectionExtensionState = _useSharedPluginState.selectionExtensionState,
11
- editorViewModeState = _useSharedPluginState.editorViewModeState;
27
+ var _useSharedState = useSharedState(api),
28
+ editorViewModeState = _useSharedState.editorViewModeState,
29
+ activeExtension = _useSharedState.activeExtension,
30
+ mode = _useSharedState.mode;
12
31
 
13
32
  // Closed from active extension
14
33
  var handleOnClose = useCallback(function () {
@@ -30,13 +49,11 @@ export var SelectionExtensionComponentWrapper = function SelectionExtensionCompo
30
49
  if (componentRef.current !== undefined) {
31
50
  handleOnClose();
32
51
  }
33
- }, [handleOnClose, editorViewModeState]);
52
+ }, [handleOnClose, editorViewModeState, mode]);
34
53
 
35
54
  // Viewed analytics event for component mount
36
55
  useEffect(function () {
37
- var _selectionExtensionSt, _selectionExtensionSt2;
38
- if (componentRef.current !== (selectionExtensionState === null || selectionExtensionState === void 0 || (_selectionExtensionSt = selectionExtensionState.activeExtension) === null || _selectionExtensionSt === void 0 ? void 0 : _selectionExtensionSt.extension.component) && (selectionExtensionState === null || selectionExtensionState === void 0 || (_selectionExtensionSt2 = selectionExtensionState.activeExtension) === null || _selectionExtensionSt2 === void 0 ? void 0 : _selectionExtensionSt2.extension.component) !== undefined) {
39
- var _selectionExtensionSt3;
56
+ if (componentRef.current !== (activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component) && (activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component) !== undefined) {
40
57
  if (editorAnalyticsAPI) {
41
58
  editorAnalyticsAPI.fireAnalyticsEvent({
42
59
  action: ACTION.VIEWED,
@@ -46,15 +63,15 @@ export var SelectionExtensionComponentWrapper = function SelectionExtensionCompo
46
63
  });
47
64
  }
48
65
  // Sets reference to active component
49
- componentRef.current = selectionExtensionState === null || selectionExtensionState === void 0 || (_selectionExtensionSt3 = selectionExtensionState.activeExtension) === null || _selectionExtensionSt3 === void 0 ? void 0 : _selectionExtensionSt3.extension.component;
66
+ componentRef.current = activeExtension === null || activeExtension === void 0 ? void 0 : activeExtension.extension.component;
50
67
  }
51
- }, [selectionExtensionState, editorAnalyticsAPI]);
52
- if (!(selectionExtensionState !== null && selectionExtensionState !== void 0 && (_selectionExtensionSt4 = selectionExtensionState.activeExtension) !== null && _selectionExtensionSt4 !== void 0 && _selectionExtensionSt4.extension.component)) {
68
+ }, [activeExtension, editorAnalyticsAPI]);
69
+ if (!(activeExtension !== null && activeExtension !== void 0 && activeExtension.extension.component)) {
53
70
  return null;
54
71
  }
55
- var ExtensionComponent = selectionExtensionState.activeExtension.extension.component;
72
+ var ExtensionComponent = activeExtension.extension.component;
56
73
  return /*#__PURE__*/React.createElement(ExtensionComponent, {
57
74
  closeExtension: handleOnClose,
58
- selection: selectionExtensionState.activeExtension.selection
75
+ selection: activeExtension.selection
59
76
  });
60
77
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { type MenuItem } from '@atlaskit/editor-common/ui-menu';
3
- import type { ContentMode, ViewMode } from '@atlaskit/editor-plugin-editor-viewmode';
3
+ import type { ViewMode } from '@atlaskit/editor-plugin-editor-viewmode';
4
4
  export type MenuItemsType = Array<{
5
5
  items: MenuItem[];
6
6
  }>;
@@ -36,7 +36,7 @@ export type SelectionExtensions = {
36
36
  firstParty?: SelectionExtension[];
37
37
  external?: SelectionExtension[];
38
38
  };
39
- type SelectionExtensionModes = ViewMode | ContentMode;
39
+ type SelectionExtensionModes = ViewMode;
40
40
  export type SelectionExtensionPluginOptions = {
41
41
  pageModes?: SelectionExtensionModes | SelectionExtensionModes[];
42
42
  extensions?: SelectionExtensions;
@@ -4,7 +4,7 @@ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
4
4
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
5
5
  import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
6
6
  type SelectionExtensionComponentWrapperProps = {
7
- api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined | null;
8
8
  editorView: EditorView;
9
9
  editorAnalyticsAPI?: EditorAnalyticsAPI;
10
10
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { type MenuItem } from '@atlaskit/editor-common/ui-menu';
3
- import type { ContentMode, ViewMode } from '@atlaskit/editor-plugin-editor-viewmode';
3
+ import type { ViewMode } from '@atlaskit/editor-plugin-editor-viewmode';
4
4
  export type MenuItemsType = Array<{
5
5
  items: MenuItem[];
6
6
  }>;
@@ -36,7 +36,7 @@ export type SelectionExtensions = {
36
36
  firstParty?: SelectionExtension[];
37
37
  external?: SelectionExtension[];
38
38
  };
39
- type SelectionExtensionModes = ViewMode | ContentMode;
39
+ type SelectionExtensionModes = ViewMode;
40
40
  export type SelectionExtensionPluginOptions = {
41
41
  pageModes?: SelectionExtensionModes | SelectionExtensionModes[];
42
42
  extensions?: SelectionExtensions;
@@ -4,7 +4,7 @@ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
4
4
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
5
5
  import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
6
6
  type SelectionExtensionComponentWrapperProps = {
7
- api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined | null;
8
8
  editorView: EditorView;
9
9
  editorAnalyticsAPI?: EditorAnalyticsAPI;
10
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-selection-extension",
3
- "version": "2.2.6",
3
+ "version": "2.3.0",
4
4
  "description": "editor-plugin-selection-extension plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -36,15 +36,15 @@
36
36
  ".": "./src/index.ts"
37
37
  },
38
38
  "dependencies": {
39
- "@atlaskit/editor-common": "^105.6.0",
39
+ "@atlaskit/editor-common": "^105.11.0",
40
40
  "@atlaskit/editor-plugin-analytics": "^2.3.0",
41
- "@atlaskit/editor-plugin-editor-viewmode": "^3.1.0",
41
+ "@atlaskit/editor-plugin-editor-viewmode": "^4.0.0",
42
42
  "@atlaskit/editor-plugin-selection-toolbar": "^3.6.0",
43
43
  "@atlaskit/editor-prosemirror": "7.0.0",
44
- "@atlaskit/icon": "^26.1.0",
44
+ "@atlaskit/icon": "^26.4.0",
45
45
  "@atlaskit/platform-feature-flags": "^1.1.0",
46
46
  "@atlaskit/primitives": "^14.8.0",
47
- "@atlaskit/tmp-editor-statsig": "^4.22.0",
47
+ "@atlaskit/tmp-editor-statsig": "^5.2.0",
48
48
  "@babel/runtime": "^7.0.0",
49
49
  "react-intl-next": "npm:react-intl@^5.18.1",
50
50
  "uuid": "^3.1.0"