@atlaskit/editor-plugin-media 1.19.6 → 1.19.8

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,21 @@
1
1
  # @atlaskit/editor-plugin-media
2
2
 
3
+ ## 1.19.8
4
+
5
+ ### Patch Changes
6
+
7
+ - [#98080](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/98080)
8
+ [`23c03580e38c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/23c03580e38c) -
9
+ [ux] [ED-23247] Allow floating toolbar copy buttons in live pages view mode.
10
+
11
+ ## 1.19.7
12
+
13
+ ### Patch Changes
14
+
15
+ - [#99511](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/99511)
16
+ [`85eb87c88183`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/85eb87c88183) -
17
+ Removed unused logic that was creating an empty span element when new portal provider is enabled
18
+
3
19
  ## 1.19.6
4
20
 
5
21
  ### Patch Changes
@@ -27,7 +27,6 @@ var _mediaUi = require("@atlaskit/media-ui");
27
27
  var _MediaViewerContainer = require("../ui/MediaViewer/MediaViewerContainer");
28
28
  var _isType = require("../utils/is-type");
29
29
  var _mediaNodeUpdater = require("./mediaNodeUpdater");
30
- var _styles = require("./styles");
31
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
32
31
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
33
32
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -254,15 +253,6 @@ var MediaInlineNodeView = exports.MediaInlineNodeView = /*#__PURE__*/function (_
254
253
  domRef.contentEditable = 'false';
255
254
  return domRef;
256
255
  }
257
- }, {
258
- key: "getContentDOM",
259
- value: function getContentDOM() {
260
- var dom = document.createElement('span');
261
- dom.classList.add(_styles.MediaInlineNodeSelector);
262
- return {
263
- dom: dom
264
- };
265
- }
266
256
  }, {
267
257
  key: "ignoreMutation",
268
258
  value: function ignoreMutation() {
@@ -4,13 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MediaSingleNodeSelector = exports.MediaInlineNodeSelector = exports.MediaCardWrapper = void 0;
7
+ exports.MediaSingleNodeSelector = exports.MediaCardWrapper = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@emotion/react");
10
10
  var _ui = require("@atlaskit/editor-common/ui");
11
11
  /** @jsx jsx */
12
12
 
13
- var MediaInlineNodeSelector = exports.MediaInlineNodeSelector = 'media-inline-node';
14
13
  var MediaSingleNodeSelector = exports.MediaSingleNodeSelector = 'media-single-node';
15
14
  var absoluteDivStyles = (0, _react2.css)({
16
15
  position: 'absolute',
@@ -103,13 +103,14 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
103
103
  type: 'separator'
104
104
  }, {
105
105
  type: 'copy-button',
106
+ supportsViewMode: true,
106
107
  items: [{
107
108
  state: state,
108
109
  formatMessage: intl.formatMessage,
109
110
  nodeType: mediaGroup
110
- }, {
111
- type: 'separator'
112
111
  }]
112
+ }, {
113
+ type: 'separator'
113
114
  }, {
114
115
  id: 'editor.media.delete',
115
116
  type: 'button',
@@ -597,16 +598,11 @@ var floatingToolbar = exports.floatingToolbar = function floatingToolbar(state,
597
598
  };
598
599
  items = generateMediaCardFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a8 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a8 === void 0 ? void 0 : _pluginInjectionApi$a8.actions, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f2 = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f2 === void 0 || (_pluginInjectionApi$f2 = _pluginInjectionApi$f2.actions) === null || _pluginInjectionApi$f2 === void 0 ? void 0 : _pluginInjectionApi$f2.forceFocusSelector, isViewOnly);
599
600
  } else if (allowMediaInline && selectedNodeType && selectedNodeType === mediaInline) {
600
- baseToolbar.getDomRef = function () {
601
- var _mediaPluginState$ele2;
602
- var element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(".".concat(_styles.MediaInlineNodeSelector));
603
- return element || mediaPluginState.element;
604
- };
605
601
  items = (0, _mediaInline2.generateMediaInlineFloatingToolbar)(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi, options);
606
602
  } else {
607
603
  baseToolbar.getDomRef = function () {
608
- var _mediaPluginState$ele3;
609
- var element = (_mediaPluginState$ele3 = mediaPluginState.element) === null || _mediaPluginState$ele3 === void 0 ? void 0 : _mediaPluginState$ele3.querySelector(".".concat(_styles.MediaSingleNodeSelector));
604
+ var _mediaPluginState$ele2;
605
+ var element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(".".concat(_styles.MediaSingleNodeSelector));
610
606
  return element || mediaPluginState.element;
611
607
  };
612
608
  items = generateMediaSingleFloatingToolbar(state, intl, options, mediaPluginState, mediaLinkingState, pluginInjectionApi);
@@ -67,13 +67,14 @@ var generateMediaInlineFloatingToolbar = exports.generateMediaInlineFloatingTool
67
67
  type: 'separator'
68
68
  }, {
69
69
  type: 'copy-button',
70
+ supportsViewMode: true,
70
71
  items: [{
71
72
  state: state,
72
73
  formatMessage: intl.formatMessage,
73
74
  nodeType: mediaInline
74
- }, {
75
- type: 'separator'
76
75
  }]
76
+ }, {
77
+ type: 'separator'
77
78
  }, {
78
79
  id: 'editor.media.delete',
79
80
  type: 'button',
@@ -281,12 +282,12 @@ var getMediaInlineImageToolbar = exports.getMediaInlineImageToolbar = function g
281
282
  }
282
283
  inlineImageItems.push({
283
284
  type: 'copy-button',
285
+ supportsViewMode: true,
284
286
  items: [{
285
287
  state: state,
286
288
  formatMessage: intl.formatMessage,
287
289
  nodeType: mediaInline
288
- }],
289
- supportsViewMode: true
290
+ }]
290
291
  });
291
292
  inlineImageItems.push({
292
293
  type: 'separator'
@@ -11,7 +11,6 @@ import { MediaInlineCardLoadingView } from '@atlaskit/media-ui';
11
11
  import { MediaViewerContainer } from '../ui/MediaViewer/MediaViewerContainer';
12
12
  import { isImage } from '../utils/is-type';
13
13
  import { MediaNodeUpdater } from './mediaNodeUpdater';
14
- import { MediaInlineNodeSelector } from './styles';
15
14
  export const createMediaNodeUpdater = props => {
16
15
  const node = props.node;
17
16
  return new MediaNodeUpdater({
@@ -179,13 +178,6 @@ export class MediaInlineNodeView extends SelectionBasedNodeView {
179
178
  domRef.contentEditable = 'false';
180
179
  return domRef;
181
180
  }
182
- getContentDOM() {
183
- const dom = document.createElement('span');
184
- dom.classList.add(MediaInlineNodeSelector);
185
- return {
186
- dom
187
- };
188
- }
189
181
  ignoreMutation() {
190
182
  return true;
191
183
  }
@@ -2,7 +2,6 @@
2
2
  import React from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { MediaBorderGapFiller } from '@atlaskit/editor-common/ui';
5
- export const MediaInlineNodeSelector = 'media-inline-node';
6
5
  export const MediaSingleNodeSelector = 'media-single-node';
7
6
  const absoluteDivStyles = css({
8
7
  position: 'absolute',
@@ -14,7 +14,7 @@ import { mediaFilmstripItemDOMSelector } from '@atlaskit/media-filmstrip';
14
14
  import { messages } from '@atlaskit/media-ui';
15
15
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
16
16
  import { showLinkingToolbar } from '../commands/linking';
17
- import { MediaInlineNodeSelector, MediaSingleNodeSelector } from '../nodeviews/styles';
17
+ import { MediaSingleNodeSelector } from '../nodeviews/styles';
18
18
  import { getPluginState as getMediaAltTextPluginState } from '../pm-plugins/alt-text';
19
19
  import { getMediaLinkingState } from '../pm-plugins/linking';
20
20
  import { stateKey } from '../pm-plugins/plugin-key';
@@ -91,13 +91,14 @@ const generateMediaCardFloatingToolbar = (state, intl, mediaPluginState, hoverDe
91
91
  type: 'separator'
92
92
  }, {
93
93
  type: 'copy-button',
94
+ supportsViewMode: true,
94
95
  items: [{
95
96
  state,
96
97
  formatMessage: intl.formatMessage,
97
98
  nodeType: mediaGroup
98
- }, {
99
- type: 'separator'
100
99
  }]
100
+ }, {
101
+ type: 'separator'
101
102
  }, {
102
103
  id: 'editor.media.delete',
103
104
  type: 'button',
@@ -598,16 +599,11 @@ export const floatingToolbar = (state, intl, options = {}, pluginInjectionApi) =
598
599
  };
599
600
  items = generateMediaCardFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a8 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a8 === void 0 ? void 0 : _pluginInjectionApi$a8.actions, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$f3 = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f3 === void 0 ? void 0 : (_pluginInjectionApi$f4 = _pluginInjectionApi$f3.actions) === null || _pluginInjectionApi$f4 === void 0 ? void 0 : _pluginInjectionApi$f4.forceFocusSelector, isViewOnly);
600
601
  } else if (allowMediaInline && selectedNodeType && selectedNodeType === mediaInline) {
601
- baseToolbar.getDomRef = () => {
602
- var _mediaPluginState$ele2;
603
- const element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(`.${MediaInlineNodeSelector}`);
604
- return element || mediaPluginState.element;
605
- };
606
602
  items = generateMediaInlineFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi, options);
607
603
  } else {
608
604
  baseToolbar.getDomRef = () => {
609
- var _mediaPluginState$ele3;
610
- const element = (_mediaPluginState$ele3 = mediaPluginState.element) === null || _mediaPluginState$ele3 === void 0 ? void 0 : _mediaPluginState$ele3.querySelector(`.${MediaSingleNodeSelector}`);
605
+ var _mediaPluginState$ele2;
606
+ const element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(`.${MediaSingleNodeSelector}`);
611
607
  return element || mediaPluginState.element;
612
608
  };
613
609
  items = generateMediaSingleFloatingToolbar(state, intl, options, mediaPluginState, mediaLinkingState, pluginInjectionApi);
@@ -58,13 +58,14 @@ export const generateMediaInlineFloatingToolbar = (state, intl, mediaPluginState
58
58
  type: 'separator'
59
59
  }, {
60
60
  type: 'copy-button',
61
+ supportsViewMode: true,
61
62
  items: [{
62
63
  state,
63
64
  formatMessage: intl.formatMessage,
64
65
  nodeType: mediaInline
65
- }, {
66
- type: 'separator'
67
66
  }]
67
+ }, {
68
+ type: 'separator'
68
69
  }, {
69
70
  id: 'editor.media.delete',
70
71
  type: 'button',
@@ -275,12 +276,12 @@ export const getMediaInlineImageToolbar = (state, intl, mediaPluginState, hoverD
275
276
  }
276
277
  inlineImageItems.push({
277
278
  type: 'copy-button',
279
+ supportsViewMode: true,
278
280
  items: [{
279
281
  state,
280
282
  formatMessage: intl.formatMessage,
281
283
  nodeType: mediaInline
282
- }],
283
- supportsViewMode: true
284
+ }]
284
285
  });
285
286
  inlineImageItems.push({
286
287
  type: 'separator'
@@ -25,7 +25,6 @@ import { MediaInlineCardLoadingView } from '@atlaskit/media-ui';
25
25
  import { MediaViewerContainer } from '../ui/MediaViewer/MediaViewerContainer';
26
26
  import { isImage } from '../utils/is-type';
27
27
  import { MediaNodeUpdater } from './mediaNodeUpdater';
28
- import { MediaInlineNodeSelector } from './styles';
29
28
  export var createMediaNodeUpdater = function createMediaNodeUpdater(props) {
30
29
  var node = props.node;
31
30
  return new MediaNodeUpdater(_objectSpread(_objectSpread({}, props), {}, {
@@ -248,15 +247,6 @@ export var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
248
247
  domRef.contentEditable = 'false';
249
248
  return domRef;
250
249
  }
251
- }, {
252
- key: "getContentDOM",
253
- value: function getContentDOM() {
254
- var dom = document.createElement('span');
255
- dom.classList.add(MediaInlineNodeSelector);
256
- return {
257
- dom: dom
258
- };
259
- }
260
250
  }, {
261
251
  key: "ignoreMutation",
262
252
  value: function ignoreMutation() {
@@ -2,7 +2,6 @@
2
2
  import React from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import { MediaBorderGapFiller } from '@atlaskit/editor-common/ui';
5
- export var MediaInlineNodeSelector = 'media-inline-node';
6
5
  export var MediaSingleNodeSelector = 'media-single-node';
7
6
  var absoluteDivStyles = css({
8
7
  position: 'absolute',
@@ -18,7 +18,7 @@ import { mediaFilmstripItemDOMSelector } from '@atlaskit/media-filmstrip';
18
18
  import { messages } from '@atlaskit/media-ui';
19
19
  import { getBooleanFF } from '@atlaskit/platform-feature-flags';
20
20
  import { showLinkingToolbar } from '../commands/linking';
21
- import { MediaInlineNodeSelector, MediaSingleNodeSelector } from '../nodeviews/styles';
21
+ import { MediaSingleNodeSelector } from '../nodeviews/styles';
22
22
  import { getPluginState as getMediaAltTextPluginState } from '../pm-plugins/alt-text';
23
23
  import { getMediaLinkingState } from '../pm-plugins/linking';
24
24
  import { stateKey } from '../pm-plugins/plugin-key';
@@ -93,13 +93,14 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
93
93
  type: 'separator'
94
94
  }, {
95
95
  type: 'copy-button',
96
+ supportsViewMode: true,
96
97
  items: [{
97
98
  state: state,
98
99
  formatMessage: intl.formatMessage,
99
100
  nodeType: mediaGroup
100
- }, {
101
- type: 'separator'
102
101
  }]
102
+ }, {
103
+ type: 'separator'
103
104
  }, {
104
105
  id: 'editor.media.delete',
105
106
  type: 'button',
@@ -587,16 +588,11 @@ export var floatingToolbar = function floatingToolbar(state, intl) {
587
588
  };
588
589
  items = generateMediaCardFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a8 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a8 === void 0 ? void 0 : _pluginInjectionApi$a8.actions, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f2 = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f2 === void 0 || (_pluginInjectionApi$f2 = _pluginInjectionApi$f2.actions) === null || _pluginInjectionApi$f2 === void 0 ? void 0 : _pluginInjectionApi$f2.forceFocusSelector, isViewOnly);
589
590
  } else if (allowMediaInline && selectedNodeType && selectedNodeType === mediaInline) {
590
- baseToolbar.getDomRef = function () {
591
- var _mediaPluginState$ele2;
592
- var element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(".".concat(MediaInlineNodeSelector));
593
- return element || mediaPluginState.element;
594
- };
595
591
  items = generateMediaInlineFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi, options);
596
592
  } else {
597
593
  baseToolbar.getDomRef = function () {
598
- var _mediaPluginState$ele3;
599
- var element = (_mediaPluginState$ele3 = mediaPluginState.element) === null || _mediaPluginState$ele3 === void 0 ? void 0 : _mediaPluginState$ele3.querySelector(".".concat(MediaSingleNodeSelector));
594
+ var _mediaPluginState$ele2;
595
+ var element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(".".concat(MediaSingleNodeSelector));
600
596
  return element || mediaPluginState.element;
601
597
  };
602
598
  items = generateMediaSingleFloatingToolbar(state, intl, options, mediaPluginState, mediaLinkingState, pluginInjectionApi);
@@ -57,13 +57,14 @@ export var generateMediaInlineFloatingToolbar = function generateMediaInlineFloa
57
57
  type: 'separator'
58
58
  }, {
59
59
  type: 'copy-button',
60
+ supportsViewMode: true,
60
61
  items: [{
61
62
  state: state,
62
63
  formatMessage: intl.formatMessage,
63
64
  nodeType: mediaInline
64
- }, {
65
- type: 'separator'
66
65
  }]
66
+ }, {
67
+ type: 'separator'
67
68
  }, {
68
69
  id: 'editor.media.delete',
69
70
  type: 'button',
@@ -271,12 +272,12 @@ export var getMediaInlineImageToolbar = function getMediaInlineImageToolbar(stat
271
272
  }
272
273
  inlineImageItems.push({
273
274
  type: 'copy-button',
275
+ supportsViewMode: true,
274
276
  items: [{
275
277
  state: state,
276
278
  formatMessage: intl.formatMessage,
277
279
  nodeType: mediaInline
278
- }],
279
- supportsViewMode: true
280
+ }]
280
281
  });
281
282
  inlineImageItems.push({
282
283
  type: 'separator'
@@ -42,9 +42,6 @@ export interface MediaInlineNodeViewProps {
42
42
  }
43
43
  export declare class MediaInlineNodeView extends SelectionBasedNodeView<MediaInlineNodeViewProps> {
44
44
  createDomRef(): HTMLSpanElement;
45
- getContentDOM(): {
46
- dom: HTMLSpanElement;
47
- };
48
45
  ignoreMutation(): boolean;
49
46
  viewShouldUpdate(nextNode: PMNode): boolean;
50
47
  render(props: MediaInlineNodeViewProps): jsx.JSX.Element;
@@ -2,7 +2,6 @@
2
2
  import React from 'react';
3
3
  import { jsx } from '@emotion/react';
4
4
  import type { NumericalCardDimensions } from '@atlaskit/media-card';
5
- export declare const MediaInlineNodeSelector = "media-inline-node";
6
5
  export declare const MediaSingleNodeSelector = "media-single-node";
7
6
  type MediaCardWrapperProps = {
8
7
  dimensions: NumericalCardDimensions;
@@ -42,9 +42,6 @@ export interface MediaInlineNodeViewProps {
42
42
  }
43
43
  export declare class MediaInlineNodeView extends SelectionBasedNodeView<MediaInlineNodeViewProps> {
44
44
  createDomRef(): HTMLSpanElement;
45
- getContentDOM(): {
46
- dom: HTMLSpanElement;
47
- };
48
45
  ignoreMutation(): boolean;
49
46
  viewShouldUpdate(nextNode: PMNode): boolean;
50
47
  render(props: MediaInlineNodeViewProps): jsx.JSX.Element;
@@ -2,7 +2,6 @@
2
2
  import React from 'react';
3
3
  import { jsx } from '@emotion/react';
4
4
  import type { NumericalCardDimensions } from '@atlaskit/media-card';
5
- export declare const MediaInlineNodeSelector = "media-inline-node";
6
5
  export declare const MediaSingleNodeSelector = "media-single-node";
7
6
  type MediaCardWrapperProps = {
8
7
  dimensions: NumericalCardDimensions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-media",
3
- "version": "1.19.6",
3
+ "version": "1.19.8",
4
4
  "description": "Media plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -37,7 +37,7 @@
37
37
  "@atlaskit/analytics-namespaced-context": "^6.9.0",
38
38
  "@atlaskit/analytics-next": "^9.3.0",
39
39
  "@atlaskit/button": "^17.14.0",
40
- "@atlaskit/editor-common": "^79.2.0",
40
+ "@atlaskit/editor-common": "^79.4.0",
41
41
  "@atlaskit/editor-palette": "1.6.0",
42
42
  "@atlaskit/editor-plugin-analytics": "^1.1.0",
43
43
  "@atlaskit/editor-plugin-annotation": "1.7.3",
@@ -67,7 +67,7 @@
67
67
  "@atlaskit/primitives": "^6.1.0",
68
68
  "@atlaskit/textfield": "^6.3.0",
69
69
  "@atlaskit/theme": "^12.8.0",
70
- "@atlaskit/tokens": "^1.47.0",
70
+ "@atlaskit/tokens": "^1.48.0",
71
71
  "@atlaskit/tooltip": "^18.3.0",
72
72
  "@babel/runtime": "^7.0.0",
73
73
  "@emotion/react": "^11.7.1",