@atlaskit/editor-plugin-emoji 2.5.3 → 2.6.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,26 @@
1
1
  # @atlaskit/editor-plugin-emoji
2
2
 
3
+ ## 2.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#140949](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/140949)
8
+ [`f0496e4dd21b2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f0496e4dd21b2) -
9
+ Make Panel Plugin use Emoji component from editor-plugin-emoji
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 2.5.4
16
+
17
+ ### Patch Changes
18
+
19
+ - [#139334](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/139334)
20
+ [`30793649657c0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/30793649657c0) -
21
+ [HOT-111629] We had an incident where the last character disappears when hitting the enter key on
22
+ windows OS for Korean characters. Bumping to prosemirror-view@1.34.2 for the fix.
23
+
3
24
  ## 2.5.3
4
25
 
5
26
  ### Patch Changes
@@ -8,6 +8,7 @@ exports.EmojiNodeView = EmojiNodeView;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactIntlNext = require("react-intl-next");
10
10
  var _emoji = require("@atlaskit/editor-common/emoji");
11
+ var _hooks = require("@atlaskit/editor-common/hooks");
11
12
  var _Emoji = _interopRequireDefault(require("../ui/Emoji"));
12
13
  var _NdpEmoji = require("../ui/NdpEmoji");
13
14
  var EmojiAssistiveTextComponent = /*#__PURE__*/_react.default.memo(function (_ref) {
@@ -23,12 +24,18 @@ var EmojiAssistiveTextComponent = /*#__PURE__*/_react.default.memo(function (_re
23
24
  }, "".concat(intl.formatMessage(_emoji.messages.emojiNodeLabel), " ").concat(emojiShortName))
24
25
  );
25
26
  });
