@atlaskit/adf-utils 19.25.4 → 19.26.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,12 @@
1
1
  # @atlaskit/adf-utils
2
2
 
3
+ ## 19.26.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`3ff7946f17075`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3ff7946f17075) -
8
+ EDF-2768 add adf width validation transform
9
+
3
10
  ## 19.25.4
4
11
 
5
12
  ### Patch Changes
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.transformMediaSingleWidth = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _traverse = require("../traverse/traverse");
10
+ 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; }
11
+ 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; }
12
+ // when media single has a invalid width, we fallback to default width
13
+ // this the last resort when revert the pixel width, we couldnt determine the correct width value
14
+ var transformMediaSingleWidth = exports.transformMediaSingleWidth = function transformMediaSingleWidth(adf) {
15
+ var isTransformed = false;
16
+ var transformedAdf = (0, _traverse.traverse)(adf, {
17
+ mediaSingle: function mediaSingle(node) {
18
+ var _ref = node.attrs || {},
19
+ width = _ref.width,
20
+ widthType = _ref.widthType;
21
+
22
+ // if width is not a number or greater than 100, and widthType is not set, we set width to 100
23
+ if (typeof width === 'number' && width > 100 && !widthType) {
24
+ isTransformed = true;
25
+ var newAttrs = _objectSpread(_objectSpread({}, node.attrs), {}, {
26
+ width: 100
27
+ });
28
+ return _objectSpread(_objectSpread({}, node), {}, {
29
+ attrs: newAttrs
30
+ });
31
+ }
32
+ return node;
33
+ }
34
+ });
35
+ return {
36
+ transformedAdf: transformedAdf,
37
+ isTransformed: isTransformed
38
+ };
39
+ };
@@ -45,6 +45,12 @@ Object.defineProperty(exports, "transformMediaLinkMarks", {
45
45
  return _mediaLinkTransform.transformMediaLinkMarks;
46
46
  }
47
47
  });
48
+ Object.defineProperty(exports, "transformMediaSingleWidth", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _transformMediaSingleWidth.transformMediaSingleWidth;
52
+ }
53
+ });
48
54
  Object.defineProperty(exports, "transformNestedTableNodeOutgoingDocument", {
49
55
  enumerable: true,
50
56
  get: function get() {
@@ -71,6 +77,7 @@ Object.defineProperty(exports, "transformTextLinkCodeMarks", {
71
77
  });
72
78
  var _mediaLinkTransform = require("./transforms/media-link-transform");
73
79
  var _textLinkCodeTransform = require("./transforms/text-link-code-transform");
80
+ var _transformMediaSingleWidth = require("./transforms/transform-media-single-width");
74
81
  var _dedupeMarksTransform = require("./transforms/dedupe-marks-transform");
75
82
  var _nodesMissingContentTransform = require("./transforms/nodes-missing-content-transform");
76
83
  var _indentationMarksTransform = require("./transforms/indentation-marks-transform");
@@ -0,0 +1,32 @@
1
+ import { traverse } from '../traverse/traverse';
2
+ // when media single has a invalid width, we fallback to default width
3
+ // this the last resort when revert the pixel width, we couldnt determine the correct width value
4
+ export const transformMediaSingleWidth = adf => {
5
+ let isTransformed = false;
6
+ const transformedAdf = traverse(adf, {
7
+ mediaSingle: node => {
8
+ const {
9
+ width,
10
+ widthType
11
+ } = node.attrs || {};
12
+
13
+ // if width is not a number or greater than 100, and widthType is not set, we set width to 100
14
+ if (typeof width === 'number' && width > 100 && !widthType) {
15
+ isTransformed = true;
16
+ const newAttrs = {
17
+ ...node.attrs,
18
+ width: 100
19
+ };
20
+ return {
21
+ ...node,
22
+ attrs: newAttrs
23
+ };
24
+ }
25
+ return node;
26
+ }
27
+ });
28
+ return {
29
+ transformedAdf,
30
+ isTransformed
31
+ };
32
+ };
@@ -3,6 +3,7 @@
3
3
 
4
4
  export { transformMediaLinkMarks } from './transforms/media-link-transform';
5
5
  export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
6
+ export { transformMediaSingleWidth } from './transforms/transform-media-single-width';
6
7
  export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
7
8
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
8
9
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
@@ -0,0 +1,32 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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
+ 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; }
4
+ import { traverse } from '../traverse/traverse';
5
+ // when media single has a invalid width, we fallback to default width
6
+ // this the last resort when revert the pixel width, we couldnt determine the correct width value
7
+ export var transformMediaSingleWidth = function transformMediaSingleWidth(adf) {
8
+ var isTransformed = false;
9
+ var transformedAdf = traverse(adf, {
10
+ mediaSingle: function mediaSingle(node) {
11
+ var _ref = node.attrs || {},
12
+ width = _ref.width,
13
+ widthType = _ref.widthType;
14
+
15
+ // if width is not a number or greater than 100, and widthType is not set, we set width to 100
16
+ if (typeof width === 'number' && width > 100 && !widthType) {
17
+ isTransformed = true;
18
+ var newAttrs = _objectSpread(_objectSpread({}, node.attrs), {}, {
19
+ width: 100
20
+ });
21
+ return _objectSpread(_objectSpread({}, node), {}, {
22
+ attrs: newAttrs
23
+ });
24
+ }
25
+ return node;
26
+ }
27
+ });
28
+ return {
29
+ transformedAdf: transformedAdf,
30
+ isTransformed: isTransformed
31
+ };
32
+ };
@@ -3,6 +3,7 @@
3
3
 
4
4
  export { transformMediaLinkMarks } from './transforms/media-link-transform';
5
5
  export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
6
+ export { transformMediaSingleWidth } from './transforms/transform-media-single-width';
6
7
  export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
7
8
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
8
9
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
@@ -0,0 +1,5 @@
1
+ import { type ADFEntity } from '../types';
2
+ export declare const transformMediaSingleWidth: (adf: ADFEntity) => {
3
+ transformedAdf: false | ADFEntity;
4
+ isTransformed: boolean;
5
+ };
@@ -1,5 +1,6 @@
1
1
  export { transformMediaLinkMarks } from './transforms/media-link-transform';
2
2
  export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
3
+ export { transformMediaSingleWidth } from './transforms/transform-media-single-width';
3
4
  export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
4
5
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
5
6
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
@@ -0,0 +1,5 @@
1
+ import { type ADFEntity } from '../types';
2
+ export declare const transformMediaSingleWidth: (adf: ADFEntity) => {
3
+ transformedAdf: false | ADFEntity;
4
+ isTransformed: boolean;
5
+ };
@@ -1,5 +1,6 @@
1
1
  export { transformMediaLinkMarks } from './transforms/media-link-transform';
2
2
  export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
3
+ export { transformMediaSingleWidth } from './transforms/transform-media-single-width';
3
4
  export { transformDedupeMarks } from './transforms/dedupe-marks-transform';
4
5
  export { transformNodesMissingContent } from './transforms/nodes-missing-content-transform';
5
6
  export { transformIndentationMarks } from './transforms/indentation-marks-transform';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/adf-utils",
3
- "version": "19.25.4",
3
+ "version": "19.26.0",
4
4
  "description": "Set of utilities to traverse, modify and create ADF documents.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"