@atlaskit/editor-core 196.0.0 → 197.0.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/composable-editor/editor-internal.js +7 -2
  3. package/dist/cjs/composable-editor/hooks/useProviders.js +8 -1
  4. package/dist/cjs/composable-editor/utils/handleProviders.js +2 -1
  5. package/dist/cjs/create-editor/get-ui-component.js +0 -3
  6. package/dist/cjs/create-editor/preset-utils.js +1 -2
  7. package/dist/cjs/version-wrapper.js +1 -1
  8. package/dist/es2019/composable-editor/editor-internal.js +7 -2
  9. package/dist/es2019/composable-editor/hooks/useProviders.js +8 -1
  10. package/dist/es2019/composable-editor/utils/handleProviders.js +3 -1
  11. package/dist/es2019/create-editor/get-ui-component.js +0 -3
  12. package/dist/es2019/create-editor/preset-utils.js +1 -2
  13. package/dist/es2019/version-wrapper.js +1 -1
  14. package/dist/esm/composable-editor/editor-internal.js +7 -2
  15. package/dist/esm/composable-editor/hooks/useProviders.js +8 -1
  16. package/dist/esm/composable-editor/utils/handleProviders.js +3 -1
  17. package/dist/esm/create-editor/get-ui-component.js +0 -3
  18. package/dist/esm/create-editor/preset-utils.js +1 -2
  19. package/dist/esm/version-wrapper.js +1 -1
  20. package/dist/types/composable-editor/hooks/useProviders.d.ts +3 -2
  21. package/dist/types-ts4.5/composable-editor/hooks/useProviders.d.ts +3 -2
  22. package/package.json +9 -10
  23. package/dist/cjs/ui/Appearance/Mobile.js +0 -52
  24. package/dist/cjs/ui/AppearanceComponents/Mobile.js +0 -110
  25. package/dist/es2019/ui/Appearance/Mobile.js +0 -47
  26. package/dist/es2019/ui/AppearanceComponents/Mobile.js +0 -105
  27. package/dist/esm/ui/Appearance/Mobile.js +0 -45
  28. package/dist/esm/ui/AppearanceComponents/Mobile.js +0 -100
  29. package/dist/types/ui/Appearance/Mobile.d.ts +0 -3
  30. package/dist/types/ui/AppearanceComponents/Mobile.d.ts +0 -17
  31. package/dist/types-ts4.5/ui/Appearance/Mobile.d.ts +0 -3
  32. package/dist/types-ts4.5/ui/AppearanceComponents/Mobile.d.ts +0 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 197.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#135235](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/135235)
8
+ [`f67578e7140b5`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f67578e7140b5) -
9
+ removed MobileAppearance from editor-core, removed editor-mobile-bridge testing step from a
10
+ pipeline
11
+
12
+ ## 196.1.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [`c4d2eb3f9f965`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c4d2eb3f9f965) -
17
+ [ux] Fix issue with card provider not updating asynchronously
18
+
19
+ ### Patch Changes
20
+
21
+ - [`84c0869e8c5c6`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/84c0869e8c5c6) -
22
+ remove unused cardview refactor FF and components
23
+ - Updated dependencies
24
+
3
25
  ## 196.0.0
4
26
 
5
27
  ### Major Changes
@@ -147,7 +147,7 @@ var EditorInternal = exports.EditorInternal = /*#__PURE__*/(0, _react.memo)(func
147
147
  }), (0, _react2.jsx)(PortalRenderer, null))))))));
148
148
  });
149
149
  function ReactEditorViewContextWrapper(props) {
150
- var _props$editorProps$me;
150
+ var _props$editorProps$me, _props$editorProps$li;
151
151
  var setInternalEditorAPI = (0, _context.useSetPresetContext)();
152
152
  var setExternalEditorAPI = props.setEditorApi;
153
153
 
@@ -165,9 +165,14 @@ function ReactEditorViewContextWrapper(props) {
165
165
  setInternalEditorAPI === null || setInternalEditorAPI === void 0 || setInternalEditorAPI(api);
166
166
  setExternalEditorAPI === null || setExternalEditorAPI === void 0 || setExternalEditorAPI(api);
167
167
  }, [setInternalEditorAPI, setExternalEditorAPI]);
168
+
169
+ // TODO: Remove these when we deprecate these props from editor-props - smartLinks is unfortunately still used in some places, we can sidestep this problem if we move everyone across to ComposableEditor and deprecate Editor
170
+ var UNSAFE_cards = props.editorProps.UNSAFE_cards;
171
+ var smartLinks = props.editorProps.smartLinks;
168
172
  (0, _useProviders.useProviders)({
169
173
  contextIdentifierProvider: props.editorProps.contextIdentifierProvider,
170
- mediaProvider: (_props$editorProps$me = props.editorProps.media) === null || _props$editorProps$me === void 0 ? void 0 : _props$editorProps$me.provider
174
+ mediaProvider: (_props$editorProps$me = props.editorProps.media) === null || _props$editorProps$me === void 0 ? void 0 : _props$editorProps$me.provider,
175
+ cardProvider: ((_props$editorProps$li = props.editorProps.linking) === null || _props$editorProps$li === void 0 || (_props$editorProps$li = _props$editorProps$li.smartLinks) === null || _props$editorProps$li === void 0 ? void 0 : _props$editorProps$li.provider) || smartLinks && smartLinks.provider || UNSAFE_cards && UNSAFE_cards.provider
171
176
  });
