pro-editor-schema 0.1.191 → 0.1.193

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/dist/index.d.mts CHANGED
@@ -27,7 +27,7 @@ type Schema<TRequiredAttributes = readonly AttributeDefinition[], TOptionalAttri
27
27
  };
28
28
  type SchemaCode = ElementSchemaCode | InlineSchemaCode | AtomSchemaCode;
29
29
  type ElementSchemaCode = "degrees" | "email" | "equation" | "fignote" | "figsource" | "firstname" | "footnote" | "footnoteno" | "honorific" | "img" | "informalfigure" | "keyword" | "label1" | "li" | "line" | "lrh" | "math" | "mathphrase" | "merror" | "mfrac" | "mi" | "mmultiscripts" | "mn" | "mo" | "mover" | "mpadded" | "mphantom" | "mprescripts" | "mroot" | "mrow" | "ms" | "mspace" | "msqrt" | "mstyle" | "msub" | "msubsup" | "msup" | "mtable" | "mtd" | "mtext" | "mtr" | "munder" | "munderover" | "olink" | "org" | "orgname" | "para" | "punc" | "rrh" | "source1" | "speaker" | "subtitle1" | "surname" | "tag" | "tblfn" | "tblsource" | "thead" | "title1" | "token" | "tp" | "abstract1" | "affiliation" | "alttext" | "appendix" | "author" | "authorgroup" | "blockquote" | "caption1" | "chapter" | "dialogue" | "epigraph" | "figure1" | "footnoteSection" | "heading" | "imageobject" | "info1" | "keywordset" | "mediaobject" | "ol" | "personname" | "poem" | "sidebar" | "table" | "table1" | "tbody" | "td" | "tgroup" | "tr" | "ul";
30
- type AtomSchemaCode = "indexterm" | "primary" | "secondary" | "tertiary" | "quaternary" | "bookmark" | "see" | "commentQuerySection" | "comment" | "content" | "query" | "reply" | "deletion" | "emphasis" | "highlightmark" | "i" | "insertion" | "sc" | "strike" | "sub" | "sup" | "u" | "b";
30
+ type AtomSchemaCode = "indexterm" | "primary" | "secondary" | "tertiary" | "quaternary" | "bookmark" | "see" | "commentQuerySection" | "comment" | "content" | "query" | "reply" | "deletion" | "emphasis" | "highlightmark" | "i" | "insertion" | "sc" | "strike" | "sub" | "sup" | "u" | "b" | "referenceMark";
31
31
  type InlineSchemaCode = "footnote1" | "inlineequation" | "link" | "uri";
32
32
  declare const ElementLabel: Record<SchemaCode, string>;
33
33
 
@@ -36,6 +36,7 @@ declare const SCHEMAS: Record<SchemaCode, Schema>;
36
36
  declare const isIgnoredAttribute: (attribute: string) => boolean;
37
37
  declare const isIgnoredElement: (element: Element) => boolean;
38
38
  declare const findSchemaByCode: (code: SchemaCode) => Schema;
39
+ declare const findSchemaByTagName: (tagName: string) => Schema[];
39
40
  declare const findSchemaByElement: (element: Element) => Schema;
40
41
  declare const isAttributeRestricted: (attr: AttributeDefinition) => attr is RestrictedAttribute;
41
42
  declare const getAttributeName: (attribute: AttributeDefinition) => string;
@@ -73,10 +74,11 @@ declare const LAYOUT_TABLE_ORIENTATION_ATTRIBUTE = "data-table-orientation";
73
74
  declare const LAYOUT_TABLE_PLACEMENT_ATTRIBUTE = "data-table-placement";
74
75
  declare const LAYOUT_ATTRIBUTES: readonly ["data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style"];
75
76
  declare const TRACK_CHANGES_ATTR_DATA_USERNAME = "data-username";
77
+ declare const TRACK_CHANGES_ATTR_DATA_USER = "data-user";
76
78
  declare const TRACK_CHANGES_ATTR_DATA_USERID = "data-userid";
77
79
  declare const TRACK_CHANGES_ATTR_DATA_TIME = "data-time";
78
80
  declare const TRACK_CHANGES_ATTR_DATA_DATE = "data-date";
