@atlaskit/editor-common 76.40.0 → 76.40.1

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,11 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.40.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#67197](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/67197) [`cb5f569a1b4a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/cb5f569a1b4a) - ED-21819 support copy inline image from renderer
8
+
3
9
  ## 76.40.0
4
10
 
5
11
  ### Minor Changes
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.InlineImageWrapper = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _react = require("@emotion/react");
10
11
  var _editorPalette = require("@atlaskit/editor-palette");
@@ -17,16 +18,18 @@ var InlineImageWrapper = exports.InlineImageWrapper = function InlineImageWrappe
17
18
  isSelected = _ref.isSelected,
18
19
  aspectRatio = _ref.aspectRatio,
19
20
  borderSize = _ref.borderSize,
20
- borderColor = _ref.borderColor;
21
+ borderColor = _ref.borderColor,
22
+ _ref$htmlAttrs = _ref.htmlAttrs,
23
+ htmlAttrs = _ref$htmlAttrs === void 0 ? {} : _ref$htmlAttrs;
21
24
  var borderStyleVars = borderSize && borderColor ? (_ref2 = {}, (0, _defineProperty2.default)(_ref2, _styles.INLINE_IMAGE_BORDER_SIZE_CSS_VAR_KEY, borderSize), (0, _defineProperty2.default)(_ref2, _styles.INLINE_IMAGE_BORDER_COLOR_CSS_VAR_KEY, (0, _editorPalette.hexToEditorBorderPaletteColor)(borderColor) || borderColor), _ref2) : {};
22
25
  var aspectStyleVars = aspectRatio ? (0, _defineProperty2.default)({}, _styles.INLINE_IMAGE_ASPECT_RATIO_CSS_VAR_KEY, aspectRatio) : {};
23
26
  return (
24
27
  // eslint-disable-next-line @atlaskit/design-system/prefer-primitives
25
- (0, _react.jsx)("span", {
28
+ (0, _react.jsx)("span", (0, _extends2.default)({
26
29
  style: _objectSpread(_objectSpread({}, borderStyleVars), aspectStyleVars),
27
30
  className: _styles.INLINE_IMAGE_WRAPPER_CLASS_NAME,
28
31
  css: [_styles.wrapperStyle, borderSize && borderColor && _styles.borderStyle, isSelected && _styles.selectedStyle],
29
32
  "data-testid": "inline-image-wrapper"
30
- }, children)
33
+ }, htmlAttrs), children)
31
34
  );
32
35
  };
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.MediaInlineImageCardInternal = exports.MediaInlineImageCard = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _react = require("react");
10
11
  var _react2 = require("@emotion/react");
@@ -15,8 +16,8 @@ var _constants = require("./constants");
15
16
  var _inlineImageWrapper = require("./inline-image-wrapper");
16
17
  var _errorView = require("./views/error-view");
17
18
  var _loadingView = require("./views/loading-view");
18
- /** @jsx jsx */
19
-
19
+ 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; }
20
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** @jsx jsx */
20
21
  var MediaInlineImageCardInternal = exports.MediaInlineImageCardInternal = function MediaInlineImageCardInternal(_ref) {
21
22
  var mediaClient = _ref.mediaClient,
22
23
  identifier = _ref.identifier,
@@ -27,7 +28,8 @@ var MediaInlineImageCardInternal = exports.MediaInlineImageCardInternal = functi
27
28
  width = _ref.width,
28
29
  height = _ref.height,
29
30
  border = _ref.border,
30
- ssr = _ref.ssr;
31
+ ssr = _ref.ssr,
32
+ serializeDataAttrs = _ref.serializeDataAttrs;
31
33
  var _useState = (0, _react.useState)(),
32
34
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
35
  fileState = _useState2[0],
@@ -119,11 +121,31 @@ var MediaInlineImageCardInternal = exports.MediaInlineImageCardInternal = functi
119
121
  height: _constants.referenceHeights['h1']
120
122
  };
121
123
  }, [width, height, aspectRatio]);
