pro-editor-schema 1.1.5 → 1.1.7

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
@@ -361,6 +361,9 @@ type CreateElementParams<TCode extends SchemaCode> = {
361
361
  };
362
362
  declare const createElement: <TCode extends SchemaCode>({ schemaCode, attributes, }: CreateElementParams<TCode>) => HTMLElement;
363
363
 
364
+ declare const queryElementBySchema: (content: Document | Element | HTMLElement | ParentNode, schemaCode: SchemaCode) => HTMLElement | undefined;
365
+ declare const queryAllElementsBySchema: (content: Document | Element | HTMLElement | ParentNode, schemaCode: SchemaCode) => HTMLElement[];
366
+
364
367
  declare const ElementLabel: Record<SchemaCode, string>;
365
368
 
366
369
  declare const IGNORED_ELEMENT_SELECTORS: string[];
@@ -740,4 +743,4 @@ type ValidationError = {
740
743
  */
741
744
  declare const validateXml: (xml: Element, elementsToLink: string[], linkElements: string[], schemasToValidateAgainst: SchemaCode[]) => ValidationError[];
742
745
 
743
- export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, DEPENDENT_FORBIDDEN_ELEMENTS, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IGNORED_VALIDATION_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 RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaAttributes, type SchemaCode, type SchemaKind, type SchemasByCode, 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, isIgnoredValidation, isTrackChangesSchema, validateXml };
746
+ export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, DEPENDENT_FORBIDDEN_ELEMENTS, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IGNORED_VALIDATION_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 RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaAttributes, type SchemaCode, type SchemaKind, type SchemasByCode, 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, isIgnoredValidation, isTrackChangesSchema, queryAllElementsBySchema, queryElementBySchema, validateXml };
package/dist/index.d.ts CHANGED
@@ -361,6 +361,9 @@ type CreateElementParams<TCode extends SchemaCode> = {
361
361
  };
362
362
  declare const createElement: <TCode extends SchemaCode>({ schemaCode, attributes, }: CreateElementParams<TCode>) => HTMLElement;
363
363
 
364
+ declare const queryElementBySchema: (content: Document | Element | HTMLElement | ParentNode, schemaCode: SchemaCode) => HTMLElement | undefined;
365
+ declare const queryAllElementsBySchema: (content: Document | Element | HTMLElement | ParentNode, schemaCode: SchemaCode) => HTMLElement[];
366
+
364
367
  declare const ElementLabel: Record<SchemaCode, string>;
365
368
 
366
369
  declare const IGNORED_ELEMENT_SELECTORS: string[];
@@ -740,4 +743,4 @@ type ValidationError = {
740
743
  */
741
744
  declare const validateXml: (xml: Element, elementsToLink: string[], linkElements: string[], schemasToValidateAgainst: SchemaCode[]) => ValidationError[];
742
745
 
743
- export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, DEPENDENT_FORBIDDEN_ELEMENTS, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IGNORED_VALIDATION_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 RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaAttributes, type SchemaCode, type SchemaKind, type SchemasByCode, 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, isIgnoredValidation, isTrackChangesSchema, validateXml };
746
+ export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, DEPENDENT_FORBIDDEN_ELEMENTS, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IGNORED_VALIDATION_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 RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaAttributes, type SchemaCode, type SchemaKind, type SchemasByCode, 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, isIgnoredValidation, isTrackChangesSchema, queryAllElementsBySchema, queryElementBySchema, validateXml };
package/dist/index.js CHANGED
@@ -72,6 +72,8 @@ __export(index_exports, {
72
72
  isIgnoredElement: () => isIgnoredElement,
73
73
  isIgnoredValidation: () => isIgnoredValidation,
74
74
  isTrackChangesSchema: () => isTrackChangesSchema,
75
+ queryAllElementsBySchema: () => queryAllElementsBySchema,
76
+ queryElementBySchema: () => queryElementBySchema,
75
77
  validateXml: () => validateXml
76
78
  });
77
79
  module.exports = __toCommonJS(index_exports);
