@atlaskit/adf-schema 49.0.6 → 50.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 +12 -0
- package/dist/cjs/index.js +132 -0
- package/dist/cjs/next-schema/generated/nodeTypes.js +140 -1
- package/dist/cjs/next-schema/nodes/blockCard.js +15 -0
- package/dist/cjs/next-schema/nodes/blockquote.js +16 -2
- package/dist/cjs/next-schema/nodes/caption.js +7 -0
- package/dist/cjs/next-schema/nodes/codeBlock.js +5 -0
- package/dist/cjs/next-schema/nodes/date.js +5 -0
- package/dist/cjs/next-schema/nodes/embedCard.js +5 -0
- package/dist/cjs/next-schema/nodes/emoji.js +5 -0
- package/dist/cjs/next-schema/nodes/expand.js +5 -0
- package/dist/cjs/next-schema/nodes/hardBreak.js +5 -0
- package/dist/cjs/next-schema/nodes/inlineCard.js +10 -0
- package/dist/cjs/next-schema/nodes/layoutColumn.js +5 -0
- package/dist/cjs/next-schema/nodes/layoutSection.js +12 -0
- package/dist/cjs/next-schema/nodes/list.js +20 -1
- package/dist/cjs/next-schema/nodes/media.js +10 -0
- package/dist/cjs/next-schema/nodes/mediaInline.js +5 -0
- package/dist/cjs/next-schema/nodes/mediaSingle.js +10 -0
- package/dist/cjs/next-schema/nodes/nestedExpand.js +5 -0
- package/dist/cjs/next-schema/nodes/panel.js +5 -0
- package/dist/cjs/next-schema/nodes/placeholder.js +5 -0
- package/dist/cjs/next-schema/nodes/rule.js +9 -1
- package/dist/cjs/next-schema/nodes/tableNodes.js +17 -0
- package/dist/cjs/schema/index.js +138 -0
- package/dist/cjs/schema/nodes/block-card.js +48 -1
- package/dist/cjs/schema/nodes/blockquote.js +20 -2
- package/dist/cjs/schema/nodes/bullet-list.js +20 -1
- package/dist/cjs/schema/nodes/caption.js +20 -1
- package/dist/cjs/schema/nodes/code-block.js +72 -2
- package/dist/cjs/schema/nodes/date.js +22 -1
- package/dist/cjs/schema/nodes/embed-card.js +36 -1
- package/dist/cjs/schema/nodes/emoji.js +73 -1
- package/dist/cjs/schema/nodes/expand.js +56 -1
- package/dist/cjs/schema/nodes/hard-break.js +18 -1
- package/dist/cjs/schema/nodes/index.js +138 -0
- package/dist/cjs/schema/nodes/inline-card.js +46 -1
- package/dist/cjs/schema/nodes/layout-column.js +37 -1
- package/dist/cjs/schema/nodes/layout-section.js +31 -1
- package/dist/cjs/schema/nodes/list-item.js +34 -1
- package/dist/cjs/schema/nodes/media-inline.js +12 -2
- package/dist/cjs/schema/nodes/media-single.js +22 -2
- package/dist/cjs/schema/nodes/media.js +21 -4
- package/dist/cjs/schema/nodes/nested-expand.js +34 -7
- package/dist/cjs/schema/nodes/ordered-list.js +54 -3
- package/dist/cjs/schema/nodes/panel.js +13 -5
- package/dist/cjs/schema/nodes/placeholder.js +24 -1
- package/dist/cjs/schema/nodes/rule.js +18 -1
- package/dist/cjs/schema/nodes/tableNodes.js +69 -6
- package/dist/cjs/validator-schema/generated/validatorSpec.js +159 -0
- package/dist/es2019/index.js +2 -2
- package/dist/es2019/next-schema/generated/nodeTypes.js +140 -1
- package/dist/es2019/next-schema/nodes/blockCard.js +15 -0
- package/dist/es2019/next-schema/nodes/blockquote.js +16 -2
- package/dist/es2019/next-schema/nodes/caption.js +7 -0
- package/dist/es2019/next-schema/nodes/codeBlock.js +5 -0
- package/dist/es2019/next-schema/nodes/date.js +5 -0
- package/dist/es2019/next-schema/nodes/embedCard.js +5 -0
- package/dist/es2019/next-schema/nodes/emoji.js +5 -0
- package/dist/es2019/next-schema/nodes/expand.js +5 -0
- package/dist/es2019/next-schema/nodes/hardBreak.js +5 -0
- package/dist/es2019/next-schema/nodes/inlineCard.js +10 -0
- package/dist/es2019/next-schema/nodes/layoutColumn.js +5 -0
- package/dist/es2019/next-schema/nodes/layoutSection.js +12 -0
- package/dist/es2019/next-schema/nodes/list.js +20 -1
- package/dist/es2019/next-schema/nodes/media.js +10 -0
- package/dist/es2019/next-schema/nodes/mediaInline.js +5 -0
- package/dist/es2019/next-schema/nodes/mediaSingle.js +10 -0
- package/dist/es2019/next-schema/nodes/nestedExpand.js +5 -0
- package/dist/es2019/next-schema/nodes/panel.js +5 -0
- package/dist/es2019/next-schema/nodes/placeholder.js +5 -0
- package/dist/es2019/next-schema/nodes/rule.js +9 -1
- package/dist/es2019/next-schema/nodes/tableNodes.js +17 -0
- package/dist/es2019/schema/default-schema.js +1 -1
- package/dist/es2019/schema/index.js +1 -1
- package/dist/es2019/schema/nodes/block-card.js +50 -0
- package/dist/es2019/schema/nodes/blockquote.js +19 -1
- package/dist/es2019/schema/nodes/bullet-list.js +19 -0
- package/dist/es2019/schema/nodes/caption.js +19 -0
- package/dist/es2019/schema/nodes/code-block.js +68 -0
- package/dist/es2019/schema/nodes/date.js +19 -0
- package/dist/es2019/schema/nodes/embed-card.js +34 -0
- package/dist/es2019/schema/nodes/emoji.js +71 -0
- package/dist/es2019/schema/nodes/expand.js +59 -0
- package/dist/es2019/schema/nodes/hard-break.js +15 -0
- package/dist/es2019/schema/nodes/index.js +20 -20
- package/dist/es2019/schema/nodes/inline-card.js +45 -0
- package/dist/es2019/schema/nodes/layout-column.js +38 -0
- package/dist/es2019/schema/nodes/layout-section.js +32 -0
- package/dist/es2019/schema/nodes/list-item.js +29 -0
- package/dist/es2019/schema/nodes/media-inline.js +8 -1
- package/dist/es2019/schema/nodes/media-single.js +20 -1
- package/dist/es2019/schema/nodes/media.js +17 -4
- package/dist/es2019/schema/nodes/nested-expand.js +21 -6
- package/dist/es2019/schema/nodes/ordered-list.js +51 -2
- package/dist/es2019/schema/nodes/panel.js +11 -5
- package/dist/es2019/schema/nodes/placeholder.js +23 -0
- package/dist/es2019/schema/nodes/rule.js +15 -0
- package/dist/es2019/schema/nodes/tableNodes.js +59 -3
- package/dist/es2019/validator-schema/generated/validatorSpec.js +159 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/next-schema/generated/nodeTypes.js +140 -1
- package/dist/esm/next-schema/nodes/blockCard.js +15 -0
- package/dist/esm/next-schema/nodes/blockquote.js +16 -2
- package/dist/esm/next-schema/nodes/caption.js +7 -0
- package/dist/esm/next-schema/nodes/codeBlock.js +5 -0
- package/dist/esm/next-schema/nodes/date.js +5 -0
- package/dist/esm/next-schema/nodes/embedCard.js +5 -0
- package/dist/esm/next-schema/nodes/emoji.js +5 -0
- package/dist/esm/next-schema/nodes/expand.js +5 -0
- package/dist/esm/next-schema/nodes/hardBreak.js +5 -0
- package/dist/esm/next-schema/nodes/inlineCard.js +10 -0
- package/dist/esm/next-schema/nodes/layoutColumn.js +5 -0
- package/dist/esm/next-schema/nodes/layoutSection.js +12 -0
- package/dist/esm/next-schema/nodes/list.js +20 -1
- package/dist/esm/next-schema/nodes/media.js +10 -0
- package/dist/esm/next-schema/nodes/mediaInline.js +5 -0
- package/dist/esm/next-schema/nodes/mediaSingle.js +10 -0
- package/dist/esm/next-schema/nodes/nestedExpand.js +5 -0
- package/dist/esm/next-schema/nodes/panel.js +5 -0
- package/dist/esm/next-schema/nodes/placeholder.js +5 -0
- package/dist/esm/next-schema/nodes/rule.js +9 -1
- package/dist/esm/next-schema/nodes/tableNodes.js +17 -0
- package/dist/esm/schema/default-schema.js +1 -1
- package/dist/esm/schema/index.js +1 -1
- package/dist/esm/schema/nodes/block-card.js +47 -0
- package/dist/esm/schema/nodes/blockquote.js +19 -1
- package/dist/esm/schema/nodes/bullet-list.js +19 -0
- package/dist/esm/schema/nodes/caption.js +19 -0
- package/dist/esm/schema/nodes/code-block.js +71 -1
- package/dist/esm/schema/nodes/date.js +21 -0
- package/dist/esm/schema/nodes/embed-card.js +35 -0
- package/dist/esm/schema/nodes/emoji.js +71 -0
- package/dist/esm/schema/nodes/expand.js +55 -0
- package/dist/esm/schema/nodes/hard-break.js +17 -0
- package/dist/esm/schema/nodes/index.js +20 -20
- package/dist/esm/schema/nodes/inline-card.js +45 -0
- package/dist/esm/schema/nodes/layout-column.js +36 -0
- package/dist/esm/schema/nodes/layout-section.js +30 -0
- package/dist/esm/schema/nodes/list-item.js +33 -0
- package/dist/esm/schema/nodes/media-inline.js +10 -1
- package/dist/esm/schema/nodes/media-single.js +21 -1
- package/dist/esm/schema/nodes/media.js +19 -3
- package/dist/esm/schema/nodes/nested-expand.js +32 -6
- package/dist/esm/schema/nodes/ordered-list.js +53 -2
- package/dist/esm/schema/nodes/panel.js +12 -4
- package/dist/esm/schema/nodes/placeholder.js +23 -0
- package/dist/esm/schema/nodes/rule.js +17 -0
- package/dist/esm/schema/nodes/tableNodes.js +68 -5
- package/dist/esm/validator-schema/generated/validatorSpec.js +159 -0
- package/dist/json-schema/v1/full.json +140 -2
- package/dist/json-schema/v1/stage-0.json +152 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/next-schema/generated/nodeTypes.d.ts +72 -0
- package/dist/types/next-schema/groups/nonNestableBlockContentGroup.d.ts +7 -0
- package/dist/types/next-schema/groups/tableCellContentPseudoGroup.d.ts +7 -0
- package/dist/types/next-schema/nodes/blockquote.d.ts +7 -0
- package/dist/types/next-schema/nodes/layoutSection.d.ts +5 -0
- package/dist/types/schema/index.d.ts +1 -1
- package/dist/types/schema/nodes/block-card.d.ts +4 -0
- package/dist/types/schema/nodes/blockquote.d.ts +4 -0
- package/dist/types/schema/nodes/bullet-list.d.ts +1 -0
- package/dist/types/schema/nodes/caption.d.ts +4 -0
- package/dist/types/schema/nodes/code-block.d.ts +2 -0
- package/dist/types/schema/nodes/date.d.ts +2 -0
- package/dist/types/schema/nodes/embed-card.d.ts +2 -0
- package/dist/types/schema/nodes/emoji.d.ts +2 -0
- package/dist/types/schema/nodes/expand.d.ts +2 -0
- package/dist/types/schema/nodes/hard-break.d.ts +2 -0
- package/dist/types/schema/nodes/index.d.ts +20 -20
- package/dist/types/schema/nodes/inline-card.d.ts +1 -0
- package/dist/types/schema/nodes/layout-column.d.ts +2 -0
- package/dist/types/schema/nodes/layout-section.d.ts +4 -0
- package/dist/types/schema/nodes/list-item.d.ts +2 -0
- package/dist/types/schema/nodes/media-inline.d.ts +1 -0
- package/dist/types/schema/nodes/media-single.d.ts +3 -1
- package/dist/types/schema/nodes/media.d.ts +3 -1
- package/dist/types/schema/nodes/nested-expand.d.ts +2 -0
- package/dist/types/schema/nodes/ordered-list.d.ts +2 -0
- package/dist/types/schema/nodes/panel.d.ts +2 -0
- package/dist/types/schema/nodes/placeholder.d.ts +2 -0
- package/dist/types/schema/nodes/rule.d.ts +4 -0
- package/dist/types/schema/nodes/tableNodes.d.ts +6 -0
- package/dist/types/schema/nodes/types/list.d.ts +7 -0
- package/dist/types/schema/nodes/types/rich-media-common.d.ts +1 -0
- package/dist/types/validator-schema/generated/validatorSpec.d.ts +159 -0
- package/json-schema/v1/full.json +140 -2
- package/json-schema/v1/stage-0.json +152 -2
- package/package.json +2 -2
- package/schema-generators/__tests__/unit/adfToValidatorSpec.unit.ts +1 -0
@@ -1,4 +1,5 @@
|
|
1
1
|
import { inlineCard as inlineCardFactory } from '../../next-schema/generated/nodeTypes';
|
2
|
+
import { uuid } from '../../utils/uuid';
|
2
3
|
|
3
4
|
/**
|
4
5
|
* @name inlineCard_node
|
@@ -44,4 +45,48 @@ export var inlineCard = inlineCardFactory({
|
|
44
45
|
return ['a', attrs];
|
45
46
|
}
|
46
47
|
}
|
48
|
+
});
|
49
|
+
export var inlineCardWithLocalId = inlineCardFactory({
|
50
|
+
parseDOM: [{
|
51
|
+
tag: 'a[data-inline-card], span[data-inline-card]',
|
52
|
+
// bump priority higher than hyperlink
|
53
|
+
priority: 100,
|
54
|
+
getAttrs: function getAttrs(dom) {
|
55
|
+
var anchor = dom;
|
56
|
+
var data = anchor.getAttribute('data-card-data');
|
57
|
+
|
58
|
+
/* Support attrs from Editor and Renderer */
|
59
|
+
return {
|
60
|
+
url: anchor.getAttribute('href') || anchor.getAttribute('data-card-url') || null,
|
61
|
+
data: data ? JSON.parse(data) : null
|
62
|
+
};
|
63
|
+
}
|
64
|
+
},
|
65
|
+
// for renderer
|
66
|
+
{
|
67
|
+
tag: 'div[data-inline-card]',
|
68
|
+
getAttrs: function getAttrs(dom) {
|
69
|
+
var anchor = dom;
|
70
|
+
var data = anchor.getAttribute('data-card-data');
|
71
|
+
return {
|
72
|
+
url: anchor.getAttribute('data-card-url'),
|
73
|
+
data: data ? JSON.parse(data) : null,
|
74
|
+
localId: uuid.generate()
|
75
|
+
};
|
76
|
+
}
|
77
|
+
}],
|
78
|
+
toDOM: function toDOM(node) {
|
79
|
+
var _node$attrs;
|
80
|
+
var attrs = {
|
81
|
+
'data-inline-card': '',
|
82
|
+
href: node.attrs.url || '',
|
83
|
+
'data-card-data': node.attrs.data ? JSON.stringify(node.attrs.data) : '',
|
84
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
85
|
+
};
|
86
|
+
if (node.attrs.url) {
|
87
|
+
return ['a', attrs, node.attrs.url];
|
88
|
+
} else {
|
89
|
+
return ['a', attrs];
|
90
|
+
}
|
91
|
+
}
|
47
92
|
});
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { layoutColumn as layoutColumnFactory } from '../../next-schema/generated/nodeTypes';
|
2
|
+
import { uuid } from '../../utils/uuid';
|
2
3
|
|
3
4
|
/**
|
4
5
|
* @name layoutColumn_node
|
@@ -28,6 +29,41 @@ export var layoutColumn = layoutColumnFactory({
|
|
28
29
|
attrs['data-column-width'] = "".concat(width);
|
29
30
|
}
|
30
31
|
|
32
|
+
// We need to apply a attribute to the inner most child to help
|
33
|
+
// ProseMirror identify its boundaries better.
|
34
|
+
var contentAttrs = {
|
35
|
+
'data-layout-content': 'true'
|
36
|
+
};
|
37
|
+
return ['div', attrs, ['div', contentAttrs, 0]];
|
38
|
+
}
|
39
|
+
});
|
40
|
+
export var layoutColumnWithLocalId = layoutColumnFactory({
|
41
|
+
parseDOM: [{
|
42
|
+
context: 'layoutColumn//',
|
43
|
+
tag: 'div[data-layout-column]',
|
44
|
+
skip: true
|
45
|
+
}, {
|
46
|
+
tag: 'div[data-layout-column]',
|
47
|
+
getAttrs: function getAttrs(domNode) {
|
48
|
+
var dom = domNode;
|
49
|
+
return {
|
50
|
+
width: Number(dom.getAttribute('data-column-width')) || undefined,
|
51
|
+
localId: uuid.generate()
|
52
|
+
};
|
53
|
+
}
|
54
|
+
}],
|
55
|
+
toDOM: function toDOM(node) {
|
56
|
+
var _node$attrs;
|
57
|
+
var attrs = {
|
58
|
+
'data-layout-column': 'true',
|
59
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
60
|
+
};
|
61
|
+
var width = node.attrs.width;
|
62
|
+
if (width) {
|
63
|
+
attrs['style'] = "flex-basis: ".concat(width, "%");
|
64
|
+
attrs['data-column-width'] = "".concat(width);
|
65
|
+
}
|
66
|
+
|
31
67
|
// We need to apply a attribute to the inner most child to help
|
32
68
|
// ProseMirror identify its boundaries better.
|
33
69
|
var contentAttrs = {
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { layoutSection as layoutSectionFactory, layoutSectionWithSingleColumnStage0 as layoutSectionWithSingleColumnStage0Factory } from '../../next-schema/generated/nodeTypes';
|
2
2
|
import { layoutSectionFull as layoutSectionFullFactory } from '../../next-schema/generated/nodeTypes';
|
3
|
+
import { uuid } from '../../utils/uuid';
|
3
4
|
|
4
5
|
/**
|
5
6
|
* @name layoutSection_node
|
@@ -72,4 +73,33 @@ export var layoutSectionWithSingleColumn = layoutSectionWithSingleColumnStage0Fa
|
|
72
73
|
};
|
73
74
|
return ['div', attrs, 0];
|
74
75
|
}
|
76
|
+
});
|
77
|
+
export var layoutSectionWithSingleColumnLocalId = layoutSectionWithSingleColumnStage0Factory({
|
78
|
+
parseDOM: [{
|
79
|
+
context: 'layoutSection//|layoutColumn//',
|
80
|
+
tag: 'div[data-layout-section]',
|
81
|
+
skip: true
|
82
|
+
}, {
|
83
|
+
tag: 'div[data-layout-section]',
|
84
|
+
getAttrs: function getAttrs(dom) {
|
85
|
+
var columnRuleStyle = dom.getAttribute('data-column-rule-style');
|
86
|
+
var localId = uuid.generate();
|
87
|
+
return columnRuleStyle ? {
|
88
|
+
columnRuleStyle: columnRuleStyle,
|
89
|
+
localId: localId
|
90
|
+
} : {
|
91
|
+
localId: localId
|
92
|
+
};
|
93
|
+
}
|
94
|
+
}],
|
95
|
+
toDOM: function toDOM(node) {
|
96
|
+
var _node$attrs;
|
97
|
+
var columnRuleStyle = node.attrs.columnRuleStyle;
|
98
|
+
var attrs = {
|
99
|
+
'data-layout-section': 'true',
|
100
|
+
'data-column-rule-style': columnRuleStyle || undefined,
|
101
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
102
|
+
};
|
103
|
+
return ['div', attrs, 0];
|
104
|
+
}
|
75
105
|
});
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { uuid } from '../../utils';
|
1
2
|
import { listItem as listItemFactory, listItemWithNestedDecisionStage0 as listItemWithNestedDecisionStage0Factory } from '../../next-schema/generated/nodeTypes';
|
2
3
|
|
3
4
|
/**
|
@@ -12,6 +13,22 @@ export var listItem = listItemFactory({
|
|
12
13
|
return ['li', 0];
|
13
14
|
}
|
14
15
|
});
|
16
|
+
export var listItemWithLocalId = listItemFactory({
|
17
|
+
parseDOM: [{
|
18
|
+
tag: 'li',
|
19
|
+
getAttrs: function getAttrs() {
|
20
|
+
return {
|
21
|
+
localId: uuid.generate()
|
22
|
+
};
|
23
|
+
}
|
24
|
+
}],
|
25
|
+
toDOM: function toDOM(node) {
|
26
|
+
var _node$attrs;
|
27
|
+
return ['li', {
|
28
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
29
|
+
}, 0];
|
30
|
+
}
|
31
|
+
});
|
15
32
|
|
16
33
|
/**
|
17
34
|
* @name list_item_with_decision_stage0
|
@@ -24,4 +41,20 @@ export var listItemWithDecisionStage0 = listItemWithNestedDecisionStage0Factory(
|
|
24
41
|
toDOM: function toDOM() {
|
25
42
|
return ['li', 0];
|
26
43
|
}
|
44
|
+
});
|
45
|
+
export var listItemWithNestedDecisionAndLocalIdStage0 = listItemWithNestedDecisionStage0Factory({
|
46
|
+
parseDOM: [{
|
47
|
+
tag: 'li',
|
48
|
+
getAttrs: function getAttrs() {
|
49
|
+
return {
|
50
|
+
localId: uuid.generate()
|
51
|
+
};
|
52
|
+
}
|
53
|
+
}],
|
54
|
+
toDOM: function toDOM(node) {
|
55
|
+
var _node$attrs2;
|
56
|
+
return ['li', {
|
57
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.localId) || undefined
|
58
|
+
}, 0];
|
59
|
+
}
|
27
60
|
});
|
@@ -1,8 +1,17 @@
|
|
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; }
|
1
4
|
import { createMediaSpec } from './media';
|
5
|
+
import { uuid } from '../../utils/uuid';
|
2
6
|
import { mediaInline as mediaInlineFactory } from '../../next-schema/generated/nodeTypes';
|
3
7
|
|
4
8
|
/**
|
5
9
|
* @name mediaInline_node
|
6
10
|
*/
|
7
11
|
|
8
|
-
export var mediaInline = createMediaSpec(mediaInlineFactory({}).attrs, true);
|
12
|
+
export var mediaInline = createMediaSpec(mediaInlineFactory({}).attrs, true);
|
13
|
+
export var mediaInlineWithLocalId = createMediaSpec(_objectSpread(_objectSpread({}, mediaInlineFactory({}).attrs), {}, {
|
14
|
+
localId: {
|
15
|
+
default: uuid.generate()
|
16
|
+
}
|
17
|
+
}), true, true);
|
@@ -4,6 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
4
4
|
import { WidthType } from './types/rich-media-common';
|
5
5
|
import { isDOMElement } from '../../utils/parseDOM';
|
6
6
|
import { mediaSingle as mediaSingleFactory, mediaSingleCaption as mediaSingleCaptionFactory, mediaSingleFull as mediaSingleFullFactory, mediaSingleWidthType as mediaSingleWidthTypeFactory } from '../../next-schema/generated/nodeTypes';
|
7
|
+
import { uuid } from '../../utils/uuid';
|
7
8
|
|
8
9
|
/**
|
9
10
|
* @name mediaSingle_node
|
@@ -39,7 +40,9 @@ export var mediaSingleSpec = function mediaSingleSpec(_ref) {
|
|
39
40
|
var _ref$withCaption = _ref.withCaption,
|
40
41
|
withCaption = _ref$withCaption === void 0 ? false : _ref$withCaption,
|
41
42
|
_ref$withExtendedWidt = _ref.withExtendedWidthTypes,
|
42
|
-
withExtendedWidthTypes = _ref$withExtendedWidt === void 0 ? false : _ref$withExtendedWidt
|
43
|
+
withExtendedWidthTypes = _ref$withExtendedWidt === void 0 ? false : _ref$withExtendedWidt,
|
44
|
+
_ref$generateLocalId = _ref.generateLocalId,
|
45
|
+
generateLocalId = _ref$generateLocalId === void 0 ? false : _ref$generateLocalId;
|
43
46
|
var getAttrs = function getAttrs(dom) {
|
44
47
|
if (!isDOMElement(dom)) {
|
45
48
|
// this should never happen
|
@@ -50,6 +53,14 @@ export var mediaSingleSpec = function mediaSingleSpec(_ref) {
|
|
50
53
|
var layout = dom.getAttribute('data-layout') || 'center';
|
51
54
|
var width = Number(dom.getAttribute('data-width')) || null;
|
52
55
|
var widthType = dom.getAttribute('data-width-type');
|
56
|
+
if (generateLocalId) {
|
57
|
+
return {
|
58
|
+
layout: layout,
|
59
|
+
width: width,
|
60
|
+
widthType: widthType,
|
61
|
+
localId: uuid.generate()
|
62
|
+
};
|
63
|
+
}
|
53
64
|
if (withExtendedWidthTypes) {
|
54
65
|
return {
|
55
66
|
layout: layout,
|
@@ -78,6 +89,10 @@ export var mediaSingleSpec = function mediaSingleSpec(_ref) {
|
|
78
89
|
'data-layout': layout,
|
79
90
|
'data-width': ''
|
80
91
|
};
|
92
|
+
if (generateLocalId) {
|
93
|
+
var _node$attrs2;
|
94
|
+
attrs['data-local-id'] = (node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.localId) || undefined;
|
95
|
+
}
|
81
96
|
if (width) {
|
82
97
|
attrs['data-width'] = isFinite(width) && Math.floor(width) === width ? width : width.toFixed(2);
|
83
98
|
}
|
@@ -148,6 +163,11 @@ export var mediaSingleFull = mediaSingleSpec({
|
|
148
163
|
withCaption: true,
|
149
164
|
withExtendedWidthTypes: true
|
150
165
|
});
|
166
|
+
export var mediaSingleFullWithLocalId = mediaSingleSpec({
|
167
|
+
withCaption: true,
|
168
|
+
withExtendedWidthTypes: true,
|
169
|
+
generateLocalId: true
|
170
|
+
});
|
151
171
|
export var toJSON = function toJSON(node) {
|
152
172
|
return {
|
153
173
|
attrs: Object.keys(node.attrs).reduce(function (obj, key) {
|
@@ -1,6 +1,10 @@
|
|
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; }
|
1
4
|
import { N30 } from '../../utils/colors';
|
2
5
|
import { media as mediaFactory } from '../../next-schema/generated/nodeTypes';
|
3
6
|
import { mediaInline as mediaInlineFactory } from '../../next-schema/generated/nodeTypes';
|
7
|
+
import { uuid } from '../../utils/uuid';
|
4
8
|
|
5
9
|
/**
|
6
10
|
* @name media_node
|
@@ -9,6 +13,7 @@ import { mediaInline as mediaInlineFactory } from '../../next-schema/generated/n
|
|
9
13
|
export var defaultAttrs = mediaFactory({}).attrs;
|
10
14
|
export var createMediaSpec = function createMediaSpec(attributes) {
|
11
15
|
var inline = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
16
|
+
var generateLocalId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
12
17
|
var domNodeType = inline ? 'span' : 'div';
|
13
18
|
var nodeName = inline ? 'mediaInline' : 'media';
|
14
19
|
var parseDOM = [{
|
@@ -46,6 +51,7 @@ export var createMediaSpec = function createMediaSpec(attributes) {
|
|
46
51
|
ignore: true
|
47
52
|
}];
|
48
53
|
var toDOM = function toDOM(node) {
|
54
|
+
var _node$attrs;
|
49
55
|
var attrs = {
|
50
56
|
'data-id': node.attrs.id,
|
51
57
|
'data-node-type': "".concat(nodeName),
|
@@ -62,7 +68,8 @@ export var createMediaSpec = function createMediaSpec(attributes) {
|
|
62
68
|
title: 'Attachment',
|
63
69
|
// Manually kept in sync with the style of media cards. The goal is to render a plain gray
|
64
70
|
// rectangle that provides an affordance for media.
|
65
|
-
style: "display: inline-block; border-radius: 3px; background: ".concat(N30, "; box-shadow: 0 1px 1px rgba(9, 30, 66, 0.2), 0 0 1px 0 rgba(9, 30, 66, 0.24);")
|
71
|
+
style: "display: inline-block; border-radius: 3px; background: ".concat(N30, "; box-shadow: 0 1px 1px rgba(9, 30, 66, 0.2), 0 0 1px 0 rgba(9, 30, 66, 0.24);"),
|
72
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
66
73
|
};
|
67
74
|
copyPrivateAttributes(node.attrs, attrs, function (key) {
|
68
75
|
return "data-".concat(camelCaseToKebabCase(key.slice(2)));
|
@@ -82,17 +89,26 @@ export var createMediaSpec = function createMediaSpec(attributes) {
|
|
82
89
|
// https://product-fabric.atlassian.net/browse/EDM-2996
|
83
90
|
tag: 'img:not(.smart-link-icon)',
|
84
91
|
getAttrs: function getAttrs(dom) {
|
85
|
-
|
92
|
+
var attrs = {
|
86
93
|
type: 'external',
|
87
94
|
url: dom.getAttribute('src') || '',
|
88
95
|
alt: dom.getAttribute('alt') || ''
|
89
96
|
};
|
97
|
+
if (generateLocalId) {
|
98
|
+
attrs.localId = uuid.generate();
|
99
|
+
}
|
100
|
+
return attrs;
|
90
101
|
}
|
91
102
|
}]),
|
92
103
|
toDOM: toDOM
|
93
104
|
});
|
94
105
|
};
|
95
|
-
export var media = createMediaSpec(defaultAttrs, false);
|
106
|
+
export var media = createMediaSpec(defaultAttrs, false, false);
|
107
|
+
export var mediaWithLocalId = createMediaSpec(_objectSpread(_objectSpread({}, defaultAttrs), {}, {
|
108
|
+
localId: {
|
109
|
+
default: uuid.generate()
|
110
|
+
}
|
111
|
+
}), false, true);
|
96
112
|
export var camelCaseToKebabCase = function camelCaseToKebabCase(str) {
|
97
113
|
return str.replace(/([^A-Z]+)([A-Z])/g, function (_, x, y) {
|
98
114
|
return "".concat(x, "-").concat(y.toLowerCase());
|
@@ -1,4 +1,9 @@
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
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; }
|
1
5
|
import { nestedExpand as nestedExpandFactory } from '../../next-schema/generated/nodeTypes';
|
6
|
+
import { uuid } from '../../utils/uuid';
|
2
7
|
|
3
8
|
/**
|
4
9
|
* @name nestedExpand_content
|
@@ -14,18 +19,21 @@ import { nestedExpand as nestedExpandFactory } from '../../next-schema/generated
|
|
14
19
|
* @name nestedExpand_with_no_marks_node
|
15
20
|
*/
|
16
21
|
|
17
|
-
function getExpandAttrs(domNode) {
|
22
|
+
function getExpandAttrs(domNode, generateLocalId) {
|
18
23
|
var dom = domNode;
|
19
24
|
return {
|
20
25
|
title: dom.getAttribute('data-title'),
|
21
|
-
__expanded: true
|
26
|
+
__expanded: true,
|
27
|
+
localId: generateLocalId ? uuid.generate() : undefined
|
22
28
|
};
|
23
29
|
}
|
24
30
|
var nestedExpandFactoryOptions = {
|
25
31
|
parseDOM: [{
|
26
32
|
context: 'nestedExpand//',
|
27
33
|
tag: '[data-node-type="nestedExpand"]',
|
28
|
-
getAttrs:
|
34
|
+
getAttrs: function getAttrs(domNode) {
|
35
|
+
return getExpandAttrs(domNode, false);
|
36
|
+
}
|
29
37
|
}, {
|
30
38
|
tag: '[data-node-type="nestedExpand"] button',
|
31
39
|
ignore: true
|
@@ -34,13 +42,17 @@ var nestedExpandFactoryOptions = {
|
|
34
42
|
ignore: true
|
35
43
|
}, {
|
36
44
|
tag: 'div[data-node-type="nestedExpand"]',
|
37
|
-
getAttrs:
|
45
|
+
getAttrs: function getAttrs(domNode) {
|
46
|
+
return getExpandAttrs(domNode, false);
|
47
|
+
}
|
38
48
|
}],
|
39
49
|
toDOM: function toDOM(node) {
|
50
|
+
var _node$attrs;
|
40
51
|
var attrs = {
|
41
52
|
'data-node-type': 'nestedExpand',
|
42
53
|
'data-title': node.attrs.title,
|
43
|
-
'data-expanded': node.attrs.__expanded
|
54
|
+
'data-expanded': node.attrs.__expanded,
|
55
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
44
56
|
};
|
45
57
|
return ['div', attrs, 0];
|
46
58
|
}
|
@@ -50,4 +62,18 @@ var nestedExpandFactoryOptions = {
|
|
50
62
|
* @name nestedExpand
|
51
63
|
* @description an expand that can be nested (eg. inside table, layout).
|
52
64
|
*/
|
53
|
-
export var nestedExpand = nestedExpandFactory(nestedExpandFactoryOptions);
|
65
|
+
export var nestedExpand = nestedExpandFactory(nestedExpandFactoryOptions);
|
66
|
+
export var nestedExpandWithLocalId = nestedExpandFactory(_objectSpread(_objectSpread({}, nestedExpandFactoryOptions), {}, {
|
67
|
+
parseDOM: [].concat(_toConsumableArray(nestedExpandFactoryOptions.parseDOM), [{
|
68
|
+
context: 'nestedExpand//',
|
69
|
+
tag: '[data-node-type="nestedExpand"]',
|
70
|
+
getAttrs: function getAttrs(domNode) {
|
71
|
+
return getExpandAttrs(domNode, true);
|
72
|
+
}
|
73
|
+
}, {
|
74
|
+
tag: '[data-node-type="nestedExpand"]',
|
75
|
+
getAttrs: function getAttrs(domNode) {
|
76
|
+
return getExpandAttrs(domNode, true);
|
77
|
+
}
|
78
|
+
}])
|
79
|
+
}));
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { uuid } from '../../utils';
|
1
2
|
import { orderedList as orderedListFactory } from '../../next-schema/generated/nodeTypes';
|
2
3
|
export var orderedListSelector = '.ak-ol';
|
3
4
|
export var orderedList = orderedListFactory({
|
@@ -11,6 +12,24 @@ export var orderedList = orderedListFactory({
|
|
11
12
|
return ['ol', attrs, 0];
|
12
13
|
}
|
13
14
|
});
|
15
|
+
export var orderedListWithLocalId = orderedListFactory({
|
16
|
+
parseDOM: [{
|
17
|
+
tag: 'ol',
|
18
|
+
getAttrs: function getAttrs() {
|
19
|
+
return {
|
20
|
+
localId: uuid.generate()
|
21
|
+
};
|
22
|
+
}
|
23
|
+
}],
|
24
|
+
toDOM: function toDOM(node) {
|
25
|
+
var _node$attrs;
|
26
|
+
var attrs = {
|
27
|
+
class: orderedListSelector.substr(1),
|
28
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
29
|
+
};
|
30
|
+
return ['ol', attrs, 0];
|
31
|
+
}
|
32
|
+
});
|
14
33
|
|
15
34
|
// resolve "start" to a safe, 0+ integer, otherwise return undefined
|
16
35
|
// Note: Any changes to this function should also be made to "resolveOrder"
|
@@ -43,12 +62,44 @@ export var orderedListWithOrder = orderedListFactory({
|
|
43
62
|
}
|
44
63
|
}],
|
45
64
|
toDOM: function toDOM(node) {
|
46
|
-
var _node$
|
47
|
-
var start = resolveStart(node === null || node === void 0 ? void 0 : (_node$
|
65
|
+
var _node$attrs2;
|
66
|
+
var start = resolveStart(node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.order);
|
48
67
|
var attrs = {
|
49
68
|
start: typeof start === 'number' ? String(start) : undefined,
|
50
69
|
class: orderedListSelector.substr(1)
|
51
70
|
};
|
52
71
|
return ['ol', attrs, 0];
|
53
72
|
}
|
73
|
+
});
|
74
|
+
export var orderedListWithOrderAndLocalId = orderedListFactory({
|
75
|
+
parseDOM: [{
|
76
|
+
tag: 'ol',
|
77
|
+
getAttrs: function getAttrs(domNode) {
|
78
|
+
var dom = domNode;
|
79
|
+
var startDOMAttr = dom.getAttribute('start');
|
80
|
+
var localId = uuid.generate();
|
81
|
+
if (startDOMAttr) {
|
82
|
+
var start = resolveStart(startDOMAttr);
|
83
|
+
if (typeof start === 'number') {
|
84
|
+
return {
|
85
|
+
order: start,
|
86
|
+
localId: localId
|
87
|
+
};
|
88
|
+
}
|
89
|
+
}
|
90
|
+
return {
|
91
|
+
localId: localId
|
92
|
+
};
|
93
|
+
}
|
94
|
+
}],
|
95
|
+
toDOM: function toDOM(node) {
|
96
|
+
var _node$attrs3, _node$attrs4;
|
97
|
+
var start = resolveStart(node === null || node === void 0 ? void 0 : (_node$attrs3 = node.attrs) === null || _node$attrs3 === void 0 ? void 0 : _node$attrs3.order);
|
98
|
+
var attrs = {
|
99
|
+
start: typeof start === 'number' ? String(start) : undefined,
|
100
|
+
class: orderedListSelector.substr(1),
|
101
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs4 = node.attrs) === null || _node$attrs4 === void 0 ? void 0 : _node$attrs4.localId) || undefined
|
102
|
+
};
|
103
|
+
return ['ol', attrs, 0];
|
104
|
+
}
|
54
105
|
});
|
@@ -2,6 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
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
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
4
|
import { panel as panelFactory } from '../../next-schema/generated/nodeTypes';
|
5
|
+
import { uuid } from '../../utils/uuid';
|
5
6
|
export var PanelType = /*#__PURE__*/function (PanelType) {
|
6
7
|
PanelType["INFO"] = "info";
|
7
8
|
PanelType["NOTE"] = "note";
|
@@ -23,14 +24,18 @@ var getDomAttrs = function getDomAttrs(nodeAttrs) {
|
|
23
24
|
'data-panel-icon': nodeAttrs.panelIcon,
|
24
25
|
'data-panel-icon-id': nodeAttrs.panelIconId,
|
25
26
|
'data-panel-icon-text': nodeAttrs.panelIconText,
|
26
|
-
'data-panel-color': nodeAttrs.panelColor
|
27
|
+
'data-panel-color': nodeAttrs.panelColor,
|
28
|
+
'data-local-id': (nodeAttrs === null || nodeAttrs === void 0 ? void 0 : nodeAttrs.localId) || undefined
|
27
29
|
};
|
28
30
|
return attrs;
|
29
31
|
};
|
30
|
-
var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom) {
|
32
|
+
var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom, generateLocalId) {
|
31
33
|
var parseDOMAttrs = {
|
32
34
|
panelType: dom.getAttribute('data-panel-type')
|
33
35
|
};
|
36
|
+
if (generateLocalId) {
|
37
|
+
parseDOMAttrs.localId = uuid.generate();
|
38
|
+
}
|
34
39
|
if (allowCustomPanel) {
|
35
40
|
parseDOMAttrs = _objectSpread(_objectSpread({}, parseDOMAttrs), {}, {
|
36
41
|
panelIcon: dom.getAttribute('data-panel-icon'),
|
@@ -43,12 +48,12 @@ var getParseDOMAttrs = function getParseDOMAttrs(allowCustomPanel, dom) {
|
|
43
48
|
}
|
44
49
|
return parseDOMAttrs;
|
45
50
|
};
|
46
|
-
var createPanelNodeSpecOptions = function createPanelNodeSpecOptions(allowCustomPanel) {
|
51
|
+
var createPanelNodeSpecOptions = function createPanelNodeSpecOptions(allowCustomPanel, generateLocalId) {
|
47
52
|
return {
|
48
53
|
parseDOM: [{
|
49
54
|
tag: 'div[data-panel-type]',
|
50
55
|
getAttrs: function getAttrs(dom) {
|
51
|
-
return getParseDOMAttrs(allowCustomPanel, dom);
|
56
|
+
return getParseDOMAttrs(allowCustomPanel, dom, generateLocalId);
|
52
57
|
}
|
53
58
|
}],
|
54
59
|
toDOM: function toDOM(node) {
|
@@ -69,4 +74,7 @@ var createPanelNodeSpecOptions = function createPanelNodeSpecOptions(allowCustom
|
|
69
74
|
*/
|
70
75
|
export var extendedPanel = function extendedPanel(allowCustomPanel) {
|
71
76
|
return panelFactory(createPanelNodeSpecOptions(allowCustomPanel));
|
77
|
+
};
|
78
|
+
export var extendedPanelWithLocalId = function extendedPanelWithLocalId(allowCustomPanel) {
|
79
|
+
return panelFactory(createPanelNodeSpecOptions(allowCustomPanel, true));
|
72
80
|
};
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { placeholder as placeholderFactory } from '../../next-schema/generated/nodeTypes';
|
2
|
+
import { uuid } from '../../utils/uuid';
|
2
3
|
|
3
4
|
/**
|
4
5
|
* @name placeholder_node
|
@@ -22,4 +23,26 @@ export var placeholder = placeholderFactory({
|
|
22
23
|
};
|
23
24
|
return ['span', attrs, text];
|
24
25
|
}
|
26
|
+
});
|
27
|
+
export var placeholderWithLocalId = placeholderFactory({
|
28
|
+
parseDOM: [{
|
29
|
+
tag: 'span[data-placeholder]',
|
30
|
+
getAttrs: function getAttrs(dom) {
|
31
|
+
return {
|
32
|
+
text: dom.getAttribute('data-placeholder') || placeholder.attrs.text.default,
|
33
|
+
localId: uuid.generate()
|
34
|
+
};
|
35
|
+
}
|
36
|
+
}],
|
37
|
+
toDOM: function toDOM(node) {
|
38
|
+
var _node$attrs;
|
39
|
+
var text = node.attrs.text;
|
40
|
+
var attrs = {
|
41
|
+
'data-placeholder': text,
|
42
|
+
// Needs to be edtiable for mobile to not close keyboard
|
43
|
+
contenteditable: 'true',
|
44
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
45
|
+
};
|
46
|
+
return ['span', attrs, text];
|
47
|
+
}
|
25
48
|
});
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { rule as ruleFactory } from '../../next-schema/generated/nodeTypes';
|
2
|
+
import { uuid } from '../../utils/uuid';
|
2
3
|
|
3
4
|
/**
|
4
5
|
* @name rule_node
|
@@ -12,4 +13,20 @@ export var rule = ruleFactory({
|
|
12
13
|
toDOM: function toDOM() {
|
13
14
|
return hrDOM;
|
14
15
|
}
|
16
|
+
});
|
17
|
+
export var ruleWithLocalId = ruleFactory({
|
18
|
+
parseDOM: [{
|
19
|
+
tag: 'hr',
|
20
|
+
getAttrs: function getAttrs() {
|
21
|
+
return {
|
22
|
+
localId: uuid.generate()
|
23
|
+
};
|
24
|
+
}
|
25
|
+
}],
|
26
|
+
toDOM: function toDOM(node) {
|
27
|
+
var _node$attrs;
|
28
|
+
return ['hr', {
|
29
|
+
'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined
|
30
|
+
}];
|
31
|
+
}
|
15
32
|
});
|