@atlaskit/editor-json-transformer 9.2.0 → 9.3.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 +13 -0
- package/dist/cjs/JSONTransformer-2.js +82 -0
- package/dist/cjs/SchemaStage.js +11 -0
- package/dist/cjs/index.js +7 -5
- package/dist/cjs/jsonTransformer.js +18 -260
- package/dist/cjs/sanitize/remove-marks.js +15 -10
- package/dist/cjs/sanitize/remove-non-annotation-marks.js +19 -0
- package/dist/cjs/sanitize/sanitize-node.js +6 -5
- package/dist/cjs/toJSON.js +189 -0
- package/dist/es2019/JSONTransformer-2.js +59 -0
- package/dist/es2019/SchemaStage.js +5 -0
- package/dist/es2019/index.js +4 -2
- package/dist/es2019/jsonTransformer.js +13 -236
- package/dist/es2019/sanitize/remove-marks.js +9 -9
- package/dist/es2019/sanitize/remove-non-annotation-marks.js +9 -0
- package/dist/es2019/sanitize/sanitize-node.js +2 -1
- package/dist/es2019/sanitize.js +7 -0
- package/dist/es2019/toJSON.js +176 -0
- package/dist/esm/JSONTransformer-2.js +75 -0
- package/dist/esm/SchemaStage.js +5 -0
- package/dist/esm/index.js +4 -2
- package/dist/esm/jsonTransformer.js +13 -258
- package/dist/esm/sanitize/remove-marks.js +9 -9
- package/dist/esm/sanitize/remove-non-annotation-marks.js +12 -0
- package/dist/esm/sanitize/sanitize-node.js +2 -1
- package/dist/esm/sanitize.js +7 -0
- package/dist/esm/toJSON.js +182 -0
- package/dist/types/JSONTransformer-2.d.ts +27 -0
- package/dist/types/SchemaStage.d.ts +4 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/jsonTransformer.d.ts +10 -37
- package/dist/types/sanitize/remove-marks.d.ts +4 -7
- package/dist/types/sanitize/remove-non-annotation-marks.d.ts +8 -0
- package/dist/types/sanitize.d.ts +6 -0
- package/dist/types/toJSON.d.ts +11 -0
- package/main/package.json +4 -4
- package/markOverrideRules/package.json +4 -4
- package/package.json +4 -4
- package/sanitize/remove-marks/package.json +4 -4
- package/sanitize/sanitize-node/package.json +4 -4
- package/tsconfig.json +5 -15
- package/types/package.json +4 -4
- package/dist/cjs/entry-points/main.js +0 -12
- package/dist/cjs/entry-points/markOverrideRules.js +0 -12
- package/dist/cjs/entry-points/sanitize-remove-marks.js +0 -12
- package/dist/cjs/entry-points/sanitize-sanitize-node.js +0 -12
- package/dist/cjs/entry-points/types.js +0 -1
- package/dist/es2019/entry-points/main.js +0 -2
- package/dist/es2019/entry-points/markOverrideRules.js +0 -2
- package/dist/es2019/entry-points/sanitize-remove-marks.js +0 -2
- package/dist/es2019/entry-points/sanitize-sanitize-node.js +0 -2
- package/dist/es2019/entry-points/types.js +0 -0
- package/dist/esm/entry-points/main.js +0 -2
- package/dist/esm/entry-points/markOverrideRules.js +0 -2
- package/dist/esm/entry-points/sanitize-remove-marks.js +0 -2
- package/dist/esm/entry-points/sanitize-sanitize-node.js +0 -2
- package/dist/esm/entry-points/types.js +0 -0
- package/dist/types/entry-points/main.d.ts +0 -1
- package/dist/types/entry-points/markOverrideRules.d.ts +0 -1
- package/dist/types/entry-points/sanitize-remove-marks.d.ts +0 -1
- package/dist/types/entry-points/sanitize-sanitize-node.d.ts +0 -1
- package/dist/types/entry-points/types.d.ts +0 -1
- package/editor-json-transformer.docs.tsx +0 -43
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
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; }
|
|
7
|
+
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; }
|
|
8
|
+
import { codeBlockToJSON, dataConsumerToJSON, expandToJSON, fragmentToJSON, linkToJSON, mediaSingleToJSON, mediaToJSON, mentionToJSON, tableToJSON, toJSONTableCell, toJSONTableHeader } from '@atlaskit/adf-schema';
|
|
9
|
+
import { markOverrideRuleFor } from './markOverrideRules';
|
|
10
|
+
var isType = function isType(type) {
|
|
11
|
+
return function (node) {
|
|
12
|
+
return node.type.name === type;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
// Create a Set of node types that should have empty attrs removed
|
|
17
|
+
var NODES_WITH_EMPTY_ATTRS_REMOVAL = new Set(['paragraph', 'layoutSection', 'blockquote', 'nestedExpand', 'bulletList', 'listItem', 'orderedList', 'rule', 'caption', 'tableRow', 'media', 'mediaSingle', 'mediaInline']);
|
|
18
|
+
var isCodeBlock = isType('codeBlock');
|
|
19
|
+
var isMediaNode = isType('media');
|
|
20
|
+
var isMediaInline = isType('mediaInline');
|
|
21
|
+
var isMediaSingleNode = isType('mediaSingle');
|
|
22
|
+
var isMentionNode = isType('mention');
|
|
23
|
+
var isParagraph = isType('paragraph');
|
|
24
|
+
var isHeading = isType('heading');
|
|
25
|
+
var isTable = isType('table');
|
|
26
|
+
var isTableCell = isType('tableCell');
|
|
27
|
+
var isTableHeader = isType('tableHeader');
|
|
28
|
+
var isLinkMark = isType('link');
|
|
29
|
+
var isUnsupportedMark = isType('unsupportedMark');
|
|
30
|
+
var isUnsupportedNodeAttributeMark = isType('unsupportedNodeAttribute');
|
|
31
|
+
var isExpand = isType('expand');
|
|
32
|
+
var isNestedExpand = isType('nestedExpand');
|
|
33
|
+
var isUnsupportedNode = function isUnsupportedNode(node) {
|
|
34
|
+
return isType('unsupportedBlock')(node) || isType('unsupportedInline')(node);
|
|
35
|
+
};
|
|
36
|
+
var isDataConsumer = isType('dataConsumer');
|
|
37
|
+
var isFragmentMark = isType('fragment');
|
|
38
|
+
var isHardBreak = isType('hardBreak');
|
|
39
|
+
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
+
var _filterNull = function filterNull(subject) {
|
|
42
|
+
var output = _objectSpread({}, subject);
|
|
43
|
+
// eslint-disable-next-line guard-for-in
|
|
44
|
+
for (var key in output) {
|
|
45
|
+
var current = output[key];
|
|
46
|
+
if (current === null) {
|
|
47
|
+
var _output = output,
|
|
48
|
+
unusedKey = _output[key],
|
|
49
|
+
filteredObj = _objectWithoutProperties(_output, [key].map(_toPropertyKey));
|
|
50
|
+
output = filteredObj;
|
|
51
|
+
} else if (_typeof(current) === 'object' && !Array.isArray(current)) {
|
|
52
|
+
output[key] = _filterNull(current);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return output;
|
|
56
|
+
};
|
|
57
|
+
var canOverrideMark = function canOverrideMark(mark, existingMarks) {
|
|
58
|
+
if (existingMarks.some(function (e) {
|
|
59
|
+
return mark.attrs.originalValue.type === e.type.name;
|
|
60
|
+
})) {
|
|
61
|
+
return markOverrideRuleFor(mark.attrs.originalValue.type).canOverrideUnsupportedMark();
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
};
|
|
65
|
+
var getUnwrappedNodeAttributes = function getUnwrappedNodeAttributes(node, mark, obj) {
|
|
66
|
+
var nodeAttributes = node.type.spec.attrs;
|
|
67
|
+
var attributes = _objectSpread(_objectSpread({}, mark.attrs.unsupported), obj.attrs);
|
|
68
|
+
// Ignored via go/ees005
|
|
69
|
+
// eslint-disable-next-line no-var
|
|
70
|
+
for (var key in obj.attrs) {
|
|
71
|
+
if (obj.attrs.hasOwnProperty(key)) {
|
|
72
|
+
var attribute = nodeAttributes ? nodeAttributes[key] : null;
|
|
73
|
+
if (attribute) {
|
|
74
|
+
if (attribute.default === node.attrs[key] && mark.attrs.unsupported[key]) {
|
|
75
|
+
return _objectSpread(_objectSpread({}, attributes), {}, _defineProperty({}, key, mark.attrs.unsupported[key]));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return attributes;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Transforms a Prosemirror node into a JSON representation. Compared with
|
|
85
|
+
* native Prosemirror JSON, this representation ensures we have valid ADF attrs.
|
|
86
|
+
*
|
|
87
|
+
* @param node The Prosemirror node to transform.
|
|
88
|
+
* @param mentionMap A map of mention IDs to their display names.
|
|
89
|
+
* @returns The JSON representation of the node.
|
|
90
|
+
*/
|
|
91
|
+
var _toJSON = function toJSON(node, mentionMap) {
|
|
92
|
+
var obj = {
|
|
93
|
+
type: node.type.name
|
|
94
|
+
};
|
|
95
|
+
if (isUnsupportedNode(node)) {
|
|
96
|
+
return node.attrs.originalValue;
|
|
97
|
+
} else if (isMediaNode(node)) {
|
|
98
|
+
obj.attrs = mediaToJSON(node).attrs;
|
|
99
|
+
} else if (isMediaSingleNode(node)) {
|
|
100
|
+
obj.attrs = mediaSingleToJSON(node).attrs;
|
|
101
|
+
} else if (isMediaInline(node)) {
|
|
102
|
+
obj.attrs = mediaToJSON(node).attrs;
|
|
103
|
+
} else if (isMentionNode(node)) {
|
|
104
|
+
obj.attrs = mentionToJSON(node).attrs;
|
|
105
|
+
} else if (isCodeBlock(node)) {
|
|
106
|
+
obj.attrs = codeBlockToJSON(node).attrs;
|
|
107
|
+
} else if (isTable(node)) {
|
|
108
|
+
obj.attrs = tableToJSON(node).attrs;
|
|
109
|
+
} else if (isTableCell(node)) {
|
|
110
|
+
obj.attrs = toJSONTableCell(node).attrs;
|
|
111
|
+
} else if (isTableHeader(node)) {
|
|
112
|
+
obj.attrs = toJSONTableHeader(node).attrs;
|
|
113
|
+
} else if (isExpand(node) || isNestedExpand(node)) {
|
|
114
|
+
obj.attrs = expandToJSON(node).attrs;
|
|
115
|
+
} else if (node.attrs && Object.keys(node.attrs).length) {
|
|
116
|
+
obj.attrs = node.attrs;
|
|
117
|
+
}
|
|
118
|
+
if (obj.attrs) {
|
|
119
|
+
obj.attrs = _filterNull(obj.attrs);
|
|
120
|
+
}
|
|
121
|
+
if (isMentionNode(node) && mentionMap) {
|
|
122
|
+
var _text, _obj$attrs;
|
|
123
|
+
// If the mentionMap exists and has a name defined then we should use it and prepend @ to the begining of it.
|
|
124
|
+
var name = !!(mentionMap !== null && mentionMap !== void 0 && mentionMap[node.attrs.id]) ? "@".concat(mentionMap[node.attrs.id]) : '';
|
|
125
|
+
// Ignored via go/ees005
|
|
126
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
127
|
+
var text = (_text = (_obj$attrs = obj.attrs) === null || _obj$attrs === void 0 ? void 0 : _obj$attrs.text) !== null && _text !== void 0 ? _text : '';
|
|
128
|
+
obj.attrs = _objectSpread(_objectSpread({}, obj.attrs), {}, {
|
|
129
|
+
// If an explicit text value is set on the mention then that should take priority over the mentionMap value.
|
|
130
|
+
text: !!text ? text : name
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
if (NODES_WITH_EMPTY_ATTRS_REMOVAL.has(node.type.name) && obj.attrs && !Object.keys(obj.attrs).length || isHardBreak(node)) {
|
|
134
|
+
delete obj.attrs;
|
|
135
|
+
}
|
|
136
|
+
if (node.isText) {
|
|
137
|
+
obj.text = node.textContent;
|
|
138
|
+
} else {
|
|
139
|
+
node.content.forEach(function (child) {
|
|
140
|
+
obj.content = obj.content || [];
|
|
141
|
+
obj.content.push(_toJSON(child, mentionMap));
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
if (isParagraph(node) || isHeading(node)) {
|
|
145
|
+
obj.content = obj.content || [];
|
|
146
|
+
}
|
|
147
|
+
if (node.marks.length) {
|
|
148
|
+
// Run any custom mark serialisers
|
|
149
|
+
var parsedMarks = node.marks.map(function (mark) {
|
|
150
|
+
if (isUnsupportedMark(mark)) {
|
|
151
|
+
return canOverrideMark(mark, node.marks) ? null : mark.attrs.originalValue;
|
|
152
|
+
} else if (isUnsupportedNodeAttributeMark(mark)) {
|
|
153
|
+
return null;
|
|
154
|
+
} else if (isLinkMark(mark)) {
|
|
155
|
+
return linkToJSON(mark);
|
|
156
|
+
} else if (isDataConsumer(mark)) {
|
|
157
|
+
var _serialised$attrs$sou;
|
|
158
|
+
var serialised = dataConsumerToJSON(mark);
|
|
159
|
+
return !serialised.attrs.sources || ((_serialised$attrs$sou = serialised.attrs.sources) === null || _serialised$attrs$sou === void 0 ? void 0 : _serialised$attrs$sou.length) === 0 ? null : serialised;
|
|
160
|
+
} else if (isFragmentMark(mark)) {
|
|
161
|
+
var fragmentMark = fragmentToJSON(mark);
|
|
162
|
+
if (!fragmentMark.attrs.localId) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
return fragmentMark;
|
|
166
|
+
} else {
|
|
167
|
+
return mark.toJSON();
|
|
168
|
+
}
|
|
169
|
+
}).filter(function (maybeMark) {
|
|
170
|
+
return maybeMark !== null;
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// Only set if we have a non-empty array, otherwise explicitly undefine it (as we only run this path if `node.marks.length`)
|
|
174
|
+
obj.marks = (parsedMarks === null || parsedMarks === void 0 ? void 0 : parsedMarks.length) > 0 ? parsedMarks : undefined;
|
|
175
|
+
var nodeAttributeMark = node.marks.find(isUnsupportedNodeAttributeMark);
|
|
176
|
+
if (nodeAttributeMark && nodeAttributeMark.attrs.type.nodeType === obj.type) {
|
|
177
|
+
obj.attrs = _objectSpread({}, getUnwrappedNodeAttributes(node, nodeAttributeMark, obj));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return obj;
|
|
181
|
+
};
|
|
182
|
+
export { _toJSON as toJSON };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
|
|
2
|
+
import type { SchemaStage } from './SchemaStage';
|
|
3
|
+
import type { SanitizeNodeOptions } from './sanitize/sanitize-node';
|
|
4
|
+
import type { JSONDocNode, JSONNode } from './types';
|
|
5
|
+
interface Transformer<T> {
|
|
6
|
+
encode: (node: PMNode) => T;
|
|
7
|
+
parse: (content: T) => PMNode;
|
|
8
|
+
}
|
|
9
|
+
export declare class JSONTransformer implements Transformer<JSONDocNode> {
|
|
10
|
+
private schema;
|
|
11
|
+
private mentionMap;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new JSONTransformer instance.
|
|
14
|
+
* @param schema The current editor schema
|
|
15
|
+
* @param mentionMap An optional mapping of user IDs to mention names. This is used by the encoder to substitute empty
|
|
16
|
+
* mention node.attr.text values with mapped names.
|
|
17
|
+
*/
|
|
18
|
+
constructor(schema?: Schema, mentionMap?: Record<string, string | undefined>);
|
|
19
|
+
encode(node: PMNode, options?: SanitizeNodeOptions): JSONDocNode;
|
|
20
|
+
private internalParse;
|
|
21
|
+
parse(content: JSONDocNode, stage?: SchemaStage): PMNode;
|
|
22
|
+
/**
|
|
23
|
+
* This method is used to encode a single node
|
|
24
|
+
*/
|
|
25
|
+
encodeNode(node: PMNode): JSONNode;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export type { JSONDocNode, JSONNode } from './types';
|
|
2
|
-
export { JSONTransformer
|
|
3
|
-
export {
|
|
2
|
+
export { JSONTransformer } from './JSONTransformer-2';
|
|
3
|
+
export { SchemaStage } from './SchemaStage';
|
|
4
|
+
export { toJSON as nodeToJSON } from './toJSON';
|
|
5
|
+
export { isJSONDocNode } from './main';
|
|
@@ -1,39 +1,12 @@
|
|
|
1
|
-
import type { Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
|
|
2
|
-
import type { SanitizeNodeOptions } from './sanitize/sanitize-node';
|
|
3
|
-
import type { JSONDocNode, JSONNode } from './types';
|
|
4
|
-
export declare enum SchemaStage {
|
|
5
|
-
FINAL = "final",
|
|
6
|
-
STAGE_0 = "stage0"
|
|
7
|
-
}
|
|
8
|
-
interface Transformer<T> {
|
|
9
|
-
encode: (node: PMNode) => T;
|
|
10
|
-
parse: (content: T) => PMNode;
|
|
11
|
-
}
|
|
12
1
|
/**
|
|
13
|
-
*
|
|
14
|
-
* native Prosemirror JSON, this representation ensures we have valid ADF attrs.
|
|
15
|
-
*
|
|
16
|
-
* @param node The Prosemirror node to transform.
|
|
17
|
-
* @param mentionMap A map of mention IDs to their display names.
|
|
18
|
-
* @returns The JSON representation of the node.
|
|
2
|
+
* @deprecated Use `import { SchemaStage } from '@atlaskit/editor-json-transformer'` instead.
|
|
19
3
|
*/
|
|
20
|
-
export
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
constructor(schema?: Schema, mentionMap?: Record<string, string | undefined>);
|
|
31
|
-
encode(node: PMNode, options?: SanitizeNodeOptions): JSONDocNode;
|
|
32
|
-
private internalParse;
|
|
33
|
-
parse(content: JSONDocNode, stage?: SchemaStage): PMNode;
|
|
34
|
-
/**
|
|
35
|
-
* This method is used to encode a single node
|
|
36
|
-
*/
|
|
37
|
-
encodeNode(node: PMNode): JSONNode;
|
|
38
|
-
}
|
|
39
|
-
export {};
|
|
4
|
+
export { SchemaStage } from './SchemaStage';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Use `import { toJSON } from '@atlaskit/editor-json-transformer/jsonTransformer'` instead.
|
|
7
|
+
*/
|
|
8
|
+
export { toJSON } from './toJSON';
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `import { JSONTransformer } from '@atlaskit/editor-json-transformer/jsonTransformer'` instead.
|
|
11
|
+
*/
|
|
12
|
+
export { JSONTransformer } from './JSONTransformer-2';
|
|
@@ -6,10 +6,7 @@ export declare function removeMarks(node: JSONNode): {
|
|
|
6
6
|
text?: string;
|
|
7
7
|
type: string;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
text?: string;
|
|
14
|
-
type: string;
|
|
15
|
-
};
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `import { removeNonAnnotationMarks } from '@atlaskit/editor-json-transformer/sanitize/remove-marks'` instead.
|
|
11
|
+
*/
|
|
12
|
+
export { removeNonAnnotationMarks } from './remove-non-annotation-marks';
|
package/dist/types/sanitize.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Use `import { sanitizeNode } from '@atlaskit/editor-json-transformer/sanitize/sanitize-node'` instead.
|
|
3
|
+
*/
|
|
1
4
|
export { sanitizeNode } from './sanitize/sanitize-node';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Use `import { removeMarks } from '@atlaskit/editor-json-transformer/sanitize/remove-marks'` instead.
|
|
7
|
+
*/
|
|
2
8
|
export { removeMarks } from './sanitize/remove-marks';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
2
|
+
import type { JSONNode } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Transforms a Prosemirror node into a JSON representation. Compared with
|
|
5
|
+
* native Prosemirror JSON, this representation ensures we have valid ADF attrs.
|
|
6
|
+
*
|
|
7
|
+
* @param node The Prosemirror node to transform.
|
|
8
|
+
* @param mentionMap A map of mention IDs to their display names.
|
|
9
|
+
* @returns The JSON representation of the node.
|
|
10
|
+
*/
|
|
11
|
+
export declare const toJSON: (node: PMNode, mentionMap?: Record<string, string | undefined>) => JSONNode;
|
package/main/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-json-transformer/main",
|
|
3
|
-
"main": "../dist/cjs/
|
|
4
|
-
"module": "../dist/esm/
|
|
5
|
-
"module:es2019": "../dist/es2019/
|
|
3
|
+
"main": "../dist/cjs/main.js",
|
|
4
|
+
"module": "../dist/esm/main.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/main.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../dist/types/
|
|
7
|
+
"types": "../dist/types/main.d.ts"
|
|
8
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-json-transformer/markOverrideRules",
|
|
3
|
-
"main": "../dist/cjs/
|
|
4
|
-
"module": "../dist/esm/
|
|
5
|
-
"module:es2019": "../dist/es2019/
|
|
3
|
+
"main": "../dist/cjs/markOverrideRules.js",
|
|
4
|
+
"module": "../dist/esm/markOverrideRules.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/markOverrideRules.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../dist/types/
|
|
7
|
+
"types": "../dist/types/markOverrideRules.d.ts"
|
|
8
8
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-json-transformer",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0",
|
|
4
4
|
"description": "JSON transformer",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@atlaskit/adf-schema": "^56.
|
|
25
|
-
"@atlaskit/adf-utils": "^20.
|
|
24
|
+
"@atlaskit/adf-schema": "^56.7.0",
|
|
25
|
+
"@atlaskit/adf-utils": "^20.5.0",
|
|
26
26
|
"@atlaskit/editor-prosemirror": "^8.0.0",
|
|
27
27
|
"@babel/runtime": "^7.0.0",
|
|
28
28
|
"lodash": "^4.17.21"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@atlassian/a11y-jest-testing": "^0.
|
|
31
|
+
"@atlassian/a11y-jest-testing": "^0.15.0",
|
|
32
32
|
"@atlassian/structured-docs-types": "workspace:^",
|
|
33
33
|
"react": "^19.2.0"
|
|
34
34
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-json-transformer/sanitize/remove-marks",
|
|
3
|
-
"main": "../../dist/cjs/
|
|
4
|
-
"module": "../../dist/esm/
|
|
5
|
-
"module:es2019": "../../dist/es2019/
|
|
3
|
+
"main": "../../dist/cjs/sanitize/remove-marks.js",
|
|
4
|
+
"module": "../../dist/esm/sanitize/remove-marks.js",
|
|
5
|
+
"module:es2019": "../../dist/es2019/sanitize/remove-marks.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../../dist/types/
|
|
7
|
+
"types": "../../dist/types/sanitize/remove-marks.d.ts"
|
|
8
8
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-json-transformer/sanitize/sanitize-node",
|
|
3
|
-
"main": "../../dist/cjs/
|
|
4
|
-
"module": "../../dist/esm/
|
|
5
|
-
"module:es2019": "../../dist/es2019/
|
|
3
|
+
"main": "../../dist/cjs/sanitize/sanitize-node.js",
|
|
4
|
+
"module": "../../dist/esm/sanitize/sanitize-node.js",
|
|
5
|
+
"module:es2019": "../../dist/es2019/sanitize/sanitize-node.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../../dist/types/
|
|
7
|
+
"types": "../../dist/types/sanitize/sanitize-node.d.ts"
|
|
8
8
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"./docs/**/*.tsx",
|
|
8
|
-
"./examples/**/*.ts",
|
|
9
|
-
"./examples/**/*.tsx",
|
|
10
|
-
"**/stories.ts",
|
|
11
|
-
"**/stories.tsx",
|
|
12
|
-
"**/stories/*.ts",
|
|
13
|
-
"**/stories/*.tsx",
|
|
14
|
-
"**/stories/**/*.ts",
|
|
15
|
-
"**/stories/**/*.tsx"
|
|
16
|
-
]
|
|
2
|
+
"extends": "./tsconfig.dev.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"disableReferencedProjectLoad": true,
|
|
5
|
+
"disableSolutionSearching": true
|
|
6
|
+
}
|
|
17
7
|
}
|
package/types/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-json-transformer/types",
|
|
3
|
-
"main": "../dist/cjs/
|
|
4
|
-
"module": "../dist/esm/
|
|
5
|
-
"module:es2019": "../dist/es2019/
|
|
3
|
+
"main": "../dist/cjs/types.js",
|
|
4
|
+
"module": "../dist/esm/types.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/types.js",
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"types": "../dist/types/
|
|
7
|
+
"types": "../dist/types/types.d.ts"
|
|
8
8
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "isJSONDocNode", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _main.isJSONDocNode;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _main = require("../main");
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "markOverrideRuleFor", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _markOverrideRules.markOverrideRuleFor;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _markOverrideRules = require("../markOverrideRules");
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "removeMarks", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _removeMarks.removeMarks;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _removeMarks = require("../sanitize/remove-marks");
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "sanitizeNode", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _sanitizeNode.sanitizeNode;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _sanitizeNode = require("../sanitize/sanitize-node");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { isJSONDocNode } from '../main';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { markOverrideRuleFor } from '../markOverrideRules';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { removeMarks } from '../sanitize/remove-marks';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { sanitizeNode } from '../sanitize/sanitize-node';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type { JSONDocNode, JSONNode } from '../types';
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testing structured MCP docs for review — ignore this file.
|
|
3
|
-
* Contact #dst-structured-content in Slack with questions.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import path from 'path';
|
|
7
|
-
|
|
8
|
-
import type { StructuredContentSource } from '@atlassian/structured-docs-types/types';
|
|
9
|
-
|
|
10
|
-
import packageJson from './package.json';
|
|
11
|
-
|
|
12
|
-
const packagePath = path.resolve(__dirname);
|
|
13
|
-
|
|
14
|
-
const documentation: StructuredContentSource = {
|
|
15
|
-
components: [
|
|
16
|
-
{
|
|
17
|
-
name: 'JSONTransformer',
|
|
18
|
-
description: 'JSON transformer',
|
|
19
|
-
status: 'general-availability',
|
|
20
|
-
import: {
|
|
21
|
-
name: 'JSONTransformer',
|
|
22
|
-
package: '@atlaskit/editor-json-transformer',
|
|
23
|
-
type: 'named',
|
|
24
|
-
packagePath,
|
|
25
|
-
packageJson,
|
|
26
|
-
},
|
|
27
|
-
usageGuidelines: [],
|
|
28
|
-
contentGuidelines: [],
|
|
29
|
-
accessibilityGuidelines: [],
|
|
30
|
-
keywords: ['editor', 'editor-json-transformer', 'atlaskit'],
|
|
31
|
-
categories: ['editor'],
|
|
32
|
-
examples: [
|
|
33
|
-
{
|
|
34
|
-
name: 'Layouts',
|
|
35
|
-
description: 'JSON transformer with layout nodes.',
|
|
36
|
-
source: path.resolve(packagePath, './examples/1-layouts.tsx'),
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export default documentation;
|