@@ -2463,6 +2465,31 @@ var createElement = ({
2463
2465
  return element;
2464
2466
  };
2465
2467
 
2468
+ // src/schema/utils/queryElementBySchema.ts
2469
+ var queryElementBySchema = (content, schemaCode) => {
2470
+ const schema = findSchemaByCode(schemaCode);
2471
+ const element = content.querySelector(schema.tag.toLowerCase());
2472
+ if (!element) return void 0;
2473
+ if (schema.matchesElement && !schema.matchesElement(element)) {
2474
+ return void 0;
2475
+ }
2476
+ return element;
2477
+ };
2478
+ var queryAllElementsBySchema = (content, schemaCode) => {
2479
+ const schema = findSchemaByCode(schemaCode);
2480
+ const elements = content.querySelectorAll(
2481
+ schema.tag.toLowerCase()
2482
+ );
2483
+ const matchingElements = [];
2484
+ for (const element of elements) {
2485
+ if (schema.matchesElement && !schema.matchesElement(element)) {
2486
+ continue;
2487
+ }
2488
+ matchingElements.push(element);
2489
+ }
2490
+ return matchingElements;
2491
+ };
2492
+
2466
2493
  // src/schema/shared/labelElements.ts
2467
2494
  var ElementLabel = {
2468
2495
  referenceBibliomixed: "Reference Bibliomixed",
@@ -2982,7 +3009,8 @@ var validateReferenceCited = (referenceElement, linkElements) => {
2982
3009
 
2983
3010
  // src/validation/validateWeblink.ts
2984
3011
  var import_mark = __toESM(require("mark.js"));
2985
- var WEB_URI_PATTERN = "(?:(?:https?):\\/\\/|www\\.)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}(?::\\d{1,5})?(?:\\/[^\\s]*)?";
3012
+ var EDGE_PUNCTUATION = `:;.,\\/\\-\u2013\u2014\u2012_(){}[\\]!'"+=\xAB\xBB\u2039\u203A\u201C\u201D\u2018\u2019<>`;
3013
+ var WEB_URI_PATTERN = `(?:(?:https?):\\/\\/|www\\.)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}(?::\\d{1,5})?(?:\\/[^\\s]*[^\\s${EDGE_PUNCTUATION}])?`;
2986
3014
  var WEB_URI_IN_TEXT_REGEX = new RegExp(WEB_URI_PATTERN, "gi");
2987
3015
  var POSSIBLE_WEBLINK_EXCLUDE_SELECTORS = [
2988
3016
  "tag",
@@ -3127,5 +3155,7 @@ var validateXml = (xml, elementsToLink, linkElements, schemasToValidateAgainst)
3127
3155
  isIgnoredElement,
3128
3156
  isIgnoredValidation,
3129
3157
  isTrackChangesSchema,
3158
+ queryAllElementsBySchema,
3159
+ queryElementBySchema,
3130
3160
  validateXml
3131
3161
  });
package/dist/index.mjs CHANGED
@@ -2385,6 +2385,31 @@ var createElement = ({
2385
2385
  return element;
2386
2386
  };
2387
2387
 
2388
+ // src/schema/utils/queryElementBySchema.ts
2389
+ var queryElementBySchema = (content, schemaCode) => {
2390
+ const schema = findSchemaByCode(schemaCode);
2391
+ const element = content.querySelector(schema.tag.toLowerCase());
2392
+ if (!element) return void 0;
2393
+ if (schema.matchesElement && !schema.matchesElement(element)) {
2394
+ return void 0;
2395
+ }
2396
+ return element;
2397
+ };
2398
+ var queryAllElementsBySchema = (content, schemaCode) => {
2399
+ const schema = findSchemaByCode(schemaCode);
2400
+ const elements = content.querySelectorAll(
2401
+ schema.tag.toLowerCase()
2402
+ );
2403
+ const matchingElements = [];
2404
+ for (const element of elements) {
2405
+ if (schema.matchesElement && !schema.matchesElement(element)) {
2406
+ continue;
2407
+ }
2408
+ matchingElements.push(element);
2409
+ }
2410
+ return matchingElements;
2411
+ };
2412
+
2388
2413
  // src/schema/shared/labelElements.ts
2389
2414
  var ElementLabel = {
2390
2415
  referenceBibliomixed: "Reference Bibliomixed",
@@ -2904,7 +2929,8 @@ var validateReferenceCited = (referenceElement, linkElements) => {
2904
2929
 
2905
2930
  // src/validation/validateWeblink.ts
2906
2931
  import Mark from "mark.js";
2907
- var WEB_URI_PATTERN = "(?:(?:https?):\\/\\/|www\\.)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}(?::\\d{1,5})?(?:\\/[^\\s]*)?";
2932
+ var EDGE_PUNCTUATION = `:;.,\\/\\-\u2013\u2014\u2012_(){}[\\]!'"+=\xAB\xBB\u2039\u203A\u201C\u201D\u2018\u2019<>`;
2933
+ var WEB_URI_PATTERN = `(?:(?:https?):\\/\\/|www\\.)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}(?::\\d{1,5})?(?:\\/[^\\s]*[^\\s${EDGE_PUNCTUATION}])?`;
2908
2934
  var WEB_URI_IN_TEXT_REGEX = new RegExp(WEB_URI_PATTERN, "gi");
2909
2935
  var POSSIBLE_WEBLINK_EXCLUDE_SELECTORS = [
2910
2936
  "tag",
@@ -3048,5 +3074,7 @@ export {
3048
3074
  isIgnoredElement,
3049
3075
  isIgnoredValidation,
3050
3076
  isTrackChangesSchema,
3077
+ queryAllElementsBySchema,
3078
+ queryElementBySchema,
3051
3079
  validateXml
3052
3080
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pro-editor-schema",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "Pro Editor XML schemas",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",