@atlaskit/editor-plugin-synced-block 4.8.1 → 4.8.2

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,13 @@
1
1
  # @atlaskit/editor-plugin-synced-block
2
2
 
3
+ ## 4.8.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`98568bfc82648`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/98568bfc82648) -
8
+ EDITOR-3594 Synced Block creation to be prop driven
9
+ - Updated dependencies
10
+
3
11
  ## 4.8.1
4
12
 
5
13
  ### Patch Changes
@@ -21,12 +21,12 @@ var _floatingToolbar = require("./ui/floating-toolbar");
21
21
  var _SyncBlockRefresher = require("./ui/SyncBlockRefresher");
22
22
  var _toolbarComponents = require("./ui/toolbar-components");
23
23
  var syncedBlockPlugin = exports.syncedBlockPlugin = function syncedBlockPlugin(_ref) {
24
- var _api$analytics, _api$blockMenu, _api$toolbar;
24
+ var _api$analytics, _api$blockMenu, _config$enableSourceC, _api$toolbar, _config$enableSourceC2;
25
25
  var config = _ref.config,
26
26
  api = _ref.api;
27
27
  var syncBlockStore = new _editorSyncedBlockProvider.SyncBlockStoreManager(config === null || config === void 0 ? void 0 : config.syncBlockDataProvider, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 ? void 0 : _api$analytics.fireAnalyticsEvent);
28
- api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuComponents((0, _blockMenuComponents.getBlockMenuComponents)(api));
29
- api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents((0, _toolbarComponents.getToolbarComponents)(api));
28
+ api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuComponents((0, _blockMenuComponents.getBlockMenuComponents)(api, (_config$enableSourceC = config === null || config === void 0 ? void 0 : config.enableSourceCreation) !== null && _config$enableSourceC !== void 0 ? _config$enableSourceC : false));
29
+ api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents((0, _toolbarComponents.getToolbarComponents)(api, (_config$enableSourceC2 = config === null || config === void 0 ? void 0 : config.enableSourceCreation) !== null && _config$enableSourceC2 !== void 0 ? _config$enableSourceC2 : false));
30
30
  return {
31
31
  name: 'syncedBlock',
32
32
  nodes: function nodes() {
@@ -53,6 +53,9 @@ var syncedBlockPlugin = exports.syncedBlockPlugin = function syncedBlockPlugin(_
53
53
  insertSyncedBlock: function insertSyncedBlock() {
54
54
  return function (_ref2) {
55
55
  var tr = _ref2.tr;
56
+ if (!(config !== null && config !== void 0 && config.enableSourceCreation)) {
57
+ return null;
58
+ }
56
59
  return (0, _editorCommands.createSyncedBlock)({
57
60
  tr: tr,
58
61
  syncBlockStore: syncBlockStore
@@ -71,6 +74,9 @@ var syncedBlockPlugin = exports.syncedBlockPlugin = function syncedBlockPlugin(_
71
74
  pluginsOptions: {
72
75
  quickInsert: function quickInsert(_ref3) {
73
76
  var formatMessage = _ref3.formatMessage;
77
+ if (!(config !== null && config !== void 0 && config.enableSourceCreation)) {
78
+ return [];
79
+ }
74
80
  return [{
75
81
  id: 'syncBlock',
76
82
  title: formatMessage(_messages.blockTypeMessages.syncedBlock),
@@ -86,7 +86,8 @@ var CopySyncedBlockDropdownItem = function CopySyncedBlockDropdownItem(_ref2) {
86
86
  }, formatMessage(_messages.blockMenuMessages.copySyncedBlock));
87
87
  };
88
88
  var CreateOrCopySyncedBlockDropdownItem = exports.CreateOrCopySyncedBlockDropdownItem = function CreateOrCopySyncedBlockDropdownItem(_ref3) {
89
- var api = _ref3.api;
89
+ var api = _ref3.api,
90
+ enableSourceSyncedBlockCreation = _ref3.enableSourceSyncedBlockCreation;
90
91
  var _useSharedPluginState3 = (0, _hooks.useSharedPluginStateWithSelector)(api, ['blockControls'], function (states) {
91
92
  var _states$blockControls3, _states$blockControls4;
92
93
  return {
@@ -98,9 +99,11 @@ var CreateOrCopySyncedBlockDropdownItem = exports.CreateOrCopySyncedBlockDropdow
98
99
  return /*#__PURE__*/_react.default.createElement(CopySyncedBlockDropdownItem, {
99
100
  api: api
100
101
  });
101
- } else {
102
+ } else if (enableSourceSyncedBlockCreation) {
102
103
  return /*#__PURE__*/_react.default.createElement(CreateSyncedBlockDropdownItem, {
103
104
  api: api
104
105
  });
106
+ } else {
107
+ return null;
105
108
  }
106
109
  };
@@ -8,7 +8,7 @@ exports.getBlockMenuComponents = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _blockMenu = require("@atlaskit/editor-common/block-menu");
10
10
  var _CreateSyncedBlockDropdownItem = require("./CreateSyncedBlockDropdownItem");
11
- var getBlockMenuComponents = exports.getBlockMenuComponents = function getBlockMenuComponents(api) {
11
+ var getBlockMenuComponents = exports.getBlockMenuComponents = function getBlockMenuComponents(api, enableSourceSyncedBlockCreation) {
12
12
  return [{
13
13
  type: 'block-menu-item',
14
14
  key: _blockMenu.BLOCK_ACTIONS_CREATE_SYNCED_BLOCK_MENU_ITEM.key,
@@ -19,7 +19,8 @@ var getBlockMenuComponents = exports.getBlockMenuComponents = function getBlockM
19
19
  },
20
20
  component: function component() {
21
21
  return /*#__PURE__*/_react.default.createElement(_CreateSyncedBlockDropdownItem.CreateOrCopySyncedBlockDropdownItem, {
22
- api: api
22
+ api: api,
23
+ enableSourceSyncedBlockCreation: enableSourceSyncedBlockCreation
23
24
  });
24
25
  }
25
26
  }];
@@ -25,7 +25,10 @@ var SYNCED_BLOCK_PRIMARY_TOOLBAR_GROUP = {
25
25
  rank: _toolbar.INSERT_BLOCK_SECTION_RANK[_toolbar.SYNCED_BLOCK_GROUP.key]
26
26
  }]
27
27
  };
28
- var getToolbarComponents = exports.getToolbarComponents = function getToolbarComponents(api) {
28
+ var getToolbarComponents = exports.getToolbarComponents = function getToolbarComponents(api, enableSourceSyncedBlockCreation) {
29
+ if (!enableSourceSyncedBlockCreation) {
30
+ return [];
31
+ }
29
32
  return [SYNCED_BLOCK_PRIMARY_TOOLBAR_GROUP, {
30
33
  type: _toolbar.SYNCED_BLOCK_BUTTON.type,
31
34
  key: _toolbar.SYNCED_BLOCK_BUTTON.key,
@@ -17,10 +17,10 @@ export const syncedBlockPlugin = ({
17
17
  config,
18
18
  api
19
19
  }) => {
20
- var _api$analytics, _api$analytics$action, _api$blockMenu, _api$toolbar;
20
+ var _api$analytics, _api$analytics$action, _api$blockMenu, _config$enableSourceC, _api$toolbar, _config$enableSourceC2;
21
21
  const syncBlockStore = new SyncBlockStoreManager(config === null || config === void 0 ? void 0 : config.syncBlockDataProvider, api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : (_api$analytics$action = _api$analytics.actions) === null || _api$analytics$action === void 0 ? void 0 : _api$analytics$action.fireAnalyticsEvent);
22
- api === null || api === void 0 ? void 0 : (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 ? void 0 : _api$blockMenu.actions.registerBlockMenuComponents(getBlockMenuComponents(api));
23
- api === null || api === void 0 ? void 0 : (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 ? void 0 : _api$toolbar.actions.registerComponents(getToolbarComponents(api));
22
+ api === null || api === void 0 ? void 0 : (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 ? void 0 : _api$blockMenu.actions.registerBlockMenuComponents(getBlockMenuComponents(api, (_config$enableSourceC = config === null || config === void 0 ? void 0 : config.enableSourceCreation) !== null && _config$enableSourceC !== void 0 ? _config$enableSourceC : false));
23
+ api === null || api === void 0 ? void 0 : (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 ? void 0 : _api$toolbar.actions.registerComponents(getToolbarComponents(api, (_config$enableSourceC2 = config === null || config === void 0 ? void 0 : config.enableSourceCreation) !== null && _config$enableSourceC2 !== void 0 ? _config$enableSourceC2 : false));
24
24
  return {
25
25
  name: 'syncedBlock',
26
26
  nodes() {
@@ -42,10 +42,15 @@ export const syncedBlockPlugin = ({
42
42
  copySyncedBlockReferenceToClipboard: () => copySyncedBlockReferenceToClipboardEditorCommand(syncBlockStore, api),
43
43
  insertSyncedBlock: () => ({
44
44
  tr
45
- }) => createSyncedBlock({
46
- tr,
47
- syncBlockStore
48
- }) || null
45
+ }) => {
46
+ if (!(config !== null && config !== void 0 && config.enableSourceCreation)) {
47
+ return null;
48
+ }
49
+ return createSyncedBlock({
50
+ tr,
51
+ syncBlockStore
52
+ }) || null;
53
+ }
49
54
  },
50
55
  actions: {
51
56
  flushBodiedSyncBlocks: () => {
@@ -58,28 +63,33 @@ export const syncedBlockPlugin = ({
58
63
  pluginsOptions: {
59
64
  quickInsert: ({
60
65
  formatMessage
61
- }) => [{
62
- id: 'syncBlock',
63
- title: formatMessage(blockTypeMessages.syncedBlock),
64
- description: formatMessage(blockTypeMessages.syncedBlockDescription),
65
- priority: 800,
66
- keywords: ['synced', 'block', 'synced-block', 'sync', 'sync-block', 'auto', 'update', 'excerpt', 'connect'],
67
- isDisabledOffline: true,
68
- keyshortcut: '',
69
- lozenge: /*#__PURE__*/React.createElement(Lozenge, {
70
- appearance: "new"
71
- }, formatMessage(blockTypeMessages.newLozenge)),
72
- icon: () => /*#__PURE__*/React.createElement(IconSyncBlock, {
73
- label: formatMessage(blockTypeMessages.syncedBlock)
74
- }),
75
- action: (insert, state) => {
76
- return createSyncedBlock({
77
- tr: state.tr,
78
- syncBlockStore,
79
- typeAheadInsert: insert
80
- });
66
+ }) => {
67
+ if (!(config !== null && config !== void 0 && config.enableSourceCreation)) {
68
+ return [];
81
69
  }
82
- }],
70
+ return [{
71
+ id: 'syncBlock',
72
+ title: formatMessage(blockTypeMessages.syncedBlock),
73
+ description: formatMessage(blockTypeMessages.syncedBlockDescription),
74
+ priority: 800,
75
+ keywords: ['synced', 'block', 'synced-block', 'sync', 'sync-block', 'auto', 'update', 'excerpt', 'connect'],
76
+ isDisabledOffline: true,
77
+ keyshortcut: '',
78
+ lozenge: /*#__PURE__*/React.createElement(Lozenge, {
79
+ appearance: "new"
80
+ }, formatMessage(blockTypeMessages.newLozenge)),
81
+ icon: () => /*#__PURE__*/React.createElement(IconSyncBlock, {
82
+ label: formatMessage(blockTypeMessages.syncedBlock)
83
+ }),
84
+ action: (insert, state) => {
85
+ return createSyncedBlock({
86
+ tr: state.tr,
87
+ syncBlockStore,
88
+ typeAheadInsert: insert
89
+ });
90
+ }
91
+ }];
92
+ },
83
93
  floatingToolbar: (state, intl) => getToolbarConfig(state, intl, api, syncBlockStore)
84
94
  },
85
95
  contentComponent: () => {
@@ -81,7 +81,8 @@ const CopySyncedBlockDropdownItem = ({
81
81
  }, formatMessage(blockMenuMessages.copySyncedBlock));
82
82
  };
83
83
  export const CreateOrCopySyncedBlockDropdownItem = ({
84
- api
84
+ api,
85
+ enableSourceSyncedBlockCreation
85
86
  }) => {
86
87
  const {
87
88
  menuTriggerByNode
@@ -95,9 +96,11 @@ export const CreateOrCopySyncedBlockDropdownItem = ({
95
96
  return /*#__PURE__*/React.createElement(CopySyncedBlockDropdownItem, {
96
97
  api: api
97
98
  });
98
- } else {
99
+ } else if (enableSourceSyncedBlockCreation) {
99
100
  return /*#__PURE__*/React.createElement(CreateSyncedBlockDropdownItem, {
100
101
  api: api
101
102
  });
103
+ } else {
104
+ return null;
102
105
  }
103
106
  };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { BLOCK_ACTIONS_MENU_SECTION, BLOCK_ACTIONS_MENU_SECTION_RANK, BLOCK_ACTIONS_CREATE_SYNCED_BLOCK_MENU_ITEM } from '@atlaskit/editor-common/block-menu';
3
3
  import { CreateOrCopySyncedBlockDropdownItem } from './CreateSyncedBlockDropdownItem';
4
- export const getBlockMenuComponents = api => {
4
+ export const getBlockMenuComponents = (api, enableSourceSyncedBlockCreation) => {
5
5
  return [{
6
6
  type: 'block-menu-item',
7
7
  key: BLOCK_ACTIONS_CREATE_SYNCED_BLOCK_MENU_ITEM.key,
@@ -11,7 +11,8 @@ export const getBlockMenuComponents = api => {
11
11
  rank: BLOCK_ACTIONS_MENU_SECTION_RANK[BLOCK_ACTIONS_CREATE_SYNCED_BLOCK_MENU_ITEM.key]
12
12
  },
13
13
  component: () => /*#__PURE__*/React.createElement(CreateOrCopySyncedBlockDropdownItem, {
14
- api: api
14
+ api: api,
15
+ enableSourceSyncedBlockCreation: enableSourceSyncedBlockCreation
15
16
  })
16
17
  }];
17
18
  };
@@ -17,7 +17,10 @@ const SYNCED_BLOCK_PRIMARY_TOOLBAR_GROUP = {
17
17
  rank: INSERT_BLOCK_SECTION_RANK[SYNCED_BLOCK_GROUP.key]
18
18
  }]
19
19
  };
20
- export const getToolbarComponents = api => {
20
+ export const getToolbarComponents = (api, enableSourceSyncedBlockCreation) => {
21
+ if (!enableSourceSyncedBlockCreation) {
22
+ return [];
23
+ }
21
24
  return [SYNCED_BLOCK_PRIMARY_TOOLBAR_GROUP, {
22
25
  type: SYNCED_BLOCK_BUTTON.type,
23
26
  key: SYNCED_BLOCK_BUTTON.key,
@@ -14,12 +14,12 @@ import { getToolbarConfig } from './ui/floating-toolbar';
14
14
  import { SyncBlockRefresher } from './ui/SyncBlockRefresher';
15
15
  import { getToolbarComponents } from './ui/toolbar-components';
16
16
  export var syncedBlockPlugin = function syncedBlockPlugin(_ref) {
17
- var _api$analytics, _api$blockMenu, _api$toolbar;
17
+ var _api$analytics, _api$blockMenu, _config$enableSourceC, _api$toolbar, _config$enableSourceC2;
18
18
  var config = _ref.config,
19
19
  api = _ref.api;
20
20
  var syncBlockStore = new SyncBlockStoreManager(config === null || config === void 0 ? void 0 : config.syncBlockDataProvider, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 ? void 0 : _api$analytics.fireAnalyticsEvent);
21
- api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuComponents(getBlockMenuComponents(api));
22
- api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents(getToolbarComponents(api));
21
+ api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuComponents(getBlockMenuComponents(api, (_config$enableSourceC = config === null || config === void 0 ? void 0 : config.enableSourceCreation) !== null && _config$enableSourceC !== void 0 ? _config$enableSourceC : false));
22
+ api === null || api === void 0 || (_api$toolbar = api.toolbar) === null || _api$toolbar === void 0 || _api$toolbar.actions.registerComponents(getToolbarComponents(api, (_config$enableSourceC2 = config === null || config === void 0 ? void 0 : config.enableSourceCreation) !== null && _config$enableSourceC2 !== void 0 ? _config$enableSourceC2 : false));
23
23
  return {
24
24
  name: 'syncedBlock',
25
25
  nodes: function nodes() {
@@ -46,6 +46,9 @@ export var syncedBlockPlugin = function syncedBlockPlugin(_ref) {
46
46
  insertSyncedBlock: function insertSyncedBlock() {
47
47
  return function (_ref2) {
48
48
  var tr = _ref2.tr;
49
+ if (!(config !== null && config !== void 0 && config.enableSourceCreation)) {
50
+ return null;
51
+ }
49
52
  return createSyncedBlock({
50
53
  tr: tr,
51
54
  syncBlockStore: syncBlockStore
@@ -64,6 +67,9 @@ export var syncedBlockPlugin = function syncedBlockPlugin(_ref) {
64
67
  pluginsOptions: {
65
68
  quickInsert: function quickInsert(_ref3) {
66
69
  var formatMessage = _ref3.formatMessage;
70
+ if (!(config !== null && config !== void 0 && config.enableSourceCreation)) {
71
+ return [];
72
+ }
67
73
  return [{
68
74
  id: 'syncBlock',
69
75
  title: formatMessage(blockTypeMessages.syncedBlock),
@@ -77,7 +77,8 @@ var CopySyncedBlockDropdownItem = function CopySyncedBlockDropdownItem(_ref2) {
77
77
  }, formatMessage(blockMenuMessages.copySyncedBlock));
78
78
  };
79
79
  export var CreateOrCopySyncedBlockDropdownItem = function CreateOrCopySyncedBlockDropdownItem(_ref3) {
80
- var api = _ref3.api;
80
+ var api = _ref3.api,
81
+ enableSourceSyncedBlockCreation = _ref3.enableSourceSyncedBlockCreation;
81
82
  var _useSharedPluginState3 = useSharedPluginStateWithSelector(api, ['blockControls'], function (states) {
82
83
  var _states$blockControls3, _states$blockControls4;
83
84
  return {
@@ -89,9 +90,11 @@ export var CreateOrCopySyncedBlockDropdownItem = function CreateOrCopySyncedBloc
89
90
  return /*#__PURE__*/React.createElement(CopySyncedBlockDropdownItem, {
90
91
  api: api
91
92
  });
92
- } else {
93
+ } else if (enableSourceSyncedBlockCreation) {
93
94
  return /*#__PURE__*/React.createElement(CreateSyncedBlockDropdownItem, {
94
95
  api: api
95
96
  });
97
+ } else {
98
+ return null;
96
99
  }
97
100
  };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { BLOCK_ACTIONS_MENU_SECTION, BLOCK_ACTIONS_MENU_SECTION_RANK, BLOCK_ACTIONS_CREATE_SYNCED_BLOCK_MENU_ITEM } from '@atlaskit/editor-common/block-menu';
3
3
  import { CreateOrCopySyncedBlockDropdownItem } from './CreateSyncedBlockDropdownItem';
4
- export var getBlockMenuComponents = function getBlockMenuComponents(api) {
4
+ export var getBlockMenuComponents = function getBlockMenuComponents(api, enableSourceSyncedBlockCreation) {
5
5
  return [{
6
6
  type: 'block-menu-item',
7
7
  key: BLOCK_ACTIONS_CREATE_SYNCED_BLOCK_MENU_ITEM.key,
@@ -12,7 +12,8 @@ export var getBlockMenuComponents = function getBlockMenuComponents(api) {
12
12
  },
13
13
  component: function component() {
14
14
  return /*#__PURE__*/React.createElement(CreateOrCopySyncedBlockDropdownItem, {
15
- api: api
15
+ api: api,
16
+ enableSourceSyncedBlockCreation: enableSourceSyncedBlockCreation
16
17
  });
17
18
  }
18
19
  }];
@@ -18,7 +18,10 @@ var SYNCED_BLOCK_PRIMARY_TOOLBAR_GROUP = {
18
18
  rank: INSERT_BLOCK_SECTION_RANK[SYNCED_BLOCK_GROUP.key]
19
19
  }]
20
20
  };
21
- export var getToolbarComponents = function getToolbarComponents(api) {
21
+ export var getToolbarComponents = function getToolbarComponents(api, enableSourceSyncedBlockCreation) {
22
+ if (!enableSourceSyncedBlockCreation) {
23
+ return [];
24
+ }
22
25
  return [SYNCED_BLOCK_PRIMARY_TOOLBAR_GROUP, {
23
26
  type: SYNCED_BLOCK_BUTTON.type,
24
27
  key: SYNCED_BLOCK_BUTTON.key,
@@ -40,6 +40,7 @@ export type SyncedBlockRendererProps = {
40
40
  useFetchSyncBlockData: () => UseFetchSyncBlockDataResult;
41
41
  };
42
42
  export interface SyncedBlockPluginOptions extends LongPressSelectionPluginOptions {
43
+ enableSourceCreation?: boolean;
43
44
  syncBlockDataProvider: SyncBlockDataProvider;
44
45
  syncedBlockRenderer: (props: SyncedBlockRendererProps) => React.JSX.Element;
45
46
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import type { SyncedBlockPlugin } from '../syncedBlockPluginType';
4
- export declare const CreateOrCopySyncedBlockDropdownItem: ({ api, }: {
4
+ export declare const CreateOrCopySyncedBlockDropdownItem: ({ api, enableSourceSyncedBlockCreation, }: {
5
5
  api: ExtractInjectionAPI<SyncedBlockPlugin> | undefined;
6
- }) => React.JSX.Element;
6
+ enableSourceSyncedBlockCreation: boolean;
7
+ }) => React.JSX.Element | null;
@@ -1,4 +1,4 @@
1
1
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
2
  import type { RegisterBlockMenuComponent } from '@atlaskit/editor-plugin-block-menu';
3
3
  import type { SyncedBlockPlugin } from '../syncedBlockPluginType';
4
- export declare const getBlockMenuComponents: (api: ExtractInjectionAPI<SyncedBlockPlugin> | undefined) => RegisterBlockMenuComponent[];
4
+ export declare const getBlockMenuComponents: (api: ExtractInjectionAPI<SyncedBlockPlugin> | undefined, enableSourceSyncedBlockCreation: boolean) => RegisterBlockMenuComponent[];
@@ -1,4 +1,4 @@
1
1
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
2
  import type { RegisterComponent } from '@atlaskit/editor-toolbar-model';
3
3
  import type { SyncedBlockPlugin } from '../syncedBlockPluginType';
4
- export declare const getToolbarComponents: (api?: ExtractInjectionAPI<SyncedBlockPlugin>) => RegisterComponent[];
4
+ export declare const getToolbarComponents: (api?: ExtractInjectionAPI<SyncedBlockPlugin>, enableSourceSyncedBlockCreation?: boolean) => RegisterComponent[];
@@ -40,6 +40,7 @@ export type SyncedBlockRendererProps = {
40
40
  useFetchSyncBlockData: () => UseFetchSyncBlockDataResult;
41
41
  };
42
42
  export interface SyncedBlockPluginOptions extends LongPressSelectionPluginOptions {
43
+ enableSourceCreation?: boolean;
43
44
  syncBlockDataProvider: SyncBlockDataProvider;
44
45
  syncedBlockRenderer: (props: SyncedBlockRendererProps) => React.JSX.Element;
45
46
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import type { SyncedBlockPlugin } from '../syncedBlockPluginType';
4
- export declare const CreateOrCopySyncedBlockDropdownItem: ({ api, }: {
4
+ export declare const CreateOrCopySyncedBlockDropdownItem: ({ api, enableSourceSyncedBlockCreation, }: {
5
5
  api: ExtractInjectionAPI<SyncedBlockPlugin> | undefined;
6
- }) => React.JSX.Element;
6
+ enableSourceSyncedBlockCreation: boolean;
7
+ }) => React.JSX.Element | null;
@@ -1,4 +1,4 @@
1
1
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
2
  import type { RegisterBlockMenuComponent } from '@atlaskit/editor-plugin-block-menu';
3
3
  import type { SyncedBlockPlugin } from '../syncedBlockPluginType';
4
- export declare const getBlockMenuComponents: (api: ExtractInjectionAPI<SyncedBlockPlugin> | undefined) => RegisterBlockMenuComponent[];
4
+ export declare const getBlockMenuComponents: (api: ExtractInjectionAPI<SyncedBlockPlugin> | undefined, enableSourceSyncedBlockCreation: boolean) => RegisterBlockMenuComponent[];
@@ -1,4 +1,4 @@
1
1
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
2
  import type { RegisterComponent } from '@atlaskit/editor-toolbar-model';
3
3
  import type { SyncedBlockPlugin } from '../syncedBlockPluginType';
4
- export declare const getToolbarComponents: (api?: ExtractInjectionAPI<SyncedBlockPlugin>) => RegisterComponent[];
4
+ export declare const getToolbarComponents: (api?: ExtractInjectionAPI<SyncedBlockPlugin>, enableSourceSyncedBlockCreation?: boolean) => RegisterComponent[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-synced-block",
3
- "version": "4.8.1",
3
+ "version": "4.8.2",
4
4
  "description": "SyncedBlock plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -48,7 +48,7 @@
48
48
  "@atlaskit/lozenge": "^13.3.0",
49
49
  "@atlaskit/modal-dialog": "^14.9.0",
50
50
  "@atlaskit/primitives": "^17.0.0",
51
- "@atlaskit/tmp-editor-statsig": "^16.2.0",
51
+ "@atlaskit/tmp-editor-statsig": "^16.3.0",
52
52
  "@atlaskit/tokens": "9.0.0",
53
53
  "@atlaskit/tooltip": "^20.11.0",
54
54
  "@atlaskit/visually-hidden": "^3.0.0",
@@ -56,7 +56,7 @@
56
56
  "react-intl-next": "npm:react-intl@^5.18.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "@atlaskit/editor-common": "^110.49.0",
59
+ "@atlaskit/editor-common": "^110.50.0",
60
60
  "react": "^18.2.0"
61
61
  },
62
62
  "devDependencies": {