pro-editor-schema 1.1.5 → 1.1.6

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",
@@ -3127,5 +3154,7 @@ var validateXml = (xml, elementsToLink, linkElements, schemasToValidateAgainst)
3127
3154
  isIgnoredElement,
3128
3155
  isIgnoredValidation,
3129
3156
  isTrackChangesSchema,
3157
+ queryAllElementsBySchema,
3158
+ queryElementBySchema,
3130
3159
  validateXml
3131
3160
  });
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",
@@ -3048,5 +3073,7 @@ export {
3048
3073
  isIgnoredElement,
3049
3074
  isIgnoredValidation,
3050
3075
  isTrackChangesSchema,
3076
+ queryAllElementsBySchema,
3077
+ queryElementBySchema,
3051
3078
  validateXml
3052
3079
  };
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.6",
4
4
  "description": "Pro Editor XML schemas",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",