@atlaskit/editor-common 76.40.0 → 76.41.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,21 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.41.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#67100](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/67100) [`55cdf07c41cb`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/55cdf07c41cb) - Allow create label formatting for custom fields from extension
8
+
9
+ ### Patch Changes
10
+
11
+ - [#66230](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/66230) [`251435677e82`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/251435677e82) - [ux] ED-21621 Fixing alignment of panel icon and content.
12
+
13
+ ## 76.40.1
14
+
15
+ ### Patch Changes
16
+
17
+ - [#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
18
+
3
19
  ## 76.40.0
4
20
 
5
21
  ### 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.41.0";
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
@@ -167,7 +167,7 @@ var mainDynamicStyles = function mainDynamicStyles(panelType) {
167
167
  return "\n background-color: ".concat(getPanelTypeBackground(panelType), ";\n color: inherit;\n ");
168
168
  };
169
169
  var panelSharedStylesWithoutPrefix = exports.panelSharedStylesWithoutPrefix = function panelSharedStylesWithoutPrefix() {
170
- return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-radius: ", ";\n margin: ", " 0 0;\n padding: ", ";\n min-width: ", "px;\n display: flex;\n position: relative;\n align-items: baseline;\n word-break: break-word;\n\n ", "\n\n .", " {\n flex-shrink: 0;\n height: ", ";\n width: ", ";\n box-sizing: content-box;\n padding-right: ", ";\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n ", "\n\n > span {\n vertical-align: middle;\n display: inline-flex;\n }\n\n .", " {\n vertical-align: ", "px;\n }\n\n .", " {\n vertical-align: ", "px;\n\n // Vertical align only works for inline-block elements in Firefox\n @-moz-document url-prefix() {\n img {\n display: inline-block;\n }\n }\n }\n }\n\n .ak-editor-panel__content {\n margin: 1px 0 1px;\n flex: 1 0 0;\n /*\n https://ishadeed.com/article/min-max-css/#setting-min-width-to-zero-with-flexbox\n The default value for min-width is auto, which is computed to zero. When an element is a flex item, the value of min-width doesn\u2019t compute to zero. The minimum size of a flex item is equal to the size of its contents.\n */\n min-width: 0;\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n"])), "var(--ds-border-radius, 3px)", _editorSharedStyles.blockNodesVerticalMargin, "var(--ds-space-100, 8px)", _editorSharedStyles.akEditorTableCellMinWidth, mainDynamicStyles(_adfSchema.PanelType.INFO), PanelSharedCssClassName.icon, "var(--ds-space-300, 24px)", "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", iconDynamicStyles(_adfSchema.PanelType.INFO), _emoji.emojiSprite, panelEmojiSpriteVerticalAlignment, _emoji.emojiImage, panelEmojiImageVerticalAlignment, _adfSchema.PanelType.NOTE, mainDynamicStyles(_adfSchema.PanelType.NOTE), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.NOTE), _adfSchema.PanelType.TIP, mainDynamicStyles(_adfSchema.PanelType.TIP), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.TIP), _adfSchema.PanelType.WARNING, mainDynamicStyles(_adfSchema.PanelType.WARNING), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.WARNING), _adfSchema.PanelType.ERROR, mainDynamicStyles(_adfSchema.PanelType.ERROR), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.ERROR), _adfSchema.PanelType.SUCCESS, mainDynamicStyles(_adfSchema.PanelType.SUCCESS), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.SUCCESS));
170
+ return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-radius: ", ";\n margin: ", " 0 0;\n padding: ", ";\n min-width: ", "px;\n display: flex;\n position: relative;\n align-items: normal;\n word-break: break-word;\n\n ", "\n\n .", " {\n flex-shrink: 0;\n height: ", ";\n width: ", ";\n box-sizing: content-box;\n padding-right: ", ";\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n margin-top: 0.1em;\n ", "\n\n > span {\n vertical-align: middle;\n display: inline-flex;\n }\n\n .", " {\n vertical-align: ", "px;\n }\n\n .", " {\n vertical-align: ", "px;\n\n // Vertical align only works for inline-block elements in Firefox\n @-moz-document url-prefix() {\n img {\n display: inline-block;\n }\n }\n }\n }\n\n .ak-editor-panel__content {\n margin: 1px 0 1px;\n flex: 1 0 0;\n /*\n https://ishadeed.com/article/min-max-css/#setting-min-width-to-zero-with-flexbox\n The default value for min-width is auto, which is computed to zero. When an element is a flex item, the value of min-width doesn\u2019t compute to zero. The minimum size of a flex item is equal to the size of its contents.\n */\n min-width: 0;\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n"])), "var(--ds-border-radius, 3px)", _editorSharedStyles.blockNodesVerticalMargin, "var(--ds-space-100, 8px)", _editorSharedStyles.akEditorTableCellMinWidth, mainDynamicStyles(_adfSchema.PanelType.INFO), PanelSharedCssClassName.icon, "var(--ds-space-300, 24px)", "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", iconDynamicStyles(_adfSchema.PanelType.INFO), _emoji.emojiSprite, panelEmojiSpriteVerticalAlignment, _emoji.emojiImage, panelEmojiImageVerticalAlignment, _adfSchema.PanelType.NOTE, mainDynamicStyles(_adfSchema.PanelType.NOTE), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.NOTE), _adfSchema.PanelType.TIP, mainDynamicStyles(_adfSchema.PanelType.TIP), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.TIP), _adfSchema.PanelType.WARNING, mainDynamicStyles(_adfSchema.PanelType.WARNING), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.WARNING), _adfSchema.PanelType.ERROR, mainDynamicStyles(_adfSchema.PanelType.ERROR), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.ERROR), _adfSchema.PanelType.SUCCESS, mainDynamicStyles(_adfSchema.PanelType.SUCCESS), PanelSharedCssClassName.icon, iconDynamicStyles(_adfSchema.PanelType.SUCCESS));
171
171
  };
172
172
  var panelSharedStyles = exports.panelSharedStyles = function panelSharedStyles() {
173
173
  return (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n ", "\n }\n"])), PanelSharedCssClassName.prefix, panelSharedStylesWithoutPrefix());
@@ -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.41.0";
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.41.0";
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
@@ -156,7 +156,7 @@ export const panelSharedStylesWithoutPrefix = () => css`
156
156
  min-width: ${akEditorTableCellMinWidth}px;
157
157
  display: flex;
158
158
  position: relative;
159
- align-items: baseline;
159
+ align-items: normal;
160
160
  word-break: break-word;
161
161
 
162
162
  ${mainDynamicStyles(PanelType.INFO)}
@@ -172,6 +172,7 @@ export const panelSharedStylesWithoutPrefix = () => css`
172
172
  -moz-user-select: none;
173
173
  -webkit-user-select: none;
174
174
  -ms-user-select: none;
175
+ margin-top: 0.1em;
175
176
  ${iconDynamicStyles(PanelType.INFO)}
176
177
 
177
178
  > span {
@@ -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.41.0";
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.41.0";
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
@@ -158,7 +158,7 @@ var mainDynamicStyles = function mainDynamicStyles(panelType) {
158
158
  return "\n background-color: ".concat(getPanelTypeBackground(panelType), ";\n color: inherit;\n ");
159
159
  };
160
160
  export var panelSharedStylesWithoutPrefix = function panelSharedStylesWithoutPrefix() {
161
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: ", ";\n margin: ", " 0 0;\n padding: ", ";\n min-width: ", "px;\n display: flex;\n position: relative;\n align-items: baseline;\n word-break: break-word;\n\n ", "\n\n .", " {\n flex-shrink: 0;\n height: ", ";\n width: ", ";\n box-sizing: content-box;\n padding-right: ", ";\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n ", "\n\n > span {\n vertical-align: middle;\n display: inline-flex;\n }\n\n .", " {\n vertical-align: ", "px;\n }\n\n .", " {\n vertical-align: ", "px;\n\n // Vertical align only works for inline-block elements in Firefox\n @-moz-document url-prefix() {\n img {\n display: inline-block;\n }\n }\n }\n }\n\n .ak-editor-panel__content {\n margin: 1px 0 1px;\n flex: 1 0 0;\n /*\n https://ishadeed.com/article/min-max-css/#setting-min-width-to-zero-with-flexbox\n The default value for min-width is auto, which is computed to zero. When an element is a flex item, the value of min-width doesn\u2019t compute to zero. The minimum size of a flex item is equal to the size of its contents.\n */\n min-width: 0;\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n"])), "var(--ds-border-radius, 3px)", blockNodesVerticalMargin, "var(--ds-space-100, 8px)", akEditorTableCellMinWidth, mainDynamicStyles(PanelType.INFO), PanelSharedCssClassName.icon, "var(--ds-space-300, 24px)", "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", iconDynamicStyles(PanelType.INFO), emojiSprite, panelEmojiSpriteVerticalAlignment, emojiImage, panelEmojiImageVerticalAlignment, PanelType.NOTE, mainDynamicStyles(PanelType.NOTE), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.NOTE), PanelType.TIP, mainDynamicStyles(PanelType.TIP), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.TIP), PanelType.WARNING, mainDynamicStyles(PanelType.WARNING), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.WARNING), PanelType.ERROR, mainDynamicStyles(PanelType.ERROR), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.ERROR), PanelType.SUCCESS, mainDynamicStyles(PanelType.SUCCESS), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.SUCCESS));
161
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: ", ";\n margin: ", " 0 0;\n padding: ", ";\n min-width: ", "px;\n display: flex;\n position: relative;\n align-items: normal;\n word-break: break-word;\n\n ", "\n\n .", " {\n flex-shrink: 0;\n height: ", ";\n width: ", ";\n box-sizing: content-box;\n padding-right: ", ";\n text-align: center;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n margin-top: 0.1em;\n ", "\n\n > span {\n vertical-align: middle;\n display: inline-flex;\n }\n\n .", " {\n vertical-align: ", "px;\n }\n\n .", " {\n vertical-align: ", "px;\n\n // Vertical align only works for inline-block elements in Firefox\n @-moz-document url-prefix() {\n img {\n display: inline-block;\n }\n }\n }\n }\n\n .ak-editor-panel__content {\n margin: 1px 0 1px;\n flex: 1 0 0;\n /*\n https://ishadeed.com/article/min-max-css/#setting-min-width-to-zero-with-flexbox\n The default value for min-width is auto, which is computed to zero. When an element is a flex item, the value of min-width doesn\u2019t compute to zero. The minimum size of a flex item is equal to the size of its contents.\n */\n min-width: 0;\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n\n &[data-panel-type='", "'] {\n ", "\n\n .", " {\n ", "\n }\n }\n"])), "var(--ds-border-radius, 3px)", blockNodesVerticalMargin, "var(--ds-space-100, 8px)", akEditorTableCellMinWidth, mainDynamicStyles(PanelType.INFO), PanelSharedCssClassName.icon, "var(--ds-space-300, 24px)", "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", iconDynamicStyles(PanelType.INFO), emojiSprite, panelEmojiSpriteVerticalAlignment, emojiImage, panelEmojiImageVerticalAlignment, PanelType.NOTE, mainDynamicStyles(PanelType.NOTE), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.NOTE), PanelType.TIP, mainDynamicStyles(PanelType.TIP), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.TIP), PanelType.WARNING, mainDynamicStyles(PanelType.WARNING), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.WARNING), PanelType.ERROR, mainDynamicStyles(PanelType.ERROR), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.ERROR), PanelType.SUCCESS, mainDynamicStyles(PanelType.SUCCESS), PanelSharedCssClassName.icon, iconDynamicStyles(PanelType.SUCCESS));
162
162
  };
163
163
  export var panelSharedStyles = function panelSharedStyles() {
164
164
  return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .", " {\n ", "\n }\n"])), PanelSharedCssClassName.prefix, panelSharedStylesWithoutPrefix());
@@ -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.41.0";
21
21
  var halfFocusRing = 1;
22
22
  var dropOffset = '0, 8';
23
23
  var DropList = /*#__PURE__*/function (_Component) {
@@ -111,6 +111,7 @@ interface BaseCustomField extends BaseFieldDefinition {
111
111
  style?: 'select';
112
112
  options: {
113
113
  isCreatable?: boolean;
114
+ formatCreateLabel?: (inputValue: string) => React.ReactNode;
114
115
  resolver: FieldHandlerLink;
115
116
  };
116
117
  placeholder?: 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;
@@ -111,6 +111,7 @@ interface BaseCustomField extends BaseFieldDefinition {
111
111
  style?: 'select';
112
112
  options: {
113
113
  isCreatable?: boolean;
114
+ formatCreateLabel?: (inputValue: string) => React.ReactNode;
114
115
  resolver: FieldHandlerLink;
115
116
  };
116
117
  placeholder?: 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.41.0",
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/"