pro-editor-schema 0.1.191 → 0.1.192

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 = [
@@ -533,6 +538,26 @@ var TERTIARY_SCHEMA = createSchema({
533
538
  ]
534
539
  });
535
540
 
541
+ // src/schema/elementSchemas/atoms/referenceMark.ts
542
+ var REFERENCE_MARK_SCHEMA = createSchema({
543
+ code: "referenceMark",
544
+ kind: "atom",
545
+ tag: REFERENCE_MARK_TAG,
546
+ requiredAttributes: [
547
+ ...ID_ATTRS,
548
+ TRACK_CHANGES_ATTR_DATA_DATE,
549
+ TRACK_CHANGES_ATTR_DATA_USERNAME,
550
+ TRACK_CHANGES_ATTR_DATA_USERID,
551
+ {
552
+ name: "data-position",
553
+ values: ["single", "middle", "start", "end"],
554
+ defaultValue: "single"
555
+ }
556
+ ],
557
+ optionalAttributes: [],
558
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
559
+ });
560
+
536
561
  // src/schema/elementSchemas/atoms/index.ts
537
562
  var ATOM_SCHEMAS = {
538
563
  indexterm: INDEXTERM_SCHEMA,
@@ -543,6 +568,7 @@ var ATOM_SCHEMAS = {
543
568
  bookmark: BOOKMARK_SCHEMA,
544
569
  see: SEE_SCHEMA,
545
570
  b: B_SCHEMA,
571
+ referenceMark: REFERENCE_MARK_SCHEMA,
546
572
  i: I_SCHEMA,
547
573
  u: U_SCHEMA,
548
574
  sc: SC_SCHEMA,
@@ -622,6 +648,7 @@ var CHAPTER_TAG = "CHAPTER";
622
648
  var EPIGRAPH_TAG = "EPIGRAPH";
623
649
  var INFO_TAG = "INFO1";
624
650
  var POEM_TAG = "POEM";
651
+ var BIBLIOMIXED_TAG = "BIBLIOMIXED";
625
652
  var MATHPHRASE_TAG = "MATHPHRASE";
626
653
  var MATH_TAG = "MATH";
627
654
  var MERROR_TAG = "MERROR";
@@ -1564,7 +1591,8 @@ var PARA_SCHEMA = createSchema({
1564
1591
  { tagName: SOURCE_TAG, required: false },
1565
1592
  { tagName: INFORMALFIGURE_TAG, required: false },
1566
1593
  { tagName: FIGURE_TAG, required: false },
1567
- { tagName: TOKEN_TAG, required: false }
1594
+ { tagName: TOKEN_TAG, required: false },
1595
+ { tagName: BIBLIOMIXED_TAG, required: false }
1568
1596
  ]
1569
1597
  });
1570
1598
 
@@ -1650,7 +1678,11 @@ var TD_SCHEMA = createSchema({
1650
1678
  kind: "element",
1651
1679
  tag: TD_TAG,
1652
1680
  requiredAttributes: [...ID_ATTRS],
1653
- optionalAttributes: [...TRACK_CHANGES_ATTRS, LAYOUT_CELL_WIDTH_ATTRIBUTE],
1681
+ optionalAttributes: [
1682
+ ...TRACK_CHANGES_ATTRS,
1683
+ LAYOUT_CELL_WIDTH_ATTRIBUTE,
1684
+ "width"
1685
+ ],
1654
1686
  allowedChildTagNames: [
1655
1687
  { tagName: TP_TAG, required: false },
1656
1688
  { tagName: UL_TAG, required: false },
@@ -2031,7 +2063,7 @@ var POEM_SCHEMA = createSchema({
2031
2063
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
2032
2064
  defaultChildTagName: LINE_TAG,
2033
2065
  allowedChildTagNames: [
2034
- { tagName: LINE_TAG, required: false },
2066
+ { tagName: LINE_TAG, required: true },
2035
2067
  { tagName: SOURCE_TAG, required: false }
2036
2068
  ]
2037
2069
  });
@@ -2252,6 +2284,7 @@ var ElementLabel = {
2252
2284
  sup: "Superscript",
2253
2285
  u: "Underline",
2254
2286
  b: "Bold",
2287
+ referenceMark: "Reference Mark",
2255
2288
  degrees: "Degrees",
2256
2289
  email: "Email",
2257
2290
  equation: "Equation",
@@ -2353,7 +2386,9 @@ var IGNORED_ELEMENT_SELECTORS = [
2353
2386
  "span.printlabel",
2354
2387
  "span.refIcon",
2355
2388
  "span.missLink",
2356
- "span.ref-drag"
2389
+ "span.ref-drag",
2390
+ "bibliomixed"
2391
+ // TODO: Remove this once we have a proper schema for bibliomixed
2357
2392
  ];
2358
2393
 
2359
2394
  // src/schema/shared/ignoredAttributes.ts
@@ -2364,6 +2399,7 @@ var IGNORED_ATTRIBUTES = [
2364
2399
  // Editor state
2365
2400
  "contenteditable",
2366
2401
  "draggable",
2402
+ "data-prevpos",
2367
2403
  "tabindex",
2368
2404
  // Browser behaviour
2369
2405
  "spellcheck",
@@ -2372,7 +2408,7 @@ var IGNORED_ATTRIBUTES = [
2372
2408
  "dir",
2373
2409
  "hidden"
2374
2410
  ];
2375
- var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_"];
2411
+ var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_", "drop", "drag"];
2376
2412
 
2377
2413
  // src/schema/utils/utils.ts
2378
2414
  var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) || IGNORED_ATTRIBUTES_STARTS_WITH.some(
@@ -2380,6 +2416,12 @@ var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) |
2380
2416
  );
2381
2417
  var isIgnoredElement = (element) => IGNORED_ELEMENT_SELECTORS.some((selector) => element.matches(selector));
2382
2418
  var findSchemaByCode = (code) => SCHEMAS[code];
2419
+ var findSchemaByTagName = (tagName) => {
2420
+ const candidates = Object.values(SCHEMAS).filter(
2421
+ (schema) => schema.tag === tagName.toUpperCase()
2422
+ );
2423
+ return candidates;
2424
+ };
2383
2425
  var findSchemaByElement = (element) => {
2384
2426
  const tagName = element.tagName.toUpperCase();
2385
2427
  const isInsertion = element.classList.contains("ins");
@@ -2411,9 +2453,7 @@ var findSchemaByElement = (element) => {
2411
2453
  return findSchemaByCode("footnoteSection");
2412
2454
  }
2413
2455
  }
2414
- const candidates = Object.values(SCHEMAS).filter(
2415
- (schema) => schema.tag === element.tagName.toUpperCase()
2416
- );
2456
+ const candidates = findSchemaByTagName(element.tagName.toUpperCase());
2417
2457
  return candidates[0];
2418
2458
  };
2419
2459
  var isAttributeRestricted = (attr) => typeof attr !== "string";
@@ -2896,12 +2936,14 @@ var validateXml = (xml, elementsLinkedTo, schemasToValidateAgainst) => {
2896
2936
  TRACK_CHANGES_ATTRS,
2897
2937
  TRACK_CHANGES_ATTR_DATA_DATE,
2898
2938
  TRACK_CHANGES_ATTR_DATA_TIME,
2939
+ TRACK_CHANGES_ATTR_DATA_USER,
2899
2940
  TRACK_CHANGES_ATTR_DATA_USERID,
2900
2941
  TRACK_CHANGES_ATTR_DATA_USERNAME,
2901
2942
  createElement,
2902
2943
  findAttributeDefinitionByName,
2903
2944
  findSchemaByCode,
2904
2945
  findSchemaByElement,
2946
+ findSchemaByTagName,
2905
2947
  getAttributeName,
2906
2948
  isAttributeRestricted,
2907
2949
  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 = [
@@ -469,6 +472,26 @@ var TERTIARY_SCHEMA = createSchema({
469
472
  ]
470
473
  });
471
474
 
475
+ // src/schema/elementSchemas/atoms/referenceMark.ts
476
+ var REFERENCE_MARK_SCHEMA = createSchema({
477
+ code: "referenceMark",
478
+ kind: "atom",
479
+ tag: REFERENCE_MARK_TAG,
480
+ requiredAttributes: [
481
+ ...ID_ATTRS,
482
+ TRACK_CHANGES_ATTR_DATA_DATE,
483
+ TRACK_CHANGES_ATTR_DATA_USERNAME,
484
+ TRACK_CHANGES_ATTR_DATA_USERID,
485
+ {
486
+ name: "data-position",
487
+ values: ["single", "middle", "start", "end"],
488
+ defaultValue: "single"
489
+ }
490
+ ],
491
+ optionalAttributes: [],
492
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
493
+ });
494
+
472
495
  // src/schema/elementSchemas/atoms/index.ts
473
496
  var ATOM_SCHEMAS = {
474
497
  indexterm: INDEXTERM_SCHEMA,
@@ -479,6 +502,7 @@ var ATOM_SCHEMAS = {
479
502
  bookmark: BOOKMARK_SCHEMA,
480
503
  see: SEE_SCHEMA,
481
504
  b: B_SCHEMA,
505
+ referenceMark: REFERENCE_MARK_SCHEMA,
482
506
  i: I_SCHEMA,
483
507
  u: U_SCHEMA,
484
508
  sc: SC_SCHEMA,
@@ -558,6 +582,7 @@ var CHAPTER_TAG = "CHAPTER";
558
582
  var EPIGRAPH_TAG = "EPIGRAPH";
559
583
  var INFO_TAG = "INFO1";
560
584
  var POEM_TAG = "POEM";
585
+ var BIBLIOMIXED_TAG = "BIBLIOMIXED";
561
586
  var MATHPHRASE_TAG = "MATHPHRASE";
562
587
  var MATH_TAG = "MATH";
563
588
  var MERROR_TAG = "MERROR";
@@ -1500,7 +1525,8 @@ var PARA_SCHEMA = createSchema({
1500
1525
  { tagName: SOURCE_TAG, required: false },
1501
1526
  { tagName: INFORMALFIGURE_TAG, required: false },
1502
1527
  { tagName: FIGURE_TAG, required: false },
1503
- { tagName: TOKEN_TAG, required: false }
1528
+ { tagName: TOKEN_TAG, required: false },
1529
+ { tagName: BIBLIOMIXED_TAG, required: false }
1504
1530
  ]
1505
1531
  });
1506
1532
 
@@ -1586,7 +1612,11 @@ var TD_SCHEMA = createSchema({
1586
1612
  kind: "element",
1587
1613
  tag: TD_TAG,
1588
1614
  requiredAttributes: [...ID_ATTRS],
1589
- optionalAttributes: [...TRACK_CHANGES_ATTRS, LAYOUT_CELL_WIDTH_ATTRIBUTE],
1615
+ optionalAttributes: [
1616
+ ...TRACK_CHANGES_ATTRS,
1617
+ LAYOUT_CELL_WIDTH_ATTRIBUTE,
1618
+ "width"
1619
+ ],
1590
1620
  allowedChildTagNames: [
1591
1621
  { tagName: TP_TAG, required: false },
1592
1622
  { tagName: UL_TAG, required: false },
@@ -1967,7 +1997,7 @@ var POEM_SCHEMA = createSchema({
1967
1997
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
1968
1998
  defaultChildTagName: LINE_TAG,
1969
1999
  allowedChildTagNames: [
1970
- { tagName: LINE_TAG, required: false },
2000
+ { tagName: LINE_TAG, required: true },
1971
2001
  { tagName: SOURCE_TAG, required: false }
1972
2002
  ]
1973
2003
  });
@@ -2188,6 +2218,7 @@ var ElementLabel = {
2188
2218
  sup: "Superscript",
2189
2219
  u: "Underline",
2190
2220
  b: "Bold",
2221
+ referenceMark: "Reference Mark",
2191
2222
  degrees: "Degrees",
2192
2223
  email: "Email",
2193
2224
  equation: "Equation",
@@ -2289,7 +2320,9 @@ var IGNORED_ELEMENT_SELECTORS = [
2289
2320
  "span.printlabel",
2290
2321
  "span.refIcon",
2291
2322
  "span.missLink",
2292
- "span.ref-drag"
2323
+ "span.ref-drag",
2324
+ "bibliomixed"
2325
+ // TODO: Remove this once we have a proper schema for bibliomixed
2293
2326
  ];
2294
2327
 
2295
2328
  // src/schema/shared/ignoredAttributes.ts
@@ -2300,6 +2333,7 @@ var IGNORED_ATTRIBUTES = [
2300
2333
  // Editor state
2301
2334
  "contenteditable",
2302
2335
  "draggable",
2336
+ "data-prevpos",
2303
2337
  "tabindex",
2304
2338
  // Browser behaviour
2305
2339
  "spellcheck",
@@ -2308,7 +2342,7 @@ var IGNORED_ATTRIBUTES = [
2308
2342
  "dir",
2309
2343
  "hidden"
2310
2344
  ];
2311
- var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_"];
2345
+ var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_", "drop", "drag"];
2312
2346
 
2313
2347
  // src/schema/utils/utils.ts
2314
2348
  var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) || IGNORED_ATTRIBUTES_STARTS_WITH.some(
@@ -2316,6 +2350,12 @@ var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) |
2316
2350
  );
2317
2351
  var isIgnoredElement = (element) => IGNORED_ELEMENT_SELECTORS.some((selector) => element.matches(selector));
2318
2352
  var findSchemaByCode = (code) => SCHEMAS[code];
2353
+ var findSchemaByTagName = (tagName) => {
2354
+ const candidates = Object.values(SCHEMAS).filter(
2355
+ (schema) => schema.tag === tagName.toUpperCase()
2356
+ );
2357
+ return candidates;
2358
+ };
2319
2359
  var findSchemaByElement = (element) => {
2320
2360
  const tagName = element.tagName.toUpperCase();
2321
2361
  const isInsertion = element.classList.contains("ins");
@@ -2347,9 +2387,7 @@ var findSchemaByElement = (element) => {
2347
2387
  return findSchemaByCode("footnoteSection");
2348
2388
  }
2349
2389
  }
2350
- const candidates = Object.values(SCHEMAS).filter(
2351
- (schema) => schema.tag === element.tagName.toUpperCase()
2352
- );
2390
+ const candidates = findSchemaByTagName(element.tagName.toUpperCase());
2353
2391
  return candidates[0];
2354
2392
  };
2355
2393
  var isAttributeRestricted = (attr) => typeof attr !== "string";
@@ -2831,12 +2869,14 @@ export {
2831
2869
  TRACK_CHANGES_ATTRS,
2832
2870
  TRACK_CHANGES_ATTR_DATA_DATE,
2833
2871
  TRACK_CHANGES_ATTR_DATA_TIME,
2872
+ TRACK_CHANGES_ATTR_DATA_USER,
2834
2873
  TRACK_CHANGES_ATTR_DATA_USERID,
2835
2874
  TRACK_CHANGES_ATTR_DATA_USERNAME,
2836
2875
  createElement,
2837
2876
  findAttributeDefinitionByName,
2838
2877
  findSchemaByCode,
2839
2878
  findSchemaByElement,
2879
+ findSchemaByTagName,
2840
2880
  getAttributeName,
2841
2881
  isAttributeRestricted,
2842
2882
  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.192",
4
4
  "description": "Pro Editor XML schemas",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",