124
+ var htmlAttributes = (0, _react.useMemo)(function () {
125
+ if (serializeDataAttrs) {
126
+ var resolvedAttrs = fileState && fileState.status !== 'error' ? {
127
+ 'data-file-size': fileState.size,
128
+ 'data-file-mime-type': fileState.mimeType,
129
+ 'data-file-name': fileState.name
130
+ } : {};
131
+ return _objectSpread({
132
+ 'data-type': 'image',
133
+ 'data-node-type': 'mediaInline',
134
+ 'data-id': identifier.id,
135
+ 'data-collection': identifier.collectionName,
136
+ 'data-width': width,
137
+ 'data-height': height,
138
+ 'data-alt': alt
139
+ }, resolvedAttrs);
140
+ }
141
+ return {};
142
+ }, [alt, fileState, height, identifier, width, serializeDataAttrs]);
122
143
  return (0, _react2.jsx)(_inlineImageWrapper.InlineImageWrapper, {
123
144
  isSelected: isSelected,
124
145
  aspectRatio: aspectRatio,
125
146
  borderColor: border === null || border === void 0 ? void 0 : border.borderColor,
126
- borderSize: border === null || border === void 0 ? void 0 : border.borderSize
147
+ borderSize: border === null || border === void 0 ? void 0 : border.borderSize,
148
+ htmlAttrs: htmlAttributes
127
149
  }, content(scaledDimension));
128
150
  };
129
151
  var MediaInlineImageCard = exports.MediaInlineImageCard = (0, _reactIntlNext.injectIntl)(MediaInlineImageCardInternal, {
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "76.40.0";
19
+ var packageVersion = "76.40.1";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -22,7 +22,7 @@ var _templateObject, _templateObject2, _templateObject3;
22
22
  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); }; }
23
23
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
24
24
  var packageName = "@atlaskit/editor-common";
25
- var packageVersion = "76.40.0";
25
+ var packageVersion = "76.40.1";
26
26
  var halfFocusRing = 1;
27
27
  var dropOffset = '0, 8';