79
- declare const TRACK_CHANGES_ATTRS: readonly ["data-username", "data-userid", "data-time", "data-date"];
81
+ declare const TRACK_CHANGES_ATTRS: readonly ["data-username", "data-user", "data-userid", "data-time", "data-date"];
80
82
  declare const ELE_ID_ATTRIBUTE = "ele-id";
81
83
  declare const STORE_ATTRIBUTE = "store";
82
84
  declare const ID_ATTRS: readonly ["store", "ele-id"];
@@ -109,4 +111,4 @@ type ValidationError = {
109
111
  */
110
112
  declare const validateXml: (xml: Element, elementsLinkedTo: readonly string[], schemasToValidateAgainst: SchemaCode[]) => ValidationError[];
111
113
 
112
- export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type ForbiddenElement, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INDENT_TYPE_ATTRIBUTE, INLINE_ELEMENT_SCHEMAS, type InlineSchemaCode, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH_ATTRIBUTE, LAYOUT_TABLE_ORIENTATION_ATTRIBUTE, LAYOUT_TABLE_PLACEMENT_ATTRIBUTE, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, RIGHT_INDENT_ATTRIBUTE, type ResolveTo, type RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaCode, type SchemaKind, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateXml };
114
+ export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type ForbiddenElement, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INDENT_TYPE_ATTRIBUTE, INLINE_ELEMENT_SCHEMAS, type InlineSchemaCode, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH_ATTRIBUTE, LAYOUT_TABLE_ORIENTATION_ATTRIBUTE, LAYOUT_TABLE_PLACEMENT_ATTRIBUTE, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, RIGHT_INDENT_ATTRIBUTE, type ResolveTo, type RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaCode, type SchemaKind, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USER, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, findSchemaByTagName, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateXml };
package/dist/index.d.ts CHANGED
@@ -27,7 +27,7 @@ type Schema<TRequiredAttributes = readonly AttributeDefinition[], TOptionalAttri
27
27
  };
28
28
  type SchemaCode = ElementSchemaCode | InlineSchemaCode | AtomSchemaCode;
29
29
  type ElementSchemaCode = "degrees" | "email" | "equation" | "fignote" | "figsource" | "firstname" | "footnote" | "footnoteno" | "honorific" | "img" | "informalfigure" | "keyword" | "label1" | "li" | "line" | "lrh" | "math" | "mathphrase" | "merror" | "mfrac" | "mi" | "mmultiscripts" | "mn" | "mo" | "mover" | "mpadded" | "mphantom" | "mprescripts" | "mroot" | "mrow" | "ms" | "mspace" | "msqrt" | "mstyle" | "msub" | "msubsup" | "msup" | "mtable" | "mtd" | "mtext" | "mtr" | "munder" | "munderover" | "olink" | "org" | "orgname" | "para" | "punc" | "rrh" | "source1" | "speaker" | "subtitle1" | "surname" | "tag" | "tblfn" | "tblsource" | "thead" | "title1" | "token" | "tp" | "abstract1" | "affiliation" | "alttext" | "appendix" | "author" | "authorgroup" | "blockquote" | "caption1" | "chapter" | "dialogue" | "epigraph" | "figure1" | "footnoteSection" | "heading" | "imageobject" | "info1" | "keywordset" | "mediaobject" | "ol" | "personname" | "poem" | "sidebar" | "table" | "table1" | "tbody" | "td" | "tgroup" | "tr" | "ul";
30
- type AtomSchemaCode = "indexterm" | "primary" | "secondary" | "tertiary" | "quaternary" | "bookmark" | "see" | "commentQuerySection" | "comment" | "content" | "query" | "reply" | "deletion" | "emphasis" | "highlightmark" | "i" | "insertion" | "sc" | "strike" | "sub" | "sup" | "u" | "b";
30
+ type AtomSchemaCode = "indexterm" | "primary" | "secondary" | "tertiary" | "quaternary" | "bookmark" | "see" | "commentQuerySection" | "comment" | "content" | "query" | "reply" | "deletion" | "emphasis" | "highlightmark" | "i" | "insertion" | "sc" | "strike" | "sub" | "sup" | "u" | "b" | "referenceMark";
31
31
  type InlineSchemaCode = "footnote1" | "inlineequation" | "link" | "uri";