172
177
  return (0, _react2.jsx)(_ReactEditorView.default, (0, _extends2.default)({}, props, {
173
178
  setEditorApi: setEditorAPI
@@ -19,7 +19,8 @@ var _context2 = require("../../presets/context");
19
19
  */
20
20
  var useProviders = exports.useProviders = function useProviders(_ref) {
21
21
  var contextIdentifierProvider = _ref.contextIdentifierProvider,
22
- mediaProvider = _ref.mediaProvider;
22
+ mediaProvider = _ref.mediaProvider,
23
+ cardProvider = _ref.cardProvider;
23
24
  var editorApi = (0, _context2.usePresetContext)();
24
25
  (0, _react.useEffect)(function () {
25
26
  function setProvider() {
@@ -61,4 +62,10 @@ var useProviders = exports.useProviders = function useProviders(_ref) {
61
62
  editorApi === null || editorApi === void 0 || (_editorApi$media = editorApi.media) === null || _editorApi$media === void 0 || _editorApi$media.actions.setProvider(mediaProvider);
62
63
  }
63
64
  }, [mediaProvider, editorApi]);
65
+ (0, _react.useEffect)(function () {
66
+ if (cardProvider) {
67
+ var _editorApi$card;
68
+ editorApi === null || editorApi === void 0 || (_editorApi$card = editorApi.card) === null || _editorApi$card === void 0 || _editorApi$card.actions.setProvider(cardProvider);
69
+ }
70
+ }, [cardProvider, editorApi]);
64
71
  };
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = handleProviders;
7
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
7
8
  /**
8
9
  *
9
10
  * Utility to set all the providers on a provider factory
@@ -37,7 +38,7 @@ function handleProviders(providerFactory, _ref, extensionProvider, quickInsertPr
37
38
  providerFactory.setProvider('searchProvider', searchProvider);
38
39
  providerFactory.setProvider('presenceProvider', presenceProvider);
39
40
  providerFactory.setProvider('macroProvider', macroProvider);
40
- if (cardProvider) {
41
+ if (!(0, _platformFeatureFlags.fg)('platform_editor_card_provider_from_plugin_config')) {
41
42
  providerFactory.setProvider('cardProvider', cardProvider);
42
43
  }
43
44
  providerFactory.setProvider('autoformattingProvider', autoformattingProvider);
@@ -8,7 +8,6 @@ exports.default = getUiComponent;
8
8
  var _Chromeless = _interopRequireDefault(require("../ui/Appearance/Chromeless"));
9
9
  var _Comment = _interopRequireDefault(require("../ui/Appearance/Comment"));
10
10
  var _FullPage = _interopRequireDefault(require("../ui/Appearance/FullPage"));
11
- var _Mobile = _interopRequireDefault(require("../ui/Appearance/Mobile"));
12
11
  function getUiComponent(appearance) {
13
12
  appearance = appearance || 'comment';
14
13
  switch (appearance) {
@@ -19,8 +18,6 @@ function getUiComponent(appearance) {
19
18
  return _Chromeless.default;
20
19
  case 'comment':
21
20
  return _Comment.default;
22
- case 'mobile':
23
- return _Mobile.default;
24
21
  default:
25
22
  throw new Error("Appearance '".concat(appearance, "' is not supported by the editor."));
26
23
  }
@@ -19,8 +19,7 @@ function shouldRecreatePreset(props, nextProps) {
19
19
  return shouldReconfigureState(props, nextProps);
20
20
  }
21
21
  function shouldReconfigureState(props, nextProps) {
22
- var mobileProperties = props.appearance === 'mobile' ? ['quickInsert', 'featureFlags'] : [];
23
- var properties = ['appearance', 'persistScrollGutter', 'allowUndoRedoButtons', 'placeholder', 'sanitizePrivateContent'].concat(mobileProperties);
22
+ var properties = ['appearance', 'persistScrollGutter', 'allowUndoRedoButtons', 'placeholder', 'sanitizePrivateContent'];
24
23
  return properties.reduce(function (acc, curr) {
25
24
  return acc || props[curr] !== nextProps[curr];
26
25
  }, false);
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/editor-core";
8
- var version = exports.version = "196.0.0";
8
+ var version = exports.version = "197.0.0";
@@ -139,7 +139,7 @@ export const EditorInternal = /*#__PURE__*/memo(({
139
139
  }), jsx(PortalRenderer, null))))))));
140
140
  });
