prosemirror-schema-basic 1.2.0 → 1.2.2
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/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/index.cjs +10 -0
- package/dist/index.d.cts +87 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -3
- package/package.json +3 -3
- package/src/schema-basic.ts +14 -7
- package/dist/index.es.js +0 -167
- package/dist/index.es.js.map +0 -1
- package/dist/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## 1.2.2 (2023-05-17)
|
|
2
|
+
|
|
3
|
+
### Bug fixes
|
|
4
|
+
|
|
5
|
+
Include CommonJS type declarations in the package to please new TypeScript resolution settings.
|
|
6
|
+
|
|
7
|
+
## 1.2.1 (2023-01-18)
|
|
8
|
+
|
|
9
|
+
### Bug fixes
|
|
10
|
+
|
|
11
|
+
Add parse rules to clear `em` and `strong` marks for styles that reset font style/weight.
|
|
12
|
+
|
|
1
13
|
## 1.2.0 (2022-05-30)
|
|
2
14
|
|
|
3
15
|
### New features
|
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright (C) 2015-2017 by Marijn Haverbeke <
|
|
1
|
+
Copyright (C) 2015-2017 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# prosemirror-schema-basic
|
|
2
2
|
|
|
3
|
-
[ [**WEBSITE**](https://prosemirror.net) | [**ISSUES**](https://github.com/prosemirror/prosemirror/issues) | [**FORUM**](https://discuss.prosemirror.net) | [**
|
|
3
|
+
[ [**WEBSITE**](https://prosemirror.net) | [**ISSUES**](https://github.com/prosemirror/prosemirror/issues) | [**FORUM**](https://discuss.prosemirror.net) | [**CHANGELOG**](https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/CHANGELOG.md) ]
|
|
4
4
|
|
|
5
5
|
This is a [schema module](https://prosemirror.net/docs/ref/#schema-basic) for [ProseMirror](https://prosemirror.net).
|
|
6
6
|
ProseMirror is a well-behaved rich semantic content editor based on
|
package/dist/index.cjs
CHANGED
|
@@ -191,6 +191,11 @@ var marks = {
|
|
|
191
191
|
tag: "em"
|
|
192
192
|
}, {
|
|
193
193
|
style: "font-style=italic"
|
|
194
|
+
}, {
|
|
195
|
+
style: "font-style=normal",
|
|
196
|
+
clearMark: function clearMark(m) {
|
|
197
|
+
return m.type.name == "em";
|
|
198
|
+
}
|
|
194
199
|
}],
|
|
195
200
|
toDOM: function toDOM() {
|
|
196
201
|
return emDOM;
|
|
@@ -204,6 +209,11 @@ var marks = {
|
|
|
204
209
|
getAttrs: function getAttrs(node) {
|
|
205
210
|
return node.style.fontWeight != "normal" && null;
|
|
206
211
|
}
|
|
212
|
+
}, {
|
|
213
|
+
style: "font-weight=400",
|
|
214
|
+
clearMark: function clearMark(m) {
|
|
215
|
+
return m.type.name == "strong";
|
|
216
|
+
}
|
|
207
217
|
}, {
|
|
208
218
|
style: "font-weight",
|
|
209
219
|
getAttrs: function getAttrs(value) {
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { NodeSpec, MarkSpec, Schema } from 'prosemirror-model';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Specs](https://prosemirror.net/docs/ref/#model.NodeSpec) for the nodes defined in this schema.
|
|
5
|
+
*/
|
|
6
|
+
declare const nodes: {
|
|
7
|
+
/**
|
|
8
|
+
NodeSpec The top level document node.
|
|
9
|
+
*/
|
|
10
|
+
doc: NodeSpec;
|
|
11
|
+
/**
|
|
12
|
+
A plain paragraph textblock. Represented in the DOM
|
|
13
|
+
as a `<p>` element.
|
|
14
|
+
*/
|
|
15
|
+
paragraph: NodeSpec;
|
|
16
|
+
/**
|
|
17
|
+
A blockquote (`<blockquote>`) wrapping one or more blocks.
|
|
18
|
+
*/
|
|
19
|
+
blockquote: NodeSpec;
|
|
20
|
+
/**
|
|
21
|
+
A horizontal rule (`<hr>`).
|
|
22
|
+
*/
|
|
23
|
+
horizontal_rule: NodeSpec;
|
|
24
|
+
/**
|
|
25
|
+
A heading textblock, with a `level` attribute that
|
|
26
|
+
should hold the number 1 to 6. Parsed and serialized as `<h1>` to
|
|
27
|
+
`<h6>` elements.
|
|
28
|
+
*/
|
|
29
|
+
heading: NodeSpec;
|
|
30
|
+
/**
|
|
31
|
+
A code listing. Disallows marks or non-text inline
|
|
32
|
+
nodes by default. Represented as a `<pre>` element with a
|
|
33
|
+
`<code>` element inside of it.
|
|
34
|
+
*/
|
|
35
|
+
code_block: NodeSpec;
|
|
36
|
+
/**
|
|
37
|
+
The text node.
|
|
38
|
+
*/
|
|
39
|
+
text: NodeSpec;
|
|
40
|
+
/**
|
|
41
|
+
An inline image (`<img>`) node. Supports `src`,
|
|
42
|
+
`alt`, and `href` attributes. The latter two default to the empty
|
|
43
|
+
string.
|
|
44
|
+
*/
|
|
45
|
+
image: NodeSpec;
|
|
46
|
+
/**
|
|
47
|
+
A hard line break, represented in the DOM as `<br>`.
|
|
48
|
+
*/
|
|
49
|
+
hard_break: NodeSpec;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
[Specs](https://prosemirror.net/docs/ref/#model.MarkSpec) for the marks in the schema.
|
|
53
|
+
*/
|
|
54
|
+
declare const marks: {
|
|
55
|
+
/**
|
|
56
|
+
A link. Has `href` and `title` attributes. `title`
|
|
57
|
+
defaults to the empty string. Rendered and parsed as an `<a>`
|
|
58
|
+
element.
|
|
59
|
+
*/
|
|
60
|
+
link: MarkSpec;
|
|
61
|
+
/**
|
|
62
|
+
An emphasis mark. Rendered as an `<em>` element. Has parse rules
|
|
63
|
+
that also match `<i>` and `font-style: italic`.
|
|
64
|
+
*/
|
|
65
|
+
em: MarkSpec;
|
|
66
|
+
/**
|
|
67
|
+
A strong mark. Rendered as `<strong>`, parse rules also match
|
|
68
|
+
`<b>` and `font-weight: bold`.
|
|
69
|
+
*/
|
|
70
|
+
strong: MarkSpec;
|
|
71
|
+
/**
|
|
72
|
+
Code font mark. Represented as a `<code>` element.
|
|
73
|
+
*/
|
|
74
|
+
code: MarkSpec;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
This schema roughly corresponds to the document schema used by
|
|
78
|
+
[CommonMark](http://commonmark.org/), minus the list elements,
|
|
79
|
+
which are defined in the [`prosemirror-schema-list`](https://prosemirror.net/docs/ref/#schema-list)
|
|
80
|
+
module.
|
|
81
|
+
|
|
82
|
+
To reuse elements from this schema, extend or read from its
|
|
83
|
+
`spec.nodes` and `spec.marks` [properties](https://prosemirror.net/docs/ref/#model.Schema.spec).
|
|
84
|
+
*/
|
|
85
|
+
declare const schema: Schema<"blockquote" | "image" | "text" | "doc" | "paragraph" | "horizontal_rule" | "heading" | "code_block" | "hard_break", "link" | "code" | "em" | "strong">;
|
|
86
|
+
|
|
87
|
+
export { marks, nodes, schema };
|
package/dist/index.d.ts
CHANGED
|
@@ -82,6 +82,6 @@ module.
|
|
|
82
82
|
To reuse elements from this schema, extend or read from its
|
|
83
83
|
`spec.nodes` and `spec.marks` [properties](https://prosemirror.net/docs/ref/#model.Schema.spec).
|
|
84
84
|
*/
|
|
85
|
-
declare const schema: Schema
|
|
85
|
+
declare const schema: Schema<"blockquote" | "image" | "text" | "doc" | "paragraph" | "horizontal_rule" | "heading" | "code_block" | "hard_break", "link" | "code" | "em" | "strong">;
|
|
86
86
|
|
|
87
87
|
export { marks, nodes, schema };
|
package/dist/index.js
CHANGED
|
@@ -137,7 +137,11 @@ const marks = {
|
|
|
137
137
|
that also match `<i>` and `font-style: italic`.
|
|
138
138
|
*/
|
|
139
139
|
em: {
|
|
140
|
-
parseDOM: [
|
|
140
|
+
parseDOM: [
|
|
141
|
+
{ tag: "i" }, { tag: "em" },
|
|
142
|
+
{ style: "font-style=italic" },
|
|
143
|
+
{ style: "font-style=normal", clearMark: m => m.type.name == "em" }
|
|
144
|
+
],
|
|
141
145
|
toDOM() { return emDOM; }
|
|
142
146
|
},
|
|
143
147
|
/**
|
|
@@ -145,12 +149,15 @@ const marks = {
|
|
|
145
149
|
`<b>` and `font-weight: bold`.
|
|
146
150
|
*/
|
|
147
151
|
strong: {
|
|
148
|
-
parseDOM: [
|
|
152
|
+
parseDOM: [
|
|
153
|
+
{ tag: "strong" },
|
|
149
154
|
// This works around a Google Docs misbehavior where
|
|
150
155
|
// pasted content will be inexplicably wrapped in `<b>`
|
|
151
156
|
// tags with a font-weight normal.
|
|
152
157
|
{ tag: "b", getAttrs: (node) => node.style.fontWeight != "normal" && null },
|
|
153
|
-
{ style: "font-weight",
|
|
158
|
+
{ style: "font-weight=400", clearMark: m => m.type.name == "strong" },
|
|
159
|
+
{ style: "font-weight", getAttrs: (value) => /^(bold(er)?|[5-9]\d{2,})$/.test(value) && null },
|
|
160
|
+
],
|
|
154
161
|
toDOM() { return strongDOM; }
|
|
155
162
|
},
|
|
156
163
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prosemirror-schema-basic",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Basic schema elements for ProseMirror",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"maintainers": [
|
|
16
16
|
{
|
|
17
17
|
"name": "Marijn Haverbeke",
|
|
18
|
-
"email": "
|
|
18
|
+
"email": "marijn@haverbeke.berlin",
|
|
19
19
|
"web": "http://marijnhaverbeke.nl"
|
|
20
20
|
}
|
|
21
21
|
],
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"url": "git://github.com/prosemirror/prosemirror-schema-basic.git"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"prosemirror-model": "^1.
|
|
27
|
+
"prosemirror-model": "^1.19.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@prosemirror/buildhelper": "^0.1.5",
|
package/src/schema-basic.ts
CHANGED
|
@@ -125,19 +125,26 @@ export const marks = {
|
|
|
125
125
|
/// An emphasis mark. Rendered as an `<em>` element. Has parse rules
|
|
126
126
|
/// that also match `<i>` and `font-style: italic`.
|
|
127
127
|
em: {
|
|
128
|
-
parseDOM: [
|
|
128
|
+
parseDOM: [
|
|
129
|
+
{tag: "i"}, {tag: "em"},
|
|
130
|
+
{style: "font-style=italic"},
|
|
131
|
+
{style: "font-style=normal", clearMark: m => m.type.name == "em"}
|
|
132
|
+
],
|
|
129
133
|
toDOM() { return emDOM }
|
|
130
134
|
} as MarkSpec,
|
|
131
135
|
|
|
132
136
|
/// A strong mark. Rendered as `<strong>`, parse rules also match
|
|
133
137
|
/// `<b>` and `font-weight: bold`.
|
|
134
138
|
strong: {
|
|
135
|
-
parseDOM: [
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
parseDOM: [
|
|
140
|
+
{tag: "strong"},
|
|
141
|
+
// This works around a Google Docs misbehavior where
|
|
142
|
+
// pasted content will be inexplicably wrapped in `<b>`
|
|
143
|
+
// tags with a font-weight normal.
|
|
144
|
+
{tag: "b", getAttrs: (node: HTMLElement) => node.style.fontWeight != "normal" && null},
|
|
145
|
+
{style: "font-weight=400", clearMark: m => m.type.name == "strong"},
|
|
146
|
+
{style: "font-weight", getAttrs: (value: string) => /^(bold(er)?|[5-9]\d{2,})$/.test(value) && null},
|
|
147
|
+
],
|
|
141
148
|
toDOM() { return strongDOM }
|
|
142
149
|
} as MarkSpec,
|
|
143
150
|
|
package/dist/index.es.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { Schema } from 'prosemirror-model';
|
|
2
|
-
|
|
3
|
-
var pDOM = ["p", 0], blockquoteDOM = ["blockquote", 0], hrDOM = ["hr"],
|
|
4
|
-
preDOM = ["pre", ["code", 0]], brDOM = ["br"];
|
|
5
|
-
|
|
6
|
-
// :: Object
|
|
7
|
-
// [Specs](#model.NodeSpec) for the nodes defined in this schema.
|
|
8
|
-
var nodes = {
|
|
9
|
-
// :: NodeSpec The top level document node.
|
|
10
|
-
doc: {
|
|
11
|
-
content: "block+"
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
// :: NodeSpec A plain paragraph textblock. Represented in the DOM
|
|
15
|
-
// as a `<p>` element.
|
|
16
|
-
paragraph: {
|
|
17
|
-
content: "inline*",
|
|
18
|
-
group: "block",
|
|
19
|
-
parseDOM: [{tag: "p"}],
|
|
20
|
-
toDOM: function toDOM() { return pDOM }
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
// :: NodeSpec A blockquote (`<blockquote>`) wrapping one or more blocks.
|
|
24
|
-
blockquote: {
|
|
25
|
-
content: "block+",
|
|
26
|
-
group: "block",
|
|
27
|
-
defining: true,
|
|
28
|
-
parseDOM: [{tag: "blockquote"}],
|
|
29
|
-
toDOM: function toDOM() { return blockquoteDOM }
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
// :: NodeSpec A horizontal rule (`<hr>`).
|
|
33
|
-
horizontal_rule: {
|
|
34
|
-
group: "block",
|
|
35
|
-
parseDOM: [{tag: "hr"}],
|
|
36
|
-
toDOM: function toDOM() { return hrDOM }
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
// :: NodeSpec A heading textblock, with a `level` attribute that
|
|
40
|
-
// should hold the number 1 to 6. Parsed and serialized as `<h1>` to
|
|
41
|
-
// `<h6>` elements.
|
|
42
|
-
heading: {
|
|
43
|
-
attrs: {level: {default: 1}},
|
|
44
|
-
content: "inline*",
|
|
45
|
-
group: "block",
|
|
46
|
-
defining: true,
|
|
47
|
-
parseDOM: [{tag: "h1", attrs: {level: 1}},
|
|
48
|
-
{tag: "h2", attrs: {level: 2}},
|
|
49
|
-
{tag: "h3", attrs: {level: 3}},
|
|
50
|
-
{tag: "h4", attrs: {level: 4}},
|
|
51
|
-
{tag: "h5", attrs: {level: 5}},
|
|
52
|
-
{tag: "h6", attrs: {level: 6}}],
|
|
53
|
-
toDOM: function toDOM(node) { return ["h" + node.attrs.level, 0] }
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
// :: NodeSpec A code listing. Disallows marks or non-text inline
|
|
57
|
-
// nodes by default. Represented as a `<pre>` element with a
|
|
58
|
-
// `<code>` element inside of it.
|
|
59
|
-
code_block: {
|
|
60
|
-
content: "text*",
|
|
61
|
-
marks: "",
|
|
62
|
-
group: "block",
|
|
63
|
-
code: true,
|
|
64
|
-
defining: true,
|
|
65
|
-
parseDOM: [{tag: "pre", preserveWhitespace: "full"}],
|
|
66
|
-
toDOM: function toDOM() { return preDOM }
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
// :: NodeSpec The text node.
|
|
70
|
-
text: {
|
|
71
|
-
group: "inline"
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
// :: NodeSpec An inline image (`<img>`) node. Supports `src`,
|
|
75
|
-
// `alt`, and `href` attributes. The latter two default to the empty
|
|
76
|
-
// string.
|
|
77
|
-
image: {
|
|
78
|
-
inline: true,
|
|
79
|
-
attrs: {
|
|
80
|
-
src: {},
|
|
81
|
-
alt: {default: null},
|
|
82
|
-
title: {default: null}
|
|
83
|
-
},
|
|
84
|
-
group: "inline",
|
|
85
|
-
draggable: true,
|
|
86
|
-
parseDOM: [{tag: "img[src]", getAttrs: function getAttrs(dom) {
|
|
87
|
-
return {
|
|
88
|
-
src: dom.getAttribute("src"),
|
|
89
|
-
title: dom.getAttribute("title"),
|
|
90
|
-
alt: dom.getAttribute("alt")
|
|
91
|
-
}
|
|
92
|
-
}}],
|
|
93
|
-
toDOM: function toDOM(node) { var ref = node.attrs;
|
|
94
|
-
var src = ref.src;
|
|
95
|
-
var alt = ref.alt;
|
|
96
|
-
var title = ref.title; return ["img", {src: src, alt: alt, title: title}] }
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
// :: NodeSpec A hard line break, represented in the DOM as `<br>`.
|
|
100
|
-
hard_break: {
|
|
101
|
-
inline: true,
|
|
102
|
-
group: "inline",
|
|
103
|
-
selectable: false,
|
|
104
|
-
parseDOM: [{tag: "br"}],
|
|
105
|
-
toDOM: function toDOM() { return brDOM }
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
var emDOM = ["em", 0], strongDOM = ["strong", 0], codeDOM = ["code", 0];
|
|
110
|
-
|
|
111
|
-
// :: Object [Specs](#model.MarkSpec) for the marks in the schema.
|
|
112
|
-
var marks = {
|
|
113
|
-
// :: MarkSpec A link. Has `href` and `title` attributes. `title`
|
|
114
|
-
// defaults to the empty string. Rendered and parsed as an `<a>`
|
|
115
|
-
// element.
|
|
116
|
-
link: {
|
|
117
|
-
attrs: {
|
|
118
|
-
href: {},
|
|
119
|
-
title: {default: null}
|
|
120
|
-
},
|
|
121
|
-
inclusive: false,
|
|
122
|
-
parseDOM: [{tag: "a[href]", getAttrs: function getAttrs(dom) {
|
|
123
|
-
return {href: dom.getAttribute("href"), title: dom.getAttribute("title")}
|
|
124
|
-
}}],
|
|
125
|
-
toDOM: function toDOM(node) { var ref = node.attrs;
|
|
126
|
-
var href = ref.href;
|
|
127
|
-
var title = ref.title; return ["a", {href: href, title: title}, 0] }
|
|
128
|
-
},
|
|
129
|
-
|
|
130
|
-
// :: MarkSpec An emphasis mark. Rendered as an `<em>` element.
|
|
131
|
-
// Has parse rules that also match `<i>` and `font-style: italic`.
|
|
132
|
-
em: {
|
|
133
|
-
parseDOM: [{tag: "i"}, {tag: "em"}, {style: "font-style=italic"}],
|
|
134
|
-
toDOM: function toDOM() { return emDOM }
|
|
135
|
-
},
|
|
136
|
-
|
|
137
|
-
// :: MarkSpec A strong mark. Rendered as `<strong>`, parse rules
|
|
138
|
-
// also match `<b>` and `font-weight: bold`.
|
|
139
|
-
strong: {
|
|
140
|
-
parseDOM: [{tag: "strong"},
|
|
141
|
-
// This works around a Google Docs misbehavior where
|
|
142
|
-
// pasted content will be inexplicably wrapped in `<b>`
|
|
143
|
-
// tags with a font-weight normal.
|
|
144
|
-
{tag: "b", getAttrs: function (node) { return node.style.fontWeight != "normal" && null; }},
|
|
145
|
-
{style: "font-weight", getAttrs: function (value) { return /^(bold(er)?|[5-9]\d{2,})$/.test(value) && null; }}],
|
|
146
|
-
toDOM: function toDOM() { return strongDOM }
|
|
147
|
-
},
|
|
148
|
-
|
|
149
|
-
// :: MarkSpec Code font mark. Represented as a `<code>` element.
|
|
150
|
-
code: {
|
|
151
|
-
parseDOM: [{tag: "code"}],
|
|
152
|
-
toDOM: function toDOM() { return codeDOM }
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
// :: Schema
|
|
157
|
-
// This schema roughly corresponds to the document schema used by
|
|
158
|
-
// [CommonMark](http://commonmark.org/), minus the list elements,
|
|
159
|
-
// which are defined in the [`prosemirror-schema-list`](#schema-list)
|
|
160
|
-
// module.
|
|
161
|
-
//
|
|
162
|
-
// To reuse elements from this schema, extend or read from its
|
|
163
|
-
// `spec.nodes` and `spec.marks` [properties](#model.Schema.spec).
|
|
164
|
-
var schema = new Schema({nodes: nodes, marks: marks});
|
|
165
|
-
|
|
166
|
-
export { marks, nodes, schema };
|
|
167
|
-
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/schema-basic.js"],"sourcesContent":["import {Schema} from \"prosemirror-model\"\n\nconst pDOM = [\"p\", 0], blockquoteDOM = [\"blockquote\", 0], hrDOM = [\"hr\"],\n preDOM = [\"pre\", [\"code\", 0]], brDOM = [\"br\"]\n\n// :: Object\n// [Specs](#model.NodeSpec) for the nodes defined in this schema.\nexport const nodes = {\n // :: NodeSpec The top level document node.\n doc: {\n content: \"block+\"\n },\n\n // :: NodeSpec A plain paragraph textblock. Represented in the DOM\n // as a `<p>` element.\n paragraph: {\n content: \"inline*\",\n group: \"block\",\n parseDOM: [{tag: \"p\"}],\n toDOM() { return pDOM }\n },\n\n // :: NodeSpec A blockquote (`<blockquote>`) wrapping one or more blocks.\n blockquote: {\n content: \"block+\",\n group: \"block\",\n defining: true,\n parseDOM: [{tag: \"blockquote\"}],\n toDOM() { return blockquoteDOM }\n },\n\n // :: NodeSpec A horizontal rule (`<hr>`).\n horizontal_rule: {\n group: \"block\",\n parseDOM: [{tag: \"hr\"}],\n toDOM() { return hrDOM }\n },\n\n // :: NodeSpec A heading textblock, with a `level` attribute that\n // should hold the number 1 to 6. Parsed and serialized as `<h1>` to\n // `<h6>` elements.\n heading: {\n attrs: {level: {default: 1}},\n content: \"inline*\",\n group: \"block\",\n defining: true,\n parseDOM: [{tag: \"h1\", attrs: {level: 1}},\n {tag: \"h2\", attrs: {level: 2}},\n {tag: \"h3\", attrs: {level: 3}},\n {tag: \"h4\", attrs: {level: 4}},\n {tag: \"h5\", attrs: {level: 5}},\n {tag: \"h6\", attrs: {level: 6}}],\n toDOM(node) { return [\"h\" + node.attrs.level, 0] }\n },\n\n // :: NodeSpec A code listing. Disallows marks or non-text inline\n // nodes by default. Represented as a `<pre>` element with a\n // `<code>` element inside of it.\n code_block: {\n content: \"text*\",\n marks: \"\",\n group: \"block\",\n code: true,\n defining: true,\n parseDOM: [{tag: \"pre\", preserveWhitespace: \"full\"}],\n toDOM() { return preDOM }\n },\n\n // :: NodeSpec The text node.\n text: {\n group: \"inline\"\n },\n\n // :: NodeSpec An inline image (`<img>`) node. Supports `src`,\n // `alt`, and `href` attributes. The latter two default to the empty\n // string.\n image: {\n inline: true,\n attrs: {\n src: {},\n alt: {default: null},\n title: {default: null}\n },\n group: \"inline\",\n draggable: true,\n parseDOM: [{tag: \"img[src]\", getAttrs(dom) {\n return {\n src: dom.getAttribute(\"src\"),\n title: dom.getAttribute(\"title\"),\n alt: dom.getAttribute(\"alt\")\n }\n }}],\n toDOM(node) { let {src, alt, title} = node.attrs; return [\"img\", {src, alt, title}] }\n },\n\n // :: NodeSpec A hard line break, represented in the DOM as `<br>`.\n hard_break: {\n inline: true,\n group: \"inline\",\n selectable: false,\n parseDOM: [{tag: \"br\"}],\n toDOM() { return brDOM }\n }\n}\n\nconst emDOM = [\"em\", 0], strongDOM = [\"strong\", 0], codeDOM = [\"code\", 0]\n\n// :: Object [Specs](#model.MarkSpec) for the marks in the schema.\nexport const marks = {\n // :: MarkSpec A link. Has `href` and `title` attributes. `title`\n // defaults to the empty string. Rendered and parsed as an `<a>`\n // element.\n link: {\n attrs: {\n href: {},\n title: {default: null}\n },\n inclusive: false,\n parseDOM: [{tag: \"a[href]\", getAttrs(dom) {\n return {href: dom.getAttribute(\"href\"), title: dom.getAttribute(\"title\")}\n }}],\n toDOM(node) { let {href, title} = node.attrs; return [\"a\", {href, title}, 0] }\n },\n\n // :: MarkSpec An emphasis mark. Rendered as an `<em>` element.\n // Has parse rules that also match `<i>` and `font-style: italic`.\n em: {\n parseDOM: [{tag: \"i\"}, {tag: \"em\"}, {style: \"font-style=italic\"}],\n toDOM() { return emDOM }\n },\n\n // :: MarkSpec A strong mark. Rendered as `<strong>`, parse rules\n // also match `<b>` and `font-weight: bold`.\n strong: {\n parseDOM: [{tag: \"strong\"},\n // This works around a Google Docs misbehavior where\n // pasted content will be inexplicably wrapped in `<b>`\n // tags with a font-weight normal.\n {tag: \"b\", getAttrs: node => node.style.fontWeight != \"normal\" && null},\n {style: \"font-weight\", getAttrs: value => /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null}],\n toDOM() { return strongDOM }\n },\n\n // :: MarkSpec Code font mark. Represented as a `<code>` element.\n code: {\n parseDOM: [{tag: \"code\"}],\n toDOM() { return codeDOM }\n }\n}\n\n// :: Schema\n// This schema roughly corresponds to the document schema used by\n// [CommonMark](http://commonmark.org/), minus the list elements,\n// which are defined in the [`prosemirror-schema-list`](#schema-list)\n// module.\n//\n// To reuse elements from this schema, extend or read from its\n// `spec.nodes` and `spec.marks` [properties](#model.Schema.spec).\nexport const schema = new Schema({nodes, marks})\n"],"names":["const"],"mappings":";;AAEAA,IAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC;AACxE,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,EAAC;AACnD;AACA;AACA;AACY,IAAC,KAAK,GAAG;AACrB;AACA,EAAE,GAAG,EAAE;AACP,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH;AACA;AACA;AACA,EAAE,SAAS,EAAE;AACb,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1B,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,IAAI,EAAE;AAC3B,GAAG;AACH;AACA;AACA,EAAE,UAAU,EAAE;AACd,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACnC,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,aAAa,EAAE;AACpC,GAAG;AACH;AACA;AACA,EAAE,eAAe,EAAE;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3B,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,KAAK,EAAE;AAC5B,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,OAAO,EAAE;AACX,IAAI,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAChC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7C,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7C,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7C,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7C,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7C,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,IAAI,qBAAK,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;AACtD,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,UAAU,EAAE;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACxD,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,MAAM,EAAE;AAC7B,GAAG;AACH;AACA;AACA,EAAE,IAAI,EAAE;AACR,IAAI,KAAK,EAAE,QAAQ;AACnB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,KAAK,EAAE;AACT,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE;AACX,MAAM,GAAG,EAAE,EAAE;AACb,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;AAC1B,MAAM,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;AAC5B,KAAK;AACL,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,QAAA,EAAA,SAAA,QAAQ,CAAC,GAAG,EAAE;AAC/C,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;AACpC,QAAQ,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;AACxC,QAAQ,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;AACpC,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,qBAAK,CAAC,IAAI,EAAE,EAAuB,IAAA,GAAA,GAAG,IAAI,CAAC,KAAA,CAAA;AAAxB,IAAA,IAAA,GAAA,GAAA,GAAA,CAAA,GAAA,CAAA;AAAK,IAAA,IAAA,GAAA,GAAA,GAAA,CAAA,GAAA,CAAA;AAAK,IAAA,IAAA,KAAA,GAAA,GAAA,CAAA,KAAA,CAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA,GAAA,EAAC,GAAG,EAAA,GAAA,EAAE,GAAG,EAAA,KAAA,EAAE,KAAK,CAAC,CAAC,EAAE;AACzF,GAAG;AACH;AACA;AACA,EAAE,UAAU,EAAE;AACd,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3B,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,KAAK,EAAE;AAC5B,GAAG;AACH,EAAC;AACD;AACAA,IAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,EAAC;AACzE;AACA;AACY,IAAC,KAAK,GAAG;AACrB;AACA;AACA;AACA,EAAE,IAAI,EAAE;AACR,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,EAAE;AACd,MAAM,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;AAC5B,KAAK;AACL,IAAI,SAAS,EAAE,KAAK;AACpB,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAA,EAAA,SAAA,QAAQ,CAAC,GAAG,EAAE;AAC9C,MAAM,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/E,KAAK,CAAC,CAAC;AACP,IAAI,qBAAK,CAAC,IAAI,EAAE,EAAmB,IAAA,GAAA,GAAG,IAAI,CAAC,KAAA,CAAA;AAApB,IAAA,IAAA,IAAA,GAAA,GAAA,CAAA,IAAA,CAAA;AAAM,IAAA,IAAA,KAAA,GAAA,GAAA,CAAA,KAAA,CAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA,IAAA,EAAC,IAAI,EAAA,KAAA,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;AAClF,GAAG;AACH;AACA;AACA;AACA,EAAE,EAAE,EAAE;AACN,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;AACrE,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,KAAK,EAAE;AAC5B,GAAG;AACH;AACA;AACA;AACA,EAAE,MAAM,EAAE;AACV,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,YAAE,IAAI,EAAA,EAAA,OAAI,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,IAAI,OAAI,CAAC;AACtF,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,YAAE,KAAK,EAAA,EAAA,OAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,CAAA,EAAI,CAAC,CAAC;AAC1G,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,SAAS,EAAE;AAChC,GAAG;AACH;AACA;AACA,EAAE,IAAI,EAAE;AACR,IAAI,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC7B,IAAI,KAAK,EAAA,SAAA,KAAA,GAAG,EAAE,OAAO,OAAO,EAAE;AAC9B,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,IAAC,MAAM,GAAG,IAAI,MAAM,CAAC,CAAA,KAAA,EAAC,KAAK,EAAA,KAAA,EAAE,KAAK,CAAC;;;;"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/schema-basic.js"],"sourcesContent":["import {Schema} from \"prosemirror-model\"\n\nconst pDOM = [\"p\", 0], blockquoteDOM = [\"blockquote\", 0], hrDOM = [\"hr\"],\n preDOM = [\"pre\", [\"code\", 0]], brDOM = [\"br\"]\n\n// :: Object\n// [Specs](#model.NodeSpec) for the nodes defined in this schema.\nexport const nodes = {\n // :: NodeSpec The top level document node.\n doc: {\n content: \"block+\"\n },\n\n // :: NodeSpec A plain paragraph textblock. Represented in the DOM\n // as a `<p>` element.\n paragraph: {\n content: \"inline*\",\n group: \"block\",\n parseDOM: [{tag: \"p\"}],\n toDOM() { return pDOM }\n },\n\n // :: NodeSpec A blockquote (`<blockquote>`) wrapping one or more blocks.\n blockquote: {\n content: \"block+\",\n group: \"block\",\n defining: true,\n parseDOM: [{tag: \"blockquote\"}],\n toDOM() { return blockquoteDOM }\n },\n\n // :: NodeSpec A horizontal rule (`<hr>`).\n horizontal_rule: {\n group: \"block\",\n parseDOM: [{tag: \"hr\"}],\n toDOM() { return hrDOM }\n },\n\n // :: NodeSpec A heading textblock, with a `level` attribute that\n // should hold the number 1 to 6. Parsed and serialized as `<h1>` to\n // `<h6>` elements.\n heading: {\n attrs: {level: {default: 1}},\n content: \"inline*\",\n group: \"block\",\n defining: true,\n parseDOM: [{tag: \"h1\", attrs: {level: 1}},\n {tag: \"h2\", attrs: {level: 2}},\n {tag: \"h3\", attrs: {level: 3}},\n {tag: \"h4\", attrs: {level: 4}},\n {tag: \"h5\", attrs: {level: 5}},\n {tag: \"h6\", attrs: {level: 6}}],\n toDOM(node) { return [\"h\" + node.attrs.level, 0] }\n },\n\n // :: NodeSpec A code listing. Disallows marks or non-text inline\n // nodes by default. Represented as a `<pre>` element with a\n // `<code>` element inside of it.\n code_block: {\n content: \"text*\",\n marks: \"\",\n group: \"block\",\n code: true,\n defining: true,\n parseDOM: [{tag: \"pre\", preserveWhitespace: \"full\"}],\n toDOM() { return preDOM }\n },\n\n // :: NodeSpec The text node.\n text: {\n group: \"inline\"\n },\n\n // :: NodeSpec An inline image (`<img>`) node. Supports `src`,\n // `alt`, and `href` attributes. The latter two default to the empty\n // string.\n image: {\n inline: true,\n attrs: {\n src: {},\n alt: {default: null},\n title: {default: null}\n },\n group: \"inline\",\n draggable: true,\n parseDOM: [{tag: \"img[src]\", getAttrs(dom) {\n return {\n src: dom.getAttribute(\"src\"),\n title: dom.getAttribute(\"title\"),\n alt: dom.getAttribute(\"alt\")\n }\n }}],\n toDOM(node) { let {src, alt, title} = node.attrs; return [\"img\", {src, alt, title}] }\n },\n\n // :: NodeSpec A hard line break, represented in the DOM as `<br>`.\n hard_break: {\n inline: true,\n group: \"inline\",\n selectable: false,\n parseDOM: [{tag: \"br\"}],\n toDOM() { return brDOM }\n }\n}\n\nconst emDOM = [\"em\", 0], strongDOM = [\"strong\", 0], codeDOM = [\"code\", 0]\n\n// :: Object [Specs](#model.MarkSpec) for the marks in the schema.\nexport const marks = {\n // :: MarkSpec A link. Has `href` and `title` attributes. `title`\n // defaults to the empty string. Rendered and parsed as an `<a>`\n // element.\n link: {\n attrs: {\n href: {},\n title: {default: null}\n },\n inclusive: false,\n parseDOM: [{tag: \"a[href]\", getAttrs(dom) {\n return {href: dom.getAttribute(\"href\"), title: dom.getAttribute(\"title\")}\n }}],\n toDOM(node) { let {href, title} = node.attrs; return [\"a\", {href, title}, 0] }\n },\n\n // :: MarkSpec An emphasis mark. Rendered as an `<em>` element.\n // Has parse rules that also match `<i>` and `font-style: italic`.\n em: {\n parseDOM: [{tag: \"i\"}, {tag: \"em\"}, {style: \"font-style=italic\"}],\n toDOM() { return emDOM }\n },\n\n // :: MarkSpec A strong mark. Rendered as `<strong>`, parse rules\n // also match `<b>` and `font-weight: bold`.\n strong: {\n parseDOM: [{tag: \"strong\"},\n // This works around a Google Docs misbehavior where\n // pasted content will be inexplicably wrapped in `<b>`\n // tags with a font-weight normal.\n {tag: \"b\", getAttrs: node => node.style.fontWeight != \"normal\" && null},\n {style: \"font-weight\", getAttrs: value => /^(bold(er)?|[5-9]\\d{2,})$/.test(value) && null}],\n toDOM() { return strongDOM }\n },\n\n // :: MarkSpec Code font mark. Represented as a `<code>` element.\n code: {\n parseDOM: [{tag: \"code\"}],\n toDOM() { return codeDOM }\n }\n}\n\n// :: Schema\n// This schema roughly corresponds to the document schema used by\n// [CommonMark](http://commonmark.org/), minus the list elements,\n// which are defined in the [`prosemirror-schema-list`](#schema-list)\n// module.\n//\n// To reuse elements from this schema, extend or read from its\n// `spec.nodes` and `spec.marks` [properties](#model.Schema.spec).\nexport const schema = new Schema({nodes, marks})\n"],"names":["const","Schema"],"mappings":"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"}
|