27
+ var useEmojiProvider = function useEmojiProvider(pluginInjectionApi) {
28
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['emoji']),
29
+ emojiState = _useSharedPluginState.emojiState;
30
+ return emojiState === null || emojiState === void 0 ? void 0 : emojiState.emojiProvider;
31
+ };
26
32
  function EmojiNodeView(props) {
27
33
  var _props$options;
28
34
  var _props$node$attrs = props.node.attrs,
29
35
  shortName = _props$node$attrs.shortName,
30
36
  id = _props$node$attrs.id,
31
37
  text = _props$node$attrs.text;
38
+ var emojiProvider = useEmojiProvider(props.api);
32
39
  if ((_props$options = props.options) !== null && _props$options !== void 0 && _props$options.emojiNodeDataProvider) {
33
40
  return /*#__PURE__*/_react.default.createElement(_NdpEmoji.NdpEmoji, {
34
41
  node: props.node,
@@ -38,7 +45,7 @@ function EmojiNodeView(props) {
38
45
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(EmojiAssistiveTextComponent, {
39
46
  emojiShortName: shortName
40
47
  }), /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_Emoji.default, {
41
- pluginInjectionApi: props.api,
48
+ emojiProvider: emojiProvider,
42
49
  providers: props.providerFactory,
43
50
  id: id,
44
51
  shortName: shortName,
@@ -8,8 +8,6 @@ exports.default = EmojiNode;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _emoji = require("@atlaskit/editor-common/emoji");
11
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
- var _emojiNext = _interopRequireDefault(require("./emoji-next"));
13
11
  var _templateObject;
14
12
  /**
15
13
  * @jsxRuntime classic
@@ -21,5 +19,5 @@ var clickSelectWrapperStyle = (0, _react.css)(_templateObject || (_templateObjec
21
19
  function EmojiNode(props) {
22
20
  return (0, _react.jsx)("span", {
23
21
  css: clickSelectWrapperStyle
24
- }, (0, _platformFeatureFlags.fg)('platform_editor_get_emoji_provider_from_config') ? (0, _react.jsx)(_emojiNext.default, props) : (0, _react.jsx)(_emoji.Emoji, props));
22
+ }, (0, _react.jsx)(_emoji.Emoji, props));
25
23
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import { messages } from '@atlaskit/editor-common/emoji';
4
+ import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
4
5
  import Emoji from '../ui/Emoji';
5
6
  import { NdpEmoji } from '../ui/NdpEmoji';
6
7
  const EmojiAssistiveTextComponent = /*#__PURE__*/React.memo(({
@@ -17,6 +18,12 @@ const EmojiAssistiveTextComponent = /*#__PURE__*/React.memo(({
17
18
  }, `${intl.formatMessage(messages.emojiNodeLabel)} ${emojiShortName}`)
18
19
  );
19
20
  });
21
+ const useEmojiProvider = pluginInjectionApi => {
22
+ const {
23
+ emojiState
24
+ } = useSharedPluginState(pluginInjectionApi, ['emoji']);
25
+ return emojiState === null || emojiState === void 0 ? void 0 : emojiState.emojiProvider;
26
+ };
20
27
  export function EmojiNodeView(props) {
21
28
  var _props$options;
22
29
  const {
@@ -24,6 +31,7 @@ export function EmojiNodeView(props) {
24
31
  id,
25
32
  text
26
33
  } = props.node.attrs;
34
+ const emojiProvider = useEmojiProvider(props.api);
27
35
  if ((_props$options = props.options) !== null && _props$options !== void 0 && _props$options.emojiNodeDataProvider) {
28
36
  return /*#__PURE__*/React.createElement(NdpEmoji, {
29
37
  node: props.node,
@@ -33,7 +41,7 @@ export function EmojiNodeView(props) {
33
41
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EmojiAssistiveTextComponent, {
34
42
  emojiShortName: shortName
35
43
  }), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Emoji, {
36
- pluginInjectionApi: props.api,
44
+ emojiProvider: emojiProvider,
37
45
  providers: props.providerFactory,
38
46
  id: id,
39
47
  shortName: shortName,
@@ -5,8 +5,7 @@
5
5
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
6
6
  import { css, jsx } from '@emotion/react';
7
7
  import { Emoji } from '@atlaskit/editor-common/emoji';
8
- import { fg } from '@atlaskit/platform-feature-flags';
9
- import { default as EmojiNext } from './emoji-next';
8
+
10
9
  // eslint-disable-next-line
11
10
  const clickSelectWrapperStyle = css`
12
11
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
@@ -15,5 +14,5 @@ const clickSelectWrapperStyle = css`
15
14
  export default function EmojiNode(props) {
16
15
  return jsx("span", {
17
16
  css: clickSelectWrapperStyle
18
- }, fg('platform_editor_get_emoji_provider_from_config') ? jsx(EmojiNext, props) : jsx(Emoji, props));
17
+ }, jsx(Emoji, props));
19
18
  }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useIntl } from 'react-intl-next';
3
3
  import { messages } from '@atlaskit/editor-common/emoji';
4
+ import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
4
5
  import Emoji from '../ui/Emoji';
5
6
  import { NdpEmoji } from '../ui/NdpEmoji';
6
7
  var EmojiAssistiveTextComponent = /*#__PURE__*/React.memo(function (_ref) {
@@ -16,12 +17,18 @@ var EmojiAssistiveTextComponent = /*#__PURE__*/React.memo(function (_ref) {
16
17
  }, "".concat(intl.formatMessage(messages.emojiNodeLabel), " ").concat(emojiShortName))
17
18
  );
18
19
  });
20
+ var useEmojiProvider = function useEmojiProvider(pluginInjectionApi) {
21
+ var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['emoji']),
22
+ emojiState = _useSharedPluginState.emojiState;
23
+ return emojiState === null || emojiState === void 0 ? void 0 : emojiState.emojiProvider;
24
+ };
19
25
  export function EmojiNodeView(props) {
20
26
  var _props$options;
21
27
  var _props$node$attrs = props.node.attrs,
22
28
  shortName = _props$node$attrs.shortName,
23
29
  id = _props$node$attrs.id,
24
30
  text = _props$node$attrs.text;
31
+ var emojiProvider = useEmojiProvider(props.api);
25
32
  if ((_props$options = props.options) !== null && _props$options !== void 0 && _props$options.emojiNodeDataProvider) {
26
33
  return /*#__PURE__*/React.createElement(NdpEmoji, {
27
34
  node: props.node,
@@ -31,7 +38,7 @@ export function EmojiNodeView(props) {
31
38
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EmojiAssistiveTextComponent, {
32
39
  emojiShortName: shortName
33
40
  }), /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Emoji, {
34
- pluginInjectionApi: props.api,
41
+ emojiProvider: emojiProvider,
35
42
  providers: props.providerFactory,
36
43
  id: id,
37
44
  shortName: shortName,
@@ -7,12 +7,11 @@ var _templateObject;
7
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { Emoji } from '@atlaskit/editor-common/emoji';
10
- import { fg } from '@atlaskit/platform-feature-flags';
11
- import { default as EmojiNext } from './emoji-next';
10
+
12
11
  // eslint-disable-next-line
13
12
  var clickSelectWrapperStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage\n\tuser-select: all;\n"])));
14
13
  export default function EmojiNode(props) {
15
14
  return jsx("span", {
16
15
  css: clickSelectWrapperStyle
17
- }, fg('platform_editor_get_emoji_provider_from_config') ? jsx(EmojiNext, props) : jsx(Emoji, props));
16
+ }, jsx(Emoji, props));
18
17
  }
@@ -3,5 +3,5 @@
3
3
  * @jsx jsx
4
4
  */
5
5
  import { jsx } from '@emotion/react';
6
- import type { EmojiProps } from './emoji-next';
6
+ import { type EmojiProps } from '@atlaskit/editor-common/emoji';
7
7
  export default function EmojiNode(props: EmojiProps): jsx.JSX.Element;
@@ -3,5 +3,5 @@
3
3
  * @jsx jsx
4
4
  */
5
5
  import { jsx } from '@emotion/react';
6
- import type { EmojiProps } from './emoji-next';
6
+ import { type EmojiProps } from '@atlaskit/editor-common/emoji';
7
7
  export default function EmojiNode(props: EmojiProps): jsx.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-emoji",
3
- "version": "2.5.3",
3
+ "version": "2.6.0",
4
4
  "description": "Emoji plugin for @atlaskit/editor-core",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -21,10 +21,10 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@atlaskit/adf-schema": "^40.9.0",
24
- "@atlaskit/editor-common": "^89.0.0",
24
+ "@atlaskit/editor-common": "^89.2.0",
25
25
  "@atlaskit/editor-plugin-analytics": "^1.8.0",
26
26
  "@atlaskit/editor-plugin-type-ahead": "^1.8.0",
27
- "@atlaskit/editor-prosemirror": "5.0.1",
27
+ "@atlaskit/editor-prosemirror": "6.0.0",
28
28
  "@atlaskit/emoji": "^67.7.0",
29
29
  "@atlaskit/node-data-provider": "^2.0.0",
30
30
  "@atlaskit/platform-feature-flags": "^0.3.0",
@@ -1,55 +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 = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _hooks = require("@atlaskit/editor-common/hooks");
10
- var _element = require("@atlaskit/emoji/element");
11
- var useEmojiProvider = function useEmojiProvider(pluginInjectionApi) {
12
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['emoji']),
13
- emojiState = _useSharedPluginState.emojiState;
14
- return emojiState === null || emojiState === void 0 ? void 0 : emojiState.emojiProvider;
15
- };
16
- var EmojiNode = function EmojiNode(props) {
17
- var _resourceConfig$optim;
18
- var allowTextFallback = props.allowTextFallback,
19
- shortName = props.shortName,
20
- id = props.id,
21
- fallback = props.fallback,
22
- fitToHeight = props.fitToHeight,
23
- showTooltip = props.showTooltip,
24
- resourceConfig = props.resourceConfig,
25
- pluginInjectionApi = props.pluginInjectionApi;
26
- var emojiProvider = useEmojiProvider(pluginInjectionApi);
27
- if (allowTextFallback && !emojiProvider) {
28
- return /*#__PURE__*/_react.default.createElement("span", {
29
- "data-emoji-id": id,
30
- "data-emoji-short-name": shortName,
31
- "data-emoji-text": fallback || shortName
32
- }, fallback || shortName);
33
- }
34
- if (!emojiProvider) {
35
- return null;
36
- }
37
- return /*#__PURE__*/_react.default.createElement(_element.ResourcedEmoji, {
38
- emojiId: {
39
- id: id,
40
- fallback: fallback,
41
- shortName: shortName
42
- },
43
- emojiProvider: Promise.resolve(emojiProvider),
44
- showTooltip: showTooltip,
45
- fitToHeight: fitToHeight,
46
- optimistic: true,
47
- optimisticImageURL: resourceConfig === null || resourceConfig === void 0 || (_resourceConfig$optim = resourceConfig.optimisticImageApi) === null || _resourceConfig$optim === void 0 ? void 0 : _resourceConfig$optim.getUrl({
48
- id: id,
49
- fallback: fallback,
50
- shortName: shortName
51
- }),
52
- editorEmoji: true
53
- });
54
- };
55
- var _default = exports.default = EmojiNode;
@@ -1,51 +0,0 @@
1
- import React from 'react';
2
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
- import { ResourcedEmoji } from '@atlaskit/emoji/element';
4
- const useEmojiProvider = pluginInjectionApi => {
5
- const {
6
- emojiState
7
- } = useSharedPluginState(pluginInjectionApi, ['emoji']);
8
- return emojiState === null || emojiState === void 0 ? void 0 : emojiState.emojiProvider;
9
- };
10
- const EmojiNode = props => {
11
- var _resourceConfig$optim;
12
- const {
13
- allowTextFallback,
14
- shortName,
15
- id,
16
- fallback,
17
- fitToHeight,
18
- showTooltip,
19
- resourceConfig,
20
- pluginInjectionApi
21
- } = props;
22
- const emojiProvider = useEmojiProvider(pluginInjectionApi);
23
- if (allowTextFallback && !emojiProvider) {
24
- return /*#__PURE__*/React.createElement("span", {
25
- "data-emoji-id": id,
26
- "data-emoji-short-name": shortName,
27
- "data-emoji-text": fallback || shortName
28
- }, fallback || shortName);
29
- }
30
- if (!emojiProvider) {
31
- return null;
32
- }
33
- return /*#__PURE__*/React.createElement(ResourcedEmoji, {
34
- emojiId: {
35
- id,
36
- fallback,
37
- shortName
38
- },
39
- emojiProvider: Promise.resolve(emojiProvider),
40
- showTooltip: showTooltip,
41
- fitToHeight: fitToHeight,
42
- optimistic: true,
43
- optimisticImageURL: resourceConfig === null || resourceConfig === void 0 ? void 0 : (_resourceConfig$optim = resourceConfig.optimisticImageApi) === null || _resourceConfig$optim === void 0 ? void 0 : _resourceConfig$optim.getUrl({
44
- id,
45
- fallback,
46
- shortName
47
- }),
48
- editorEmoji: true
49
- });
50
- };
51
- export default EmojiNode;
@@ -1,48 +0,0 @@
1
- import React from 'react';
2
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
- import { ResourcedEmoji } from '@atlaskit/emoji/element';
4
- var useEmojiProvider = function useEmojiProvider(pluginInjectionApi) {
5
- var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['emoji']),
6
- emojiState = _useSharedPluginState.emojiState;
7
- return emojiState === null || emojiState === void 0 ? void 0 : emojiState.emojiProvider;
8
- };
9
- var EmojiNode = function EmojiNode(props) {
10
- var _resourceConfig$optim;
11
- var allowTextFallback = props.allowTextFallback,
12
- shortName = props.shortName,
13
- id = props.id,
14
- fallback = props.fallback,
15
- fitToHeight = props.fitToHeight,
16
- showTooltip = props.showTooltip,
17
- resourceConfig = props.resourceConfig,
18
- pluginInjectionApi = props.pluginInjectionApi;
19
- var emojiProvider = useEmojiProvider(pluginInjectionApi);
20
- if (allowTextFallback && !emojiProvider) {
21
- return /*#__PURE__*/React.createElement("span", {
22
- "data-emoji-id": id,
23
- "data-emoji-short-name": shortName,
24
- "data-emoji-text": fallback || shortName
25
- }, fallback || shortName);
26
- }
27
- if (!emojiProvider) {
28
- return null;
29
- }
30
- return /*#__PURE__*/React.createElement(ResourcedEmoji, {
31
- emojiId: {
32
- id: id,
33
- fallback: fallback,
34
- shortName: shortName
35
- },
36
- emojiProvider: Promise.resolve(emojiProvider),
37
- showTooltip: showTooltip,
38
- fitToHeight: fitToHeight,
39
- optimistic: true,
40
- optimisticImageURL: resourceConfig === null || resourceConfig === void 0 || (_resourceConfig$optim = resourceConfig.optimisticImageApi) === null || _resourceConfig$optim === void 0 ? void 0 : _resourceConfig$optim.getUrl({
41
- id: id,
42
- fallback: fallback,
43
- shortName: shortName
44
- }),
45
- editorEmoji: true
46
- });
47
- };
48
- export default EmojiNode;
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- import { type ProviderFactory } from '@atlaskit/editor-common/provider-factory';
3
- import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
4
- import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
5
- import type { EmojiId } from '@atlaskit/emoji/types';
6
- import { type EmojiPlugin } from '../../types';
7
- export interface EmojiProps extends EmojiId {
8
- allowTextFallback?: boolean;
9
- providers?: ProviderFactory;
10
- fitToHeight?: number;
11
- showTooltip?: boolean;
12
- resourceConfig?: EmojiResourceConfig;
13
- pluginInjectionApi: ExtractInjectionAPI<EmojiPlugin> | undefined;
14
- }
15
- declare const EmojiNode: (props: EmojiProps) => JSX.Element | null;
16
- export default EmojiNode;
@@ -1,16 +0,0 @@
1
- /// <reference types="react" />
2
- import { type ProviderFactory } from '@atlaskit/editor-common/provider-factory';
3
- import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
4
- import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
5
- import type { EmojiId } from '@atlaskit/emoji/types';
6
- import { type EmojiPlugin } from '../../types';
7
- export interface EmojiProps extends EmojiId {
8
- allowTextFallback?: boolean;
9
- providers?: ProviderFactory;
10
- fitToHeight?: number;
11
- showTooltip?: boolean;
12
- resourceConfig?: EmojiResourceConfig;
13
- pluginInjectionApi: ExtractInjectionAPI<EmojiPlugin> | undefined;
14
- }
15
- declare const EmojiNode: (props: EmojiProps) => JSX.Element | null;
16
- export default EmojiNode;