32
32
  declare const ElementLabel: Record<SchemaCode, string>;
33
33
 
@@ -36,6 +36,7 @@ declare const SCHEMAS: Record<SchemaCode, Schema>;
36
36
  declare const isIgnoredAttribute: (attribute: string) => boolean;
37
37
  declare const isIgnoredElement: (element: Element) => boolean;
38
38
  declare const findSchemaByCode: (code: SchemaCode) => Schema;
39
+ declare const findSchemaByTagName: (tagName: string) => Schema[];
39
40
  declare const findSchemaByElement: (element: Element) => Schema;
40
41
  declare const isAttributeRestricted: (attr: AttributeDefinition) => attr is RestrictedAttribute;
41
42
  declare const getAttributeName: (attribute: AttributeDefinition) => string;
@@ -73,10 +74,11 @@ declare const LAYOUT_TABLE_ORIENTATION_ATTRIBUTE = "data-table-orientation";
73
74
  declare const LAYOUT_TABLE_PLACEMENT_ATTRIBUTE = "data-table-placement";
74
75
  declare const LAYOUT_ATTRIBUTES: readonly ["data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style"];
75
76
  declare const TRACK_CHANGES_ATTR_DATA_USERNAME = "data-username";
77
+ declare const TRACK_CHANGES_ATTR_DATA_USER = "data-user";
76
78
  declare const TRACK_CHANGES_ATTR_DATA_USERID = "data-userid";
77
79
  declare const TRACK_CHANGES_ATTR_DATA_TIME = "data-time";
78
80
  declare const TRACK_CHANGES_ATTR_DATA_DATE = "data-date";
79
- declare const TRACK_CHANGES_ATTRS: readonly ["data-username", "data-userid", "data-time", "data-date"];
81
+ declare const TRACK_CHANGES_ATTRS: readonly ["data-username", "data-user", "data-userid", "data-time", "data-date"];
80
82
  declare const ELE_ID_ATTRIBUTE = "ele-id";
81
83
  declare const STORE_ATTRIBUTE = "store";
82
84
  declare const ID_ATTRS: readonly ["store", "ele-id"];