141
141
  function ReactEditorViewContextWrapper(props) {
142
- var _props$editorProps$me;
142
+ var _props$editorProps$me, _props$editorProps$li, _props$editorProps$li2;
143
143
  const setInternalEditorAPI = useSetPresetContext();
144
144
  const {
145
145
  setEditorApi: setExternalEditorAPI
@@ -159,9 +159,14 @@ function ReactEditorViewContextWrapper(props) {
159
159
  setInternalEditorAPI === null || setInternalEditorAPI === void 0 ? void 0 : setInternalEditorAPI(api);
160
160
  setExternalEditorAPI === null || setExternalEditorAPI === void 0 ? void 0 : setExternalEditorAPI(api);
161
161
  }, [setInternalEditorAPI, setExternalEditorAPI]);
162
+
163
+ // TODO: Remove these when we deprecate these props from editor-props - smartLinks is unfortunately still used in some places, we can sidestep this problem if we move everyone across to ComposableEditor and deprecate Editor
164
+ const UNSAFE_cards = props.editorProps.UNSAFE_cards;
165
+ const smartLinks = props.editorProps.smartLinks;
162
166
  useProviders({
163
167
  contextIdentifierProvider: props.editorProps.contextIdentifierProvider,
164
- mediaProvider: (_props$editorProps$me = props.editorProps.media) === null || _props$editorProps$me === void 0 ? void 0 : _props$editorProps$me.provider
168
+ mediaProvider: (_props$editorProps$me = props.editorProps.media) === null || _props$editorProps$me === void 0 ? void 0 : _props$editorProps$me.provider,
169
+ cardProvider: ((_props$editorProps$li = props.editorProps.linking) === null || _props$editorProps$li === void 0 ? void 0 : (_props$editorProps$li2 = _props$editorProps$li.smartLinks) === null || _props$editorProps$li2 === void 0 ? void 0 : _props$editorProps$li2.provider) || smartLinks && smartLinks.provider || UNSAFE_cards && UNSAFE_cards.provider
165
170
  });
166
171
  return jsx(ReactEditorView, _extends({}, props, {
167
172
  setEditorApi: setEditorAPI
@@ -10,7 +10,8 @@ import { usePresetContext } from '../../presets/context';
10
10
  */
11
11
  export const useProviders = ({
12
12
  contextIdentifierProvider,
13
- mediaProvider
13
+ mediaProvider,
14
+ cardProvider
14
15
  }) => {
15
16
  const editorApi = usePresetContext();
16
17
  useEffect(() => {
@@ -32,4 +33,10 @@ export const useProviders = ({
32
33
  editorApi === null || editorApi === void 0 ? void 0 : (_editorApi$media = editorApi.media) === null || _editorApi$media === void 0 ? void 0 : _editorApi$media.actions.setProvider(mediaProvider);
33
34
  }
34
35
  }, [mediaProvider, editorApi]);
36
+ useEffect(() => {
37
+ if (cardProvider) {
38
+ var _editorApi$card;
39
+ editorApi === null || editorApi === void 0 ? void 0 : (_editorApi$card = editorApi.card) === null || _editorApi$card === void 0 ? void 0 : _editorApi$card.actions.setProvider(cardProvider);
40
+ }
41
+ }, [cardProvider, editorApi]);
35
42
  };
@@ -1,3 +1,5 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
2
+
1
3
  /**
2
4
  *
3
5
  * Utility to set all the providers on a provider factory
@@ -32,7 +34,7 @@ export default function handleProviders(providerFactory, {
32
34
  providerFactory.setProvider('searchProvider', searchProvider);
33
35
  providerFactory.setProvider('presenceProvider', presenceProvider);
34
36
  providerFactory.setProvider('macroProvider', macroProvider);
35
- if (cardProvider) {
37
+ if (!fg('platform_editor_card_provider_from_plugin_config')) {
36
38
  providerFactory.setProvider('cardProvider', cardProvider);
37
39
  }
38
40
  providerFactory.setProvider('autoformattingProvider', autoformattingProvider);
@@ -1,7 +1,6 @@
1
1
  import Chromeless from '../ui/Appearance/Chromeless';
2
2
  import Comment from '../ui/Appearance/Comment';
3
3
  import FullPage from '../ui/Appearance/FullPage';
4
- import Mobile from '../ui/Appearance/Mobile';
5
4
  export default function getUiComponent(appearance) {
6
5
  appearance = appearance || 'comment';
7
6
  switch (appearance) {
@@ -12,8 +11,6 @@ export default function getUiComponent(appearance) {
12
11
  return Chromeless;
13
12
  case 'comment':
14
13
  return Comment;
15
- case 'mobile':
16
- return Mobile;
17
14
  default:
18
15
  throw new Error(`Appearance '${appearance}' is not supported by the editor.`);
19
16
  }
@@ -9,7 +9,6 @@ export function shouldRecreatePreset(props, nextProps) {
9
9
  return shouldReconfigureState(props, nextProps);
10
10
  }
11
11
  function shouldReconfigureState(props, nextProps) {
12
- const mobileProperties = props.appearance === 'mobile' ? ['quickInsert', 'featureFlags'] : [];
13
- const properties = ['appearance', 'persistScrollGutter', 'allowUndoRedoButtons', 'placeholder', 'sanitizePrivateContent', ...mobileProperties];
12
+ const properties = ['appearance', 'persistScrollGutter', 'allowUndoRedoButtons', 'placeholder', 'sanitizePrivateContent'];
14
13
  return properties.reduce((acc, curr) => acc || props[curr] !== nextProps[curr], false);
15
14
  }
@@ -1,2 +1,2 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "196.0.0";
2
+ export const version = "197.0.0";
@@ -143,7 +143,7 @@ export var EditorInternal = /*#__PURE__*/memo(function (_ref) {
143
143
  }), jsx(PortalRenderer, null))))))));
144
144
  });
145
145
  function ReactEditorViewContextWrapper(props) {
146
- var _props$editorProps$me;
146
+ var _props$editorProps$me, _props$editorProps$li;
147
147
  var setInternalEditorAPI = useSetPresetContext();
148
148
  var setExternalEditorAPI = props.setEditorApi;
149
149
 
@@ -161,9 +161,14 @@ function ReactEditorViewContextWrapper(props) {
161
161
  setInternalEditorAPI === null || setInternalEditorAPI === void 0 || setInternalEditorAPI(api);
162
162
  setExternalEditorAPI === null || setExternalEditorAPI === void 0 || setExternalEditorAPI(api);
163
163
  }, [setInternalEditorAPI, setExternalEditorAPI]);
164
+
165
+ // TODO: Remove these when we deprecate these props from editor-props - smartLinks is unfortunately still used in some places, we can sidestep this problem if we move everyone across to ComposableEditor and deprecate Editor
166
+ var UNSAFE_cards = props.editorProps.UNSAFE_cards;
167
+ var smartLinks = props.editorProps.smartLinks;
164
168
  useProviders({
165
169
  contextIdentifierProvider: props.editorProps.contextIdentifierProvider,
166
- mediaProvider: (_props$editorProps$me = props.editorProps.media) === null || _props$editorProps$me === void 0 ? void 0 : _props$editorProps$me.provider
170
+ mediaProvider: (_props$editorProps$me = props.editorProps.media) === null || _props$editorProps$me === void 0 ? void 0 : _props$editorProps$me.provider,
171
+ cardProvider: ((_props$editorProps$li = props.editorProps.linking) === null || _props$editorProps$li === void 0 || (_props$editorProps$li = _props$editorProps$li.smartLinks) === null || _props$editorProps$li === void 0 ? void 0 : _props$editorProps$li.provider) || smartLinks && smartLinks.provider || UNSAFE_cards && UNSAFE_cards.provider
167
172
  });
