@atlaskit/adf-schema 20.1.2 → 22.0.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 +77 -0
- package/dist/cjs/json-schema/index.js +23 -0
- package/dist/cjs/schema/create-schema.js +2 -2
- package/dist/cjs/schema/default-schema.js +1 -2
- package/dist/cjs/schema/marks/annotation.js +2 -2
- package/dist/cjs/schema/marks/fragment.js +2 -2
- package/dist/cjs/schema/marks/link.js +2 -2
- package/dist/cjs/schema/nodes/block-card.js +9 -5
- package/dist/cjs/schema/nodes/bodied-extension.js +1 -1
- package/dist/cjs/schema/nodes/doc.js +1 -1
- package/dist/cjs/schema/nodes/embed-card.js +7 -4
- package/dist/cjs/schema/nodes/emoji.js +5 -5
- package/dist/cjs/schema/nodes/expand.js +1 -1
- package/dist/cjs/schema/nodes/inline-card.js +9 -5
- package/dist/cjs/schema/nodes/layout-column.js +1 -1
- package/dist/cjs/schema/nodes/list-item.js +1 -1
- package/dist/cjs/schema/nodes/media-group.js +1 -1
- package/dist/cjs/schema/nodes/media-single.js +2 -2
- package/dist/cjs/schema/nodes/nested-expand.js +1 -1
- package/dist/cjs/schema/nodes/panel.js +12 -2
- package/dist/cjs/schema/nodes/paragraph.js +24 -145
- package/dist/cjs/schema/nodes/tableNodes.js +2 -2
- package/dist/cjs/steps/analytics.js +2 -2
- package/dist/cjs/steps/set-attrs.js +2 -2
- package/dist/cjs/steps/table/add-column.js +2 -2
- package/dist/cjs/steps/table/utils/cell-step.js +2 -2
- package/dist/cjs/steps/table/utils/side-effects/rows.js +2 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/json-schema/index.js +2 -0
- package/dist/es2019/schema/default-schema.js +2 -3
- package/dist/es2019/schema/marks/data-consumer.js +8 -1
- package/dist/es2019/schema/nodes/block-card.js +8 -5
- package/dist/es2019/schema/nodes/bodied-extension.js +1 -1
- package/dist/es2019/schema/nodes/doc.js +1 -1
- package/dist/es2019/schema/nodes/embed-card.js +6 -4
- package/dist/es2019/schema/nodes/emoji.js +5 -5
- package/dist/es2019/schema/nodes/expand.js +1 -1
- package/dist/es2019/schema/nodes/inline-card.js +9 -2
- package/dist/es2019/schema/nodes/layout-column.js +1 -1
- package/dist/es2019/schema/nodes/list-item.js +1 -1
- package/dist/es2019/schema/nodes/media-group.js +1 -1
- package/dist/es2019/schema/nodes/nested-expand.js +1 -1
- package/dist/es2019/schema/nodes/panel.js +10 -0
- package/dist/es2019/schema/nodes/paragraph.js +24 -142
- package/dist/es2019/schema/nodes/tableNodes.js +2 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/json-schema/index.js +2 -0
- package/dist/esm/schema/create-schema.js +2 -2
- package/dist/esm/schema/default-schema.js +2 -3
- package/dist/esm/schema/marks/annotation.js +2 -2
- package/dist/esm/schema/marks/data-consumer.js +8 -1
- package/dist/esm/schema/marks/fragment.js +2 -2
- package/dist/esm/schema/marks/link.js +2 -2
- package/dist/esm/schema/nodes/block-card.js +8 -5
- package/dist/esm/schema/nodes/bodied-extension.js +1 -1
- package/dist/esm/schema/nodes/doc.js +1 -1
- package/dist/esm/schema/nodes/embed-card.js +6 -4
- package/dist/esm/schema/nodes/emoji.js +5 -5
- package/dist/esm/schema/nodes/expand.js +1 -1
- package/dist/esm/schema/nodes/inline-card.js +9 -2
- package/dist/esm/schema/nodes/layout-column.js +1 -1
- package/dist/esm/schema/nodes/list-item.js +1 -1
- package/dist/esm/schema/nodes/media-group.js +1 -1
- package/dist/esm/schema/nodes/media-single.js +2 -2
- package/dist/esm/schema/nodes/nested-expand.js +1 -1
- package/dist/esm/schema/nodes/panel.js +12 -2
- package/dist/esm/schema/nodes/paragraph.js +24 -144
- package/dist/esm/schema/nodes/tableNodes.js +2 -2
- package/dist/esm/steps/analytics.js +2 -2
- package/dist/esm/steps/set-attrs.js +2 -2
- package/dist/esm/steps/table/add-column.js +2 -2
- package/dist/esm/steps/table/utils/cell-step.js +2 -2
- package/dist/esm/steps/table/utils/side-effects/rows.js +2 -2
- package/dist/esm/version.json +1 -1
- package/dist/json-schema/package.json +7 -0
- package/dist/json-schema/v1/full.json +67 -3
- package/dist/json-schema/v1/stage-0.json +36 -81
- package/dist/types/index.d.ts +1 -1
- package/dist/types/json-schema/index.d.ts +2 -0
- package/dist/types/schema/default-schema.d.ts +1 -1
- package/dist/types/schema/index.d.ts +1 -1
- package/dist/types/schema/marks/data-consumer.d.ts +8 -1
- package/dist/types/schema/marks/fragment.d.ts +0 -1
- package/dist/types/schema/nodes/block-card.d.ts +2 -0
- package/dist/types/schema/nodes/bodied-extension.d.ts +1 -6
- package/dist/types/schema/nodes/embed-card.d.ts +1 -0
- package/dist/types/schema/nodes/extension.d.ts +1 -6
- package/dist/types/schema/nodes/index.d.ts +3 -3
- package/dist/types/schema/nodes/inline-extension.d.ts +1 -6
- package/dist/types/schema/nodes/panel.d.ts +2 -0
- package/dist/types/schema/nodes/tableNodes.d.ts +4 -2
- package/dist/types/schema/nodes/types/block-content.d.ts +3 -3
- package/dist/types/schema/nodes/types/inline-content.d.ts +3 -3
- package/dist/types/schema/nodes/types/non-nestable-block-content.d.ts +2 -2
- package/json-schema/package.json +7 -0
- package/json-schema/v1/full.json +67 -3
- package/json-schema/v1/stage-0.json +36 -81
- package/package.json +10 -3
- package/schema/package.json +7 -0
- package/url/package.json +7 -0
- package/test-helpers/html-helpers.ts +0 -40
- package/test-helpers/matches.ts +0 -8
- package/test-helpers/schema-builder.ts +0 -329
- package/test-helpers/schema.ts +0 -80
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,82 @@
|
|
1
1
|
# @atlaskit/adf-schema
|
2
2
|
|
3
|
+
## 22.0.0
|
4
|
+
|
5
|
+
### Major Changes
|
6
|
+
|
7
|
+
- [`439cf07029a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/439cf07029a) - ED-13881 Move @atlaskit/adf-schema test helpers to @atlaskit/editor-test-helpers
|
8
|
+
|
9
|
+
A new entry point for @atlaskit/editor-test-helpers/adf-schema has been
|
10
|
+
introduced. All test helpers that previously lived under @atlaskit/adf-schema
|
11
|
+
have been moved there instead.
|
12
|
+
|
13
|
+
Imports inside @atlaskit/adf-schema that previously relied on relative paths, or
|
14
|
+
imports from other packages that referred to @atlaskit/adf-schema/test-helpers,
|
15
|
+
should be updated to reference @atlaskit/editor-test-helpers/adf-schema instead.
|
16
|
+
|
17
|
+
Old usages:
|
18
|
+
|
19
|
+
```
|
20
|
+
import { schema } from '../relative/path/to/test-helpers';
|
21
|
+
import { schema } from '@atlaskit/adf-schema/test-helpers';
|
22
|
+
```
|
23
|
+
|
24
|
+
New usage:
|
25
|
+
|
26
|
+
```
|
27
|
+
import { schema } from '@atlaskit/editor-test-helpers/adf-schema';
|
28
|
+
```
|
29
|
+
|
30
|
+
- [`a86ac5fa763`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a86ac5fa763) - ED-13881 Migrate @atlaskit/adf-schema to declarative entry points
|
31
|
+
|
32
|
+
We are now explicitly declaring entry points as public API. Since some consumers
|
33
|
+
may have previously relied on file-based entry points for the generated JSON
|
34
|
+
schema outputs, this is considered a breaking change.
|
35
|
+
|
36
|
+
Old usage:
|
37
|
+
|
38
|
+
```
|
39
|
+
import * as fullSchema from '@atlaskit/adf-schema/json-schema/v1/full.json';
|
40
|
+
import * as stageZeroSchema from '@atlaskit/adf-schema/json-schema/v1/stage-0.json';
|
41
|
+
```
|
42
|
+
|
43
|
+
New usage:
|
44
|
+
|
45
|
+
```
|
46
|
+
import { fullSchema } from '@atlaskit/adf-schema/json-schema';
|
47
|
+
import { stageZeroSchema } from '@atlaskit/adf-schema/json-schema';
|
48
|
+
```
|
49
|
+
|
50
|
+
- [`304351e4b1e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/304351e4b1e) - CETI-241 - Added additional panel ADF attributes (panelIconId, panelIconText) to uniquely identify custom panel emojis. The change has been categorised as major since it is a change to the full-schema ADF. However, the custom panel feature is behind a feature flag, has not yet been released to production, and is only currently planned for release to Confluence. See ADF change #61 for further details.
|
51
|
+
- [`3b49ff824ec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3b49ff824ec) - ED-14043 update prosemirror schema to only allow link mark on children of paragraph and mediaSingle
|
52
|
+
|
53
|
+
### Minor Changes
|
54
|
+
|
55
|
+
- [`e9aea0f4191`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e9aea0f4191) - CETI-243 Handling Duplicate Emoji Issue When Copying From Renderer
|
56
|
+
|
57
|
+
### Patch Changes
|
58
|
+
|
59
|
+
- [`7f8be1a6a30`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f8be1a6a30) - clean stage0 artefacts from dataConsumer mark
|
60
|
+
- [`783bda0d683`](https://bitbucket.org/atlassian/atlassian-frontend/commits/783bda0d683) - Extra information added to analytics for toolbar change view options
|
61
|
+
|
62
|
+
## 21.0.0
|
63
|
+
|
64
|
+
### Major Changes
|
65
|
+
|
66
|
+
- [`5af69bfe9be`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5af69bfe9be) - CETI-241 - Added additional panel ADF attributes (panelIconId, panelIconText) to uniquely identify custom panel emojis. The change has been categorised as major since it is a change to the full-schema ADF. However, the custom panel feature is behind a feature flag, has not yet been released to production, and is only currently planned for release to Confluence. See ADF change #61 for further details.
|
67
|
+
|
68
|
+
### Minor Changes
|
69
|
+
|
70
|
+
- [`f110cbb7218`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f110cbb7218) - CETI-243 Handling Duplicate Emoji Issue When Copying From Renderer
|
71
|
+
- [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - - Allow `table` nodes to have `fragment` marks
|
72
|
+
- Promote `fragment` mark to "full" ADF schema
|
73
|
+
|
74
|
+
## 20.1.3
|
75
|
+
|
76
|
+
### Patch Changes
|
77
|
+
|
78
|
+
- [`b4d09742c59`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b4d09742c59) - [ED-14236] Add dataConsumer mark to defaultSchema on adf-schema
|
79
|
+
|
3
80
|
## 20.1.2
|
4
81
|
|
5
82
|
### Patch Changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
Object.defineProperty(exports, "fullSchema", {
|
9
|
+
enumerable: true,
|
10
|
+
get: function get() {
|
11
|
+
return _full.default;
|
12
|
+
}
|
13
|
+
});
|
14
|
+
Object.defineProperty(exports, "stageZeroSchema", {
|
15
|
+
enumerable: true,
|
16
|
+
get: function get() {
|
17
|
+
return _stage.default;
|
18
|
+
}
|
19
|
+
});
|
20
|
+
|
21
|
+
var _full = _interopRequireDefault(require("../../json-schema/v1/full.json"));
|
22
|
+
|
23
|
+
var _stage = _interopRequireDefault(require("../../json-schema/v1/stage-0.json"));
|
@@ -20,9 +20,9 @@ var _marks = require("./marks");
|
|
20
20
|
|
21
21
|
var _nodes = require("./nodes");
|
22
22
|
|
23
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
23
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
24
24
|
|
25
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
25
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
26
26
|
|
27
27
|
function addItems(builtInItems, config) {
|
28
28
|
var customSpecs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
@@ -14,7 +14,7 @@ var _createSchema = require("./create-schema");
|
|
14
14
|
var getDefaultSchemaConfig = function getDefaultSchemaConfig() {
|
15
15
|
var defaultSchemaConfig = {
|
16
16
|
nodes: ['doc', 'paragraph', 'text', 'bulletList', 'orderedList', 'listItem', 'heading', 'blockquote', 'codeBlock', 'panel', 'rule', 'image', 'caption', 'mention', 'media', 'mediaGroup', 'mediaSingle', 'mediaInline', 'confluenceUnsupportedBlock', 'confluenceUnsupportedInline', 'confluenceJiraIssue', 'expand', 'nestedExpand', 'extension', 'inlineExtension', 'bodiedExtension', 'hardBreak', 'emoji', 'table', 'tableCell', 'tableHeader', 'tableRow', 'decisionList', 'decisionItem', 'taskList', 'taskItem', 'unknownBlock', 'date', 'status', 'placeholder', 'layoutSection', 'layoutColumn', 'inlineCard', 'blockCard', 'embedCard', 'unsupportedBlock', 'unsupportedInline'],
|
17
|
-
marks: ['link', 'em', 'strong', 'strike', 'subsup', 'underline', 'code', 'textColor', 'confluenceInlineComment', 'breakout', 'alignment', 'indentation', 'annotation', 'unsupportedMark', 'unsupportedNodeAttribute', 'typeAheadQuery' // https://product-fabric.atlassian.net/browse/ED-10214,
|
17
|
+
marks: ['link', 'em', 'strong', 'strike', 'subsup', 'underline', 'code', 'textColor', 'confluenceInlineComment', 'breakout', 'alignment', 'indentation', 'annotation', 'dataConsumer', 'unsupportedMark', 'unsupportedNodeAttribute', 'typeAheadQuery' // https://product-fabric.atlassian.net/browse/ED-10214,
|
18
18
|
]
|
19
19
|
};
|
20
20
|
return defaultSchemaConfig;
|
@@ -32,7 +32,6 @@ var getSchemaBasedOnStage = function getSchemaBasedOnStage() {
|
|
32
32
|
layoutSection: _nodes.layoutSectionWithSingleColumn
|
33
33
|
};
|
34
34
|
defaultSchemaConfig.customMarkSpecs = {
|
35
|
-
dataConsumer: _marks.dataConsumer,
|
36
35
|
fragment: _marks.fragment
|
37
36
|
};
|
38
37
|
defaultSchemaConfig.nodes.push('mediaInline');
|
@@ -10,9 +10,9 @@ exports.buildDataAttributes = buildDataAttributes;
|
|
10
10
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12
12
|
|
13
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
14
14
|
|
15
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
16
16
|
|
17
17
|
/**
|
18
18
|
* @name annotation_mark
|
@@ -11,9 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
11
11
|
|
12
12
|
var _parseDOM = require("../../utils/parseDOM");
|
13
13
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
15
15
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
17
17
|
|
18
18
|
var parseFragment = function parseFragment(maybeValue) {
|
19
19
|
var _maybeValue$getAttrib;
|
@@ -13,9 +13,9 @@ var _groups = require("../groups");
|
|
13
13
|
|
14
14
|
var _url = require("../../utils/url");
|
15
15
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
17
17
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
19
19
|
|
20
20
|
var getLinkAttrs = function getLinkAttrs(attribute) {
|
21
21
|
return function (domNode) {
|
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.blockCard = void 0;
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
*/
|
8
|
+
var _uuid = require("../../utils/uuid");
|
9
|
+
|
11
10
|
var blockCard = {
|
12
11
|
inline: false,
|
13
12
|
group: 'block',
|
@@ -19,6 +18,9 @@ var blockCard = {
|
|
19
18
|
},
|
20
19
|
data: {
|
21
20
|
default: null
|
21
|
+
},
|
22
|
+
localId: {
|
23
|
+
default: ''
|
22
24
|
}
|
23
25
|
},
|
24
26
|
parseDOM: [{
|
@@ -30,7 +32,8 @@ var blockCard = {
|
|
30
32
|
var data = anchor.getAttribute('data-card-data');
|
31
33
|
return {
|
32
34
|
url: anchor.getAttribute('href') || null,
|
33
|
-
data: data ? JSON.parse(data) : null
|
35
|
+
data: data ? JSON.parse(data) : null,
|
36
|
+
localId: _uuid.uuid.generate()
|
34
37
|
};
|
35
38
|
}
|
36
39
|
}, {
|
@@ -40,7 +43,8 @@ var blockCard = {
|
|
40
43
|
var data = anchor.getAttribute('data-card-data');
|
41
44
|
return {
|
42
45
|
url: anchor.getAttribute('data-card-url') || null,
|
43
|
-
data: data ? JSON.parse(data) : null
|
46
|
+
data: data ? JSON.parse(data) : null,
|
47
|
+
localId: _uuid.uuid.generate()
|
44
48
|
};
|
45
49
|
}
|
46
50
|
}],
|
@@ -11,7 +11,7 @@ var createBodiedExtensionNodeSpec = function createBodiedExtensionNodeSpec() {
|
|
11
11
|
var nodeSpec = {
|
12
12
|
inline: false,
|
13
13
|
group: 'block',
|
14
|
-
marks: '
|
14
|
+
marks: 'dataConsumer fragment',
|
15
15
|
content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | extension | unsupportedBlock | embedCard)+',
|
16
16
|
defining: true,
|
17
17
|
selectable: true,
|
@@ -10,6 +10,6 @@ exports.doc = void 0;
|
|
10
10
|
*/
|
11
11
|
var doc = {
|
12
12
|
content: '(block|layoutSection)+',
|
13
|
-
marks: 'alignment breakout dataConsumer fragment indentation
|
13
|
+
marks: 'alignment breakout dataConsumer fragment indentation unsupportedMark unsupportedNodeAttribute'
|
14
14
|
};
|
15
15
|
exports.doc = doc;
|
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.embedCard = void 0;
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
*/
|
8
|
+
var _uuid = require("../../utils/uuid");
|
9
|
+
|
11
10
|
var embedCard = {
|
12
11
|
inline: false,
|
13
12
|
group: 'block',
|
@@ -27,6 +26,9 @@ var embedCard = {
|
|
27
26
|
},
|
28
27
|
originalHeight: {
|
29
28
|
default: null
|
29
|
+
},
|
30
|
+
localId: {
|
31
|
+
default: ''
|
30
32
|
}
|
31
33
|
},
|
32
34
|
parseDOM: [{
|
@@ -37,7 +39,8 @@ var embedCard = {
|
|
37
39
|
layout: dom.getAttribute('data-layout') || 'center',
|
38
40
|
width: Number(dom.getAttribute('data-width')) || null,
|
39
41
|
originalWidth: Number(dom.getAttribute('data-card-original-width')) || null,
|
40
|
-
originalHeight: Number(dom.getAttribute('data-card-original-height')) || null
|
42
|
+
originalHeight: Number(dom.getAttribute('data-card-original-height')) || null,
|
43
|
+
localId: _uuid.uuid.generate()
|
41
44
|
};
|
42
45
|
}
|
43
46
|
}],
|
@@ -22,7 +22,11 @@ var emoji = {
|
|
22
22
|
default: ''
|
23
23
|
}
|
24
24
|
},
|
25
|
-
parseDOM: [
|
25
|
+
parseDOM: [// Handle copy/paste beautiful panel from renderer />
|
26
|
+
{
|
27
|
+
tag: 'div.ak-editor-panel__icon span',
|
28
|
+
ignore: true
|
29
|
+
}, {
|
26
30
|
tag: 'span[data-emoji-short-name]',
|
27
31
|
getAttrs: function getAttrs(domNode) {
|
28
32
|
var dom = domNode;
|
@@ -32,10 +36,6 @@ var emoji = {
|
|
32
36
|
text: dom.getAttribute('data-emoji-text') || emoji.attrs.text.default
|
33
37
|
};
|
34
38
|
}
|
35
|
-
}, // Handle copy/paste beautiful panel from renderer />
|
36
|
-
{
|
37
|
-
tag: 'div.ak-editor-panel__icon',
|
38
|
-
ignore: true
|
39
39
|
}, // Handle copy/paste from old <ac:emoticon />
|
40
40
|
{
|
41
41
|
tag: 'img[data-emoticon-name]',
|
@@ -27,7 +27,7 @@ function getExpandAttrs(domNode) {
|
|
27
27
|
var expand = {
|
28
28
|
inline: false,
|
29
29
|
group: 'block',
|
30
|
-
marks: '
|
30
|
+
marks: 'dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
|
31
31
|
content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | embedCard | extension | unsupportedBlock)+',
|
32
32
|
isolating: true,
|
33
33
|
selectable: true,
|
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.inlineCard = void 0;
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
*/
|
8
|
+
var _uuid = require("../../utils/uuid");
|
9
|
+
|
11
10
|
var inlineCard = {
|
12
11
|
inline: true,
|
13
12
|
group: 'inline',
|
@@ -19,6 +18,9 @@ var inlineCard = {
|
|
19
18
|
},
|
20
19
|
data: {
|
21
20
|
default: null
|
21
|
+
},
|
22
|
+
localId: {
|
23
|
+
default: ''
|
22
24
|
}
|
23
25
|
},
|
24
26
|
parseDOM: [{
|
@@ -32,7 +34,8 @@ var inlineCard = {
|
|
32
34
|
|
33
35
|
return {
|
34
36
|
url: anchor.getAttribute('href') || anchor.getAttribute('data-card-url') || null,
|
35
|
-
data: data ? JSON.parse(data) : null
|
37
|
+
data: data ? JSON.parse(data) : null,
|
38
|
+
localId: _uuid.uuid.generate()
|
36
39
|
};
|
37
40
|
}
|
38
41
|
}, // for renderer
|
@@ -43,7 +46,8 @@ var inlineCard = {
|
|
43
46
|
var data = anchor.getAttribute('data-card-data');
|
44
47
|
return {
|
45
48
|
url: anchor.getAttribute('data-card-url'),
|
46
|
-
data: data ? JSON.parse(data) : null
|
49
|
+
data: data ? JSON.parse(data) : null,
|
50
|
+
localId: _uuid.uuid.generate()
|
47
51
|
};
|
48
52
|
}
|
49
53
|
}],
|
@@ -11,7 +11,7 @@ exports.layoutColumn = void 0;
|
|
11
11
|
var layoutColumn = {
|
12
12
|
content: '(block|unsupportedBlock)+',
|
13
13
|
isolating: true,
|
14
|
-
marks: '
|
14
|
+
marks: 'alignment indentation dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
|
15
15
|
selectable: false,
|
16
16
|
attrs: {
|
17
17
|
width: {
|
@@ -12,7 +12,7 @@ exports.listItem = void 0;
|
|
12
12
|
*/
|
13
13
|
var listItem = {
|
14
14
|
content: '(paragraph | mediaSingle | codeBlock) (paragraph | bulletList | orderedList | mediaSingle | codeBlock)*',
|
15
|
-
marks: '
|
15
|
+
marks: 'unsupportedMark unsupportedNodeAttribute',
|
16
16
|
defining: true,
|
17
17
|
selectable: false,
|
18
18
|
parseDOM: [{
|
@@ -13,7 +13,7 @@ var mediaGroup = {
|
|
13
13
|
group: 'block',
|
14
14
|
content: '(media|unsupportedBlock)+',
|
15
15
|
attrs: {},
|
16
|
-
marks: 'unsupportedMark unsupportedNodeAttribute
|
16
|
+
marks: 'unsupportedMark unsupportedNodeAttribute',
|
17
17
|
selectable: false,
|
18
18
|
parseDOM: [{
|
19
19
|
tag: 'div[data-node-type="mediaGroup"]'
|
@@ -9,9 +9,9 @@ exports.toJSON = exports.mediaSingleWithCaption = exports.mediaSingle = exports.
|
|
9
9
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
11
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
13
13
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
15
15
|
|
16
16
|
/**
|
17
17
|
* @name mediaSingle_node
|
@@ -20,7 +20,7 @@ exports.nestedExpand = void 0;
|
|
20
20
|
*/
|
21
21
|
var nestedExpand = {
|
22
22
|
inline: false,
|
23
|
-
marks: '
|
23
|
+
marks: 'unsupportedMark unsupportedNodeAttribute',
|
24
24
|
content: '(paragraph | heading | mediaSingle | mediaGroup | unsupportedBlock)+',
|
25
25
|
isolating: true,
|
26
26
|
selectable: true,
|
@@ -9,9 +9,9 @@ exports.panel = exports.PanelType = void 0;
|
|
9
9
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
11
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
13
13
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
15
15
|
|
16
16
|
var PanelType;
|
17
17
|
exports.PanelType = PanelType;
|
@@ -34,6 +34,12 @@ var getDefaultAttrs = function getDefaultAttrs() {
|
|
34
34
|
panelIcon: {
|
35
35
|
default: null
|
36
36
|
},
|
37
|
+
panelIconId: {
|
38
|
+
default: null
|
39
|
+
},
|
40
|
+
panelIconText: {
|
41
|
+
default: null
|
42
|
+
},
|
37
43
|
panelColor: {
|
38
44
|
default: null
|
39
45
|
}
|
@@ -45,6 +51,8 @@ var getDomAttrs = function getDomAttrs(nodeAttrs) {
|
|
45
51
|
var attrs = {
|
46
52
|
'data-panel-type': nodeAttrs.panelType,
|
47
53
|
'data-panel-icon': nodeAttrs.panelIcon,
|
54
|
+
'data-panel-icon-id': nodeAttrs.panelIconId,
|
55
|
+
'data-panel-icon-text': nodeAttrs.panelIconText,
|
48
56
|
'data-panel-color': nodeAttrs.panelColor
|
49
57
|
};
|
50
58
|
return attrs;
|
@@ -58,6 +66,8 @@ var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom) {
|
|
58
66
|
if (allowCustomPanel) {
|
59
67
|
parseDOMAttrs = _objectSpread(_objectSpread({}, parseDOMAttrs), {}, {
|
60
68
|
panelIcon: dom.getAttribute('data-panel-icon'),
|
69
|
+
panelIconId: dom.getAttribute('data-panel-icon-id'),
|
70
|
+
panelIconText: dom.getAttribute('data-panel-icon-text'),
|
61
71
|
panelColor: dom.getAttribute('data-panel-color')
|
62
72
|
});
|
63
73
|
} else {
|
@@ -5,72 +5,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.paragraph = void 0;
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
address: true,
|
33
|
-
article: true,
|
34
|
-
aside: true,
|
35
|
-
blockquote: true,
|
36
|
-
canvas: true,
|
37
|
-
dd: true,
|
38
|
-
div: true,
|
39
|
-
dl: true,
|
40
|
-
fieldset: true,
|
41
|
-
figcaption: true,
|
42
|
-
figure: true,
|
43
|
-
footer: true,
|
44
|
-
form: true,
|
45
|
-
h1: true,
|
46
|
-
h2: true,
|
47
|
-
h3: true,
|
48
|
-
h4: true,
|
49
|
-
h5: true,
|
50
|
-
h6: true,
|
51
|
-
header: true,
|
52
|
-
hgroup: true,
|
53
|
-
hr: true,
|
54
|
-
li: true,
|
55
|
-
noscript: true,
|
56
|
-
ol: true,
|
57
|
-
output: true,
|
58
|
-
p: true,
|
59
|
-
pre: true,
|
60
|
-
section: true,
|
61
|
-
table: true,
|
62
|
-
tfoot: true,
|
63
|
-
ul: true
|
64
|
-
};
|
65
|
-
|
66
|
-
var isListItemNode = function isListItemNode(node) {
|
67
|
-
return Boolean(node && node.nodeName.toLowerCase() === 'li');
|
68
|
-
};
|
69
|
-
|
70
|
-
var isTextNode = function isTextNode(node) {
|
71
|
-
return Boolean(node && node.nodeType === Node.TEXT_NODE);
|
72
|
-
};
|
73
|
-
|
8
|
+
/**
|
9
|
+
* @name paragraph_node
|
10
|
+
*/
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @name paragraph_with_no_marks_node
|
14
|
+
*/
|
15
|
+
|
16
|
+
/**
|
17
|
+
* NOTE: Need this because TS is too smart and inline everything.
|
18
|
+
* So we need to give them separate identity.
|
19
|
+
* Probably there's a way to solve it but that will need time and exploration.
|
20
|
+
* // http://bit.ly/2raXFX5
|
21
|
+
* type T1 = X | Y
|
22
|
+
* type T2 = A | T1 | B // T2 = A | X | Y | B
|
23
|
+
*/
|
24
|
+
|
25
|
+
/**
|
26
|
+
* @name paragraph_with_alignment_node
|
27
|
+
*/
|
28
|
+
|
29
|
+
/**
|
30
|
+
* @name paragraph_with_indentation_node
|
31
|
+
*/
|
74
32
|
var isImageNode = function isImageNode(node) {
|
75
33
|
return Boolean(node && node.nodeName.toLowerCase() === 'img');
|
76
34
|
};
|
@@ -93,21 +51,6 @@ var hasInlineImage = function hasInlineImage(node) {
|
|
93
51
|
});
|
94
52
|
};
|
95
53
|
|
96
|
-
var hasWhiteSpacePre = function hasWhiteSpacePre(node) {
|
97
|
-
return Boolean(node instanceof HTMLElement && node.style.whiteSpace === 'pre');
|
98
|
-
};
|
99
|
-
|
100
|
-
var hasFontFamilyMonospace = function hasFontFamilyMonospace(node) {
|
101
|
-
return Boolean(node instanceof HTMLElement && node.style.fontFamily.includes('monospace'));
|
102
|
-
};
|
103
|
-
|
104
|
-
var isBlockLevelNode = function isBlockLevelNode(node) {
|
105
|
-
return Boolean(node && blockTags.hasOwnProperty(node.nodeName.toLowerCase()));
|
106
|
-
};
|
107
|
-
|
108
|
-
var NOT_INTERNAL_LINKS = [':not([data-inline-card])', ':not([data-block-card])', ':not([data-block-link])', ':not([data-skip-paste])'].join('');
|
109
|
-
var ANCHOR_LINK = "a[href]".concat(NOT_INTERNAL_LINKS);
|
110
|
-
var NOT_INTERNAL_ELEMENTS = [':not(.code-block)', ':not([data-node-type])', ':not([data-embed-card])', ':not([data-layout-section])', ':not([data-task-local-id])', ':not([data-task-state])', ':not([data-pm-slice])', ':not([data-mark-type])', ':not([data-layout-content])', ':not([data-panel-content])'].join('');
|
111
54
|
var pDOM = ['p', 0];
|
112
55
|
var paragraph = {
|
113
56
|
selectable: false,
|
@@ -116,70 +59,6 @@ var paragraph = {
|
|
116
59
|
marks: 'strong code em link strike subsup textColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
|
117
60
|
parseDOM: [{
|
118
61
|
tag: 'p'
|
119
|
-
}, {
|
120
|
-
tag: "div".concat(NOT_INTERNAL_ELEMENTS, ", li:not([data-pm-slice])"),
|
121
|
-
priority: 100,
|
122
|
-
getAttrs: function getAttrs(node) {
|
123
|
-
if (!(node instanceof Node)) {
|
124
|
-
return false;
|
125
|
-
}
|
126
|
-
|
127
|
-
var isCodeBlock = hasWhiteSpacePre(node) || hasFontFamilyMonospace(node);
|
128
|
-
|
129
|
-
if (isCodeBlock || !node.hasChildNodes()) {
|
130
|
-
return false;
|
131
|
-
}
|
132
|
-
|
133
|
-
var hasInlineChildren = Array.from(node.childNodes).every(function (child) {
|
134
|
-
return !isBlockLevelNode(child) && // IMG is considered block for mediaSingle
|
135
|
-
!isImageNode(child);
|
136
|
-
});
|
137
|
-
|
138
|
-
if (!hasInlineChildren) {
|
139
|
-
return false;
|
140
|
-
}
|
141
|
-
|
142
|
-
if ( // We can skip this rule for pure list items
|
143
|
-
isListItemNode(node) && Array.from(node.childNodes).every(isTextNode)) {
|
144
|
-
return false;
|
145
|
-
}
|
146
|
-
|
147
|
-
return null;
|
148
|
-
}
|
149
|
-
}, {
|
150
|
-
tag: ":not(span) + ".concat(ANCHOR_LINK),
|
151
|
-
priority: 100,
|
152
|
-
getContent: getLinkContent
|
153
|
-
}, {
|
154
|
-
tag: ":not(span) > ".concat(ANCHOR_LINK, ":first-child"),
|
155
|
-
getAttrs: function getAttrs(node) {
|
156
|
-
if (!(node instanceof Node)) {
|
157
|
-
return false;
|
158
|
-
}
|
159
|
-
|
160
|
-
if (isBlockLevelNode(node.firstChild)) {
|
161
|
-
return null;
|
162
|
-
}
|
163
|
-
|
164
|
-
if (hasInlineImage(node)) {
|
165
|
-
return false;
|
166
|
-
}
|
167
|
-
|
168
|
-
var isNextSiblingValid = node.nextSibling === null || node.nextSibling instanceof Text && (node.nextSibling.textContent || '').trim().length === 0;
|
169
|
-
|
170
|
-
if (isNextSiblingValid) {
|
171
|
-
return null;
|
172
|
-
} // This rule should not match when there is any sibling after the anchor
|
173
|
-
|
174
|
-
|
175
|
-
if (!isBlockLevelNode(node.nextSibling)) {
|
176
|
-
return false;
|
177
|
-
}
|
178
|
-
|
179
|
-
return null;
|
180
|
-
},
|
181
|
-
priority: 100,
|
182
|
-
getContent: getLinkContent
|
183
62
|
}],
|
184
63
|
toDOM: function toDOM() {
|
185
64
|
return pDOM;
|