pro-editor-schema 0.0.1 → 0.0.21

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
@@ -1,6 +1,7 @@
1
1
  declare enum ELEMENT_ROLE {
2
2
  QUERYCOMMENTSWRAPPER = "QUERYCOMMENTSWRAPPER",
3
3
  HEADING = "HEADING",
4
+ FOOTNOTE = "FOOTNOT",
4
5
  INS = "INS",
5
6
  DEL = "DEL"
6
7
  }
@@ -64,14 +65,24 @@ declare const TITLE_SCHEMA: Schema<readonly ["store", "ele-id", {
64
65
  readonly defaultValue: "H1";
65
66
  }], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
66
67
 
68
+ declare const FOOTNOTE_SCHEMA: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
69
+
70
+ declare const FOOTNOTE_NUMBER_SCHEMA: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
71
+
67
72
  declare const ELEMENT_SCHEMAS: ReadonlyArray<Schema>;
68
73
 
69
- declare const SECTION_SCHEMA: Schema<readonly ["store", "ele-id", "xmlid", {
74
+ declare const HEADING_SCHEMA: Schema<readonly ["store", "ele-id", "xmlid", {
70
75
  readonly name: "role";
71
76
  readonly values: readonly ["H1", "H2", "H3", "H4", "H5", "H6"];
72
77
  readonly defaultValue: "H1";
73
78
  }], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
74
79
 
80
+ declare const FOOTNOTE_SECTION_SCHEMA: Schema<readonly ["store", "ele-id", {
81
+ readonly name: "role";
82
+ readonly values: readonly ["ch", "bk"];
83
+ readonly defaultValue: "ch";
84
+ }], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
85
+
75
86
  declare const GROUP_ELEMENT_SCHEMAS: ReadonlyArray<Schema>;
76
87
 
77
88
  declare const COMMENT_SCHEMA: Schema<readonly ["store", "ele-id", "id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
@@ -138,4 +149,4 @@ declare const U_SCHEMA: Schema<readonly ["store", "ele-id"], readonly ["data-use
138
149
 
139
150
  declare const ATOM_SCHEMAS: ReadonlyArray<Schema>;
140
151
 
141
- export { ATOM_SCHEMAS, type AttributeDefinition, B_SCHEMA, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DELETION_SCHEMA, ELEMENT_ROLE, ELEMENT_SCHEMAS, EMPHASIS_SCHEMA, FOOTNOTE1_SCHEMA, type FreeAttribute, GROUP_ELEMENT_SCHEMAS, HIGHLIGHTMARK_SCHEMA, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INLINEEQUATION_SCHEMA, INLINE_ELEMENT_SCHEMAS, INSERTION_SCHEMA, I_SCHEMA, LINK1_SCHEMA, PARA_SCHEMA, QUERY_SCHEMA, REPLY_SCHEMA, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, SECTION_SCHEMA, STRIKE_SCHEMA, SUB_SCHEMA, SUP_SCHEMA, type Schema, type SchemaKind, TITLE_SCHEMA, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, URI_SCHEMA, U_SCHEMA, createElement, findAttributeDefinitionByName, findSchemaByElement, findSchemaByTag, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement };
152
+ export { ATOM_SCHEMAS, type AttributeDefinition, B_SCHEMA, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DELETION_SCHEMA, ELEMENT_ROLE, ELEMENT_SCHEMAS, EMPHASIS_SCHEMA, FOOTNOTE1_SCHEMA, FOOTNOTE_NUMBER_SCHEMA, FOOTNOTE_SCHEMA, FOOTNOTE_SECTION_SCHEMA, type FreeAttribute, GROUP_ELEMENT_SCHEMAS, HEADING_SCHEMA, HIGHLIGHTMARK_SCHEMA, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INLINEEQUATION_SCHEMA, INLINE_ELEMENT_SCHEMAS, INSERTION_SCHEMA, I_SCHEMA, LINK1_SCHEMA, PARA_SCHEMA, QUERY_SCHEMA, REPLY_SCHEMA, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, STRIKE_SCHEMA, SUB_SCHEMA, SUP_SCHEMA, type Schema, type SchemaKind, TITLE_SCHEMA, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, URI_SCHEMA, U_SCHEMA, createElement, findAttributeDefinitionByName, findSchemaByElement, findSchemaByTag, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  declare enum ELEMENT_ROLE {
2
2
  QUERYCOMMENTSWRAPPER = "QUERYCOMMENTSWRAPPER",
3
3
  HEADING = "HEADING",
4
+ FOOTNOTE = "FOOTNOT",
4
5
  INS = "INS",
5
6
  DEL = "DEL"
6
7
  }
@@ -64,14 +65,24 @@ declare const TITLE_SCHEMA: Schema<readonly ["store", "ele-id", {
64
65
  readonly defaultValue: "H1";
65
66
  }], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
66
67
 
68
+ declare const FOOTNOTE_SCHEMA: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
69
+
70
+ declare const FOOTNOTE_NUMBER_SCHEMA: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
71
+
67
72
  declare const ELEMENT_SCHEMAS: ReadonlyArray<Schema>;
68
73
 
69
- declare const SECTION_SCHEMA: Schema<readonly ["store", "ele-id", "xmlid", {
74
+ declare const HEADING_SCHEMA: Schema<readonly ["store", "ele-id", "xmlid", {
70
75
  readonly name: "role";
71
76
  readonly values: readonly ["H1", "H2", "H3", "H4", "H5", "H6"];
72
77
  readonly defaultValue: "H1";
73
78
  }], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
74
79
 
80
+ declare const FOOTNOTE_SECTION_SCHEMA: Schema<readonly ["store", "ele-id", {
81
+ readonly name: "role";
82
+ readonly values: readonly ["ch", "bk"];
83
+ readonly defaultValue: "ch";
84
+ }], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
85
+
75
86
  declare const GROUP_ELEMENT_SCHEMAS: ReadonlyArray<Schema>;
76
87
 
77
88
  declare const COMMENT_SCHEMA: Schema<readonly ["store", "ele-id", "id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
@@ -138,4 +149,4 @@ declare const U_SCHEMA: Schema<readonly ["store", "ele-id"], readonly ["data-use
138
149
 
139
150
  declare const ATOM_SCHEMAS: ReadonlyArray<Schema>;
140
151
 
141
- export { ATOM_SCHEMAS, type AttributeDefinition, B_SCHEMA, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DELETION_SCHEMA, ELEMENT_ROLE, ELEMENT_SCHEMAS, EMPHASIS_SCHEMA, FOOTNOTE1_SCHEMA, type FreeAttribute, GROUP_ELEMENT_SCHEMAS, HIGHLIGHTMARK_SCHEMA, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INLINEEQUATION_SCHEMA, INLINE_ELEMENT_SCHEMAS, INSERTION_SCHEMA, I_SCHEMA, LINK1_SCHEMA, PARA_SCHEMA, QUERY_SCHEMA, REPLY_SCHEMA, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, SECTION_SCHEMA, STRIKE_SCHEMA, SUB_SCHEMA, SUP_SCHEMA, type Schema, type SchemaKind, TITLE_SCHEMA, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, URI_SCHEMA, U_SCHEMA, createElement, findAttributeDefinitionByName, findSchemaByElement, findSchemaByTag, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement };
152
+ export { ATOM_SCHEMAS, type AttributeDefinition, B_SCHEMA, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DELETION_SCHEMA, ELEMENT_ROLE, ELEMENT_SCHEMAS, EMPHASIS_SCHEMA, FOOTNOTE1_SCHEMA, FOOTNOTE_NUMBER_SCHEMA, FOOTNOTE_SCHEMA, FOOTNOTE_SECTION_SCHEMA, type FreeAttribute, GROUP_ELEMENT_SCHEMAS, HEADING_SCHEMA, HIGHLIGHTMARK_SCHEMA, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INLINEEQUATION_SCHEMA, INLINE_ELEMENT_SCHEMAS, INSERTION_SCHEMA, I_SCHEMA, LINK1_SCHEMA, PARA_SCHEMA, QUERY_SCHEMA, REPLY_SCHEMA, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, STRIKE_SCHEMA, SUB_SCHEMA, SUP_SCHEMA, type Schema, type SchemaKind, TITLE_SCHEMA, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, URI_SCHEMA, U_SCHEMA, createElement, findAttributeDefinitionByName, findSchemaByElement, findSchemaByTag, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement };
package/dist/index.js CHANGED
@@ -30,7 +30,11 @@ __export(index_exports, {
30
30
  ELEMENT_SCHEMAS: () => ELEMENT_SCHEMAS,
31
31
  EMPHASIS_SCHEMA: () => EMPHASIS_SCHEMA,
32
32
  FOOTNOTE1_SCHEMA: () => FOOTNOTE1_SCHEMA,
33
+ FOOTNOTE_NUMBER_SCHEMA: () => FOOTNOTE_NUMBER_SCHEMA,
34
+ FOOTNOTE_SCHEMA: () => FOOTNOTE_SCHEMA,
35
+ FOOTNOTE_SECTION_SCHEMA: () => FOOTNOTE_SECTION_SCHEMA,
33
36
  GROUP_ELEMENT_SCHEMAS: () => GROUP_ELEMENT_SCHEMAS,
37
+ HEADING_SCHEMA: () => HEADING_SCHEMA,
34
38
  HIGHLIGHTMARK_SCHEMA: () => HIGHLIGHTMARK_SCHEMA,
35
39
  ID_ATTRS: () => ID_ATTRS,
36
40
  IGNORED_ATTRIBUTES: () => IGNORED_ATTRIBUTES,
@@ -47,7 +51,6 @@ __export(index_exports, {
47
51
  SCHEMAS: () => SCHEMAS,
48
52
  SCHEMA_MAP: () => SCHEMA_MAP,
49
53
  SC_SCHEMA: () => SC_SCHEMA,
50
- SECTION_SCHEMA: () => SECTION_SCHEMA,
51
54
  STRIKE_SCHEMA: () => STRIKE_SCHEMA,
52
55
  SUB_SCHEMA: () => SUB_SCHEMA,
53
56
  SUP_SCHEMA: () => SUP_SCHEMA,
@@ -141,6 +144,7 @@ var B_SCHEMA = createSchema({
141
144
  var ELEMENT_ROLE = /* @__PURE__ */ ((ELEMENT_ROLE2) => {
142
145
  ELEMENT_ROLE2["QUERYCOMMENTSWRAPPER"] = "QUERYCOMMENTSWRAPPER";
143
146
  ELEMENT_ROLE2["HEADING"] = "HEADING";
147
+ ELEMENT_ROLE2["FOOTNOTE"] = "FOOTNOT";
144
148
  ELEMENT_ROLE2["INS"] = "INS";
145
149
  ELEMENT_ROLE2["DEL"] = "DEL";
146
150
  return ELEMENT_ROLE2;
@@ -294,6 +298,8 @@ var INLINE_TAGS = [
294
298
  // src/schema/elementSchemas/elements/elementsTags.ts
295
299
  var PARA_TAG = "PARA";
296
300
  var TITLE_TAG = "TITLE1";
301
+ var FOOTNOTE_TAG = "FOOTNOTE";
302
+ var FOOTNOTE_NUMBER_TAG = "FOOTNOTENO";
297
303
 
298
304
  // src/schema/elementSchemas/elements/para.ts
299
305
  var PARA_SCHEMA = createSchema({
@@ -320,17 +326,37 @@ var TITLE_SCHEMA = createSchema({
320
326
  allowedChildTagNames: [...ATOM_TAGS, ...INLINE_TAGS]
321
327
  });
322
328
 
329
+ // src/schema/elementSchemas/elements/footnote.ts
330
+ var FOOTNOTE_SCHEMA = createSchema({
331
+ kind: "element",
332
+ tag: FOOTNOTE_TAG,
333
+ requiredAttributes: [...ID_ATTRS],
334
+ optionalAttributes: [...TRACK_CHANGES_ATTRS],
335
+ allowedChildTagNames: [FOOTNOTE_NUMBER_TAG, PARA_TAG]
336
+ });
337
+
338
+ // src/schema/elementSchemas/elements/footnoteNumber.ts
339
+ var FOOTNOTE_NUMBER_SCHEMA = createSchema({
340
+ kind: "element",
341
+ tag: FOOTNOTE_NUMBER_TAG,
342
+ requiredAttributes: [...ID_ATTRS],
343
+ optionalAttributes: [...TRACK_CHANGES_ATTRS],
344
+ allowedChildTagNames: []
345
+ });
346
+
323
347
  // src/schema/elementSchemas/elements/index.ts
324
348
  var ELEMENT_SCHEMAS = [
325
349
  PARA_SCHEMA,
326
- TITLE_SCHEMA
350
+ TITLE_SCHEMA,
351
+ FOOTNOTE_SCHEMA,
352
+ FOOTNOTE_NUMBER_SCHEMA
327
353
  ];
328
354
 
329
355
  // src/schema/elementSchemas/groupElements/groupElementsTags.ts
330
356
  var SECTION_TAG = "SECTION1";
331
357
 
332
- // src/schema/elementSchemas/groupElements/section.ts
333
- var SECTION_SCHEMA = createSchema({
358
+ // src/schema/elementSchemas/groupElements/heading.ts
359
+ var HEADING_SCHEMA = createSchema({
334
360
  kind: "group",
335
361
  tag: SECTION_TAG,
336
362
  role: "HEADING" /* HEADING */,
@@ -347,8 +373,28 @@ var SECTION_SCHEMA = createSchema({
347
373
  allowedChildTagNames: [PARA_TAG, TITLE_TAG, SECTION_TAG]
348
374
  });
349
375
 
376
+ // src/schema/elementSchemas/groupElements/footnoteSection.ts
377
+ var FOOTNOTE_SECTION_SCHEMA = createSchema({
378
+ kind: "group",
379
+ tag: SECTION_TAG,
380
+ role: "FOOTNOT" /* FOOTNOTE */,
381
+ requiredAttributes: [
382
+ ...ID_ATTRS,
383
+ {
384
+ name: "role",
385
+ values: ["ch", "bk"],
386
+ defaultValue: "ch"
387
+ }
388
+ ],
389
+ optionalAttributes: [...TRACK_CHANGES_ATTRS],
390
+ allowedChildTagNames: [FOOTNOTE_TAG, TITLE_TAG]
391
+ });
392
+
350
393
  // src/schema/elementSchemas/groupElements/index.ts
351
- var GROUP_ELEMENT_SCHEMAS = [SECTION_SCHEMA];
394
+ var GROUP_ELEMENT_SCHEMAS = [
395
+ HEADING_SCHEMA,
396
+ FOOTNOTE_SECTION_SCHEMA
397
+ ];
352
398
 
353
399
  // src/schema/elementSchemas/inlineElements/comment.ts
354
400
  var COMMENT_SCHEMA = createSchema({
@@ -538,9 +584,18 @@ var findSchemaByElement = (element) => {
538
584
  const isInsertion = element.classList.contains("ins");
539
585
  const isDeletion = element.classList.contains("del");
540
586
  const isQueryComment = element.classList.contains("cmtQurySection");
541
- const isHeading = element.getAttribute("role")?.startsWith("H");
542
- if (isHeading) {
543
- return SCHEMA_MAP.get(element.tagName.toUpperCase() + "HEADING" /* HEADING */);
587
+ const role = element.getAttribute("role");
588
+ if (role) {
589
+ if (role.startsWith("H")) {
590
+ return SCHEMA_MAP.get(
591
+ element.tagName.toUpperCase() + "HEADING" /* HEADING */
592
+ );
593
+ }
594
+ if (role === "ch" || role === "bk") {
595
+ return SCHEMA_MAP.get(
596
+ element.tagName.toUpperCase() + "FOOTNOT" /* FOOTNOTE */
597
+ );
598
+ }
544
599
  }
545
600
  if (isInsertion) {
546
601
  return SCHEMA_MAP.get(element.tagName.toUpperCase() + "INS" /* INS */);
@@ -592,7 +647,11 @@ var createElement = ({
592
647
  ELEMENT_SCHEMAS,
593
648
  EMPHASIS_SCHEMA,
594
649
  FOOTNOTE1_SCHEMA,
650
+ FOOTNOTE_NUMBER_SCHEMA,
651
+ FOOTNOTE_SCHEMA,
652
+ FOOTNOTE_SECTION_SCHEMA,
595
653
  GROUP_ELEMENT_SCHEMAS,
654
+ HEADING_SCHEMA,
596
655
  HIGHLIGHTMARK_SCHEMA,
597
656
  ID_ATTRS,
598
657
  IGNORED_ATTRIBUTES,
@@ -609,7 +668,6 @@ var createElement = ({
609
668
  SCHEMAS,
610
669
  SCHEMA_MAP,
611
670
  SC_SCHEMA,
612
- SECTION_SCHEMA,
613
671
  STRIKE_SCHEMA,
614
672
  SUB_SCHEMA,
615
673
  SUP_SCHEMA,
package/dist/index.mjs CHANGED
@@ -69,6 +69,7 @@ var B_SCHEMA = createSchema({
69
69
  var ELEMENT_ROLE = /* @__PURE__ */ ((ELEMENT_ROLE2) => {
70
70
  ELEMENT_ROLE2["QUERYCOMMENTSWRAPPER"] = "QUERYCOMMENTSWRAPPER";
71
71
  ELEMENT_ROLE2["HEADING"] = "HEADING";
72
+ ELEMENT_ROLE2["FOOTNOTE"] = "FOOTNOT";
72
73
  ELEMENT_ROLE2["INS"] = "INS";
73
74
  ELEMENT_ROLE2["DEL"] = "DEL";
74
75
  return ELEMENT_ROLE2;
@@ -222,6 +223,8 @@ var INLINE_TAGS = [
222
223
  // src/schema/elementSchemas/elements/elementsTags.ts
223
224
  var PARA_TAG = "PARA";
224
225
  var TITLE_TAG = "TITLE1";
226
+ var FOOTNOTE_TAG = "FOOTNOTE";
227
+ var FOOTNOTE_NUMBER_TAG = "FOOTNOTENO";
225
228
 
226
229
  // src/schema/elementSchemas/elements/para.ts
227
230
  var PARA_SCHEMA = createSchema({
@@ -248,17 +251,37 @@ var TITLE_SCHEMA = createSchema({
248
251
  allowedChildTagNames: [...ATOM_TAGS, ...INLINE_TAGS]
249
252
  });
250
253
 
254
+ // src/schema/elementSchemas/elements/footnote.ts
255
+ var FOOTNOTE_SCHEMA = createSchema({
256
+ kind: "element",
257
+ tag: FOOTNOTE_TAG,
258
+ requiredAttributes: [...ID_ATTRS],
259
+ optionalAttributes: [...TRACK_CHANGES_ATTRS],
260
+ allowedChildTagNames: [FOOTNOTE_NUMBER_TAG, PARA_TAG]
261
+ });
262
+
263
+ // src/schema/elementSchemas/elements/footnoteNumber.ts
264
+ var FOOTNOTE_NUMBER_SCHEMA = createSchema({
265
+ kind: "element",
266
+ tag: FOOTNOTE_NUMBER_TAG,
267
+ requiredAttributes: [...ID_ATTRS],
268
+ optionalAttributes: [...TRACK_CHANGES_ATTRS],
269
+ allowedChildTagNames: []
270
+ });
271
+
251
272
  // src/schema/elementSchemas/elements/index.ts
252
273
  var ELEMENT_SCHEMAS = [
253
274
  PARA_SCHEMA,
254
- TITLE_SCHEMA
275
+ TITLE_SCHEMA,
276
+ FOOTNOTE_SCHEMA,
277
+ FOOTNOTE_NUMBER_SCHEMA
255
278
  ];
256
279
 
257
280
  // src/schema/elementSchemas/groupElements/groupElementsTags.ts
258
281
  var SECTION_TAG = "SECTION1";
259
282
 
260
- // src/schema/elementSchemas/groupElements/section.ts
261
- var SECTION_SCHEMA = createSchema({
283
+ // src/schema/elementSchemas/groupElements/heading.ts
284
+ var HEADING_SCHEMA = createSchema({
262
285
  kind: "group",
263
286
  tag: SECTION_TAG,
264
287
  role: "HEADING" /* HEADING */,
@@ -275,8 +298,28 @@ var SECTION_SCHEMA = createSchema({
275
298
  allowedChildTagNames: [PARA_TAG, TITLE_TAG, SECTION_TAG]
276
299
  });
277
300
 
301
+ // src/schema/elementSchemas/groupElements/footnoteSection.ts
302
+ var FOOTNOTE_SECTION_SCHEMA = createSchema({
303
+ kind: "group",
304
+ tag: SECTION_TAG,
305
+ role: "FOOTNOT" /* FOOTNOTE */,
306
+ requiredAttributes: [
307
+ ...ID_ATTRS,
308
+ {
309
+ name: "role",
310
+ values: ["ch", "bk"],
311
+ defaultValue: "ch"
312
+ }
313
+ ],
314
+ optionalAttributes: [...TRACK_CHANGES_ATTRS],
315
+ allowedChildTagNames: [FOOTNOTE_TAG, TITLE_TAG]
316
+ });
317
+
278
318
  // src/schema/elementSchemas/groupElements/index.ts
279
- var GROUP_ELEMENT_SCHEMAS = [SECTION_SCHEMA];
319
+ var GROUP_ELEMENT_SCHEMAS = [
320
+ HEADING_SCHEMA,
321
+ FOOTNOTE_SECTION_SCHEMA
322
+ ];
280
323
 
281
324
  // src/schema/elementSchemas/inlineElements/comment.ts
282
325
  var COMMENT_SCHEMA = createSchema({
@@ -466,9 +509,18 @@ var findSchemaByElement = (element) => {
466
509
  const isInsertion = element.classList.contains("ins");
467
510
  const isDeletion = element.classList.contains("del");
468
511
  const isQueryComment = element.classList.contains("cmtQurySection");
469
- const isHeading = element.getAttribute("role")?.startsWith("H");
470
- if (isHeading) {
471
- return SCHEMA_MAP.get(element.tagName.toUpperCase() + "HEADING" /* HEADING */);
512
+ const role = element.getAttribute("role");
513
+ if (role) {
514
+ if (role.startsWith("H")) {
515
+ return SCHEMA_MAP.get(
516
+ element.tagName.toUpperCase() + "HEADING" /* HEADING */
517
+ );
518
+ }
519
+ if (role === "ch" || role === "bk") {
520
+ return SCHEMA_MAP.get(
521
+ element.tagName.toUpperCase() + "FOOTNOT" /* FOOTNOTE */
522
+ );
523
+ }
472
524
  }
473
525
  if (isInsertion) {
474
526
  return SCHEMA_MAP.get(element.tagName.toUpperCase() + "INS" /* INS */);
@@ -519,7 +571,11 @@ export {
519
571
  ELEMENT_SCHEMAS,
520
572
  EMPHASIS_SCHEMA,
521
573
  FOOTNOTE1_SCHEMA,
574
+ FOOTNOTE_NUMBER_SCHEMA,
575
+ FOOTNOTE_SCHEMA,
576
+ FOOTNOTE_SECTION_SCHEMA,
522
577
  GROUP_ELEMENT_SCHEMAS,
578
+ HEADING_SCHEMA,
523
579
  HIGHLIGHTMARK_SCHEMA,
524
580
  ID_ATTRS,
525
581
  IGNORED_ATTRIBUTES,
@@ -536,7 +592,6 @@ export {
536
592
  SCHEMAS,
537
593
  SCHEMA_MAP,
538
594
  SC_SCHEMA,
539
- SECTION_SCHEMA,
540
595
  STRIKE_SCHEMA,
541
596
  SUB_SCHEMA,
542
597
  SUP_SCHEMA,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pro-editor-schema",
3
- "version": "0.0.1",
3
+ "version": "0.0.21",
4
4
  "description": "Pro Editor XML schemas",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",