@@ -109,4 +111,4 @@ type ValidationError = {
109
111
  */
110
112
  declare const validateXml: (xml: Element, elementsLinkedTo: readonly string[], schemasToValidateAgainst: SchemaCode[]) => ValidationError[];
111
113
 
112
- export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type ForbiddenElement, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INDENT_TYPE_ATTRIBUTE, INLINE_ELEMENT_SCHEMAS, type InlineSchemaCode, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH_ATTRIBUTE, LAYOUT_TABLE_ORIENTATION_ATTRIBUTE, LAYOUT_TABLE_PLACEMENT_ATTRIBUTE, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, RIGHT_INDENT_ATTRIBUTE, type ResolveTo, type RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaCode, type SchemaKind, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateXml };
114
+ export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type ForbiddenElement, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INDENT_TYPE_ATTRIBUTE, INLINE_ELEMENT_SCHEMAS, type InlineSchemaCode, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH_ATTRIBUTE, LAYOUT_TABLE_ORIENTATION_ATTRIBUTE, LAYOUT_TABLE_PLACEMENT_ATTRIBUTE, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, RIGHT_INDENT_ATTRIBUTE, type ResolveTo, type RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaCode, type SchemaKind, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USER, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, findSchemaByTagName, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateXml };
package/dist/index.js CHANGED
@@ -48,12 +48,14 @@ __export(index_exports, {
48
48
  TRACK_CHANGES_ATTRS: () => TRACK_CHANGES_ATTRS,
49
49
  TRACK_CHANGES_ATTR_DATA_DATE: () => TRACK_CHANGES_ATTR_DATA_DATE,
50
50
  TRACK_CHANGES_ATTR_DATA_TIME: () => TRACK_CHANGES_ATTR_DATA_TIME,
51
+ TRACK_CHANGES_ATTR_DATA_USER: () => TRACK_CHANGES_ATTR_DATA_USER,
51
52
  TRACK_CHANGES_ATTR_DATA_USERID: () => TRACK_CHANGES_ATTR_DATA_USERID,
52
53
  TRACK_CHANGES_ATTR_DATA_USERNAME: () => TRACK_CHANGES_ATTR_DATA_USERNAME,
53
54
  createElement: () => createElement,
54
55
  findAttributeDefinitionByName: () => findAttributeDefinitionByName,
55
56
  findSchemaByCode: () => findSchemaByCode,
56
57
  findSchemaByElement: () => findSchemaByElement,
58
+ findSchemaByTagName: () => findSchemaByTagName,
57
59
  getAttributeName: () => getAttributeName,
58
60
  isAttributeRestricted: () => isAttributeRestricted,
59
61
  isIgnoredAttribute: () => isIgnoredAttribute,
@@ -111,11 +113,13 @@ var LAYOUT_ATTRIBUTES = [
111
113
  STYLE_NAME_ATTRIBUTE
112
114
  ];
113
115
  var TRACK_CHANGES_ATTR_DATA_USERNAME = "data-username";
116
+ var TRACK_CHANGES_ATTR_DATA_USER = "data-user";
114
117
  var TRACK_CHANGES_ATTR_DATA_USERID = "data-userid";
115
118
  var TRACK_CHANGES_ATTR_DATA_TIME = "data-time";
116
119
  var TRACK_CHANGES_ATTR_DATA_DATE = "data-date";
117
120
  var TRACK_CHANGES_ATTRS = [
118
121
  TRACK_CHANGES_ATTR_DATA_USERNAME,
122
+ TRACK_CHANGES_ATTR_DATA_USER,
119
123
  TRACK_CHANGES_ATTR_DATA_USERID,
120
124
  TRACK_CHANGES_ATTR_DATA_TIME,
121
125
  TRACK_CHANGES_ATTR_DATA_DATE
@@ -146,6 +150,7 @@ var TERTIARY_TAG = "TERTIARY";
146
150
  var QUATERNARY_TAG = "QUATERNARY";
147
151
  var BOOKMARK_TAG = "BOOKMARK";
148
152
  var SEE_TAG = "SEE";
153
+ var REFERENCE_MARK_TAG = "REFERENCE";
149
154
 
150
155
  // src/schema/shared/allowedAtomsChildren.ts
151
156
  var ATOM_TAGS_ALLOWED_CHILDREN = [
@@ -161,7 +166,8 @@ var ATOM_TAGS_ALLOWED_CHILDREN = [
161
166
  { tagName: HIGHLIGHTMARK_TAG, required: false },
162
167
  { tagName: SPAN_TAG, required: false },
163
168
  { tagName: COMMENT_TAG, required: false },
164
- { tagName: QUERY_TAG, required: false }
169
+ { tagName: QUERY_TAG, required: false },
170
+ { tagName: REFERENCE_MARK_TAG, required: false }
165
171
  ];
166
172
 
167
173
  // src/schema/elementSchemas/atoms/b.ts
@@ -533,6 +539,26 @@ var TERTIARY_SCHEMA = createSchema({
533
539
  ]
534
540
  });
535
541
 
542
+ // src/schema/elementSchemas/atoms/referenceMark.ts
543
+ var REFERENCE_MARK_SCHEMA = createSchema({
544
+ code: "referenceMark",
545
+ kind: "atom",
546
+ tag: REFERENCE_MARK_TAG,
547
+ requiredAttributes: [
548
+ ...ID_ATTRS,
549
+ TRACK_CHANGES_ATTR_DATA_DATE,
550
+ TRACK_CHANGES_ATTR_DATA_USERNAME,
551
+ TRACK_CHANGES_ATTR_DATA_USERID,
552
+ {
553
+ name: "data-position",
554
+ values: ["single", "middle", "start", "end"],
555
+ defaultValue: "single"
556
+ }
557
+ ],
558
+ optionalAttributes: [],
559
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
560
+ });
561
+
536
562
  // src/schema/elementSchemas/atoms/index.ts
537
563
  var ATOM_SCHEMAS = {
538
564
  indexterm: INDEXTERM_SCHEMA,
@@ -543,6 +569,7 @@ var ATOM_SCHEMAS = {
543
569
  bookmark: BOOKMARK_SCHEMA,
544
570
  see: SEE_SCHEMA,
545
571
  b: B_SCHEMA,
572
+ referenceMark: REFERENCE_MARK_SCHEMA,
546
573
  i: I_SCHEMA,
547
574
  u: U_SCHEMA,
548
575
  sc: SC_SCHEMA,
@@ -622,6 +649,7 @@ var CHAPTER_TAG = "CHAPTER";
622
649
  var EPIGRAPH_TAG = "EPIGRAPH";
623
650
  var INFO_TAG = "INFO1";
624
651
  var POEM_TAG = "POEM";
652
+ var BIBLIOMIXED_TAG = "BIBLIOMIXED";
625
653
  var MATHPHRASE_TAG = "MATHPHRASE";
626
654
  var MATH_TAG = "MATH";
627
655
  var MERROR_TAG = "MERROR";
@@ -1564,7 +1592,8 @@ var PARA_SCHEMA = createSchema({
1564
1592
  { tagName: SOURCE_TAG, required: false },
1565
1593
  { tagName: INFORMALFIGURE_TAG, required: false },
1566
1594
  { tagName: FIGURE_TAG, required: false },
1567
- { tagName: TOKEN_TAG, required: false }
1595
+ { tagName: TOKEN_TAG, required: false },
1596
+ { tagName: BIBLIOMIXED_TAG, required: false }
1568
1597
  ]
1569
1598
  });
1570
1599
 
@@ -1650,7 +1679,11 @@ var TD_SCHEMA = createSchema({
1650
1679
  kind: "element",
1651
1680
  tag: TD_TAG,
1652
1681
  requiredAttributes: [...ID_ATTRS],
1653
- optionalAttributes: [...TRACK_CHANGES_ATTRS, LAYOUT_CELL_WIDTH_ATTRIBUTE],
1682
+ optionalAttributes: [
1683
+ ...TRACK_CHANGES_ATTRS,
1684
+ LAYOUT_CELL_WIDTH_ATTRIBUTE,
1685
+ "width"
1686
+ ],
1654
1687
  allowedChildTagNames: [
1655
1688
  { tagName: TP_TAG, required: false },
1656
1689
  { tagName: UL_TAG, required: false },
@@ -2031,7 +2064,7 @@ var POEM_SCHEMA = createSchema({
2031
2064
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
2032
2065
  defaultChildTagName: LINE_TAG,
2033
2066
  allowedChildTagNames: [
2034
- { tagName: LINE_TAG, required: false },
2067
+ { tagName: LINE_TAG, required: true },
2035
2068
  { tagName: SOURCE_TAG, required: false }
2036
2069
  ]
2037
2070
  });
@@ -2252,6 +2285,7 @@ var ElementLabel = {
2252
2285
  sup: "Superscript",
2253
2286
  u: "Underline",
2254
2287
  b: "Bold",
2288
+ referenceMark: "Reference Mark",
2255
2289
  degrees: "Degrees",
2256
2290
  email: "Email",
2257
2291
  equation: "Equation",
@@ -2353,7 +2387,9 @@ var IGNORED_ELEMENT_SELECTORS = [
2353
2387
  "span.printlabel",
2354
2388
  "span.refIcon",
2355
2389
  "span.missLink",
2356
- "span.ref-drag"
2390
+ "span.ref-drag",
2391
+ "bibliomixed"
2392
+ // TODO: Remove this once we have a proper schema for bibliomixed
2357
2393
  ];
2358
2394
 
2359
2395
  // src/schema/shared/ignoredAttributes.ts
@@ -2364,6 +2400,7 @@ var IGNORED_ATTRIBUTES = [
2364
2400
  // Editor state
2365
2401
  "contenteditable",
2366
2402
  "draggable",
2403
+ "data-prevpos",
2367
2404
  "tabindex",
2368
2405
  // Browser behaviour
2369
2406
  "spellcheck",
@@ -2372,7 +2409,7 @@ var IGNORED_ATTRIBUTES = [
2372
2409
  "dir",
2373
2410
  "hidden"
2374
2411
  ];
2375
- var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_"];
2412
+ var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_", "drop", "drag"];
2376
2413
 
2377
2414
  // src/schema/utils/utils.ts
2378
2415
  var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) || IGNORED_ATTRIBUTES_STARTS_WITH.some(
@@ -2380,6 +2417,12 @@ var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) |
2380
2417
  );
2381
2418
  var isIgnoredElement = (element) => IGNORED_ELEMENT_SELECTORS.some((selector) => element.matches(selector));
2382
2419
  var findSchemaByCode = (code) => SCHEMAS[code];
2420
+ var findSchemaByTagName = (tagName) => {
2421
+ const candidates = Object.values(SCHEMAS).filter(
2422
+ (schema) => schema.tag === tagName.toUpperCase()
2423
+ );
2424
+ return candidates;
2425
+ };
2383
2426
  var findSchemaByElement = (element) => {
2384
2427
  const tagName = element.tagName.toUpperCase();
2385
2428
  const isInsertion = element.classList.contains("ins");
@@ -2411,9 +2454,7 @@ var findSchemaByElement = (element) => {
2411
2454
  return findSchemaByCode("footnoteSection");
2412
2455
  }
2413
2456
  }
2414
- const candidates = Object.values(SCHEMAS).filter(
2415
- (schema) => schema.tag === element.tagName.toUpperCase()
2416
- );
2457
+ const candidates = findSchemaByTagName(element.tagName.toUpperCase());
2417
2458
  return candidates[0];
2418
2459
  };
2419
2460
  var isAttributeRestricted = (attr) => typeof attr !== "string";
@@ -2896,12 +2937,14 @@ var validateXml = (xml, elementsLinkedTo, schemasToValidateAgainst) => {
2896
2937
  TRACK_CHANGES_ATTRS,
2897
2938
  TRACK_CHANGES_ATTR_DATA_DATE,
2898
2939
  TRACK_CHANGES_ATTR_DATA_TIME,
2940
+ TRACK_CHANGES_ATTR_DATA_USER,
2899
2941
  TRACK_CHANGES_ATTR_DATA_USERID,
2900
2942
  TRACK_CHANGES_ATTR_DATA_USERNAME,
2901
2943
  createElement,
2902
2944
  findAttributeDefinitionByName,
2903
2945
  findSchemaByCode,
2904
2946
  findSchemaByElement,
2947
+ findSchemaByTagName,
2905
2948
  getAttributeName,
2906
2949
  isAttributeRestricted,
2907
2950
  isIgnoredAttribute,
package/dist/index.mjs CHANGED
@@ -47,11 +47,13 @@ var LAYOUT_ATTRIBUTES = [
47
47
  STYLE_NAME_ATTRIBUTE
48
48
  ];
49
49
  var TRACK_CHANGES_ATTR_DATA_USERNAME = "data-username";
50
+ var TRACK_CHANGES_ATTR_DATA_USER = "data-user";
50
51
  var TRACK_CHANGES_ATTR_DATA_USERID = "data-userid";
51
52
  var TRACK_CHANGES_ATTR_DATA_TIME = "data-time";
52
53
  var TRACK_CHANGES_ATTR_DATA_DATE = "data-date";
53
54
  var TRACK_CHANGES_ATTRS = [
54
55
  TRACK_CHANGES_ATTR_DATA_USERNAME,
56
+ TRACK_CHANGES_ATTR_DATA_USER,
55
57
  TRACK_CHANGES_ATTR_DATA_USERID,
56
58
  TRACK_CHANGES_ATTR_DATA_TIME,
57
59
  TRACK_CHANGES_ATTR_DATA_DATE
@@ -82,6 +84,7 @@ var TERTIARY_TAG = "TERTIARY";
82
84
  var QUATERNARY_TAG = "QUATERNARY";
83
85
  var BOOKMARK_TAG = "BOOKMARK";
84
86
  var SEE_TAG = "SEE";
87
+ var REFERENCE_MARK_TAG = "REFERENCE";
85
88
 
86
89
  // src/schema/shared/allowedAtomsChildren.ts
87
90
  var ATOM_TAGS_ALLOWED_CHILDREN = [
@@ -97,7 +100,8 @@ var ATOM_TAGS_ALLOWED_CHILDREN = [
97
100
  { tagName: HIGHLIGHTMARK_TAG, required: false },
98
101
  { tagName: SPAN_TAG, required: false },
99
102
  { tagName: COMMENT_TAG, required: false },
100
- { tagName: QUERY_TAG, required: false }
103
+ { tagName: QUERY_TAG, required: false },
104
+ { tagName: REFERENCE_MARK_TAG, required: false }
101
105
  ];
102
106
 
103
107
  // src/schema/elementSchemas/atoms/b.ts
@@ -469,6 +473,26 @@ var TERTIARY_SCHEMA = createSchema({
469
473
  ]
470
474
  });
471
475
 
476
+ // src/schema/elementSchemas/atoms/referenceMark.ts
477
+ var REFERENCE_MARK_SCHEMA = createSchema({
478
+ code: "referenceMark",
479
+ kind: "atom",
480
+ tag: REFERENCE_MARK_TAG,
481
+ requiredAttributes: [
482
+ ...ID_ATTRS,
483
+ TRACK_CHANGES_ATTR_DATA_DATE,
484
+ TRACK_CHANGES_ATTR_DATA_USERNAME,
485
+ TRACK_CHANGES_ATTR_DATA_USERID,
486
+ {
487
+ name: "data-position",
488
+ values: ["single", "middle", "start", "end"],
489
+ defaultValue: "single"
490
+ }
491
+ ],
492
+ optionalAttributes: [],
493
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
494
+ });
495
+
472
496
  // src/schema/elementSchemas/atoms/index.ts
473
497
  var ATOM_SCHEMAS = {
474
498
  indexterm: INDEXTERM_SCHEMA,
@@ -479,6 +503,7 @@ var ATOM_SCHEMAS = {
479
503
  bookmark: BOOKMARK_SCHEMA,
480
504
  see: SEE_SCHEMA,
481
505
  b: B_SCHEMA,
506
+ referenceMark: REFERENCE_MARK_SCHEMA,
482
507
  i: I_SCHEMA,
483
508
  u: U_SCHEMA,
484
509
  sc: SC_SCHEMA,
@@ -558,6 +583,7 @@ var CHAPTER_TAG = "CHAPTER";
558
583
  var EPIGRAPH_TAG = "EPIGRAPH";
559
584
  var INFO_TAG = "INFO1";
560
585
  var POEM_TAG = "POEM";
586
+ var BIBLIOMIXED_TAG = "BIBLIOMIXED";
561
587
  var MATHPHRASE_TAG = "MATHPHRASE";
562
588
  var MATH_TAG = "MATH";
563
589
  var MERROR_TAG = "MERROR";
@@ -1500,7 +1526,8 @@ var PARA_SCHEMA = createSchema({
1500
1526
  { tagName: SOURCE_TAG, required: false },
1501
1527
  { tagName: INFORMALFIGURE_TAG, required: false },
1502
1528
  { tagName: FIGURE_TAG, required: false },
1503
- { tagName: TOKEN_TAG, required: false }
1529
+ { tagName: TOKEN_TAG, required: false },
1530
+ { tagName: BIBLIOMIXED_TAG, required: false }
1504
1531
  ]
1505
1532
  });
1506
1533
 
@@ -1586,7 +1613,11 @@ var TD_SCHEMA = createSchema({
1586
1613
  kind: "element",
1587
1614
  tag: TD_TAG,
1588
1615
  requiredAttributes: [...ID_ATTRS],
1589
- optionalAttributes: [...TRACK_CHANGES_ATTRS, LAYOUT_CELL_WIDTH_ATTRIBUTE],
1616
+ optionalAttributes: [
1617
+ ...TRACK_CHANGES_ATTRS,
1618
+ LAYOUT_CELL_WIDTH_ATTRIBUTE,
1619
+ "width"
1620
+ ],
1590
1621
  allowedChildTagNames: [
1591
1622
  { tagName: TP_TAG, required: false },
1592
1623
  { tagName: UL_TAG, required: false },
@@ -1967,7 +1998,7 @@ var POEM_SCHEMA = createSchema({
1967
1998
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
1968
1999
  defaultChildTagName: LINE_TAG,
1969
2000
  allowedChildTagNames: [
1970
- { tagName: LINE_TAG, required: false },
2001
+ { tagName: LINE_TAG, required: true },
1971
2002
  { tagName: SOURCE_TAG, required: false }
1972
2003
  ]
1973
2004
  });
@@ -2188,6 +2219,7 @@ var ElementLabel = {
2188
2219
  sup: "Superscript",
2189
2220
  u: "Underline",
2190
2221
  b: "Bold",
2222
+ referenceMark: "Reference Mark",
2191
2223
  degrees: "Degrees",
2192
2224
  email: "Email",
2193
2225
  equation: "Equation",
@@ -2289,7 +2321,9 @@ var IGNORED_ELEMENT_SELECTORS = [
2289
2321
  "span.printlabel",
2290
2322
  "span.refIcon",
2291
2323
  "span.missLink",
2292
- "span.ref-drag"
2324
+ "span.ref-drag",
2325
+ "bibliomixed"
2326
+ // TODO: Remove this once we have a proper schema for bibliomixed
2293
2327
  ];
2294
2328
 
2295
2329
  // src/schema/shared/ignoredAttributes.ts
@@ -2300,6 +2334,7 @@ var IGNORED_ATTRIBUTES = [
2300
2334
  // Editor state
2301
2335
  "contenteditable",
2302
2336
  "draggable",
2337
+ "data-prevpos",
2303
2338
  "tabindex",
2304
2339
  // Browser behaviour
2305
2340
  "spellcheck",
@@ -2308,7 +2343,7 @@ var IGNORED_ATTRIBUTES = [
2308
2343
  "dir",
2309
2344
  "hidden"
2310
2345
  ];
2311
- var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_"];
2346
+ var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_", "drop", "drag"];
2312
2347
 
2313
2348
  // src/schema/utils/utils.ts
2314
2349
  var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) || IGNORED_ATTRIBUTES_STARTS_WITH.some(
@@ -2316,6 +2351,12 @@ var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) |
2316
2351
  );
2317
2352
  var isIgnoredElement = (element) => IGNORED_ELEMENT_SELECTORS.some((selector) => element.matches(selector));
2318
2353
  var findSchemaByCode = (code) => SCHEMAS[code];
2354
+ var findSchemaByTagName = (tagName) => {
2355
+ const candidates = Object.values(SCHEMAS).filter(
2356
+ (schema) => schema.tag === tagName.toUpperCase()
2357
+ );
2358
+ return candidates;
2359
+ };
2319
2360
  var findSchemaByElement = (element) => {
2320
2361
  const tagName = element.tagName.toUpperCase();
2321
2362
  const isInsertion = element.classList.contains("ins");
@@ -2347,9 +2388,7 @@ var findSchemaByElement = (element) => {
2347
2388
  return findSchemaByCode("footnoteSection");
2348
2389
  }
2349
2390
  }
2350
- const candidates = Object.values(SCHEMAS).filter(
2351
- (schema) => schema.tag === element.tagName.toUpperCase()
2352
- );
2391
+ const candidates = findSchemaByTagName(element.tagName.toUpperCase());
2353
2392
  return candidates[0];
2354
2393
  };
2355
2394
  var isAttributeRestricted = (attr) => typeof attr !== "string";
@@ -2831,12 +2870,14 @@ export {
2831
2870
  TRACK_CHANGES_ATTRS,
2832
2871
  TRACK_CHANGES_ATTR_DATA_DATE,
2833
2872
  TRACK_CHANGES_ATTR_DATA_TIME,
2873
+ TRACK_CHANGES_ATTR_DATA_USER,
2834
2874
  TRACK_CHANGES_ATTR_DATA_USERID,
2835
2875
  TRACK_CHANGES_ATTR_DATA_USERNAME,
2836
2876
  createElement,
2837
2877
  findAttributeDefinitionByName,
2838
2878
  findSchemaByCode,
2839
2879
  findSchemaByElement,
2880
+ findSchemaByTagName,
2840
2881
  getAttributeName,
2841
2882
  isAttributeRestricted,
2842
2883
  isIgnoredAttribute,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pro-editor-schema",
3
- "version": "0.1.191",
3
+ "version": "0.1.193",
4
4
  "description": "Pro Editor XML schemas",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",