28
28
  var DropList = /*#__PURE__*/function (_Component) {
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  /** @jsx jsx */
2
3
 
3
4
  import { jsx } from '@emotion/react';
@@ -8,7 +9,8 @@ export const InlineImageWrapper = ({
8
9
  isSelected,
9
10
  aspectRatio,
10
11
  borderSize,
11
- borderColor
12
+ borderColor,
13
+ htmlAttrs = {}
12
14
  }) => {
13
15
  const borderStyleVars = borderSize && borderColor ? {
14
16
  [INLINE_IMAGE_BORDER_SIZE_CSS_VAR_KEY]: borderSize,
@@ -19,7 +21,7 @@ export const InlineImageWrapper = ({
19
21
  } : {};
20
22
  return (
21
23
  // eslint-disable-next-line @atlaskit/design-system/prefer-primitives
22
- jsx("span", {
24
+ jsx("span", _extends({
23
25
  style: {
24
26
  ...borderStyleVars,
25
27
  ...aspectStyleVars
@@ -27,6 +29,6 @@ export const InlineImageWrapper = ({
27
29
  className: INLINE_IMAGE_WRAPPER_CLASS_NAME,
28
30
  css: [wrapperStyle, borderSize && borderColor && borderStyle, isSelected && selectedStyle],
29
31
  "data-testid": "inline-image-wrapper"
30
- }, children)
32
+ }, htmlAttrs), children)
31
33
  );
32
34
  };
@@ -19,7 +19,8 @@ export const MediaInlineImageCardInternal = ({
19
19
  width,
20
20
  height,
21
21
  border,
22
- ssr
22
+ ssr,
23
+ serializeDataAttrs
23
24
  }) => {
24
25
  const [fileState, setFileState] = useState();
25
26
  const [subscribeError, setSubscribeError] = useState();
@@ -105,11 +106,32 @@ export const MediaInlineImageCardInternal = ({
105
106
  height: referenceHeights['h1']
106
107
  };
107
108
  }, [width, height, aspectRatio]);
109
+ const htmlAttributes = useMemo(() => {
110
+ if (serializeDataAttrs) {
111
+ const resolvedAttrs = fileState && fileState.status !== 'error' ? {
112
+ 'data-file-size': fileState.size,
113
+ 'data-file-mime-type': fileState.mimeType,
114
+ 'data-file-name': fileState.name
115
+ } : {};
116
+ return {
117
+ 'data-type': 'image',
118
+ 'data-node-type': 'mediaInline',
119
+ 'data-id': identifier.id,
120
+ 'data-collection': identifier.collectionName,
121
+ 'data-width': width,
122
+ 'data-height': height,
123
+ 'data-alt': alt,
124
+ ...resolvedAttrs
125
+ };
126
+ }
127
+ return {};
128
+ }, [alt, fileState, height, identifier, width, serializeDataAttrs]);
108
129
  return jsx(InlineImageWrapper, {
109
130
  isSelected: isSelected,
110
131
  aspectRatio: aspectRatio,
111
132
  borderColor: border === null || border === void 0 ? void 0 : border.borderColor,
112
- borderSize: border === null || border === void 0 ? void 0 : border.borderSize
133
+ borderSize: border === null || border === void 0 ? void 0 : border.borderSize,
134
+ htmlAttrs: htmlAttributes
113
135
  }, content(scaledDimension));
114
136
  };
115
137
  export const MediaInlineImageCard = injectIntl(MediaInlineImageCardInternal, {
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "76.40.0";
3
+ const packageVersion = "76.40.1";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -7,7 +7,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
7
7
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
8
8
  import Layer from '../Layer';
9
9
  const packageName = "@atlaskit/editor-common";
10
- const packageVersion = "76.40.0";
10
+ const packageVersion = "76.40.1";
11
11
  const halfFocusRing = 1;
12
12
  const dropOffset = '0, 8';
13
13
  class DropList extends Component {
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  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; }
3
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -12,16 +13,18 @@ export var InlineImageWrapper = function InlineImageWrapper(_ref) {
12
13
  isSelected = _ref.isSelected,
13
14
  aspectRatio = _ref.aspectRatio,
14
15
  borderSize = _ref.borderSize,
15
- borderColor = _ref.borderColor;
16
+ borderColor = _ref.borderColor,
17
+ _ref$htmlAttrs = _ref.htmlAttrs,
18
+ htmlAttrs = _ref$htmlAttrs === void 0 ? {} : _ref$htmlAttrs;
16
19
  var borderStyleVars = borderSize && borderColor ? (_ref2 = {}, _defineProperty(_ref2, INLINE_IMAGE_BORDER_SIZE_CSS_VAR_KEY, borderSize), _defineProperty(_ref2, INLINE_IMAGE_BORDER_COLOR_CSS_VAR_KEY, hexToEditorBorderPaletteColor(borderColor) || borderColor), _ref2) : {};
17
20
  var aspectStyleVars = aspectRatio ? _defineProperty({}, INLINE_IMAGE_ASPECT_RATIO_CSS_VAR_KEY, aspectRatio) : {};
18
21
  return (
19
22
  // eslint-disable-next-line @atlaskit/design-system/prefer-primitives
20
- jsx("span", {
23
+ jsx("span", _extends({
21
24
  style: _objectSpread(_objectSpread({}, borderStyleVars), aspectStyleVars),
22
25
  className: INLINE_IMAGE_WRAPPER_CLASS_NAME,
23
26
  css: [wrapperStyle, borderSize && borderColor && borderStyle, isSelected && selectedStyle],
24
27
  "data-testid": "inline-image-wrapper"
25
- }, children)
28
+ }, htmlAttrs), children)
26
29
  );
27
30
  };
@@ -1,4 +1,7 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ 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; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2
5
  /** @jsx jsx */
3
6
 
4
7
  import { useEffect, useMemo, useState } from 'react';
@@ -20,7 +23,8 @@ export var MediaInlineImageCardInternal = function MediaInlineImageCardInternal(
20
23
  width = _ref.width,
21
24
  height = _ref.height,
22
25
  border = _ref.border,
23
- ssr = _ref.ssr;
26
+ ssr = _ref.ssr,
27
+ serializeDataAttrs = _ref.serializeDataAttrs;
24
28
  var _useState = useState(),
25
29
  _useState2 = _slicedToArray(_useState, 2),
26
30
  fileState = _useState2[0],
@@ -112,11 +116,31 @@ export var MediaInlineImageCardInternal = function MediaInlineImageCardInternal(
112
116
  height: referenceHeights['h1']
113
117
  };
114
118
  }, [width, height, aspectRatio]);
119
+ var htmlAttributes = useMemo(function () {
120
+ if (serializeDataAttrs) {
121
+ var resolvedAttrs = fileState && fileState.status !== 'error' ? {
122
+ 'data-file-size': fileState.size,
123
+ 'data-file-mime-type': fileState.mimeType,
124
+ 'data-file-name': fileState.name
125
+ } : {};
126
+ return _objectSpread({
127
+ 'data-type': 'image',
128
+ 'data-node-type': 'mediaInline',
129
+ 'data-id': identifier.id,
130
+ 'data-collection': identifier.collectionName,
131
+ 'data-width': width,
132
+ 'data-height': height,
133
+ 'data-alt': alt
134
+ }, resolvedAttrs);
135
+ }
136
+ return {};
137
+ }, [alt, fileState, height, identifier, width, serializeDataAttrs]);
115
138
  return jsx(InlineImageWrapper, {
116
139
  isSelected: isSelected,
117
140
  aspectRatio: aspectRatio,
118
141
  borderColor: border === null || border === void 0 ? void 0 : border.borderColor,
119
- borderSize: border === null || border === void 0 ? void 0 : border.borderSize
142
+ borderSize: border === null || border === void 0 ? void 0 : border.borderSize,
143
+ htmlAttrs: htmlAttributes
120
144
  }, content(scaledDimension));
121
145
  };
122
146
  export var MediaInlineImageCard = injectIntl(MediaInlineImageCardInternal, {
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "76.40.0";
9
+ var packageVersion = "76.40.1";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -17,7 +17,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
17
17
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
18
18
  import Layer from '../Layer';
19
19
  var packageName = "@atlaskit/editor-common";
20
- var packageVersion = "76.40.0";
20
+ var packageVersion = "76.40.1";
21
21
  var halfFocusRing = 1;
22
22
  var dropOffset = '0, 8';
23
23
  var DropList = /*#__PURE__*/function (_Component) {
@@ -6,6 +6,9 @@ type Props = {
6
6
  aspectRatio?: number | string;
7
7
  borderSize?: number;
8
8
  borderColor?: string;
9
+ htmlAttrs?: {
10
+ [key: string]: string | number | undefined;
11
+ };
9
12
  };
10
13
  export declare const InlineImageWrapper: FC<Props>;
11
14
  export {};
@@ -8,6 +8,7 @@ export interface MediaInlineImageCardProps {
8
8
  mediaClient?: MediaClient;
9
9
  isSelected?: boolean;
10
10
  isLazy?: boolean;
11
+ serializeDataAttrs?: boolean;
11
12
  border?: {
12
13
  borderSize?: number;
13
14
  borderColor?: string;
@@ -6,6 +6,9 @@ type Props = {
6
6
  aspectRatio?: number | string;
7
7
  borderSize?: number;
8
8
  borderColor?: string;
9
+ htmlAttrs?: {
10
+ [key: string]: string | number | undefined;
11
+ };
9
12
  };
10
13
  export declare const InlineImageWrapper: FC<Props>;
11
14
  export {};
@@ -8,6 +8,7 @@ export interface MediaInlineImageCardProps {
8
8
  mediaClient?: MediaClient;
9
9
  isSelected?: boolean;
10
10
  isLazy?: boolean;
11
+ serializeDataAttrs?: boolean;
11
12
  border?: {
12
13
  borderSize?: number;
13
14
  borderColor?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "76.40.0",
3
+ "version": "76.40.1",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"