@atlaskit/adf-schema 19.2.4 → 20.0.1
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 +46 -0
- package/dist/cjs/index.js +24 -6
- package/dist/cjs/schema/create-schema.js +10 -3
- package/dist/cjs/schema/default-schema.js +7 -13
- package/dist/cjs/schema/index.js +12 -6
- package/dist/cjs/schema/jira-schema.js +1 -1
- package/dist/cjs/schema/marks/fragment.js +77 -0
- package/dist/cjs/schema/marks/index.js +15 -1
- package/dist/cjs/schema/marks/unsupported-mark.js +1 -0
- package/dist/cjs/schema/nodes/bodied-extension.js +1 -1
- package/dist/cjs/schema/nodes/caption.js +0 -1
- package/dist/cjs/schema/nodes/doc.js +1 -1
- package/dist/cjs/schema/nodes/emoji.js +4 -0
- package/dist/cjs/schema/nodes/expand.js +1 -1
- package/dist/cjs/schema/nodes/index.js +0 -6
- package/dist/cjs/schema/nodes/layout-column.js +1 -1
- package/dist/cjs/schema/nodes/media-single.js +1 -1
- package/dist/cjs/schema/nodes/panel.js +58 -53
- package/dist/cjs/schema/nodes/paragraph.js +2 -2
- package/dist/cjs/schema/nodes/tableNodes.js +3 -3
- package/dist/cjs/utils/index.js +12 -0
- package/dist/cjs/utils/url.js +62 -4
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/index.js +2 -2
- package/dist/es2019/schema/create-schema.js +10 -5
- package/dist/es2019/schema/default-schema.js +6 -10
- package/dist/es2019/schema/index.js +2 -2
- package/dist/es2019/schema/jira-schema.js +1 -1
- package/dist/es2019/schema/marks/fragment.js +59 -0
- package/dist/es2019/schema/marks/index.js +2 -1
- package/dist/es2019/schema/marks/unsupported-mark.js +1 -0
- package/dist/es2019/schema/nodes/bodied-extension.js +1 -1
- package/dist/es2019/schema/nodes/caption.js +0 -1
- package/dist/es2019/schema/nodes/doc.js +1 -1
- package/dist/es2019/schema/nodes/emoji.js +4 -0
- package/dist/es2019/schema/nodes/expand.js +1 -1
- package/dist/es2019/schema/nodes/index.js +1 -1
- package/dist/es2019/schema/nodes/layout-column.js +1 -1
- package/dist/es2019/schema/nodes/media-single.js +1 -1
- package/dist/es2019/schema/nodes/panel.js +42 -49
- package/dist/es2019/schema/nodes/paragraph.js +2 -2
- package/dist/es2019/schema/nodes/tableNodes.js +3 -3
- package/dist/es2019/utils/index.js +1 -1
- package/dist/es2019/utils/url.js +57 -4
- package/dist/es2019/version.json +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/schema/create-schema.js +10 -5
- package/dist/esm/schema/default-schema.js +6 -10
- package/dist/esm/schema/index.js +2 -2
- package/dist/esm/schema/jira-schema.js +1 -1
- package/dist/esm/schema/marks/fragment.js +64 -0
- package/dist/esm/schema/marks/index.js +2 -1
- package/dist/esm/schema/marks/unsupported-mark.js +1 -0
- package/dist/esm/schema/nodes/bodied-extension.js +1 -1
- package/dist/esm/schema/nodes/caption.js +0 -1
- package/dist/esm/schema/nodes/doc.js +1 -1
- package/dist/esm/schema/nodes/emoji.js +4 -0
- package/dist/esm/schema/nodes/expand.js +1 -1
- package/dist/esm/schema/nodes/index.js +1 -1
- package/dist/esm/schema/nodes/layout-column.js +1 -1
- package/dist/esm/schema/nodes/media-single.js +1 -1
- package/dist/esm/schema/nodes/panel.js +53 -51
- package/dist/esm/schema/nodes/paragraph.js +2 -2
- package/dist/esm/schema/nodes/tableNodes.js +3 -3
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/url.js +57 -4
- package/dist/esm/version.json +1 -1
- package/dist/json-schema/v1/full.json +108 -73
- package/dist/json-schema/v1/stage-0.json +63 -26
- package/dist/types/index.d.ts +3 -3
- package/dist/types/schema/create-schema.d.ts +1 -0
- package/dist/types/schema/index.d.ts +3 -3
- package/dist/types/schema/marks/fragment.d.ts +30 -0
- package/dist/types/schema/marks/index.d.ts +2 -0
- package/dist/types/schema/marks/link.d.ts +3 -0
- package/dist/types/schema/nodes/block-card.d.ts +3 -0
- package/dist/types/schema/nodes/bodied-extension.d.ts +7 -5
- package/dist/types/schema/nodes/caption.d.ts +0 -1
- package/dist/types/schema/nodes/embed-card.d.ts +3 -0
- package/dist/types/schema/nodes/extension.d.ts +7 -5
- package/dist/types/schema/nodes/index.d.ts +1 -1
- package/dist/types/schema/nodes/inline-card.d.ts +0 -9
- package/dist/types/schema/nodes/inline-extension.d.ts +7 -5
- package/dist/types/schema/nodes/media-single.d.ts +0 -1
- package/dist/types/schema/nodes/panel.d.ts +1 -11
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/url.d.ts +7 -2
- package/json-schema/v1/full.json +108 -73
- package/json-schema/v1/stage-0.json +63 -26
- package/package.json +11 -8
- package/test-helpers/schema.ts +1 -0
package/dist/cjs/utils/url.js
CHANGED
@@ -7,24 +7,82 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
});
|
8
8
|
exports.getLinkMatch = getLinkMatch;
|
9
9
|
exports.normalizeUrl = normalizeUrl;
|
10
|
-
exports.isSafeUrl = void 0;
|
10
|
+
exports.linkifyMatch = exports.LINK_REGEXP = exports.linkify = exports.isSafeUrl = void 0;
|
11
11
|
|
12
12
|
var _linkifyIt = _interopRequireDefault(require("linkify-it"));
|
13
13
|
|
14
14
|
var whitelistedURLPatterns = [/^https?:\/\//im, /^ftps?:\/\//im, /^\//im, /^mailto:/im, /^skype:/im, /^callto:/im, /^facetime:/im, /^git:/im, /^irc6?:/im, /^news:/im, /^nntp:/im, /^feed:/im, /^cvs:/im, /^svn:/im, /^mvn:/im, /^ssh:/im, /^scp:\/\//im, /^sftp:\/\//im, /^itms:/im, /^notes:/im, /^hipchat:\/\//im, /^sourcetree:/im, /^urn:/im, /^tel:/im, /^xmpp:/im, /^telnet:/im, /^vnc:/im, /^rdp:/im, /^whatsapp:/im, /^slack:/im, /^sips?:/im, /^magnet:/im, /^#/im];
|
15
15
|
|
16
16
|
var isSafeUrl = function isSafeUrl(url) {
|
17
|
+
var urlTrimmed = url.trim();
|
18
|
+
|
19
|
+
if (urlTrimmed.length === 0) {
|
20
|
+
return true;
|
21
|
+
}
|
22
|
+
|
17
23
|
return whitelistedURLPatterns.some(function (p) {
|
18
|
-
return p.test(
|
24
|
+
return p.test(urlTrimmed);
|
19
25
|
});
|
20
26
|
};
|
21
27
|
|
22
28
|
exports.isSafeUrl = isSafeUrl;
|
23
29
|
var linkify = (0, _linkifyIt.default)();
|
30
|
+
exports.linkify = linkify;
|
24
31
|
linkify.add('sourcetree:', 'http:');
|
32
|
+
var tlds = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');
|
33
|
+
var tlds2Char = 'a[cdefgilmnoqrtuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrtuvwxyz]|n[acefgilopruz]|om|p[aefghkmnrtw]|qa|r[eosuw]|s[abcdegijklmnrtuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';
|
34
|
+
tlds.push(tlds2Char);
|
35
|
+
linkify.tlds(tlds, false);
|
36
|
+
var LINK_REGEXP = /(https?|ftp):\/\/[^\s]+/;
|
37
|
+
exports.LINK_REGEXP = LINK_REGEXP;
|
38
|
+
|
39
|
+
var linkifyMatch = function linkifyMatch(text) {
|
40
|
+
var matches = [];
|
41
|
+
|
42
|
+
if (!LINK_REGEXP.test(text)) {
|
43
|
+
return matches;
|
44
|
+
}
|
45
|
+
|
46
|
+
var startpos = 0;
|
47
|
+
var substr;
|
48
|
+
|
49
|
+
while (substr = text.substr(startpos)) {
|
50
|
+
var link = (substr.match(LINK_REGEXP) || [''])[0];
|
51
|
+
|
52
|
+
if (link) {
|
53
|
+
var index = substr.search(LINK_REGEXP);
|
54
|
+
var start = index >= 0 ? index + startpos : index;
|
55
|
+
var end = start + link.length;
|
56
|
+
matches.push({
|
57
|
+
index: start,
|
58
|
+
lastIndex: end,
|
59
|
+
raw: link,
|
60
|
+
url: link,
|
61
|
+
text: link,
|
62
|
+
schema: ''
|
63
|
+
});
|
64
|
+
startpos += end;
|
65
|
+
} else {
|
66
|
+
break;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
return matches;
|
71
|
+
};
|
72
|
+
|
73
|
+
exports.linkifyMatch = linkifyMatch;
|
25
74
|
|
26
75
|
function getLinkMatch(str) {
|
27
|
-
|
76
|
+
if (!str) {
|
77
|
+
return null;
|
78
|
+
}
|
79
|
+
|
80
|
+
var match = linkifyMatch(str);
|
81
|
+
|
82
|
+
if (!match.length) {
|
83
|
+
match = linkify.match(str);
|
84
|
+
}
|
85
|
+
|
28
86
|
return match && match[0];
|
29
87
|
}
|
30
88
|
/**
|
@@ -34,5 +92,5 @@ function getLinkMatch(str) {
|
|
34
92
|
|
35
93
|
function normalizeUrl(url) {
|
36
94
|
var match = getLinkMatch(url);
|
37
|
-
return match && match.url ||
|
95
|
+
return match && match.url || '';
|
38
96
|
}
|
package/dist/cjs/version.json
CHANGED
package/dist/es2019/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export { AnnotationTypes, PanelType, alignment, alignmentPositionMap, annotation, bitbucketSchema, blockCard, blockquote, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceSchema, confluenceSchemaWithMediaSingle, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createJIRASchema, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, defaultSchema, defaultSchemaConfig, doc, em, embedCard, emoji, expand, expandToJSON, extension, getSchemaBasedOnStage, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, isSchemaWithAdvancedTextFormattingMarks, isSchemaWithBlockQuotes, isSchemaWithCodeBlock, isSchemaWithEmojis, isSchemaWithLinks, isSchemaWithLists, isSchemaWithMedia, isSchemaWithMentions, isSchemaWithSubSupMark, isSchemaWithTables, isSchemaWithTextColor, layoutColumn, layoutSection, link, linkToJSON, listItem, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel,
|
2
|
-
export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, normalizeHexColor, normalizeUrl, rgbToHex, uuid } from './utils';
|
1
|
+
export { AnnotationTypes, PanelType, alignment, alignmentPositionMap, annotation, bitbucketSchema, blockCard, blockquote, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceSchema, confluenceSchemaWithMediaSingle, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createJIRASchema, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, defaultSchema, defaultSchemaConfig, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, getSchemaBasedOnStage, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, isSchemaWithAdvancedTextFormattingMarks, isSchemaWithBlockQuotes, isSchemaWithCodeBlock, isSchemaWithEmojis, isSchemaWithLinks, isSchemaWithLists, isSchemaWithMedia, isSchemaWithMentions, isSchemaWithSubSupMark, isSchemaWithTables, isSchemaWithTextColor, layoutColumn, layoutSection, link, linkToJSON, listItem, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './schema';
|
2
|
+
export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, linkify, linkifyMatch, normalizeHexColor, normalizeUrl, rgbToHex, uuid } from './utils';
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Schema } from 'prosemirror-model';
|
2
2
|
import { COLOR, FONT_STYLE, SEARCH_QUERY, LINK } from './groups';
|
3
|
-
import { link, em, strong, textColor, strike, subsup, underline, code, typeAheadQuery, confluenceInlineComment, breakout, alignment, indentation, annotation, unsupportedMark, unsupportedNodeAttribute, dataConsumer } from './marks';
|
4
|
-
import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedList, listItem, heading, blockquote, codeBlock, panel, rule, image, mention, media, mediaInline, mediaGroup,
|
3
|
+
import { link, em, strong, textColor, strike, subsup, underline, code, typeAheadQuery, confluenceInlineComment, breakout, alignment, indentation, annotation, unsupportedMark, unsupportedNodeAttribute, dataConsumer, fragment } from './marks';
|
4
|
+
import { confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, doc, paragraph, text, bulletList, orderedList, listItem, heading, blockquote, codeBlock, panel, rule, image, mention, media, mediaInline, mediaGroup, mediaSingleWithCaption, hardBreak, emoji, table, tableCell, tableHeader, tableRow, decisionList, decisionItem, taskList, taskItem, unknownBlock, extension, inlineExtension, bodiedExtension, date, placeholder, layoutSection, layoutColumn, inlineCard, blockCard, unsupportedBlock, unsupportedInline, status, expand, nestedExpand, embedCard, caption } from './nodes';
|
5
5
|
|
6
6
|
function addItems(builtInItems, config, customSpecs = {}) {
|
7
7
|
if (!config) {
|
@@ -83,7 +83,7 @@ const nodesInOrder = [{
|
|
83
83
|
spec: codeBlock
|
84
84
|
}, {
|
85
85
|
name: 'panel',
|
86
|
-
spec: panel
|
86
|
+
spec: panel(true)
|
87
87
|
}, {
|
88
88
|
name: 'rule',
|
89
89
|
spec: rule
|
@@ -104,7 +104,7 @@ const nodesInOrder = [{
|
|
104
104
|
spec: mediaGroup
|
105
105
|
}, {
|
106
106
|
name: 'mediaSingle',
|
107
|
-
spec:
|
107
|
+
spec: mediaSingleWithCaption
|
108
108
|
}, {
|
109
109
|
name: 'mediaInline',
|
110
110
|
spec: mediaInline
|
@@ -238,6 +238,9 @@ const marksInOrder = [{
|
|
238
238
|
}, {
|
239
239
|
name: 'dataConsumer',
|
240
240
|
spec: dataConsumer
|
241
|
+
}, {
|
242
|
+
name: 'fragment',
|
243
|
+
spec: fragment
|
241
244
|
}, {
|
242
245
|
name: 'indentation',
|
243
246
|
spec: indentation
|
@@ -322,4 +325,6 @@ function isContentSupported(nodes, contentKey) {
|
|
322
325
|
}
|
323
326
|
|
324
327
|
return false;
|
325
|
-
}
|
328
|
+
}
|
329
|
+
|
330
|
+
export const allowCustomPanel = true;
|
@@ -1,12 +1,10 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { dataConsumer } from './marks/data-consumer';
|
1
|
+
import { layoutSectionWithSingleColumn } from './nodes';
|
2
|
+
import { dataConsumer, fragment } from './marks';
|
4
3
|
import { createSchema } from './create-schema';
|
5
|
-
import { mediaSingleWithCaption } from './nodes';
|
6
4
|
|
7
5
|
const getDefaultSchemaConfig = () => {
|
8
6
|
let defaultSchemaConfig = {
|
9
|
-
nodes: ['doc', 'paragraph', 'text', 'bulletList', 'orderedList', 'listItem', 'heading', 'blockquote', 'codeBlock', 'panel', 'rule', 'image', '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'],
|
7
|
+
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'],
|
10
8
|
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,
|
11
9
|
]
|
12
10
|
};
|
@@ -15,18 +13,16 @@ const getDefaultSchemaConfig = () => {
|
|
15
13
|
|
16
14
|
export const defaultSchemaConfig = getDefaultSchemaConfig();
|
17
15
|
export const getSchemaBasedOnStage = (stage = 'final') => {
|
18
|
-
const defaultSchemaConfig = getDefaultSchemaConfig();
|
16
|
+
const defaultSchemaConfig = getDefaultSchemaConfig();
|
19
17
|
|
20
18
|
if (stage === 'stage0') {
|
21
19
|
defaultSchemaConfig.customNodeSpecs = {
|
22
|
-
panel: customPanel,
|
23
|
-
mediaSingle: mediaSingleWithCaption,
|
24
20
|
layoutSection: layoutSectionWithSingleColumn
|
25
21
|
};
|
26
22
|
defaultSchemaConfig.customMarkSpecs = {
|
27
|
-
dataConsumer: dataConsumer
|
23
|
+
dataConsumer: dataConsumer,
|
24
|
+
fragment
|
28
25
|
};
|
29
|
-
defaultSchemaConfig.nodes.push('caption');
|
30
26
|
defaultSchemaConfig.nodes.push('mediaInline');
|
31
27
|
}
|
32
28
|
|
@@ -1,5 +1,5 @@
|
|
1
|
-
export { PanelType, blockCard, blockquote, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, media, mediaGroup, mediaSingle, mediaInline, mediaSingleWithCaption, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel,
|
2
|
-
export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette, colorPaletteExtended, confluenceInlineComment, dataConsumer, dataConsumerToJSON, em, indentation, link, linkToJSON, strike, strong, subsup, textColor, typeAheadQuery, underline, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './marks';
|
1
|
+
export { PanelType, blockCard, blockquote, bodiedExtension, bulletList, bulletListSelector, caption, codeBlock, codeBlockToJSON, confluenceJiraIssue, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, date, decisionItem, decisionList, decisionListSelector, doc, embedCard, emoji, expand, expandToJSON, extension, hardBreak, heading, image, inlineCard, inlineExtension, layoutColumn, layoutSection, layoutSectionWithSingleColumn, listItem, media, mediaGroup, mediaSingle, mediaInline, mediaSingleWithCaption, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, paragraph, placeholder, rule, getCellAttrs, getCellDomAttrs, status, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, toJSONTableCell, toJSONTableHeader, unknownBlock, unsupportedBlock, unsupportedInline } from './nodes';
|
2
|
+
export { AnnotationTypes, alignment, alignmentPositionMap, annotation, breakout, code, colorPalette, colorPaletteExtended, confluenceInlineComment, dataConsumer, dataConsumerToJSON, em, fragment, fragmentToJSON, indentation, link, linkToJSON, strike, strong, subsup, textColor, typeAheadQuery, underline, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './marks';
|
3
3
|
export { unsupportedNodeTypesForMediaCards } from './unsupported';
|
4
4
|
export { inlineNodes } from './inline-nodes';
|
5
5
|
export { sanitizeNodes, createSchema } from './create-schema';
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import { isDOMElement } from '../../utils/parseDOM';
|
2
|
+
|
3
|
+
const parseFragment = maybeValue => {
|
4
|
+
var _maybeValue$getAttrib;
|
5
|
+
|
6
|
+
if (!isDOMElement(maybeValue)) {
|
7
|
+
return false;
|
8
|
+
}
|
9
|
+
|
10
|
+
const name = (_maybeValue$getAttrib = maybeValue.getAttribute('data-name')) !== null && _maybeValue$getAttrib !== void 0 ? _maybeValue$getAttrib : undefined;
|
11
|
+
const localId = maybeValue.getAttribute('data-localId');
|
12
|
+
|
13
|
+
if (!localId) {
|
14
|
+
return false;
|
15
|
+
}
|
16
|
+
|
17
|
+
return {
|
18
|
+
localId,
|
19
|
+
name
|
20
|
+
};
|
21
|
+
};
|
22
|
+
|
23
|
+
export const fragment = {
|
24
|
+
inclusive: false,
|
25
|
+
excludes: '',
|
26
|
+
attrs: {
|
27
|
+
localId: {
|
28
|
+
default: ''
|
29
|
+
},
|
30
|
+
name: {
|
31
|
+
default: null
|
32
|
+
}
|
33
|
+
},
|
34
|
+
parseDOM: [{
|
35
|
+
tag: '[data-mark-type="fragment"]',
|
36
|
+
getAttrs: maybeValue => parseFragment(maybeValue)
|
37
|
+
}],
|
38
|
+
|
39
|
+
toDOM(mark, inline) {
|
40
|
+
const wrapperStyle = inline ? 'span' : 'div';
|
41
|
+
return [wrapperStyle, {
|
42
|
+
'data-mark-type': 'fragment',
|
43
|
+
'data-name': mark.attrs.name,
|
44
|
+
'data-localId': mark.attrs.localId
|
45
|
+
}];
|
46
|
+
}
|
47
|
+
|
48
|
+
};
|
49
|
+
export const toJSON = mark => {
|
50
|
+
return {
|
51
|
+
type: mark.type.name,
|
52
|
+
attrs: {
|
53
|
+
localId: mark.attrs.localId,
|
54
|
+
...(mark.attrs.name ? {
|
55
|
+
name: mark.attrs.name
|
56
|
+
} : {})
|
57
|
+
}
|
58
|
+
};
|
59
|
+
};
|
@@ -14,4 +14,5 @@ export { indentation } from './indentation';
|
|
14
14
|
export { annotation, AnnotationMarkStates, buildDataAttributes as buildAnnotationMarkDataAttributes, AnnotationTypes } from './annotation';
|
15
15
|
export { unsupportedMark } from './unsupported-mark';
|
16
16
|
export { unsupportedNodeAttribute } from './unsupported-node-attributes';
|
17
|
-
export { dataConsumer, toJSON as dataConsumerToJSON } from './data-consumer';
|
17
|
+
export { dataConsumer, toJSON as dataConsumerToJSON } from './data-consumer';
|
18
|
+
export { fragment, toJSON as fragmentToJSON } from './fragment';
|
@@ -4,7 +4,7 @@ const createBodiedExtensionNodeSpec = () => {
|
|
4
4
|
const nodeSpec = {
|
5
5
|
inline: false,
|
6
6
|
group: 'block',
|
7
|
-
marks: 'link dataConsumer',
|
7
|
+
marks: 'link dataConsumer fragment',
|
8
8
|
content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | extension | unsupportedBlock | embedCard)+',
|
9
9
|
defining: true,
|
10
10
|
selectable: true,
|
@@ -3,5 +3,5 @@
|
|
3
3
|
*/
|
4
4
|
export const doc = {
|
5
5
|
content: '(block|layoutSection)+',
|
6
|
-
marks: 'alignment breakout dataConsumer indentation link unsupportedMark unsupportedNodeAttribute'
|
6
|
+
marks: 'alignment breakout dataConsumer fragment indentation link unsupportedMark unsupportedNodeAttribute'
|
7
7
|
};
|
@@ -28,6 +28,10 @@ export const emoji = {
|
|
28
28
|
text: dom.getAttribute('data-emoji-text') || emoji.attrs.text.default
|
29
29
|
};
|
30
30
|
}
|
31
|
+
}, // Handle copy/paste beautiful panel from renderer />
|
32
|
+
{
|
33
|
+
tag: 'div.ak-editor-panel__icon',
|
34
|
+
ignore: true
|
31
35
|
}, // Handle copy/paste from old <ac:emoticon />
|
32
36
|
{
|
33
37
|
tag: 'img[data-emoticon-name]',
|
@@ -20,7 +20,7 @@ function getExpandAttrs(domNode) {
|
|
20
20
|
export const expand = {
|
21
21
|
inline: false,
|
22
22
|
group: 'block',
|
23
|
-
marks: 'link dataConsumer unsupportedMark unsupportedNodeAttribute',
|
23
|
+
marks: 'link dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
|
24
24
|
content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaGroup | mediaSingle | decisionList | taskList | table | blockCard | embedCard | extension | unsupportedBlock)+',
|
25
25
|
isolating: true,
|
26
26
|
selectable: true,
|
@@ -15,7 +15,7 @@ export { emoji } from './emoji';
|
|
15
15
|
export { image } from './image';
|
16
16
|
export { mention, toJSON as mentionToJSON } from './mention';
|
17
17
|
export { listItem } from './list-item';
|
18
|
-
export { panel,
|
18
|
+
export { panel, PanelType } from './panel';
|
19
19
|
export { text } from './text';
|
20
20
|
export { default as unknownBlock } from './unknown-block';
|
21
21
|
export { caption } from './caption';
|
@@ -4,7 +4,7 @@
|
|
4
4
|
export const layoutColumn = {
|
5
5
|
content: '(block|unsupportedBlock)+',
|
6
6
|
isolating: true,
|
7
|
-
marks: 'link alignment indentation dataConsumer unsupportedMark unsupportedNodeAttribute',
|
7
|
+
marks: 'link alignment indentation dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
|
8
8
|
selectable: false,
|
9
9
|
attrs: {
|
10
10
|
width: {
|
@@ -17,7 +17,6 @@
|
|
17
17
|
|
18
18
|
/**
|
19
19
|
* @name mediaSingle_caption_node
|
20
|
-
* @stage 0
|
21
20
|
*/
|
22
21
|
export const defaultAttrs = {
|
23
22
|
width: {
|
@@ -64,6 +63,7 @@ export const mediaSingle = {
|
|
64
63
|
|
65
64
|
};
|
66
65
|
export const mediaSingleWithCaption = { ...mediaSingle,
|
66
|
+
atom: false,
|
67
67
|
content: 'media|unsupportedBlock+|media (caption|unsupportedBlock) unsupportedBlock*'
|
68
68
|
};
|
69
69
|
export const toJSON = node => ({
|
@@ -10,12 +10,8 @@ export let PanelType;
|
|
10
10
|
PanelType["CUSTOM"] = "custom";
|
11
11
|
})(PanelType || (PanelType = {}));
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
group: 'block',
|
16
|
-
content: '(paragraph | heading | bulletList | orderedList | blockCard | unsupportedBlock)+',
|
17
|
-
marks: 'unsupportedMark unsupportedNodeAttribute',
|
18
|
-
attrs: {
|
13
|
+
const getDefaultAttrs = () => {
|
14
|
+
let attrs = {
|
19
15
|
panelType: {
|
20
16
|
default: 'info'
|
21
17
|
},
|
@@ -25,55 +21,52 @@ export const customPanel = {
|
|
25
21
|
panelColor: {
|
26
22
|
default: null
|
27
23
|
}
|
28
|
-
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
24
|
+
};
|
25
|
+
return attrs;
|
26
|
+
};
|
27
|
+
|
28
|
+
const getDomAttrs = nodeAttrs => {
|
29
|
+
let attrs = {
|
30
|
+
'data-panel-type': nodeAttrs.panelType,
|
31
|
+
'data-panel-icon': nodeAttrs.panelIcon,
|
32
|
+
'data-panel-color': nodeAttrs.panelColor
|
33
|
+
};
|
34
|
+
return attrs;
|
35
|
+
};
|
36
|
+
|
37
|
+
const getParseDOMAttrs = (allowCustomPanel, dom) => {
|
38
|
+
let parseDOMAttrs = {
|
39
|
+
panelType: dom.getAttribute('data-panel-type')
|
40
|
+
};
|
41
|
+
|
42
|
+
if (allowCustomPanel) {
|
43
|
+
parseDOMAttrs = { ...parseDOMAttrs,
|
33
44
|
panelIcon: dom.getAttribute('data-panel-icon'),
|
34
45
|
panelColor: dom.getAttribute('data-panel-color')
|
35
|
-
})
|
36
|
-
}],
|
37
|
-
|
38
|
-
toDOM(node) {
|
39
|
-
const {
|
40
|
-
panelType,
|
41
|
-
panelIcon,
|
42
|
-
panelColor
|
43
|
-
} = node.attrs;
|
44
|
-
const attrs = {
|
45
|
-
'data-panel-type': panelType,
|
46
|
-
'data-panel-icon': panelIcon,
|
47
|
-
'data-panel-color': panelColor
|
48
46
|
};
|
49
|
-
|
47
|
+
} else {
|
48
|
+
parseDOMAttrs.panelType = parseDOMAttrs.panelType === PanelType.CUSTOM ? PanelType.INFO : parseDOMAttrs.panelType;
|
50
49
|
}
|
51
50
|
|
51
|
+
return parseDOMAttrs;
|
52
52
|
};
|
53
|
-
export const panel = {
|
54
|
-
group: 'block',
|
55
|
-
content: '(paragraph | heading | bulletList | orderedList | blockCard | unsupportedBlock)+',
|
56
|
-
marks: 'unsupportedMark unsupportedNodeAttribute',
|
57
|
-
attrs: {
|
58
|
-
panelType: {
|
59
|
-
default: 'info'
|
60
|
-
}
|
61
|
-
},
|
62
|
-
parseDOM: [{
|
63
|
-
tag: 'div[data-panel-type]',
|
64
|
-
getAttrs: dom => ({
|
65
|
-
panelType: dom.getAttribute('data-panel-type')
|
66
|
-
})
|
67
|
-
}],
|
68
53
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
54
|
+
export const panel = allowCustomPanel => {
|
55
|
+
const panelNodeSpec = {
|
56
|
+
group: 'block',
|
57
|
+
content: '(paragraph | heading | bulletList | orderedList | blockCard | unsupportedBlock)+',
|
58
|
+
marks: 'unsupportedMark unsupportedNodeAttribute',
|
59
|
+
attrs: getDefaultAttrs(),
|
60
|
+
parseDOM: [{
|
61
|
+
tag: 'div[data-panel-type]',
|
62
|
+
getAttrs: dom => getParseDOMAttrs(allowCustomPanel, dom)
|
63
|
+
}],
|
64
|
+
|
65
|
+
toDOM(node) {
|
66
|
+
const attrs = getDomAttrs(node.attrs);
|
67
|
+
return ['div', attrs, ['div', {}, 0]];
|
68
|
+
}
|
78
69
|
|
70
|
+
};
|
71
|
+
return panelNodeSpec;
|
79
72
|
};
|
@@ -97,13 +97,13 @@ const isBlockLevelNode = node => {
|
|
97
97
|
|
98
98
|
const NOT_INTERNAL_LINKS = [':not([data-inline-card])', ':not([data-block-card])', ':not([data-block-link])', ':not([data-skip-paste])'].join('');
|
99
99
|
const ANCHOR_LINK = `a[href]${NOT_INTERNAL_LINKS}`;
|
100
|
-
const NOT_INTERNAL_ELEMENTS = [':not(.code-block)', ':not([data-node-type])', ':not([data-embed-card])', ':not([data-layout-section])', ':not([data-pm-slice])', ':not([data-mark-type])'].join('');
|
100
|
+
const 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])'].join('');
|
101
101
|
const pDOM = ['p', 0];
|
102
102
|
export const paragraph = {
|
103
103
|
selectable: false,
|
104
104
|
content: 'inline*',
|
105
105
|
group: 'block',
|
106
|
-
marks: 'strong code em link strike subsup textColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer',
|
106
|
+
marks: 'strong code em link strike subsup textColor typeAheadQuery underline confluenceInlineComment action annotation unsupportedMark unsupportedNodeAttribute dataConsumer fragment',
|
107
107
|
parseDOM: [{
|
108
108
|
tag: 'p'
|
109
109
|
}, {
|
@@ -103,7 +103,7 @@ const createTableSpec = () => {
|
|
103
103
|
const tableNodeSpec = {
|
104
104
|
content: 'tableRow+',
|
105
105
|
attrs: attrs,
|
106
|
-
marks: 'unsupportedMark unsupportedNodeAttribute',
|
106
|
+
marks: 'fragment unsupportedMark unsupportedNodeAttribute',
|
107
107
|
tableRole: 'table',
|
108
108
|
isolating: true,
|
109
109
|
selectable: false,
|
@@ -183,7 +183,7 @@ export const tableCell = {
|
|
183
183
|
content: '(paragraph | panel | blockquote | orderedList | bulletList | rule | heading | codeBlock | mediaSingle | mediaGroup | decisionList | taskList | blockCard | embedCard | extension | nestedExpand | unsupportedBlock)+',
|
184
184
|
attrs: cellAttrs,
|
185
185
|
tableRole: 'cell',
|
186
|
-
marks: 'link alignment dataConsumer unsupportedMark unsupportedNodeAttribute',
|
186
|
+
marks: 'link alignment dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
|
187
187
|
isolating: true,
|
188
188
|
parseDOM: [// Ignore number cell copied from renderer
|
189
189
|
{
|
@@ -210,7 +210,7 @@ export const tableHeader = {
|
|
210
210
|
attrs: cellAttrs,
|
211
211
|
tableRole: 'header_cell',
|
212
212
|
isolating: true,
|
213
|
-
marks: 'link alignment dataConsumer unsupportedMark unsupportedNodeAttribute',
|
213
|
+
marks: 'link alignment dataConsumer fragment unsupportedMark unsupportedNodeAttribute',
|
214
214
|
parseDOM: [{
|
215
215
|
tag: 'th',
|
216
216
|
getAttrs: dom => getCellAttrs(dom, {
|
@@ -1,4 +1,4 @@
|
|
1
1
|
export { acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, getEmojiAcName } from './confluence/emoji';
|
2
2
|
export { generateUuid, uuid } from './uuid';
|
3
3
|
export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, hexToRgb, hexToRgba, isHex, isRgb, normalizeHexColor, rgbToHex } from './colors';
|
4
|
-
export { getLinkMatch, isSafeUrl, normalizeUrl } from './url';
|
4
|
+
export { getLinkMatch, isSafeUrl, normalizeUrl, linkify, linkifyMatch } from './url';
|
package/dist/es2019/utils/url.js
CHANGED
@@ -1,12 +1,65 @@
|
|
1
1
|
import LinkifyIt from 'linkify-it';
|
2
2
|
const whitelistedURLPatterns = [/^https?:\/\//im, /^ftps?:\/\//im, /^\//im, /^mailto:/im, /^skype:/im, /^callto:/im, /^facetime:/im, /^git:/im, /^irc6?:/im, /^news:/im, /^nntp:/im, /^feed:/im, /^cvs:/im, /^svn:/im, /^mvn:/im, /^ssh:/im, /^scp:\/\//im, /^sftp:\/\//im, /^itms:/im, /^notes:/im, /^hipchat:\/\//im, /^sourcetree:/im, /^urn:/im, /^tel:/im, /^xmpp:/im, /^telnet:/im, /^vnc:/im, /^rdp:/im, /^whatsapp:/im, /^slack:/im, /^sips?:/im, /^magnet:/im, /^#/im];
|
3
3
|
export const isSafeUrl = url => {
|
4
|
-
|
4
|
+
const urlTrimmed = url.trim();
|
5
|
+
|
6
|
+
if (urlTrimmed.length === 0) {
|
7
|
+
return true;
|
8
|
+
}
|
9
|
+
|
10
|
+
return whitelistedURLPatterns.some(p => p.test(urlTrimmed));
|
5
11
|
};
|
6
|
-
const linkify = LinkifyIt();
|
12
|
+
export const linkify = LinkifyIt();
|
7
13
|
linkify.add('sourcetree:', 'http:');
|
14
|
+
const tlds = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');
|
15
|
+
const tlds2Char = 'a[cdefgilmnoqrtuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrtuvwxyz]|n[acefgilopruz]|om|p[aefghkmnrtw]|qa|r[eosuw]|s[abcdegijklmnrtuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';
|
16
|
+
tlds.push(tlds2Char);
|
17
|
+
linkify.tlds(tlds, false);
|
18
|
+
export const LINK_REGEXP = /(https?|ftp):\/\/[^\s]+/;
|
19
|
+
export const linkifyMatch = text => {
|
20
|
+
const matches = [];
|
21
|
+
|
22
|
+
if (!LINK_REGEXP.test(text)) {
|
23
|
+
return matches;
|
24
|
+
}
|
25
|
+
|
26
|
+
let startpos = 0;
|
27
|
+
let substr;
|
28
|
+
|
29
|
+
while (substr = text.substr(startpos)) {
|
30
|
+
const link = (substr.match(LINK_REGEXP) || [''])[0];
|
31
|
+
|
32
|
+
if (link) {
|
33
|
+
const index = substr.search(LINK_REGEXP);
|
34
|
+
const start = index >= 0 ? index + startpos : index;
|
35
|
+
const end = start + link.length;
|
36
|
+
matches.push({
|
37
|
+
index: start,
|
38
|
+
lastIndex: end,
|
39
|
+
raw: link,
|
40
|
+
url: link,
|
41
|
+
text: link,
|
42
|
+
schema: ''
|
43
|
+
});
|
44
|
+
startpos += end;
|
45
|
+
} else {
|
46
|
+
break;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
return matches;
|
51
|
+
};
|
8
52
|
export function getLinkMatch(str) {
|
9
|
-
|
53
|
+
if (!str) {
|
54
|
+
return null;
|
55
|
+
}
|
56
|
+
|
57
|
+
let match = linkifyMatch(str);
|
58
|
+
|
59
|
+
if (!match.length) {
|
60
|
+
match = linkify.match(str);
|
61
|
+
}
|
62
|
+
|
10
63
|
return match && match[0];
|
11
64
|
}
|
12
65
|
/**
|
@@ -15,5 +68,5 @@ export function getLinkMatch(str) {
|
|
15
68
|
|
16
69
|
export function normalizeUrl(url) {
|
17
70
|
const match = getLinkMatch(url);
|
18
|
-
return match && match.url ||
|
71
|
+
return match && match.url || '';
|
19
72
|
}
|
package/dist/es2019/version.json
CHANGED
package/dist/esm/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export { AnnotationTypes, PanelType, alignment, alignmentPositionMap, annotation, bitbucketSchema, blockCard, blockquote, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceSchema, confluenceSchemaWithMediaSingle, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createJIRASchema, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, defaultSchema, defaultSchemaConfig, doc, em, embedCard, emoji, expand, expandToJSON, extension, getSchemaBasedOnStage, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, isSchemaWithAdvancedTextFormattingMarks, isSchemaWithBlockQuotes, isSchemaWithCodeBlock, isSchemaWithEmojis, isSchemaWithLinks, isSchemaWithLists, isSchemaWithMedia, isSchemaWithMentions, isSchemaWithSubSupMark, isSchemaWithTables, isSchemaWithTextColor, layoutColumn, layoutSection, link, linkToJSON, listItem, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel,
|
2
|
-
export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, normalizeHexColor, normalizeUrl, rgbToHex, uuid } from './utils';
|
1
|
+
export { AnnotationTypes, PanelType, alignment, alignmentPositionMap, annotation, bitbucketSchema, blockCard, blockquote, bodiedExtension, breakout, bulletList, bulletListSelector, caption, code, codeBlock, codeBlockToJSON, colorPalette, colorPaletteExtended, confluenceInlineComment, confluenceJiraIssue, confluenceSchema, confluenceSchemaWithMediaSingle, confluenceUnsupportedBlock, confluenceUnsupportedInline, copyPrivateMediaAttributes, createJIRASchema, createSchema, dataConsumer, dataConsumerToJSON, date, decisionItem, decisionList, decisionListSelector, defaultSchema, defaultSchemaConfig, doc, em, embedCard, emoji, expand, expandToJSON, extension, fragment, fragmentToJSON, getSchemaBasedOnStage, hardBreak, heading, image, indentation, inlineCard, inlineExtension, inlineNodes, isSchemaWithAdvancedTextFormattingMarks, isSchemaWithBlockQuotes, isSchemaWithCodeBlock, isSchemaWithEmojis, isSchemaWithLinks, isSchemaWithLists, isSchemaWithMedia, isSchemaWithMentions, isSchemaWithSubSupMark, isSchemaWithTables, isSchemaWithTextColor, layoutColumn, layoutSection, link, linkToJSON, listItem, media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline, mediaSingleToJSON, mediaToJSON, mention, mentionToJSON, nestedExpand, orderedList, orderedListSelector, panel, paragraph, placeholder, rule, sanitizeNodes, getCellAttrs, getCellDomAttrs, status, strike, strong, subsup, table, tableBackgroundBorderColor, tableBackgroundColorNames, tableBackgroundColorPalette, tableCell, tableCellContentDomSelector, tableCellContentWrapperSelector, tableCellSelector, tableHeader, tableHeaderSelector, tablePrefixSelector, tableRow, tableToJSON, taskItem, taskList, taskListSelector, text, textColor, toJSONTableCell, toJSONTableHeader, typeAheadQuery, underline, unknownBlock, unsupportedBlock, unsupportedInline, unsupportedNodeTypesForMediaCards, buildAnnotationMarkDataAttributes, AnnotationMarkStates, unsupportedMark, unsupportedNodeAttribute } from './schema';
|
2
|
+
export { B100, B400, B50, B500, B75, G200, G300, G400, G50, G500, G75, N0, N20, N200, N30, N300, N40, N50, N500, N60, N80, N800, N90, P100, P300, P400, P50, P500, P75, R100, R300, R400, R50, R500, R75, T100, T300, T50, T500, T75, Y200, Y400, Y50, Y500, Y75, acNameToEmoji, acShortcutToEmoji, emojiIdToAcName, generateUuid, getEmojiAcName, getLinkMatch, hexToRgb, hexToRgba, isHex, isRgb, isSafeUrl, linkify, linkifyMatch, normalizeHexColor, normalizeUrl, rgbToHex, uuid } from './utils';
|