168
173
  return jsx(ReactEditorView, _extends({}, props, {
169
174
  setEditorApi: setEditorAPI
@@ -12,7 +12,8 @@ import { usePresetContext } from '../../presets/context';
12
12
  */
13
13
  export var useProviders = function useProviders(_ref) {
14
14
  var contextIdentifierProvider = _ref.contextIdentifierProvider,
15
- mediaProvider = _ref.mediaProvider;
15
+ mediaProvider = _ref.mediaProvider,
16
+ cardProvider = _ref.cardProvider;
16
17
  var editorApi = usePresetContext();
17
18
  useEffect(function () {
18
19
  function setProvider() {
@@ -54,4 +55,10 @@ export var useProviders = function useProviders(_ref) {
54
55
  editorApi === null || editorApi === void 0 || (_editorApi$media = editorApi.media) === null || _editorApi$media === void 0 || _editorApi$media.actions.setProvider(mediaProvider);
55
56
  }
56
57
  }, [mediaProvider, editorApi]);
58
+ useEffect(function () {
59
+ if (cardProvider) {
60
+ var _editorApi$card;
61
+ editorApi === null || editorApi === void 0 || (_editorApi$card = editorApi.card) === null || _editorApi$card === void 0 || _editorApi$card.actions.setProvider(cardProvider);
62
+ }
63
+ }, [cardProvider, editorApi]);
57
64
  };
@@ -1,3 +1,5 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
2
+
1
3
  /**
2
4
  *
3
5
  * Utility to set all the providers on a provider factory
@@ -31,7 +33,7 @@ export default function handleProviders(providerFactory, _ref, extensionProvider
31
33
  providerFactory.setProvider('searchProvider', searchProvider);
32
34
  providerFactory.setProvider('presenceProvider', presenceProvider);
33
35
  providerFactory.setProvider('macroProvider', macroProvider);
34
- if (cardProvider) {
36
+ if (!fg('platform_editor_card_provider_from_plugin_config')) {
35
37
  providerFactory.setProvider('cardProvider', cardProvider);
36
38
  }
37
39
  providerFactory.setProvider('autoformattingProvider', autoformattingProvider);
@@ -1,7 +1,6 @@
1
1
  import Chromeless from '../ui/Appearance/Chromeless';
2
2
  import Comment from '../ui/Appearance/Comment';
3
3
  import FullPage from '../ui/Appearance/FullPage';
4
- import Mobile from '../ui/Appearance/Mobile';
5
4
  export default function getUiComponent(appearance) {
6
5
  appearance = appearance || 'comment';
7
6
  switch (appearance) {
@@ -12,8 +11,6 @@ export default function getUiComponent(appearance) {
12
11
  return Chromeless;
13
12
  case 'comment':
14
13
  return Comment;
15
- case 'mobile':
16
- return Mobile;
17
14
  default:
18
15
  throw new Error("Appearance '".concat(appearance, "' is not supported by the editor."));
19
16
  }
@@ -13,8 +13,7 @@ export function shouldRecreatePreset(props, nextProps) {
13
13
  return shouldReconfigureState(props, nextProps);
14
14
  }
15
15
  function shouldReconfigureState(props, nextProps) {
16
- var mobileProperties = props.appearance === 'mobile' ? ['quickInsert', 'featureFlags'] : [];
17
- var properties = ['appearance', 'persistScrollGutter', 'allowUndoRedoButtons', 'placeholder', 'sanitizePrivateContent'].concat(mobileProperties);
16
+ var properties = ['appearance', 'persistScrollGutter', 'allowUndoRedoButtons', 'placeholder', 'sanitizePrivateContent'];
18
17
  return properties.reduce(function (acc, curr) {
19
18
  return acc || props[curr] !== nextProps[curr];
20
19
  }, false);
@@ -1,2 +1,2 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "196.0.0";
2
+ export var version = "197.0.0";
@@ -1,7 +1,8 @@
1
- import type { ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
1
+ import type { CardProvider, ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
2
2
  interface UseProvidersProps {
3
3
  contextIdentifierProvider: Promise<ContextIdentifierProvider> | undefined;
4
4
  mediaProvider: Promise<MediaProvider> | undefined;
5
+ cardProvider: Promise<CardProvider> | undefined;
5
6
  }
6
7
  /**
7
8
  * This hook is used to replace the old approach of using the `providerFactory`.
@@ -11,5 +12,5 @@ interface UseProvidersProps {
11
12
  *
12
13
  * In the future ideally consumers implement this behaviour themselves.
13
14
  */
14
- export declare const useProviders: ({ contextIdentifierProvider, mediaProvider }: UseProvidersProps) => void;
15
+ export declare const useProviders: ({ contextIdentifierProvider, mediaProvider, cardProvider, }: UseProvidersProps) => void;
15
16
  export {};
@@ -1,7 +1,8 @@
1
- import type { ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
1
+ import type { CardProvider, ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
2
2
  interface UseProvidersProps {
3
3
  contextIdentifierProvider: Promise<ContextIdentifierProvider> | undefined;
4
4
  mediaProvider: Promise<MediaProvider> | undefined;
5
+ cardProvider: Promise<CardProvider> | undefined;
5
6
  }
6
7
  /**
7
8
  * This hook is used to replace the old approach of using the `providerFactory`.
@@ -11,5 +12,5 @@ interface UseProvidersProps {
11
12
  *
12
13
  * In the future ideally consumers implement this behaviour themselves.
13
14
  */
14
- export declare const useProviders: ({ contextIdentifierProvider, mediaProvider }: UseProvidersProps) => void;
15
+ export declare const useProviders: ({ contextIdentifierProvider, mediaProvider, cardProvider, }: UseProvidersProps) => void;
15
16
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "196.0.0",
3
+ "version": "197.0.0",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -45,13 +45,13 @@
45
45
  "@atlaskit/analytics-next": "^10.1.0",
46
46
  "@atlaskit/analytics-next-stable-react-context": "1.0.1",
47
47
  "@atlaskit/button": "^20.1.0",
48
- "@atlaskit/editor-common": "^88.3.0",
49
- "@atlaskit/editor-plugins": "^4.2.0",
48
+ "@atlaskit/editor-common": "^88.4.0",
49
+ "@atlaskit/editor-plugins": "^4.3.0",
50
50
  "@atlaskit/editor-prosemirror": "5.0.1",
51
51
  "@atlaskit/editor-shared-styles": "^2.13.0",
52
52
  "@atlaskit/emoji": "^67.7.0",
53
53
  "@atlaskit/icon": "^22.15.0",
54
- "@atlaskit/media-card": "^78.1.0",
54
+ "@atlaskit/media-card": "^78.2.0",
55
55
  "@atlaskit/mention": "^23.2.0",
56
56
  "@atlaskit/platform-feature-flags": "^0.3.0",
57
57
  "@atlaskit/spinner": "^16.3.0",
@@ -80,7 +80,7 @@
80
80
  "react-intl-next": "npm:react-intl@^5.18.1"
81
81
  },
82
82
  "devDependencies": {
83
- "@af/editor-examples-helpers": "0.3.3",
83
+ "@af/editor-examples-helpers": "0.3.5",
84
84
  "@af/editor-libra": "*",
85
85
  "@af/visual-regression": "*",
86
86
  "@atlaskit/adf-utils": "^19.8.0",
@@ -88,7 +88,7 @@
88
88
  "@atlaskit/collab-provider": "9.37.4",
89
89
  "@atlaskit/editor-json-transformer": "^8.18.0",
90
90
  "@atlaskit/editor-plugin-annotation": "1.19.3",
91
- "@atlaskit/editor-plugin-card": "^2.13.0",
91
+ "@atlaskit/editor-plugin-card": "^2.14.0",
92
92
  "@atlaskit/editor-plugin-editor-viewmode": "^2.1.0",
93
93
  "@atlaskit/editor-plugin-list": "^3.8.0",
94
94
  "@atlaskit/editor-plugin-paste": "^1.11.0",
@@ -169,10 +169,6 @@
169
169
  "platform.editor.table-sticky-scrollbar": {
170
170
  "type": "boolean"
171
171
  },
172
- "platform.media-experience.card-views-refactor_b91lr": {
173
- "type": "boolean",
174
- "referenceOnly": "true"
175
- },
176
172
  "platform.editor.multi-bodied-extension_0rygg": {
177
173
  "type": "boolean",
178
174
  "referenceOnly": "true"
@@ -280,6 +276,9 @@
280
276
  },
281
277
  "platform_editor_remove_hide_avatar_group_prop": {
282
278
  "type": "boolean"
279
+ },
280
+ "platform_editor_card_provider_from_plugin_config": {
281
+ "type": "boolean"
283
282
  }
284
283
  },
285
284
  "stricter": {
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = Mobile;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _Mobile = require("../AppearanceComponents/Mobile");
10
- var _PluginSlot = _interopRequireDefault(require("../PluginSlot"));
11
- function Mobile(_ref) {
12
- var _innerRef$current;
13
- var editorView = _ref.editorView,
14
- maxHeight = _ref.maxHeight,
15
- persistScrollGutter = _ref.persistScrollGutter,
16
- editorDOMElement = _ref.editorDOMElement,
17
- disabled = _ref.disabled,
18
- contentComponents = _ref.contentComponents,
19
- editorActions = _ref.editorActions,
20
- eventDispatcher = _ref.eventDispatcher,
21
- dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent,
22
- providerFactory = _ref.providerFactory,
23
- appearance = _ref.appearance,
24
- popupsMountPoint = _ref.popupsMountPoint,
25
- popupsBoundariesElement = _ref.popupsBoundariesElement,
26
- popupsScrollableElement = _ref.popupsScrollableElement,
27
- innerRef = _ref.innerRef,
28
- pluginHooks = _ref.pluginHooks,
29
- featureFlags = _ref.featureFlags;
30
- return /*#__PURE__*/_react.default.createElement(_Mobile.MobileAppearance, {
31
- ref: innerRef,
32
- editorView: editorView || null,
33
- maxHeight: maxHeight,
34
- persistScrollGutter: persistScrollGutter,
35
- editorDisabled: disabled,
36
- featureFlags: featureFlags
37
- }, editorDOMElement, /*#__PURE__*/_react.default.createElement(_PluginSlot.default, {
38
- editorView: editorView,
39
- editorActions: editorActions,
40
- eventDispatcher: eventDispatcher,
41
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
42
- providerFactory: providerFactory,
43
- appearance: appearance,
44
- popupsMountPoint: popupsMountPoint,
45
- popupsBoundariesElement: popupsBoundariesElement,
46
- popupsScrollableElement: popupsScrollableElement,
47
- containerElement: (_innerRef$current = innerRef === null || innerRef === void 0 ? void 0 : innerRef.current) !== null && _innerRef$current !== void 0 ? _innerRef$current : null,
48
- disabled: !!disabled,
49
- wrapperElement: null,
50
- pluginHooks: pluginHooks
51
- }));
52
- }
@@ -1,110 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.MobileAppearance = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _react2 = require("@emotion/react");
11
- var _hooks = require("@atlaskit/editor-common/hooks");
12
- var _context = require("../../presets/context");
13
- var _Addon = require("../Addon");
14
- var _ContentStyles = require("../ContentStyles");
15
- var _WithFlash = _interopRequireDefault(require("../WithFlash"));
16
- 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); }
17
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- /**
19
- * @jsxRuntime classic
20
- * @jsx jsx
21
- */
22
-
23
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
24
-
25
- // Only mobile bridge is using this appearance. We have some plans to decouple the appearances from editor-core. So it doesn't make sense to move this plugin to a separated package for now.
26
- // Copied packages/editor/editor-mobile-bridge/src/editor/editor-plugins/mobile-dimensions/index.ts
27
-
28
- // Copied from packages/editor/editor-mobile-bridge/src/editor/editor-plugins/mobile-dimensions/types.ts
29
-
30
- var mobileEditor = (0, _react2.css)({
31
- minHeight: '30px',
32
- width: '100%',
33
- maxWidth: 'inherit',
34
- boxSizing: 'border-box',
35
- wordWrap: 'break-word',
36
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
37
- 'div > .ProseMirror': {
38
- outline: 'none',
39
- whiteSpace: 'pre-wrap',
40
- padding: 0,
41
- margin: 0
42
- }
43
- });
44
- var ContentArea = (0, _ContentStyles.createEditorContentStyle)();
45
- ContentArea.displayName = 'ContentArea';
46
- var MobileAppearance = exports.MobileAppearance = /*#__PURE__*/(0, _react.forwardRef)(function MobileAppearance(_ref, ref) {
47
- var _api$base2;
48
- var editorView = _ref.editorView,
49
- persistScrollGutter = _ref.persistScrollGutter,
50
- children = _ref.children,
51
- editorDisabled = _ref.editorDisabled,
52
- featureFlags = _ref.featureFlags;
53
- var api = (0, _context.usePresetContext)();
54
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['maxContentSize', 'mobileDimensions']),
55
- maxContentSizeState = _useSharedPluginState.maxContentSizeState,
56
- mobileDimensionsState = _useSharedPluginState.mobileDimensionsState;
57
- var render = (0, _react.useCallback)(function (_ref2) {
58
- var maxContentSize = _ref2.maxContentSize,
59
- mobileDimensions = _ref2.mobileDimensions;
60
- var maxContentSizeReached = Boolean(maxContentSize === null || maxContentSize === void 0 ? void 0 : maxContentSize.maxContentSizeReached);
61
- var minHeight = 100;
62
- var currentIsExpanded = true; // isExpanded prop should always be true for Hybrid Editor
63
- if (mobileDimensions) {
64
- var _api$base, _basePluginState$keyb;
65
- var windowHeight = mobileDimensions.windowHeight,
66
- mobilePaddingTop = mobileDimensions.mobilePaddingTop,
67
- isExpanded = mobileDimensions.isExpanded;
68
- var basePluginState = api === null || api === void 0 || (_api$base = api.base) === null || _api$base === void 0 ? void 0 : _api$base.sharedState.currentState();
69
- var keyboardHeight = (_basePluginState$keyb = basePluginState === null || basePluginState === void 0 ? void 0 : basePluginState.keyboardHeight) !== null && _basePluginState$keyb !== void 0 ? _basePluginState$keyb : -1;
70
-
71
- /*
72
- We calculate the min-height based on the windowHeight - keyboardHeight - paddingTop.
73
- This is needed due to scrolling issues when there is no content to scroll (like, only having 1 paragraph),
74
- but if the clickable area is bigger than the windowHeight - keyboard (including toolbar) then the view
75
- is scrolled nevertheless, and it gives the sensation that the content was lost.
76
- */
77
-
78
- if (!persistScrollGutter) {
79
- // in iOS Hybrid Editor windowHeight doesn't exclude keyboardHeight
80
- // in Android keyboardHeight is always set to -1;
81
- minHeight = windowHeight - keyboardHeight - 2 * mobilePaddingTop;
82
- } else {
83
- // in iOS Compact Editor windowHeight excludes keyboardHeight
84
- minHeight = windowHeight - mobilePaddingTop;
85
- // isExpanded can be true of false for Compact editor
86
- currentIsExpanded = isExpanded;
87
- }
88
- }
89
- return (0, _react2.jsx)(_WithFlash.default, {
90
- animate: maxContentSizeReached
91
- }, (0, _react2.jsx)("div", {
92
- css: mobileEditor,
93
- ref: ref
94
- }, (0, _react2.jsx)(_Addon.ClickAreaMobile, {
95
- editorView: editorView || undefined,
96
- minHeight: minHeight,
97
- persistScrollGutter: persistScrollGutter,
98
- isExpanded: currentIsExpanded,
99
- editorDisabled: editorDisabled
100
- }, (0, _react2.jsx)(ContentArea, {
101
- featureFlags: featureFlags
102
- }, (0, _react2.jsx)("div", {
103
- className: "ak-editor-content-area"
104
- }, children)))));
105
- }, [children, editorView, persistScrollGutter, editorDisabled, ref, featureFlags, api === null || api === void 0 || (_api$base2 = api.base) === null || _api$base2 === void 0 ? void 0 : _api$base2.sharedState]);
106
- return render({
107
- maxContentSize: maxContentSizeState,
108
- mobileDimensions: mobileDimensionsState
109
- });
110
- });
@@ -1,47 +0,0 @@
1
- import React from 'react';
2
- import { MobileAppearance } from '../AppearanceComponents/Mobile';
3
- import PluginSlot from '../PluginSlot';
4
- export default function Mobile({
5
- editorView,
6
- maxHeight,
7
- persistScrollGutter,
8
- editorDOMElement,
9
- disabled,
10
- contentComponents,
11
- editorActions,
12
- eventDispatcher,
13
- dispatchAnalyticsEvent,
14
- providerFactory,
15
- appearance,
16
- popupsMountPoint,
17
- popupsBoundariesElement,
18
- popupsScrollableElement,
19
- innerRef,
20
- pluginHooks,
21
- featureFlags
22
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
- }) {
24
- var _innerRef$current;
25
- return /*#__PURE__*/React.createElement(MobileAppearance, {
26
- ref: innerRef,
27
- editorView: editorView || null,
28
- maxHeight: maxHeight,
29
- persistScrollGutter: persistScrollGutter,
30
- editorDisabled: disabled,
31
- featureFlags: featureFlags
32
- }, editorDOMElement, /*#__PURE__*/React.createElement(PluginSlot, {
33
- editorView: editorView,
34
- editorActions: editorActions,
35
- eventDispatcher: eventDispatcher,
36
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
37
- providerFactory: providerFactory,
38
- appearance: appearance,
39
- popupsMountPoint: popupsMountPoint,
40
- popupsBoundariesElement: popupsBoundariesElement,
41
- popupsScrollableElement: popupsScrollableElement,
42
- containerElement: (_innerRef$current = innerRef === null || innerRef === void 0 ? void 0 : innerRef.current) !== null && _innerRef$current !== void 0 ? _innerRef$current : null,
43
- disabled: !!disabled,
44
- wrapperElement: null,
45
- pluginHooks: pluginHooks
46
- }));
47
- }
@@ -1,105 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import React, { forwardRef, useCallback } from 'react';
6
-
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
- import { css, jsx } from '@emotion/react';
9
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
10
- import { usePresetContext } from '../../presets/context';
11
- import { ClickAreaMobile as ClickArea } from '../Addon';
12
- import { createEditorContentStyle } from '../ContentStyles';
13
- import WithFlash from '../WithFlash';
14
-
15
- // Only mobile bridge is using this appearance. We have some plans to decouple the appearances from editor-core. So it doesn't make sense to move this plugin to a separated package for now.
16
- // Copied packages/editor/editor-mobile-bridge/src/editor/editor-plugins/mobile-dimensions/index.ts
17
-
18
- // Copied from packages/editor/editor-mobile-bridge/src/editor/editor-plugins/mobile-dimensions/types.ts
19
-
20
- const mobileEditor = css({
21
- minHeight: '30px',
22
- width: '100%',
23
- maxWidth: 'inherit',
24
- boxSizing: 'border-box',
25
- wordWrap: 'break-word',
26
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
27
- 'div > .ProseMirror': {
28
- outline: 'none',
29
- whiteSpace: 'pre-wrap',
30
- padding: 0,
31
- margin: 0
32
- }
33
- });
34
- const ContentArea = createEditorContentStyle();
35
- ContentArea.displayName = 'ContentArea';
36
- export const MobileAppearance = /*#__PURE__*/forwardRef(function MobileAppearance({
37
- editorView,
38
- persistScrollGutter,
39
- children,
40
- editorDisabled,
41
- featureFlags
42
- }, ref) {
43
- var _api$base2;
44
- const api = usePresetContext();
45
- const {
46
- maxContentSizeState,
47
- mobileDimensionsState
48
- } = useSharedPluginState(api, ['maxContentSize', 'mobileDimensions']);
49
- const render = useCallback(({
50
- maxContentSize,
51
- mobileDimensions
52
- }) => {
53
- const maxContentSizeReached = Boolean(maxContentSize === null || maxContentSize === void 0 ? void 0 : maxContentSize.maxContentSizeReached);
54
- let minHeight = 100;
55
- let currentIsExpanded = true; // isExpanded prop should always be true for Hybrid Editor
56
- if (mobileDimensions) {
57
- var _api$base, _basePluginState$keyb;
58
- const {
59
- windowHeight,
60
- mobilePaddingTop,
61
- isExpanded
62
- } = mobileDimensions;
63
- const basePluginState = api === null || api === void 0 ? void 0 : (_api$base = api.base) === null || _api$base === void 0 ? void 0 : _api$base.sharedState.currentState();
64
- const keyboardHeight = (_basePluginState$keyb = basePluginState === null || basePluginState === void 0 ? void 0 : basePluginState.keyboardHeight) !== null && _basePluginState$keyb !== void 0 ? _basePluginState$keyb : -1;
65
-
66
- /*
67
- We calculate the min-height based on the windowHeight - keyboardHeight - paddingTop.
68
- This is needed due to scrolling issues when there is no content to scroll (like, only having 1 paragraph),
69
- but if the clickable area is bigger than the windowHeight - keyboard (including toolbar) then the view
70
- is scrolled nevertheless, and it gives the sensation that the content was lost.
71
- */
72
-
73
- if (!persistScrollGutter) {
74
- // in iOS Hybrid Editor windowHeight doesn't exclude keyboardHeight
75
- // in Android keyboardHeight is always set to -1;
76
- minHeight = windowHeight - keyboardHeight - 2 * mobilePaddingTop;
77
- } else {
78
- // in iOS Compact Editor windowHeight excludes keyboardHeight
79
- minHeight = windowHeight - mobilePaddingTop;
80
- // isExpanded can be true of false for Compact editor
81
- currentIsExpanded = isExpanded;
82
- }
83
- }
84
- return jsx(WithFlash, {
85
- animate: maxContentSizeReached
86
- }, jsx("div", {
87
- css: mobileEditor,
88
- ref: ref
89
- }, jsx(ClickArea, {
90
- editorView: editorView || undefined,
91
- minHeight: minHeight,
92
- persistScrollGutter: persistScrollGutter,
93
- isExpanded: currentIsExpanded,
94
- editorDisabled: editorDisabled
95
- }, jsx(ContentArea, {
96
- featureFlags: featureFlags
97
- }, jsx("div", {
98
- className: "ak-editor-content-area"
99
- }, children)))));
100
- }, [children, editorView, persistScrollGutter, editorDisabled, ref, featureFlags, api === null || api === void 0 ? void 0 : (_api$base2 = api.base) === null || _api$base2 === void 0 ? void 0 : _api$base2.sharedState]);
101
- return render({
102
- maxContentSize: maxContentSizeState,
103
- mobileDimensions: mobileDimensionsState
104
- });
105
- });
@@ -1,45 +0,0 @@
1
- import React from 'react';
2
- import { MobileAppearance } from '../AppearanceComponents/Mobile';
3
- import PluginSlot from '../PluginSlot';
4
- export default function Mobile(_ref) {
5
- var _innerRef$current;
6
- var editorView = _ref.editorView,
7
- maxHeight = _ref.maxHeight,
8
- persistScrollGutter = _ref.persistScrollGutter,
9
- editorDOMElement = _ref.editorDOMElement,
10
- disabled = _ref.disabled,
11
- contentComponents = _ref.contentComponents,
12
- editorActions = _ref.editorActions,
13
- eventDispatcher = _ref.eventDispatcher,
14
- dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent,
15
- providerFactory = _ref.providerFactory,
16
- appearance = _ref.appearance,
17
- popupsMountPoint = _ref.popupsMountPoint,
18
- popupsBoundariesElement = _ref.popupsBoundariesElement,
19
- popupsScrollableElement = _ref.popupsScrollableElement,
20
- innerRef = _ref.innerRef,
21
- pluginHooks = _ref.pluginHooks,
22
- featureFlags = _ref.featureFlags;
23
- return /*#__PURE__*/React.createElement(MobileAppearance, {
24
- ref: innerRef,
25
- editorView: editorView || null,
26
- maxHeight: maxHeight,
27
- persistScrollGutter: persistScrollGutter,
28
- editorDisabled: disabled,
29
- featureFlags: featureFlags
30
- }, editorDOMElement, /*#__PURE__*/React.createElement(PluginSlot, {
31
- editorView: editorView,
32
- editorActions: editorActions,
33
- eventDispatcher: eventDispatcher,
34
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
35
- providerFactory: providerFactory,
36
- appearance: appearance,
37
- popupsMountPoint: popupsMountPoint,
38
- popupsBoundariesElement: popupsBoundariesElement,
39
- popupsScrollableElement: popupsScrollableElement,
40
- containerElement: (_innerRef$current = innerRef === null || innerRef === void 0 ? void 0 : innerRef.current) !== null && _innerRef$current !== void 0 ? _innerRef$current : null,
41
- disabled: !!disabled,
42
- wrapperElement: null,
43
- pluginHooks: pluginHooks
44
- }));
45
- }
@@ -1,100 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import React, { forwardRef, useCallback } from 'react';
6
-
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
- import { css, jsx } from '@emotion/react';
9
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
10
- import { usePresetContext } from '../../presets/context';
11
- import { ClickAreaMobile as ClickArea } from '../Addon';
12
- import { createEditorContentStyle } from '../ContentStyles';
13
- import WithFlash from '../WithFlash';
14
-
15
- // Only mobile bridge is using this appearance. We have some plans to decouple the appearances from editor-core. So it doesn't make sense to move this plugin to a separated package for now.
16
- // Copied packages/editor/editor-mobile-bridge/src/editor/editor-plugins/mobile-dimensions/index.ts
17
-
18
- // Copied from packages/editor/editor-mobile-bridge/src/editor/editor-plugins/mobile-dimensions/types.ts
19
-
20
- var mobileEditor = css({
21
- minHeight: '30px',
22
- width: '100%',
23
- maxWidth: 'inherit',
24
- boxSizing: 'border-box',
25
- wordWrap: 'break-word',
26
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
27
- 'div > .ProseMirror': {
28
- outline: 'none',
29
- whiteSpace: 'pre-wrap',
30
- padding: 0,
31
- margin: 0
32
- }
33
- });
34
- var ContentArea = createEditorContentStyle();
35
- ContentArea.displayName = 'ContentArea';
36
- export var MobileAppearance = /*#__PURE__*/forwardRef(function MobileAppearance(_ref, ref) {
37
- var _api$base2;
38
- var editorView = _ref.editorView,
39
- persistScrollGutter = _ref.persistScrollGutter,
40
- children = _ref.children,
41
- editorDisabled = _ref.editorDisabled,
42
- featureFlags = _ref.featureFlags;
43
- var api = usePresetContext();
44
- var _useSharedPluginState = useSharedPluginState(api, ['maxContentSize', 'mobileDimensions']),
45
- maxContentSizeState = _useSharedPluginState.maxContentSizeState,
46
- mobileDimensionsState = _useSharedPluginState.mobileDimensionsState;
47
- var render = useCallback(function (_ref2) {
48
- var maxContentSize = _ref2.maxContentSize,
49
- mobileDimensions = _ref2.mobileDimensions;
50
- var maxContentSizeReached = Boolean(maxContentSize === null || maxContentSize === void 0 ? void 0 : maxContentSize.maxContentSizeReached);
51
- var minHeight = 100;
52
- var currentIsExpanded = true; // isExpanded prop should always be true for Hybrid Editor
53
- if (mobileDimensions) {
54
- var _api$base, _basePluginState$keyb;
55
- var windowHeight = mobileDimensions.windowHeight,
56
- mobilePaddingTop = mobileDimensions.mobilePaddingTop,
57
- isExpanded = mobileDimensions.isExpanded;
58
- var basePluginState = api === null || api === void 0 || (_api$base = api.base) === null || _api$base === void 0 ? void 0 : _api$base.sharedState.currentState();
59
- var keyboardHeight = (_basePluginState$keyb = basePluginState === null || basePluginState === void 0 ? void 0 : basePluginState.keyboardHeight) !== null && _basePluginState$keyb !== void 0 ? _basePluginState$keyb : -1;
60
-
61
- /*
62
- We calculate the min-height based on the windowHeight - keyboardHeight - paddingTop.
63
- This is needed due to scrolling issues when there is no content to scroll (like, only having 1 paragraph),
64
- but if the clickable area is bigger than the windowHeight - keyboard (including toolbar) then the view
65
- is scrolled nevertheless, and it gives the sensation that the content was lost.
66
- */
67
-
68
- if (!persistScrollGutter) {
69
- // in iOS Hybrid Editor windowHeight doesn't exclude keyboardHeight
70
- // in Android keyboardHeight is always set to -1;
71
- minHeight = windowHeight - keyboardHeight - 2 * mobilePaddingTop;
72
- } else {
73
- // in iOS Compact Editor windowHeight excludes keyboardHeight
74
- minHeight = windowHeight - mobilePaddingTop;
75
- // isExpanded can be true of false for Compact editor
76
- currentIsExpanded = isExpanded;
77
- }
78
- }
79
- return jsx(WithFlash, {
80
- animate: maxContentSizeReached
81
- }, jsx("div", {
82
- css: mobileEditor,
83
- ref: ref
84
- }, jsx(ClickArea, {
85
- editorView: editorView || undefined,
86
- minHeight: minHeight,
87
- persistScrollGutter: persistScrollGutter,
88
- isExpanded: currentIsExpanded,
89
- editorDisabled: editorDisabled
90
- }, jsx(ContentArea, {
91
- featureFlags: featureFlags
92
- }, jsx("div", {
93
- className: "ak-editor-content-area"
94
- }, children)))));
95
- }, [children, editorView, persistScrollGutter, editorDisabled, ref, featureFlags, api === null || api === void 0 || (_api$base2 = api.base) === null || _api$base2 === void 0 ? void 0 : _api$base2.sharedState]);
96
- return render({
97
- maxContentSize: maxContentSizeState,
98
- mobileDimensions: mobileDimensionsState
99
- });
100
- });
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import type { EditorAppearanceComponentProps } from '../../types';
3
- export default function Mobile({ editorView, maxHeight, persistScrollGutter, editorDOMElement, disabled, contentComponents, editorActions, eventDispatcher, dispatchAnalyticsEvent, providerFactory, appearance, popupsMountPoint, popupsBoundariesElement, popupsScrollableElement, innerRef, pluginHooks, featureFlags, }: EditorAppearanceComponentProps<any>): JSX.Element;
@@ -1,17 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import React from 'react';
6
- import type { EditorView } from '@atlaskit/editor-prosemirror/view';
7
- import type { FeatureFlags } from '../../types/feature-flags';
8
- export declare const MobileAppearance: React.ForwardRefExoticComponent<{
9
- editorView: EditorView | null;
10
- maxHeight?: number | undefined;
11
- persistScrollGutter?: boolean | undefined;
12
- editorDisabled?: boolean | undefined;
13
- children?: React.ReactNode;
14
- featureFlags?: FeatureFlags | undefined;
15
- } & {
16
- children?: React.ReactNode;
17
- } & React.RefAttributes<HTMLDivElement>>;
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- import type { EditorAppearanceComponentProps } from '../../types';
3
- export default function Mobile({ editorView, maxHeight, persistScrollGutter, editorDOMElement, disabled, contentComponents, editorActions, eventDispatcher, dispatchAnalyticsEvent, providerFactory, appearance, popupsMountPoint, popupsBoundariesElement, popupsScrollableElement, innerRef, pluginHooks, featureFlags, }: EditorAppearanceComponentProps<any>): JSX.Element;
@@ -1,17 +0,0 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import React from 'react';
6
- import type { EditorView } from '@atlaskit/editor-prosemirror/view';
7
- import type { FeatureFlags } from '../../types/feature-flags';
8
- export declare const MobileAppearance: React.ForwardRefExoticComponent<{
9
- editorView: EditorView | null;
10
- maxHeight?: number | undefined;
11
- persistScrollGutter?: boolean | undefined;
12
- editorDisabled?: boolean | undefined;
13
- children?: React.ReactNode;
14
- featureFlags?: FeatureFlags | undefined;
15
- } & {
16
- children?: React.ReactNode;
17
- } & React.RefAttributes<HTMLDivElement>>;