@superdoc-dev/cli 0.8.0-next.111 → 0.8.0-next.113

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.
Files changed (2) hide show
  1. package/dist/index.js +1302 -183
  2. package/package.json +7 -7
package/dist/index.js CHANGED
@@ -6801,6 +6801,74 @@ More content with **bold** and *italic*.`
6801
6801
  referenceDocPath: "permission-ranges/update-principal.mdx",
6802
6802
  referenceGroup: "permissionRanges",
6803
6803
  skipAsATool: true
6804
+ },
6805
+ "customXml.parts.list": {
6806
+ memberPath: "customXml.parts.list",
6807
+ description: "List Custom XML Data Storage Parts in the document, optionally filtered by root namespace or schema reference.",
6808
+ expectedResult: "Returns a CustomXmlPartsListResult with summary entries (no content); fetch content via get.",
6809
+ requiresDocumentContext: true,
6810
+ metadata: readOperation({
6811
+ idempotency: "idempotent",
6812
+ throws: T_REF_READ_LIST
6813
+ }),
6814
+ referenceDocPath: "custom-xml/parts/list.mdx",
6815
+ referenceGroup: "customXml"
6816
+ },
6817
+ "customXml.parts.get": {
6818
+ memberPath: "customXml.parts.get",
6819
+ description: "Get a single Custom XML Data Storage Part by itemID or package part name, including its full content. " + "v1 partName targeting is limited to Word-style customXml/itemN.xml paths.",
6820
+ expectedResult: "Returns a CustomXmlPartInfo with id, partName, namespaces, schemaRefs, and content; or null if not found.",
6821
+ requiresDocumentContext: true,
6822
+ metadata: readOperation({
6823
+ throws: T_NOT_FOUND_CAPABLE
6824
+ }),
6825
+ referenceDocPath: "custom-xml/parts/get.mdx",
6826
+ referenceGroup: "customXml"
6827
+ },
6828
+ "customXml.parts.create": {
6829
+ memberPath: "customXml.parts.create",
6830
+ description: "Add a new Custom XML Data Storage Part to the document. Generates a fresh itemID GUID and emits the Properties Part.",
6831
+ expectedResult: "Returns a CustomXmlPartsCreateResult with the generated id and package part names on success.",
6832
+ requiresDocumentContext: true,
6833
+ metadata: mutationOperation({
6834
+ idempotency: "non-idempotent",
6835
+ supportsDryRun: true,
6836
+ supportsTrackedMode: false,
6837
+ possibleFailureCodes: ["INVALID_INPUT"],
6838
+ throws: T_REF_INSERT
6839
+ }),
6840
+ referenceDocPath: "custom-xml/parts/create.mdx",
6841
+ referenceGroup: "customXml"
6842
+ },
6843
+ "customXml.parts.patch": {
6844
+ memberPath: "customXml.parts.patch",
6845
+ description: "Replace the content and/or schemaRefs of an existing Custom XML Data Storage Part. " + "At least one of content or schemaRefs is required. " + "v1 partName targeting is limited to Word-style customXml/itemN.xml paths.",
6846
+ expectedResult: "Returns a CustomXmlPartsMutationResult indicating success with the resolved target or a failure.",
6847
+ requiresDocumentContext: true,
6848
+ metadata: mutationOperation({
6849
+ idempotency: "idempotent",
6850
+ supportsDryRun: true,
6851
+ supportsTrackedMode: false,
6852
+ possibleFailureCodes: ["TARGET_NOT_FOUND", "INVALID_INPUT"],
6853
+ throws: T_REF_MUTATION
6854
+ }),
6855
+ referenceDocPath: "custom-xml/parts/patch.mdx",
6856
+ referenceGroup: "customXml"
6857
+ },
6858
+ "customXml.parts.remove": {
6859
+ memberPath: "customXml.parts.remove",
6860
+ description: "Remove a Custom XML Data Storage Part and clean up all linked package files (item, props, rels, content-types entry). " + "v1 partName targeting is limited to Word-style customXml/itemN.xml paths.",
6861
+ expectedResult: "Returns a CustomXmlPartsMutationResult indicating success or a failure.",
6862
+ requiresDocumentContext: true,
6863
+ metadata: mutationOperation({
6864
+ idempotency: "non-idempotent",
6865
+ supportsDryRun: true,
6866
+ supportsTrackedMode: false,
6867
+ possibleFailureCodes: ["TARGET_NOT_FOUND"],
6868
+ throws: T_REF_MUTATION_REMOVE
6869
+ }),
6870
+ referenceDocPath: "custom-xml/parts/remove.mdx",
6871
+ referenceGroup: "customXml"
6804
6872
  }
6805
6873
  };
6806
6874
  OPERATION_IDS = Object.freeze(Object.keys(OPERATION_DEFINITIONS));
@@ -8562,7 +8630,7 @@ function buildInternalContractSchemas() {
8562
8630
  operations
8563
8631
  };
8564
8632
  }
8565
- var nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, paragraphTargetSchema, sectionAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, targetLocatorSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, storyLocatorSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, nodeSelectorSchema, selectorShorthandSchema, sdTextSelectorSchema, sdNodeSelectorSchema, sdSelectorSchema, sdReadOptionsSchema, sdFindInputSchema, sdNodeResultSchema, sdFindResultSchema, sdMutationResolutionSchema, sdMutationSuccessSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentStyleInfoSchema, documentStylesSchema, documentDefaultsSchema, documentInfoSchema, listKindSchema, listInsertPositionSchema, listItemInfoSchema, listItemDomainItemSchema, listsListResultSchema, sectionBreakTypeSchema, sectionOrientationSchema, sectionVerticalAlignSchema, sectionDirectionSchema, sectionHeaderFooterKindSchema, sectionHeaderFooterVariantSchema, sectionLineNumberRestartSchema, sectionPageNumberFormatSchema, sectionRangeDomainSchema, sectionPageMarginsSchema, sectionHeaderFooterMarginsSchema, sectionPageSetupSchema, sectionColumnsSchema, sectionLineNumberingSchema, sectionPageNumberingSchema, sectionHeaderFooterRefsSchema, sectionBorderSpecSchema, sectionPageBordersSchema, sectionInfoSchema, sectionResolvedHandleSchema, sectionDomainItemSchema, sectionsListResultSchema, sectionMutationSuccessSchema, documentMutationSuccessSchema, paragraphMutationTargetSchema, paragraphMutationSuccessSchema, createSectionBreakSuccessSchema, commentInfoSchema, commentDomainItemSchema, commentsListResultSchema, trackChangeWordRevisionIdsSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, capabilityReasonCodeSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, inlinePropertyCapabilitySchema, inlinePropertyCapabilitiesByKeySchema, formatCapabilitiesSchema, planEngineCapabilitiesSchema, capabilitiesOutputSchema, strictEmptyObjectSchema, tableBorderColorPattern, tableBorderSpecSchema, nullableTableBorderSpecSchema, sdFragmentSchema, placementSchema, nestingPolicySchema, insertInputSchema, tableLocatorSchema, cellLocatorSchema, cellOrTableScopedCellLocatorSchema, tableOrCellLocatorSchema, mergeRangeLocatorSchema, tableCreateLocationSchema, tableMutationSuccessSchema, createTableSuccessSchema, tableMutationFailureCodes, tableMutationFailureSchema, tableMutationResultSchema, createTableResultSchema, historyActionSuccessSchema, historyActionFailureSchema, formatInlineAliasOperationSchemas, tocMutationFailureCodes, tocMutationFailureSchema, tocMutationSuccessSchema, tocEntryMutationFailureCodes, tocEntryMutationFailureSchema, tocEntryMutationSuccessSchema, hyperlinkTargetSchema, hyperlinkReadPropertiesSchema, hyperlinkDestinationSchema, hyperlinkSpecSchema, hyperlinkPatchSchema, hyperlinkDomainSchema, hyperlinkMutationSuccessSchema, hyperlinkMutationFailureCodes, hyperlinkMutationFailureSchema, hyperlinkInfoSchema, contentControlTargetSchema, contentControlMutationSuccessSchema, contentControlMutationFailureSchema, ccListResultSchema, ccInfoSchema, refListQueryProperties, refListQuerySchema, discoveryOutputSchema, receiptFailureSchema, refFailureSchema, bookmarkAddressSchema, bookmarkMutation, footnoteAddressSchema, footnoteConfigScopeSchema, footnoteNumberingSchema, footnoteMutation, footnoteConfig, crossRefAddressSchema, crossRefTargetSchema, crossRefDisplaySchema, crossRefMutation, indexAddressSchema, indexEntryAddressSchema, indexConfigSchema, indexEntryDataSchema, indexEntryPatchSchema, indexMutation, indexEntryMutation, captionAddressSchema, captionMutation, captionConfig, fieldAddressSchema, fieldMutation, citationAddressSchema, citationSourceAddressSchema, bibliographyAddressSchema, citationMutation, citationSourceMutation, bibliographyMutation, citationPersonSchema, citationSourceFieldsSchema, tocCreateLocationSchema, authoritiesAddressSchema, authorityEntryAddressSchema, authoritiesConfigSchema, authorityEntryDataSchema, authorityEntryPatchSchema, authoritiesMutation, authorityEntryMutation, diffCoverageSchema, diffSummarySchema, diffSnapshotSchema, diffPayloadSchema, diffApplyResultSchema, operationSchemas;
8633
+ var nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, paragraphTargetSchema, sectionAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, targetLocatorSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, storyLocatorSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, nodeSelectorSchema, selectorShorthandSchema, sdTextSelectorSchema, sdNodeSelectorSchema, sdSelectorSchema, sdReadOptionsSchema, sdFindInputSchema, sdNodeResultSchema, sdFindResultSchema, sdMutationResolutionSchema, sdMutationSuccessSchema, documentInfoCountsSchema, documentInfoOutlineItemSchema, documentInfoCapabilitiesSchema, documentStyleInfoSchema, documentStylesSchema, documentDefaultsSchema, documentInfoSchema, listKindSchema, listInsertPositionSchema, listItemInfoSchema, listItemDomainItemSchema, listsListResultSchema, sectionBreakTypeSchema, sectionOrientationSchema, sectionVerticalAlignSchema, sectionDirectionSchema, sectionHeaderFooterKindSchema, sectionHeaderFooterVariantSchema, sectionLineNumberRestartSchema, sectionPageNumberFormatSchema, sectionRangeDomainSchema, sectionPageMarginsSchema, sectionHeaderFooterMarginsSchema, sectionPageSetupSchema, sectionColumnsSchema, sectionLineNumberingSchema, sectionPageNumberingSchema, sectionHeaderFooterRefsSchema, sectionBorderSpecSchema, sectionPageBordersSchema, sectionInfoSchema, sectionResolvedHandleSchema, sectionDomainItemSchema, sectionsListResultSchema, sectionMutationSuccessSchema, documentMutationSuccessSchema, paragraphMutationTargetSchema, paragraphMutationSuccessSchema, createSectionBreakSuccessSchema, commentInfoSchema, commentDomainItemSchema, commentsListResultSchema, trackChangeWordRevisionIdsSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, capabilityReasonCodeSchema, capabilityReasonsSchema, capabilityFlagSchema, operationRuntimeCapabilitySchema, operationCapabilitiesSchema, inlinePropertyCapabilitySchema, inlinePropertyCapabilitiesByKeySchema, formatCapabilitiesSchema, planEngineCapabilitiesSchema, capabilitiesOutputSchema, strictEmptyObjectSchema, tableBorderColorPattern, tableBorderSpecSchema, nullableTableBorderSpecSchema, sdFragmentSchema, placementSchema, nestingPolicySchema, insertInputSchema, tableLocatorSchema, cellLocatorSchema, cellOrTableScopedCellLocatorSchema, tableOrCellLocatorSchema, mergeRangeLocatorSchema, tableCreateLocationSchema, tableMutationSuccessSchema, createTableSuccessSchema, tableMutationFailureCodes, tableMutationFailureSchema, tableMutationResultSchema, createTableResultSchema, historyActionSuccessSchema, historyActionFailureSchema, formatInlineAliasOperationSchemas, tocMutationFailureCodes, tocMutationFailureSchema, tocMutationSuccessSchema, tocEntryMutationFailureCodes, tocEntryMutationFailureSchema, tocEntryMutationSuccessSchema, hyperlinkTargetSchema, hyperlinkReadPropertiesSchema, hyperlinkDestinationSchema, hyperlinkSpecSchema, hyperlinkPatchSchema, hyperlinkDomainSchema, hyperlinkMutationSuccessSchema, hyperlinkMutationFailureCodes, hyperlinkMutationFailureSchema, hyperlinkInfoSchema, contentControlTargetSchema, contentControlMutationSuccessSchema, contentControlMutationFailureSchema, ccListResultSchema, ccInfoSchema, refListQueryProperties, refListQuerySchema, discoveryOutputSchema, receiptFailureSchema, refFailureSchema, bookmarkAddressSchema, bookmarkMutation, customXmlPartTargetSchema, customXmlPartMutation, customXmlPartCreateMutation, footnoteAddressSchema, footnoteConfigScopeSchema, footnoteNumberingSchema, footnoteMutation, footnoteConfig, crossRefAddressSchema, crossRefTargetSchema, crossRefDisplaySchema, crossRefMutation, indexAddressSchema, indexEntryAddressSchema, indexConfigSchema, indexEntryDataSchema, indexEntryPatchSchema, indexMutation, indexEntryMutation, captionAddressSchema, captionMutation, captionConfig, fieldAddressSchema, fieldMutation, citationAddressSchema, citationSourceAddressSchema, bibliographyAddressSchema, citationMutation, citationSourceMutation, bibliographyMutation, citationPersonSchema, citationSourceFieldsSchema, tocCreateLocationSchema, authoritiesAddressSchema, authorityEntryAddressSchema, authoritiesConfigSchema, authorityEntryDataSchema, authorityEntryPatchSchema, authoritiesMutation, authorityEntryMutation, diffCoverageSchema, diffSummarySchema, diffSnapshotSchema, diffPayloadSchema, diffApplyResultSchema, operationSchemas;
8566
8634
  var init_schemas = __esm(() => {
8567
8635
  init_command_catalog();
8568
8636
  init_types2();
@@ -9664,6 +9732,21 @@ var init_schemas = __esm(() => {
9664
9732
  story: ref("StoryLocator")
9665
9733
  }, ["kind", "entityType", "name"]);
9666
9734
  bookmarkMutation = refMutationSchemas({ bookmark: bookmarkAddressSchema }, ["bookmark"]);
9735
+ customXmlPartTargetSchema = {
9736
+ oneOf: [
9737
+ objectSchema({ id: { type: "string", minLength: 1 } }, ["id"]),
9738
+ objectSchema({ partName: { type: "string", minLength: 1 } }, ["partName"])
9739
+ ]
9740
+ };
9741
+ customXmlPartMutation = refMutationSchemas({
9742
+ target: customXmlPartTargetSchema,
9743
+ id: { type: "string", minLength: 1 }
9744
+ }, ["target"]);
9745
+ customXmlPartCreateMutation = refMutationSchemas({
9746
+ id: { type: "string" },
9747
+ partName: { type: "string" },
9748
+ propsPartName: { type: "string" }
9749
+ }, ["id", "partName", "propsPartName"]);
9667
9750
  footnoteAddressSchema = objectSchema({ kind: { const: "entity" }, entityType: { const: "footnote" }, noteId: { type: "string" } }, ["kind", "entityType", "noteId"]);
9668
9751
  footnoteConfigScopeSchema = {
9669
9752
  oneOf: [
@@ -13532,6 +13615,43 @@ var init_schemas = __esm(() => {
13532
13615
  output: { type: "object" },
13533
13616
  success: { type: "object" },
13534
13617
  failure: { type: "object" }
13618
+ },
13619
+ "customXml.parts.list": {
13620
+ input: objectSchema({
13621
+ ...refListQueryProperties,
13622
+ rootNamespace: { type: "string" },
13623
+ schemaRef: { type: "string" }
13624
+ }),
13625
+ output: discoveryOutputSchema
13626
+ },
13627
+ "customXml.parts.get": {
13628
+ input: objectSchema({ target: customXmlPartTargetSchema }, ["target"]),
13629
+ output: { oneOf: [{ type: "object" }, { type: "null" }] }
13630
+ },
13631
+ "customXml.parts.create": {
13632
+ input: objectSchema({
13633
+ content: { type: "string", minLength: 1 },
13634
+ schemaRefs: { type: "array", items: { type: "string", minLength: 1 } }
13635
+ }, ["content"]),
13636
+ ...customXmlPartCreateMutation
13637
+ },
13638
+ "customXml.parts.patch": {
13639
+ input: {
13640
+ type: "object",
13641
+ properties: {
13642
+ target: customXmlPartTargetSchema,
13643
+ content: { type: "string", minLength: 1 },
13644
+ schemaRefs: { type: "array", items: { type: "string", minLength: 1 } }
13645
+ },
13646
+ required: ["target"],
13647
+ anyOf: [{ required: ["content"] }, { required: ["schemaRefs"] }],
13648
+ additionalProperties: false
13649
+ },
13650
+ ...customXmlPartMutation
13651
+ },
13652
+ "customXml.parts.remove": {
13653
+ input: objectSchema({ target: customXmlPartTargetSchema }, ["target"]),
13654
+ ...customXmlPartMutation
13535
13655
  }
13536
13656
  };
13537
13657
  });
@@ -13721,6 +13841,11 @@ var init_reference_doc_map = __esm(() => {
13721
13841
  title: "Permission Ranges",
13722
13842
  description: "Permission range exception operations for protected documents.",
13723
13843
  pagePath: "permission-ranges/index.mdx"
13844
+ },
13845
+ customXml: {
13846
+ title: "Custom XML",
13847
+ description: "Custom XML Data Storage Part operations (ECMA-376 §15.2.5, §15.2.6). Raw read and write of custom XML parts in the OOXML package.",
13848
+ pagePath: "custom-xml/index.mdx"
13724
13849
  }
13725
13850
  };
13726
13851
  REFERENCE_OPERATION_GROUPS = Object.keys(GROUP_METADATA).map((key) => ({
@@ -16490,7 +16615,12 @@ function buildDispatchTable(api) {
16490
16615
  "permissionRanges.get": (input) => api.permissionRanges.get(input),
16491
16616
  "permissionRanges.create": (input, options) => api.permissionRanges.create(input, options),
16492
16617
  "permissionRanges.remove": (input, options) => api.permissionRanges.remove(input, options),
16493
- "permissionRanges.updatePrincipal": (input, options) => api.permissionRanges.updatePrincipal(input, options)
16618
+ "permissionRanges.updatePrincipal": (input, options) => api.permissionRanges.updatePrincipal(input, options),
16619
+ "customXml.parts.list": (input) => api.customXml.parts.list(input),
16620
+ "customXml.parts.get": (input) => api.customXml.parts.get(input),
16621
+ "customXml.parts.create": (input, options) => api.customXml.parts.create(input, options),
16622
+ "customXml.parts.patch": (input, options) => api.customXml.parts.patch(input, options),
16623
+ "customXml.parts.remove": (input, options) => api.customXml.parts.remove(input, options)
16494
16624
  };
16495
16625
  }
16496
16626
  var init_invoke = __esm(() => {
@@ -18298,6 +18428,80 @@ var init_bookmarks = __esm(() => {
18298
18428
  init_story_validator();
18299
18429
  });
18300
18430
 
18431
+ // ../../packages/document-api/src/customXml/customXml.ts
18432
+ function validateTarget(target, operationName) {
18433
+ if (!target || typeof target !== "object") {
18434
+ throw new DocumentApiValidationError("INVALID_TARGET", `${operationName} requires a target with either { id } or { partName }.`, { target });
18435
+ }
18436
+ const t = target;
18437
+ const hasId = typeof t.id === "string" && t.id.length > 0;
18438
+ const hasPartName = typeof t.partName === "string" && t.partName.length > 0;
18439
+ if (!hasId && !hasPartName) {
18440
+ throw new DocumentApiValidationError("INVALID_TARGET", `${operationName} target must have a non-empty 'id' or 'partName'.`, { target });
18441
+ }
18442
+ if (hasId && hasPartName) {
18443
+ throw new DocumentApiValidationError("INVALID_TARGET", `${operationName} target must not provide both 'id' and 'partName'; choose one.`, { target });
18444
+ }
18445
+ }
18446
+ function validateContent(content, operationName) {
18447
+ if (typeof content !== "string" || content.length === 0) {
18448
+ throw new DocumentApiValidationError("INVALID_INPUT", `${operationName} requires a non-empty 'content' string of well-formed XML.`, { contentType: typeof content });
18449
+ }
18450
+ if (!/<\s*[A-Za-z_]/.test(content)) {
18451
+ throw new DocumentApiValidationError("INVALID_INPUT", `${operationName} 'content' does not contain a root XML element.`);
18452
+ }
18453
+ }
18454
+ function validateSchemaRefs(schemaRefs, operationName) {
18455
+ if (!Array.isArray(schemaRefs)) {
18456
+ throw new DocumentApiValidationError("INVALID_INPUT", `${operationName} 'schemaRefs' must be an array of strings.`);
18457
+ }
18458
+ for (const [i, entry] of schemaRefs.entries()) {
18459
+ if (typeof entry !== "string" || entry.length === 0) {
18460
+ throw new DocumentApiValidationError("INVALID_INPUT", `${operationName} 'schemaRefs[${i}]' must be a non-empty string.`);
18461
+ }
18462
+ }
18463
+ }
18464
+ function executeCustomXmlPartsList(adapter, query2) {
18465
+ if (query2?.rootNamespace !== undefined && typeof query2.rootNamespace !== "string") {
18466
+ throw new DocumentApiValidationError("INVALID_INPUT", `customXml.parts.list 'rootNamespace' must be a string when provided.`);
18467
+ }
18468
+ if (query2?.schemaRef !== undefined && typeof query2.schemaRef !== "string") {
18469
+ throw new DocumentApiValidationError("INVALID_INPUT", `customXml.parts.list 'schemaRef' must be a string when provided.`);
18470
+ }
18471
+ return adapter.list(query2);
18472
+ }
18473
+ function executeCustomXmlPartsGet(adapter, input) {
18474
+ validateTarget(input.target, "customXml.parts.get");
18475
+ return adapter.get(input);
18476
+ }
18477
+ function executeCustomXmlPartsCreate(adapter, input, options) {
18478
+ validateContent(input.content, "customXml.parts.create");
18479
+ if (input.schemaRefs !== undefined) {
18480
+ validateSchemaRefs(input.schemaRefs, "customXml.parts.create");
18481
+ }
18482
+ return adapter.create(input, normalizeMutationOptions(options));
18483
+ }
18484
+ function executeCustomXmlPartsPatch(adapter, input, options) {
18485
+ validateTarget(input.target, "customXml.parts.patch");
18486
+ if (input.content === undefined && input.schemaRefs === undefined) {
18487
+ throw new DocumentApiValidationError("INVALID_INPUT", `customXml.parts.patch requires at least one of 'content' or 'schemaRefs'.`);
18488
+ }
18489
+ if (input.content !== undefined) {
18490
+ validateContent(input.content, "customXml.parts.patch");
18491
+ }
18492
+ if (input.schemaRefs !== undefined) {
18493
+ validateSchemaRefs(input.schemaRefs, "customXml.parts.patch");
18494
+ }
18495
+ return adapter.patch(input, normalizeMutationOptions(options));
18496
+ }
18497
+ function executeCustomXmlPartsRemove(adapter, input, options) {
18498
+ validateTarget(input.target, "customXml.parts.remove");
18499
+ return adapter.remove(input, normalizeMutationOptions(options));
18500
+ }
18501
+ var init_customXml = __esm(() => {
18502
+ init_errors2();
18503
+ });
18504
+
18301
18505
  // ../../packages/document-api/src/protection/protection.ts
18302
18506
  function validateSetEditingRestrictionInput(input) {
18303
18507
  if (!input || typeof input !== "object") {
@@ -20013,6 +20217,25 @@ function createDocumentApi(adapters) {
20013
20217
  return executePermissionRangesUpdatePrincipal(adapters.permissionRanges, input, options);
20014
20218
  }
20015
20219
  },
20220
+ customXml: {
20221
+ parts: {
20222
+ list(input) {
20223
+ return executeCustomXmlPartsList(requireAdapter(adapters.customXml, "customXml").parts, input);
20224
+ },
20225
+ get(input) {
20226
+ return executeCustomXmlPartsGet(requireAdapter(adapters.customXml, "customXml").parts, input);
20227
+ },
20228
+ create(input, options) {
20229
+ return executeCustomXmlPartsCreate(requireAdapter(adapters.customXml, "customXml").parts, input, options);
20230
+ },
20231
+ patch(input, options) {
20232
+ return executeCustomXmlPartsPatch(requireAdapter(adapters.customXml, "customXml").parts, input, options);
20233
+ },
20234
+ remove(input, options) {
20235
+ return executeCustomXmlPartsRemove(requireAdapter(adapters.customXml, "customXml").parts, input, options);
20236
+ }
20237
+ }
20238
+ },
20016
20239
  invoke(request) {
20017
20240
  if (!Object.prototype.hasOwnProperty.call(dispatch, request.operationId)) {
20018
20241
  throw new Error(`Unknown operationId: "${request.operationId}"`);
@@ -20059,6 +20282,7 @@ var init_src = __esm(() => {
20059
20282
  init_hyperlinks();
20060
20283
  init_content_controls();
20061
20284
  init_bookmarks();
20285
+ init_customXml();
20062
20286
  init_protection();
20063
20287
  init_permission_ranges();
20064
20288
  init_footnotes();
@@ -66096,7 +66320,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
66096
66320
  emptyOptions2 = {};
66097
66321
  });
66098
66322
 
66099
- // ../../packages/superdoc/dist/chunks/SuperConverter-1Voea3gd.es.js
66323
+ // ../../packages/superdoc/dist/chunks/SuperConverter-8A1MBmqJ.es.js
66100
66324
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
66101
66325
  const fieldValue = extension$1.config[field];
66102
66326
  if (typeof fieldValue === "function")
@@ -70910,7 +71134,12 @@ function buildDispatchTable2(api) {
70910
71134
  "permissionRanges.get": (input) => api.permissionRanges.get(input),
70911
71135
  "permissionRanges.create": (input, options) => api.permissionRanges.create(input, options),
70912
71136
  "permissionRanges.remove": (input, options) => api.permissionRanges.remove(input, options),
70913
- "permissionRanges.updatePrincipal": (input, options) => api.permissionRanges.updatePrincipal(input, options)
71137
+ "permissionRanges.updatePrincipal": (input, options) => api.permissionRanges.updatePrincipal(input, options),
71138
+ "customXml.parts.list": (input) => api.customXml.parts.list(input),
71139
+ "customXml.parts.get": (input) => api.customXml.parts.get(input),
71140
+ "customXml.parts.create": (input, options) => api.customXml.parts.create(input, options),
71141
+ "customXml.parts.patch": (input, options) => api.customXml.parts.patch(input, options),
71142
+ "customXml.parts.remove": (input, options) => api.customXml.parts.remove(input, options)
70914
71143
  };
70915
71144
  }
70916
71145
  function executeHistoryGet2(adapter) {
@@ -72463,6 +72692,61 @@ function executeBookmarksRemove2(adapter, input, options) {
72463
72692
  validateBookmarkTarget2(input.target, "bookmarks.remove");
72464
72693
  return adapter.remove(input, normalizeMutationOptions2(options));
72465
72694
  }
72695
+ function validateTarget2(target, operationName) {
72696
+ if (!target || typeof target !== "object")
72697
+ throw new DocumentApiValidationError2("INVALID_TARGET", `${operationName} requires a target with either { id } or { partName }.`, { target });
72698
+ const t = target;
72699
+ const hasId = typeof t.id === "string" && t.id.length > 0;
72700
+ const hasPartName = typeof t.partName === "string" && t.partName.length > 0;
72701
+ if (!hasId && !hasPartName)
72702
+ throw new DocumentApiValidationError2("INVALID_TARGET", `${operationName} target must have a non-empty 'id' or 'partName'.`, { target });
72703
+ if (hasId && hasPartName)
72704
+ throw new DocumentApiValidationError2("INVALID_TARGET", `${operationName} target must not provide both 'id' and 'partName'; choose one.`, { target });
72705
+ }
72706
+ function validateContent2(content$2, operationName) {
72707
+ if (typeof content$2 !== "string" || content$2.length === 0)
72708
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${operationName} requires a non-empty 'content' string of well-formed XML.`, { contentType: typeof content$2 });
72709
+ if (!/<\s*[A-Za-z_]/.test(content$2))
72710
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${operationName} 'content' does not contain a root XML element.`);
72711
+ }
72712
+ function validateSchemaRefs2(schemaRefs, operationName) {
72713
+ if (!Array.isArray(schemaRefs))
72714
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${operationName} 'schemaRefs' must be an array of strings.`);
72715
+ for (const [i$1, entry] of schemaRefs.entries())
72716
+ if (typeof entry !== "string" || entry.length === 0)
72717
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${operationName} 'schemaRefs[${i$1}]' must be a non-empty string.`);
72718
+ }
72719
+ function executeCustomXmlPartsList2(adapter, query2) {
72720
+ if (query2?.rootNamespace !== undefined && typeof query2.rootNamespace !== "string")
72721
+ throw new DocumentApiValidationError2("INVALID_INPUT", `customXml.parts.list 'rootNamespace' must be a string when provided.`);
72722
+ if (query2?.schemaRef !== undefined && typeof query2.schemaRef !== "string")
72723
+ throw new DocumentApiValidationError2("INVALID_INPUT", `customXml.parts.list 'schemaRef' must be a string when provided.`);
72724
+ return adapter.list(query2);
72725
+ }
72726
+ function executeCustomXmlPartsGet2(adapter, input) {
72727
+ validateTarget2(input.target, "customXml.parts.get");
72728
+ return adapter.get(input);
72729
+ }
72730
+ function executeCustomXmlPartsCreate2(adapter, input, options) {
72731
+ validateContent2(input.content, "customXml.parts.create");
72732
+ if (input.schemaRefs !== undefined)
72733
+ validateSchemaRefs2(input.schemaRefs, "customXml.parts.create");
72734
+ return adapter.create(input, normalizeMutationOptions2(options));
72735
+ }
72736
+ function executeCustomXmlPartsPatch2(adapter, input, options) {
72737
+ validateTarget2(input.target, "customXml.parts.patch");
72738
+ if (input.content === undefined && input.schemaRefs === undefined)
72739
+ throw new DocumentApiValidationError2("INVALID_INPUT", `customXml.parts.patch requires at least one of 'content' or 'schemaRefs'.`);
72740
+ if (input.content !== undefined)
72741
+ validateContent2(input.content, "customXml.parts.patch");
72742
+ if (input.schemaRefs !== undefined)
72743
+ validateSchemaRefs2(input.schemaRefs, "customXml.parts.patch");
72744
+ return adapter.patch(input, normalizeMutationOptions2(options));
72745
+ }
72746
+ function executeCustomXmlPartsRemove2(adapter, input, options) {
72747
+ validateTarget2(input.target, "customXml.parts.remove");
72748
+ return adapter.remove(input, normalizeMutationOptions2(options));
72749
+ }
72466
72750
  function validateSetEditingRestrictionInput2(input) {
72467
72751
  if (!input || typeof input !== "object")
72468
72752
  throw new DocumentApiValidationError2("INVALID_INPUT", "protection.setEditingRestriction requires an object with a mode property.");
@@ -74071,6 +74355,23 @@ function createDocumentApi2(adapters) {
74071
74355
  return executePermissionRangesUpdatePrincipal2(adapters.permissionRanges, input, options);
74072
74356
  }
74073
74357
  },
74358
+ customXml: { parts: {
74359
+ list(input) {
74360
+ return executeCustomXmlPartsList2(requireAdapter2(adapters.customXml, "customXml").parts, input);
74361
+ },
74362
+ get(input) {
74363
+ return executeCustomXmlPartsGet2(requireAdapter2(adapters.customXml, "customXml").parts, input);
74364
+ },
74365
+ create(input, options) {
74366
+ return executeCustomXmlPartsCreate2(requireAdapter2(adapters.customXml, "customXml").parts, input, options);
74367
+ },
74368
+ patch(input, options) {
74369
+ return executeCustomXmlPartsPatch2(requireAdapter2(adapters.customXml, "customXml").parts, input, options);
74370
+ },
74371
+ remove(input, options) {
74372
+ return executeCustomXmlPartsRemove2(requireAdapter2(adapters.customXml, "customXml").parts, input, options);
74373
+ }
74374
+ } },
74074
74375
  invoke(request) {
74075
74376
  if (!Object.prototype.hasOwnProperty.call(dispatch, request.operationId))
74076
74377
  throw new Error(`Unknown operationId: "${request.operationId}"`);
@@ -76399,44 +76700,74 @@ function generateParagraphProperties(params3) {
76399
76700
  }
76400
76701
  return pPr;
76401
76702
  }
76703
+ function foldLeadingCommentStartsIntoTrackedChanges(elements) {
76704
+ const result = [];
76705
+ let i$1 = 0;
76706
+ while (i$1 < elements.length) {
76707
+ if (elements[i$1]?.name !== "w:commentRangeStart") {
76708
+ result.push(elements[i$1]);
76709
+ i$1++;
76710
+ continue;
76711
+ }
76712
+ const leadingStarts = [];
76713
+ while (i$1 < elements.length && elements[i$1]?.name === "w:commentRangeStart") {
76714
+ leadingStarts.push(elements[i$1]);
76715
+ i$1++;
76716
+ }
76717
+ const next = elements[i$1];
76718
+ if (isTrackedChangeWrapper(next)) {
76719
+ result.push({
76720
+ ...next,
76721
+ elements: [...leadingStarts, ...next.elements || []]
76722
+ });
76723
+ i$1++;
76724
+ } else
76725
+ result.push(...leadingStarts);
76726
+ }
76727
+ return result;
76728
+ }
76402
76729
  function mergeConsecutiveTrackedChanges(elements) {
76403
76730
  if (!Array.isArray(elements) || elements.length === 0)
76404
76731
  return elements;
76732
+ elements = foldLeadingCommentStartsIntoTrackedChanges(elements);
76405
76733
  const result = [];
76406
76734
  let i$1 = 0;
76407
76735
  while (i$1 < elements.length) {
76408
76736
  const current = elements[i$1];
76409
- if (current?.name === "w:ins" || current?.name === "w:del") {
76737
+ if (isTrackedChangeWrapper(current)) {
76410
76738
  const tcId = current.attributes?.["w:id"];
76411
76739
  const tcName = current.name;
76412
76740
  const mergedElements = [...current.elements || []];
76741
+ const pendingComments = [];
76742
+ let didMerge = false;
76413
76743
  let j = i$1 + 1;
76414
76744
  while (j < elements.length) {
76415
76745
  const next = elements[j];
76416
- if (next?.name === "w:commentRangeStart" || next?.name === "w:commentRangeEnd") {
76417
- mergedElements.push(next);
76746
+ if (isCommentMarker(next)) {
76747
+ pendingComments.push(next);
76418
76748
  j++;
76419
76749
  continue;
76420
76750
  }
76421
- if (next?.name === "w:r") {
76422
- if (next.elements?.length === 1 && next.elements[0]?.name === "w:commentReference") {
76423
- mergedElements.push(next);
76424
- j++;
76425
- continue;
76426
- }
76427
- }
76428
76751
  if (next?.name === tcName && next.attributes?.["w:id"] === tcId) {
76429
- mergedElements.push(...next.elements || []);
76752
+ mergedElements.push(...pendingComments, ...next.elements || []);
76753
+ pendingComments.length = 0;
76754
+ didMerge = true;
76430
76755
  j++;
76431
76756
  continue;
76432
76757
  }
76433
76758
  break;
76434
76759
  }
76435
- result.push({
76436
- name: tcName,
76437
- attributes: { ...current.attributes },
76438
- elements: mergedElements
76439
- });
76760
+ if (didMerge) {
76761
+ result.push({
76762
+ name: tcName,
76763
+ attributes: { ...current.attributes },
76764
+ elements: mergedElements
76765
+ });
76766
+ result.push(...pendingComments);
76767
+ } else {
76768
+ result.push(current);
76769
+ result.push(...pendingComments);
76770
+ }
76440
76771
  i$1 = j;
76441
76772
  } else {
76442
76773
  result.push(current);
@@ -104900,7 +105231,7 @@ var isRegExp = (value) => {
104900
105231
  tracked: false,
104901
105232
  carrier: runAttributeCarrier2(runPropertyKey ?? key),
104902
105233
  schema
104903
- }), INLINE_PROPERTY_REGISTRY2, INLINE_PROPERTY_KEY_SET2, INLINE_PROPERTY_BY_KEY2, UNDERLINE_OBJECT_ALLOWED_KEYS2, SHADING_ALLOWED_KEYS2, BORDER_ALLOWED_KEYS2, FIT_TEXT_ALLOWED_KEYS2, LANG_ALLOWED_KEYS2, RFONTS_ALLOWED_KEYS2, EAST_ASIAN_LAYOUT_ALLOWED_KEYS2, STYLISTIC_SET_ALLOWED_KEYS2, VERT_ALIGN_VALUES2, PROPERTY_VALIDATOR_MAP2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_NOT_FOUND_COMMAND2, T_IMAGE_COMMAND2, T_CC_READ2, T_CC_MUTATION2, T_CC_TYPED2, T_CC_TYPED_READ2, T_CC_RAW2, T_QUERY_MATCH2, T_SECTION_CREATE2, T_SECTION_READ2, T_PARAGRAPH_MUTATION2, T_SECTION_MUTATION2, T_SECTION_SETTINGS_MUTATION2, T_HEADER_FOOTER_MUTATION2, T_STORY2, T_REF_READ_LIST2, T_REF_MUTATION2, T_REF_MUTATION_REMOVE2, T_REF_INSERT2, T_PROTECTION_READ2, T_PROTECTION_MUTATION2, T_PERM_RANGE_READ2, T_PERM_RANGE_MUTATION2, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG3, TABLE_COLOR_PATTERN_SOURCE2 = "^(#?([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})|auto)$", TABLE_COLOR_PATTERN2, PARAGRAPH_ALIGNMENTS2, TAB_STOP_ALIGNMENTS2, TAB_STOP_LEADERS2, BORDER_SIDES2, CLEAR_BORDER_SIDES2, LINE_RULES2, PARAGRAPH_DIRECTIONS2, ALIGNMENT_POLICIES2, PARAGRAPH_BLOCK_TYPES2, SET_STYLE_KEYS2, CLEAR_STYLE_KEYS2, RESET_DIRECT_FORMATTING_KEYS2, SET_ALIGNMENT_KEYS2, CLEAR_ALIGNMENT_KEYS2, SET_INDENTATION_KEYS2, CLEAR_INDENTATION_KEYS2, SET_SPACING_KEYS2, CLEAR_SPACING_KEYS2, SET_KEEP_OPTIONS_KEYS2, SET_OUTLINE_LEVEL_KEYS2, SET_FLOW_OPTIONS_KEYS2, SET_TAB_STOP_KEYS2, CLEAR_TAB_STOP_KEYS2, CLEAR_ALL_TAB_STOPS_KEYS2, SET_BORDER_KEYS2, CLEAR_BORDER_KEYS2, SET_SHADING_KEYS2, CLEAR_SHADING_KEYS2, SET_DIRECTION_KEYS2, CLEAR_DIRECTION_KEYS2, ST_ON_OFF_ON_VALUES2, ST_ON_OFF_OFF_VALUES2, ST_UNDERLINE_VALUES2, ST_UNDERLINE_VALUE_SET2, ST_VERTICAL_ALIGN_RUN2, ST_EM2, ST_TEXT_ALIGNMENT2, ST_TEXT_DIRECTION2, ST_TEXTBOX_TIGHT_WRAP2, ST_TEXT_TRANSFORM2, ST_JUSTIFICATION2, FONT_FAMILY_SCHEMA2, COLOR_SCHEMA2, SPACING_SCHEMA2, INDENT_SCHEMA2, UNDERLINE_SCHEMA2, BORDER_PROPERTIES_SCHEMA2, SHADING_SCHEMA2, LANG_SCHEMA2, EAST_ASIAN_LAYOUT_SCHEMA2, FIT_TEXT_SCHEMA2, NUMBERING_PROPERTIES_SCHEMA2, FRAME_PR_SCHEMA2, PARAGRAPH_BORDERS_SCHEMA2, TAB_STOP_SCHEMA2, PROPERTY_REGISTRY2, ALLOWED_KEYS_BY_CHANNEL2, PROPERTY_INDEX2, EXCLUDED_KEYS2, INPUT_ALLOWED_KEYS2, TARGET_ALLOWED_KEYS2, OPTIONS_ALLOWED_KEYS2, VALID_CHANNELS2, Z_ORDER_RELATIVE_HEIGHT_MAX2 = 4294967295, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, tableAddressSchema2, tableRowAddressSchema2, tableCellAddressSchema2, tableOrCellAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, paragraphTargetSchema2, sectionAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, entityAddressSchema2, selectionTargetSchema2, deleteBehaviorSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationRangeSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, storyLocatorSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, textSelectorSchema2, nodeSelectorSchema2, sdMutationResolutionSchema2, sdMutationSuccessSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, documentStylesSchema2, documentDefaultsSchema2, listKindSchema2, listInsertPositionSchema2, sectionBreakTypeSchema2, sectionOrientationSchema2, sectionVerticalAlignSchema2, sectionDirectionSchema2, sectionHeaderFooterKindSchema2, sectionHeaderFooterVariantSchema2, sectionLineNumberRestartSchema2, sectionPageNumberFormatSchema2, sectionRangeDomainSchema2, sectionPageMarginsSchema2, sectionHeaderFooterMarginsSchema2, sectionPageSetupSchema2, sectionColumnsSchema2, sectionLineNumberingSchema2, sectionPageNumberingSchema2, sectionHeaderFooterRefsSchema2, sectionBorderSpecSchema2, sectionPageBordersSchema2, sectionMutationSuccessSchema2, documentMutationSuccessSchema2, paragraphMutationTargetSchema2, paragraphMutationSuccessSchema2, createSectionBreakSuccessSchema2, trackChangeWordRevisionIdsSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, inlinePropertyCapabilitySchema2, formatCapabilitiesSchema2, planEngineCapabilitiesSchema2, tableBorderColorPattern2, nullableTableBorderSpecSchema2, sdFragmentSchema2, placementSchema2, nestingPolicySchema2, tableCreateLocationSchema2, formatInlineAliasOperationSchemas2, tocMutationFailureSchema2, tocMutationSuccessSchema2, tocEntryMutationFailureSchema2, tocEntryMutationSuccessSchema2, hyperlinkTargetSchema2, hyperlinkReadPropertiesSchema2, hyperlinkSpecSchema2, hyperlinkPatchSchema2, hyperlinkDomainSchema2, hyperlinkMutationSuccessSchema2, hyperlinkMutationFailureSchema2, contentControlTargetSchema2, contentControlMutationSuccessSchema2, contentControlMutationFailureSchema2, ccListResultSchema2, ccInfoSchema2, refListQueryProperties2, refFailureSchema2, bookmarkAddressSchema2, bookmarkMutation2, footnoteAddressSchema2, footnoteConfigScopeSchema2, footnoteNumberingSchema2, footnoteMutation2, footnoteConfig2, crossRefAddressSchema2, crossRefTargetSchema2, crossRefDisplaySchema2, crossRefMutation2, indexAddressSchema2, indexEntryAddressSchema2, indexConfigSchema2, indexEntryDataSchema2, indexEntryPatchSchema2, indexMutation2, indexEntryMutation2, captionAddressSchema2, captionMutation2, captionConfig2, fieldAddressSchema2, fieldMutation2, citationAddressSchema2, citationSourceAddressSchema2, bibliographyAddressSchema2, citationMutation2, citationSourceMutation2, bibliographyMutation2, citationPersonSchema2, citationSourceFieldsSchema2, tocCreateLocationSchema2, authoritiesAddressSchema2, authorityEntryAddressSchema2, authoritiesConfigSchema2, authorityEntryDataSchema2, authorityEntryPatchSchema2, authoritiesMutation2, authorityEntryMutation2, diffCoverageSchema2, diffSummarySchema2, diffSnapshotSchema2, diffPayloadSchema2, GROUP_METADATA2, STEP_OP_CATALOG_UNFROZEN2, PUBLIC_STEP_OP_CATALOG_UNFROZEN2, PUBLIC_MUTATION_STEP_OP_IDS2, PUBLIC_MUTATION_STEP_OP_SET2, CAPABILITY_REASON_CODES, VALID_EDGE_VALUES2, VALID_EDGE_NODE_TYPES2, VALID_DOCUMENT_EDGES2, VALID_REF_BOUNDARIES2, VALID_ANCHOR_KINDS2, RESOLVE_RANGE_ALLOWED_KEYS2, SELECTION_CURRENT_ALLOWED_KEYS2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, INLINE_ALIAS_INPUT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, VALID_BEHAVIORS2, CONTENT_KIND_SET2, INLINE_KIND_SET2, LEGACY_TOP_LEVEL_TYPES2, TEXT_INSERT_ALLOWED_KEYS2, STRUCTURAL_INSERT_ALLOWED_KEYS2, VALID_INSERT_TYPES2, LIST_KINDS2, LIST_INSERT_POSITIONS2, JOIN_DIRECTIONS2, MUTATION_SCOPES2, LEVEL_ALIGNMENTS2, TRAILING_CHARACTERS2, LIST_PRESET_IDS2, VALID_BLOCK_NODE_TYPES$1, VALID_LIST_KINDS2, VALID_INSERT_POSITIONS2, VALID_JOIN_DIRECTIONS2, VALID_MUTATION_SCOPES2, VALID_LEVEL_ALIGNMENTS2, VALID_TRAILING_CHARACTERS2, VALID_LIST_PRESETS2, VALID_CONTINUITY_VALUES2, VALID_SEQUENCE_MODES2, VALID_LIST_CREATE_MODES2, TEXT_REPLACE_ALLOWED_KEYS2, STRUCTURAL_REPLACE_ALLOWED_KEYS2, VALID_HEADING_LEVELS2, SECTION_BREAK_TYPES$1, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, VALID_BLOCK_NODE_TYPES3, SNAPSHOT_VERSIONS2, PAYLOAD_VERSIONS2, VALID_STYLE_OPTION_FLAGS2, VALID_APPLY_TO_VALUES2, VALID_BORDER_EDGE_KEYS2, HEADER_FOOTER_KINDS$1, HEADER_FOOTER_VARIANTS$1, DEFAULT_SECTIONS_LIST_LIMIT2 = 250, SECTION_BREAK_TYPES3, SECTION_ORIENTATIONS2, SECTION_VERTICAL_ALIGNS2, SECTION_DIRECTIONS2, HEADER_FOOTER_KINDS3, HEADER_FOOTER_VARIANTS3, LINE_NUMBER_RESTARTS2, PAGE_NUMBER_FORMATS2, PAGE_BORDER_DISPLAYS2, PAGE_BORDER_OFFSET_FROM_VALUES2, PAGE_BORDER_Z_ORDER_VALUES2, VALID_WRAP_TYPES2, VALID_WRAP_SIDES2, VALID_IMAGE_SIZE_UNITS2, VALID_TOC_UPDATE_MODES2, EDIT_ENTRY_PATCH_ALLOWED_KEYS2, PATCH_FIELDS2, CONTENT_CONTROL_TYPES2, LOCK_MODES2, CONTENT_CONTROL_APPEARANCES2, VALID_NODE_KINDS2, VALID_LOCK_MODES$1, VALID_CC_TYPES2, VALID_CC_APPEARANCES2, VALID_CONTENT_FORMATS2, VALID_RAW_PATCH_OPS2, VALID_SET_MODES2, VALID_CREATE_LOCATION_KINDS2, DEFAULT_PROTECTION_STATE, ADAPTER_GATED_PREFIXES2, _buffers, _defaultCollectionId = null, _nextCollectionId = 1, generateV2HandlerEntity = (handlerName, translator$218) => ({
105234
+ }), INLINE_PROPERTY_REGISTRY2, INLINE_PROPERTY_KEY_SET2, INLINE_PROPERTY_BY_KEY2, UNDERLINE_OBJECT_ALLOWED_KEYS2, SHADING_ALLOWED_KEYS2, BORDER_ALLOWED_KEYS2, FIT_TEXT_ALLOWED_KEYS2, LANG_ALLOWED_KEYS2, RFONTS_ALLOWED_KEYS2, EAST_ASIAN_LAYOUT_ALLOWED_KEYS2, STYLISTIC_SET_ALLOWED_KEYS2, VERT_ALIGN_VALUES2, PROPERTY_VALIDATOR_MAP2, NONE_FAILURES2, NONE_THROWS2, T_NOT_FOUND2, T_NOT_FOUND_CAPABLE2, T_PLAN_ENGINE2, T_NOT_FOUND_COMMAND2, T_IMAGE_COMMAND2, T_CC_READ2, T_CC_MUTATION2, T_CC_TYPED2, T_CC_TYPED_READ2, T_CC_RAW2, T_QUERY_MATCH2, T_SECTION_CREATE2, T_SECTION_READ2, T_PARAGRAPH_MUTATION2, T_SECTION_MUTATION2, T_SECTION_SETTINGS_MUTATION2, T_HEADER_FOOTER_MUTATION2, T_STORY2, T_REF_READ_LIST2, T_REF_MUTATION2, T_REF_MUTATION_REMOVE2, T_REF_INSERT2, T_PROTECTION_READ2, T_PROTECTION_MUTATION2, T_PERM_RANGE_READ2, T_PERM_RANGE_MUTATION2, FORMAT_INLINE_ALIAS_OPERATION_DEFINITIONS2, OPERATION_DEFINITIONS2, OPERATION_IDS2, COMMAND_CATALOG3, TABLE_COLOR_PATTERN_SOURCE2 = "^(#?([0-9A-Fa-f]{6}|[0-9A-Fa-f]{3})|auto)$", TABLE_COLOR_PATTERN2, PARAGRAPH_ALIGNMENTS2, TAB_STOP_ALIGNMENTS2, TAB_STOP_LEADERS2, BORDER_SIDES2, CLEAR_BORDER_SIDES2, LINE_RULES2, PARAGRAPH_DIRECTIONS2, ALIGNMENT_POLICIES2, PARAGRAPH_BLOCK_TYPES2, SET_STYLE_KEYS2, CLEAR_STYLE_KEYS2, RESET_DIRECT_FORMATTING_KEYS2, SET_ALIGNMENT_KEYS2, CLEAR_ALIGNMENT_KEYS2, SET_INDENTATION_KEYS2, CLEAR_INDENTATION_KEYS2, SET_SPACING_KEYS2, CLEAR_SPACING_KEYS2, SET_KEEP_OPTIONS_KEYS2, SET_OUTLINE_LEVEL_KEYS2, SET_FLOW_OPTIONS_KEYS2, SET_TAB_STOP_KEYS2, CLEAR_TAB_STOP_KEYS2, CLEAR_ALL_TAB_STOPS_KEYS2, SET_BORDER_KEYS2, CLEAR_BORDER_KEYS2, SET_SHADING_KEYS2, CLEAR_SHADING_KEYS2, SET_DIRECTION_KEYS2, CLEAR_DIRECTION_KEYS2, ST_ON_OFF_ON_VALUES2, ST_ON_OFF_OFF_VALUES2, ST_UNDERLINE_VALUES2, ST_UNDERLINE_VALUE_SET2, ST_VERTICAL_ALIGN_RUN2, ST_EM2, ST_TEXT_ALIGNMENT2, ST_TEXT_DIRECTION2, ST_TEXTBOX_TIGHT_WRAP2, ST_TEXT_TRANSFORM2, ST_JUSTIFICATION2, FONT_FAMILY_SCHEMA2, COLOR_SCHEMA2, SPACING_SCHEMA2, INDENT_SCHEMA2, UNDERLINE_SCHEMA2, BORDER_PROPERTIES_SCHEMA2, SHADING_SCHEMA2, LANG_SCHEMA2, EAST_ASIAN_LAYOUT_SCHEMA2, FIT_TEXT_SCHEMA2, NUMBERING_PROPERTIES_SCHEMA2, FRAME_PR_SCHEMA2, PARAGRAPH_BORDERS_SCHEMA2, TAB_STOP_SCHEMA2, PROPERTY_REGISTRY2, ALLOWED_KEYS_BY_CHANNEL2, PROPERTY_INDEX2, EXCLUDED_KEYS2, INPUT_ALLOWED_KEYS2, TARGET_ALLOWED_KEYS2, OPTIONS_ALLOWED_KEYS2, VALID_CHANNELS2, Z_ORDER_RELATIVE_HEIGHT_MAX2 = 4294967295, nodeTypeValues2, blockNodeTypeValues2, deletableBlockNodeTypeValues2, inlineNodeTypeValues2, rangeSchema2, textAddressSchema2, textTargetSchema2, blockNodeAddressSchema2, deletableBlockNodeAddressSchema2, tableAddressSchema2, tableRowAddressSchema2, tableCellAddressSchema2, tableOrCellAddressSchema2, paragraphAddressSchema2, headingAddressSchema2, listItemAddressSchema2, paragraphTargetSchema2, sectionAddressSchema2, nodeAddressSchema2, commentAddressSchema2, trackedChangeAddressSchema2, entityAddressSchema2, selectionTargetSchema2, deleteBehaviorSchema2, resolvedHandleSchema2, pageInfoSchema2, receiptSuccessSchema2, textMutationRangeSchema2, textMutationResolutionSchema2, textMutationSuccessSchema2, matchBlockSchema2, storyLocatorSchema2, trackChangeRefSchema2, createParagraphSuccessSchema2, createHeadingSuccessSchema2, headingLevelSchema2, listsInsertSuccessSchema2, listsMutateItemSuccessSchema2, textSelectorSchema2, nodeSelectorSchema2, sdMutationResolutionSchema2, sdMutationSuccessSchema2, documentInfoCountsSchema2, documentInfoOutlineItemSchema2, documentInfoCapabilitiesSchema2, documentStylesSchema2, documentDefaultsSchema2, listKindSchema2, listInsertPositionSchema2, sectionBreakTypeSchema2, sectionOrientationSchema2, sectionVerticalAlignSchema2, sectionDirectionSchema2, sectionHeaderFooterKindSchema2, sectionHeaderFooterVariantSchema2, sectionLineNumberRestartSchema2, sectionPageNumberFormatSchema2, sectionRangeDomainSchema2, sectionPageMarginsSchema2, sectionHeaderFooterMarginsSchema2, sectionPageSetupSchema2, sectionColumnsSchema2, sectionLineNumberingSchema2, sectionPageNumberingSchema2, sectionHeaderFooterRefsSchema2, sectionBorderSpecSchema2, sectionPageBordersSchema2, sectionMutationSuccessSchema2, documentMutationSuccessSchema2, paragraphMutationTargetSchema2, paragraphMutationSuccessSchema2, createSectionBreakSuccessSchema2, trackChangeWordRevisionIdsSchema2, capabilityReasonsSchema2, capabilityFlagSchema2, operationRuntimeCapabilitySchema2, operationCapabilitiesSchema2, inlinePropertyCapabilitySchema2, formatCapabilitiesSchema2, planEngineCapabilitiesSchema2, tableBorderColorPattern2, nullableTableBorderSpecSchema2, sdFragmentSchema2, placementSchema2, nestingPolicySchema2, tableCreateLocationSchema2, formatInlineAliasOperationSchemas2, tocMutationFailureSchema2, tocMutationSuccessSchema2, tocEntryMutationFailureSchema2, tocEntryMutationSuccessSchema2, hyperlinkTargetSchema2, hyperlinkReadPropertiesSchema2, hyperlinkSpecSchema2, hyperlinkPatchSchema2, hyperlinkDomainSchema2, hyperlinkMutationSuccessSchema2, hyperlinkMutationFailureSchema2, contentControlTargetSchema2, contentControlMutationSuccessSchema2, contentControlMutationFailureSchema2, ccListResultSchema2, ccInfoSchema2, refListQueryProperties2, refFailureSchema2, bookmarkAddressSchema2, bookmarkMutation2, customXmlPartTargetSchema2, customXmlPartMutation2, customXmlPartCreateMutation2, footnoteAddressSchema2, footnoteConfigScopeSchema2, footnoteNumberingSchema2, footnoteMutation2, footnoteConfig2, crossRefAddressSchema2, crossRefTargetSchema2, crossRefDisplaySchema2, crossRefMutation2, indexAddressSchema2, indexEntryAddressSchema2, indexConfigSchema2, indexEntryDataSchema2, indexEntryPatchSchema2, indexMutation2, indexEntryMutation2, captionAddressSchema2, captionMutation2, captionConfig2, fieldAddressSchema2, fieldMutation2, citationAddressSchema2, citationSourceAddressSchema2, bibliographyAddressSchema2, citationMutation2, citationSourceMutation2, bibliographyMutation2, citationPersonSchema2, citationSourceFieldsSchema2, tocCreateLocationSchema2, authoritiesAddressSchema2, authorityEntryAddressSchema2, authoritiesConfigSchema2, authorityEntryDataSchema2, authorityEntryPatchSchema2, authoritiesMutation2, authorityEntryMutation2, diffCoverageSchema2, diffSummarySchema2, diffSnapshotSchema2, diffPayloadSchema2, GROUP_METADATA2, STEP_OP_CATALOG_UNFROZEN2, PUBLIC_STEP_OP_CATALOG_UNFROZEN2, PUBLIC_MUTATION_STEP_OP_IDS2, PUBLIC_MUTATION_STEP_OP_SET2, CAPABILITY_REASON_CODES, VALID_EDGE_VALUES2, VALID_EDGE_NODE_TYPES2, VALID_DOCUMENT_EDGES2, VALID_REF_BOUNDARIES2, VALID_ANCHOR_KINDS2, RESOLVE_RANGE_ALLOWED_KEYS2, SELECTION_CURRENT_ALLOWED_KEYS2, CREATE_COMMENT_ALLOWED_KEYS2, PATCH_COMMENT_ALLOWED_KEYS2, STYLE_APPLY_INPUT_ALLOWED_KEYS2, INLINE_ALIAS_INPUT_ALLOWED_KEYS2, DELETE_INPUT_ALLOWED_KEYS2, VALID_BEHAVIORS2, CONTENT_KIND_SET2, INLINE_KIND_SET2, LEGACY_TOP_LEVEL_TYPES2, TEXT_INSERT_ALLOWED_KEYS2, STRUCTURAL_INSERT_ALLOWED_KEYS2, VALID_INSERT_TYPES2, LIST_KINDS2, LIST_INSERT_POSITIONS2, JOIN_DIRECTIONS2, MUTATION_SCOPES2, LEVEL_ALIGNMENTS2, TRAILING_CHARACTERS2, LIST_PRESET_IDS2, VALID_BLOCK_NODE_TYPES$1, VALID_LIST_KINDS2, VALID_INSERT_POSITIONS2, VALID_JOIN_DIRECTIONS2, VALID_MUTATION_SCOPES2, VALID_LEVEL_ALIGNMENTS2, VALID_TRAILING_CHARACTERS2, VALID_LIST_PRESETS2, VALID_CONTINUITY_VALUES2, VALID_SEQUENCE_MODES2, VALID_LIST_CREATE_MODES2, TEXT_REPLACE_ALLOWED_KEYS2, STRUCTURAL_REPLACE_ALLOWED_KEYS2, VALID_HEADING_LEVELS2, SECTION_BREAK_TYPES$1, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, VALID_BLOCK_NODE_TYPES3, SNAPSHOT_VERSIONS2, PAYLOAD_VERSIONS2, VALID_STYLE_OPTION_FLAGS2, VALID_APPLY_TO_VALUES2, VALID_BORDER_EDGE_KEYS2, HEADER_FOOTER_KINDS$1, HEADER_FOOTER_VARIANTS$1, DEFAULT_SECTIONS_LIST_LIMIT2 = 250, SECTION_BREAK_TYPES3, SECTION_ORIENTATIONS2, SECTION_VERTICAL_ALIGNS2, SECTION_DIRECTIONS2, HEADER_FOOTER_KINDS3, HEADER_FOOTER_VARIANTS3, LINE_NUMBER_RESTARTS2, PAGE_NUMBER_FORMATS2, PAGE_BORDER_DISPLAYS2, PAGE_BORDER_OFFSET_FROM_VALUES2, PAGE_BORDER_Z_ORDER_VALUES2, VALID_WRAP_TYPES2, VALID_WRAP_SIDES2, VALID_IMAGE_SIZE_UNITS2, VALID_TOC_UPDATE_MODES2, EDIT_ENTRY_PATCH_ALLOWED_KEYS2, PATCH_FIELDS2, CONTENT_CONTROL_TYPES2, LOCK_MODES2, CONTENT_CONTROL_APPEARANCES2, VALID_NODE_KINDS2, VALID_LOCK_MODES$1, VALID_CC_TYPES2, VALID_CC_APPEARANCES2, VALID_CONTENT_FORMATS2, VALID_RAW_PATCH_OPS2, VALID_SET_MODES2, VALID_CREATE_LOCATION_KINDS2, DEFAULT_PROTECTION_STATE, ADAPTER_GATED_PREFIXES2, _buffers, _defaultCollectionId = null, _nextCollectionId = 1, generateV2HandlerEntity = (handlerName, translator$218) => ({
104904
105235
  handlerName,
104905
105236
  handler: (params3) => {
104906
105237
  const { nodes } = params3;
@@ -105329,6 +105660,14 @@ var isRegExp = (value) => {
105329
105660
  if (normalizedNodes.length === 1 && normalizedNodes[0]?.type === "paragraph")
105330
105661
  return normalizedNodes[0];
105331
105662
  return normalizedNodes;
105663
+ }, isTrackedChangeWrapper = (el) => el?.name === "w:ins" || el?.name === "w:del", isCommentMarker = (el) => {
105664
+ if (!el)
105665
+ return false;
105666
+ if (el.name === "w:commentRangeStart" || el.name === "w:commentRangeEnd")
105667
+ return true;
105668
+ if (el.name === "w:r" && el.elements?.length === 1 && el.elements[0]?.name === "w:commentReference")
105669
+ return true;
105670
+ return false;
105332
105671
  }, encode$59 = (attributes) => {
105333
105672
  return attributes["w:rsidDel"];
105334
105673
  }, decode$61 = (attrs) => {
@@ -118545,8 +118884,8 @@ var isRegExp = (value) => {
118545
118884
  patchNumberingDefinitions(docx);
118546
118885
  const numbering = getNumberingDefinitions(docx);
118547
118886
  const trackedChangeIdMapOptions = { replacements: converter.trackedChangesOptions?.replacements ?? "paired" };
118548
- converter.trackedChangeIdMap = buildTrackedChangeIdMap(docx, trackedChangeIdMapOptions);
118549
118887
  converter.trackedChangeIdMapsByPart = buildTrackedChangeIdMapsByPart(docx, trackedChangeIdMapOptions);
118888
+ converter.trackedChangeIdMap = converter.trackedChangeIdMapsByPart.get("word/document.xml") ?? buildTrackedChangeIdMap(docx, trackedChangeIdMapOptions);
118550
118889
  const comments = importCommentData({
118551
118890
  docx,
118552
118891
  nodeListHandler,
@@ -119756,7 +120095,7 @@ var isRegExp = (value) => {
119756
120095
  state.kern = kernNode.attributes["w:val"];
119757
120096
  }
119758
120097
  }, SuperConverter;
119759
- var init_SuperConverter_1Voea3gd_es = __esm(() => {
120098
+ var init_SuperConverter_8A1MBmqJ_es = __esm(() => {
119760
120099
  init_rolldown_runtime_Bg48TavK_es();
119761
120100
  init_jszip_C49i9kUs_es();
119762
120101
  init_xml_js_CqGKpaft_es();
@@ -128262,6 +128601,72 @@ var init_SuperConverter_1Voea3gd_es = __esm(() => {
128262
128601
  referenceDocPath: "permission-ranges/update-principal.mdx",
128263
128602
  referenceGroup: "permissionRanges",
128264
128603
  skipAsATool: true
128604
+ },
128605
+ "customXml.parts.list": {
128606
+ memberPath: "customXml.parts.list",
128607
+ description: "List Custom XML Data Storage Parts in the document, optionally filtered by root namespace or schema reference.",
128608
+ expectedResult: "Returns a CustomXmlPartsListResult with summary entries (no content); fetch content via get.",
128609
+ requiresDocumentContext: true,
128610
+ metadata: readOperation2({
128611
+ idempotency: "idempotent",
128612
+ throws: T_REF_READ_LIST2
128613
+ }),
128614
+ referenceDocPath: "custom-xml/parts/list.mdx",
128615
+ referenceGroup: "customXml"
128616
+ },
128617
+ "customXml.parts.get": {
128618
+ memberPath: "customXml.parts.get",
128619
+ description: "Get a single Custom XML Data Storage Part by itemID or package part name, including its full content. v1 partName targeting is limited to Word-style customXml/itemN.xml paths.",
128620
+ expectedResult: "Returns a CustomXmlPartInfo with id, partName, namespaces, schemaRefs, and content; or null if not found.",
128621
+ requiresDocumentContext: true,
128622
+ metadata: readOperation2({ throws: T_NOT_FOUND_CAPABLE2 }),
128623
+ referenceDocPath: "custom-xml/parts/get.mdx",
128624
+ referenceGroup: "customXml"
128625
+ },
128626
+ "customXml.parts.create": {
128627
+ memberPath: "customXml.parts.create",
128628
+ description: "Add a new Custom XML Data Storage Part to the document. Generates a fresh itemID GUID and emits the Properties Part.",
128629
+ expectedResult: "Returns a CustomXmlPartsCreateResult with the generated id and package part names on success.",
128630
+ requiresDocumentContext: true,
128631
+ metadata: mutationOperation2({
128632
+ idempotency: "non-idempotent",
128633
+ supportsDryRun: true,
128634
+ supportsTrackedMode: false,
128635
+ possibleFailureCodes: ["INVALID_INPUT"],
128636
+ throws: T_REF_INSERT2
128637
+ }),
128638
+ referenceDocPath: "custom-xml/parts/create.mdx",
128639
+ referenceGroup: "customXml"
128640
+ },
128641
+ "customXml.parts.patch": {
128642
+ memberPath: "customXml.parts.patch",
128643
+ description: "Replace the content and/or schemaRefs of an existing Custom XML Data Storage Part. At least one of content or schemaRefs is required. v1 partName targeting is limited to Word-style customXml/itemN.xml paths.",
128644
+ expectedResult: "Returns a CustomXmlPartsMutationResult indicating success with the resolved target or a failure.",
128645
+ requiresDocumentContext: true,
128646
+ metadata: mutationOperation2({
128647
+ idempotency: "idempotent",
128648
+ supportsDryRun: true,
128649
+ supportsTrackedMode: false,
128650
+ possibleFailureCodes: ["TARGET_NOT_FOUND", "INVALID_INPUT"],
128651
+ throws: T_REF_MUTATION2
128652
+ }),
128653
+ referenceDocPath: "custom-xml/parts/patch.mdx",
128654
+ referenceGroup: "customXml"
128655
+ },
128656
+ "customXml.parts.remove": {
128657
+ memberPath: "customXml.parts.remove",
128658
+ description: "Remove a Custom XML Data Storage Part and clean up all linked package files (item, props, rels, content-types entry). v1 partName targeting is limited to Word-style customXml/itemN.xml paths.",
128659
+ expectedResult: "Returns a CustomXmlPartsMutationResult indicating success or a failure.",
128660
+ requiresDocumentContext: true,
128661
+ metadata: mutationOperation2({
128662
+ idempotency: "non-idempotent",
128663
+ supportsDryRun: true,
128664
+ supportsTrackedMode: false,
128665
+ possibleFailureCodes: ["TARGET_NOT_FOUND"],
128666
+ throws: T_REF_MUTATION_REMOVE2
128667
+ }),
128668
+ referenceDocPath: "custom-xml/parts/remove.mdx",
128669
+ referenceGroup: "customXml"
128265
128670
  }
128266
128671
  };
128267
128672
  OPERATION_IDS2 = Object.freeze(Object.keys(OPERATION_DEFINITIONS2));
@@ -130517,6 +130922,29 @@ var init_SuperConverter_1Voea3gd_es = __esm(() => {
130517
130922
  "name"
130518
130923
  ]);
130519
130924
  bookmarkMutation2 = refMutationSchemas2({ bookmark: bookmarkAddressSchema2 }, ["bookmark"]);
130925
+ customXmlPartTargetSchema2 = { oneOf: [objectSchema2({ id: {
130926
+ type: "string",
130927
+ minLength: 1
130928
+ } }, ["id"]), objectSchema2({ partName: {
130929
+ type: "string",
130930
+ minLength: 1
130931
+ } }, ["partName"])] };
130932
+ customXmlPartMutation2 = refMutationSchemas2({
130933
+ target: customXmlPartTargetSchema2,
130934
+ id: {
130935
+ type: "string",
130936
+ minLength: 1
130937
+ }
130938
+ }, ["target"]);
130939
+ customXmlPartCreateMutation2 = refMutationSchemas2({
130940
+ id: { type: "string" },
130941
+ partName: { type: "string" },
130942
+ propsPartName: { type: "string" }
130943
+ }, [
130944
+ "id",
130945
+ "partName",
130946
+ "propsPartName"
130947
+ ]);
130520
130948
  footnoteAddressSchema2 = objectSchema2({
130521
130949
  kind: { const: "entity" },
130522
130950
  entityType: { const: "footnote" },
@@ -134421,7 +134849,23 @@ var init_SuperConverter_1Voea3gd_es = __esm(() => {
134421
134849
  },
134422
134850
  id: { type: "string" }
134423
134851
  }, ["kind"])
134424
- }, ["id", "principal"]);
134852
+ }, ["id", "principal"]), objectSchema2({
134853
+ ...refListQueryProperties2,
134854
+ rootNamespace: { type: "string" },
134855
+ schemaRef: { type: "string" }
134856
+ }), objectSchema2({ target: customXmlPartTargetSchema2 }, ["target"]), objectSchema2({
134857
+ content: {
134858
+ type: "string",
134859
+ minLength: 1
134860
+ },
134861
+ schemaRefs: {
134862
+ type: "array",
134863
+ items: {
134864
+ type: "string",
134865
+ minLength: 1
134866
+ }
134867
+ }
134868
+ }, ["content"]), { ...customXmlPartCreateMutation2 }, { ...customXmlPartMutation2 }, objectSchema2({ target: customXmlPartTargetSchema2 }, ["target"]), { ...customXmlPartMutation2 };
134425
134869
  projectFromDefinitions2((_id, entry) => entry.memberPath);
134426
134870
  [...new Set(OPERATION_IDS2.map((id2) => OPERATION_DEFINITIONS2[id2].memberPath))];
134427
134871
  projectFromDefinitions2((_id, entry) => entry.referenceDocPath);
@@ -134595,6 +135039,11 @@ var init_SuperConverter_1Voea3gd_es = __esm(() => {
134595
135039
  title: "Permission Ranges",
134596
135040
  description: "Permission range exception operations for protected documents.",
134597
135041
  pagePath: "permission-ranges/index.mdx"
135042
+ },
135043
+ customXml: {
135044
+ title: "Custom XML",
135045
+ description: "Custom XML Data Storage Part operations (ECMA-376 §15.2.5, §15.2.6). Raw read and write of custom XML parts in the OOXML package.",
135046
+ pagePath: "custom-xml/index.mdx"
134598
135047
  }
134599
135048
  };
134600
135049
  Object.keys(GROUP_METADATA2).map((key) => ({
@@ -157636,7 +158085,7 @@ var init_SuperConverter_1Voea3gd_es = __esm(() => {
157636
158085
  };
157637
158086
  });
157638
158087
 
157639
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-cNPAdMd2.es.js
158088
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-1RfXz7Wm.es.js
157640
158089
  function parseSizeUnit(val = "0") {
157641
158090
  const length3 = val.toString() || "0";
157642
158091
  const value = Number.parseFloat(length3);
@@ -160358,8 +160807,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, Extension = class Extension2 {
160358
160807
  }
160359
160808
  };
160360
160809
  };
160361
- var init_create_headless_toolbar_cNPAdMd2_es = __esm(() => {
160362
- init_SuperConverter_1Voea3gd_es();
160810
+ var init_create_headless_toolbar_1RfXz7Wm_es = __esm(() => {
160811
+ init_SuperConverter_8A1MBmqJ_es();
160363
160812
  init_constants_DrU4EASo_es();
160364
160813
  init_dist_B8HfvhaK_es();
160365
160814
  CSS_DIMENSION_REGEX = /[\d-.]+(\w+)$/;
@@ -161806,7 +162255,7 @@ var init_decrypt_docx_4kQ488M9_es = __esm(() => {
161806
162255
  ]);
161807
162256
  });
161808
162257
 
161809
- // ../../packages/superdoc/dist/chunks/DocxZipper-TPSo9G36.es.js
162258
+ // ../../packages/superdoc/dist/chunks/DocxZipper-Bphhij1P.es.js
161810
162259
  function sniffEncoding(u8) {
161811
162260
  if (u8.length >= 2) {
161812
162261
  const b0 = u8[0], b1 = u8[1];
@@ -162303,6 +162752,19 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
162303
162752
  const staleOverridePartNames = COMMENT_FILE_BASENAMES.map((name) => `/word/${name}`).filter((partName) => {
162304
162753
  return !hasFile(partName.slice(1));
162305
162754
  });
162755
+ const CUSTOM_XML_PROPS_CT = "application/vnd.openxmlformats-officedocument.customXmlProperties+xml";
162756
+ if (types3?.elements?.length)
162757
+ for (const el of types3.elements) {
162758
+ if (el?.name !== "Override")
162759
+ continue;
162760
+ if (el?.attributes?.ContentType !== CUSTOM_XML_PROPS_CT)
162761
+ continue;
162762
+ const partName = el?.attributes?.PartName;
162763
+ if (typeof partName !== "string" || !partName.startsWith("/"))
162764
+ continue;
162765
+ if (!hasFile(partName.slice(1)))
162766
+ staleOverridePartNames.push(partName);
162767
+ }
162306
162768
  const beginningString = '<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">';
162307
162769
  let updatedContentTypesXml = contentTypesXml.replace(beginningString, `${beginningString}${typesString}`);
162308
162770
  for (const partName of staleOverridePartNames) {
@@ -162466,7 +162928,7 @@ var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.docum
162466
162928
  return `image/${MIME_TYPE_FOR_EXT[detectedType] || detectedType}`;
162467
162929
  }
162468
162930
  }, DocxZipper_default;
162469
- var init_DocxZipper_TPSo9G36_es = __esm(() => {
162931
+ var init_DocxZipper_Bphhij1P_es = __esm(() => {
162470
162932
  init_rolldown_runtime_Bg48TavK_es();
162471
162933
  init_jszip_C49i9kUs_es();
162472
162934
  init_xml_js_CqGKpaft_es();
@@ -209057,7 +209519,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
209057
209519
  init_remark_gfm_BhnWr3yf_es();
209058
209520
  });
209059
209521
 
209060
- // ../../packages/superdoc/dist/chunks/src-BaUVXQjX.es.js
209522
+ // ../../packages/superdoc/dist/chunks/src-Bnec7ggt.es.js
209061
209523
  function deleteProps(obj, propOrProps) {
209062
209524
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
209063
209525
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -209307,9 +209769,9 @@ function getParagraphInlineDirection(attrs) {
209307
209769
  if (fromContext != null)
209308
209770
  return fromContext;
209309
209771
  const ppRtl = attrs?.paragraphProperties?.rightToLeft;
209310
- if (attrs?.direction === "rtl" || attrs?.dir === "rtl" || attrs?.rtl === true || ppRtl === true)
209772
+ if (ppRtl === true)
209311
209773
  return "rtl";
209312
- if (attrs?.direction === "ltr" || attrs?.dir === "ltr" || attrs?.rtl === false || ppRtl === false)
209774
+ if (ppRtl === false)
209313
209775
  return "ltr";
209314
209776
  }
209315
209777
  function getTableVisualDirection(attrs) {
@@ -211222,11 +211684,11 @@ function syncSplitParagraphRunProperties(attrs, runProperties) {
211222
211684
  paragraphProperties: nextParagraphProperties
211223
211685
  };
211224
211686
  }
211225
- function getConverter$72(editor) {
211687
+ function getConverter$82(editor) {
211226
211688
  return editor.converter;
211227
211689
  }
211228
211690
  function readTranslatedLinkedStyles(editor) {
211229
- return getConverter$72(editor)?.translatedLinkedStyles ?? null;
211691
+ return getConverter$82(editor)?.translatedLinkedStyles ?? null;
211230
211692
  }
211231
211693
  function isHeadingStyleId$1(styleId) {
211232
211694
  return typeof styleId === "string" && /^heading\s*[1-6]$/i.test(styleId.trim());
@@ -232186,7 +232648,7 @@ function makeTrackedChangeAnchorKey(ref$1) {
232186
232648
  function makeCommentAnchorKey(commentId) {
232187
232649
  return `${COMMENT_ANCHOR_KEY_PREFIX}${commentId}`;
232188
232650
  }
232189
- function getConverter$62(editor) {
232651
+ function getConverter$72(editor) {
232190
232652
  return editor.converter;
232191
232653
  }
232192
232654
  function toRevisionCapableNoteId(note) {
@@ -232203,7 +232665,7 @@ function enumerateRevisionCapableStories(editor) {
232203
232665
  kind: "story",
232204
232666
  storyType: "body"
232205
232667
  }];
232206
- const converter = getConverter$62(editor);
232668
+ const converter = getConverter$72(editor);
232207
232669
  if (!converter)
232208
232670
  return stories;
232209
232671
  if (converter.headers)
@@ -236293,15 +236755,15 @@ function previewPlan(editor, input2) {
236293
236755
  }
236294
236756
  stepPreviews.push(preview);
236295
236757
  }
236296
- for (const failure of assertFailures)
236758
+ for (const failure$1 of assertFailures)
236297
236759
  failures.push({
236298
236760
  code: "PRECONDITION_FAILED",
236299
- stepId: failure.stepId,
236761
+ stepId: failure$1.stepId,
236300
236762
  phase: "assert",
236301
- message: `assert "${failure.stepId}" expected ${failure.expectedCount} matches but found ${failure.actualCount}`,
236763
+ message: `assert "${failure$1.stepId}" expected ${failure$1.expectedCount} matches but found ${failure$1.actualCount}`,
236302
236764
  details: {
236303
- expectedCount: failure.expectedCount,
236304
- actualCount: failure.actualCount
236765
+ expectedCount: failure$1.expectedCount,
236766
+ actualCount: failure$1.actualCount
236305
236767
  }
236306
236768
  });
236307
236769
  } catch (error3) {
@@ -240693,10 +241155,10 @@ function registerBuiltInExecutors() {
240693
241155
  };
240694
241156
  } });
240695
241157
  }
240696
- function getConverter$52(editor) {
241158
+ function getConverter$62(editor) {
240697
241159
  return editor.converter;
240698
241160
  }
240699
- function getConverter$42(editor) {
241161
+ function getConverter$52(editor) {
240700
241162
  return editor.converter;
240701
241163
  }
240702
241164
  function createEmptyHeaderFooterJson() {
@@ -240709,7 +241171,7 @@ function createEmptyHeaderFooterJson() {
240709
241171
  };
240710
241172
  }
240711
241173
  function syncHeaderFooterCaches(editor, part) {
240712
- const converter = getConverter$42(editor);
241174
+ const converter = getConverter$52(editor);
240713
241175
  if (!converter)
240714
241176
  return;
240715
241177
  const relsRoot = part?.elements?.find((el) => el.name === "Relationships");
@@ -240771,7 +241233,7 @@ function createTableWrapper(editor, input2, options) {
240771
241233
  });
240772
241234
  return adapterResult;
240773
241235
  }
240774
- function getConverter$32(editor) {
241236
+ function getConverter$42(editor) {
240775
241237
  return editor.converter;
240776
241238
  }
240777
241239
  function toSectionFailure2(code7, message) {
@@ -240839,7 +241301,7 @@ function buildSectionMarginsForAttrs2(sectPr) {
240839
241301
  };
240840
241302
  }
240841
241303
  function syncConverterBodySection2(editor, sectPr) {
240842
- const converter = getConverter$32(editor);
241304
+ const converter = getConverter$42(editor);
240843
241305
  if (!converter)
240844
241306
  return;
240845
241307
  converter.bodySectPr = cloneXmlElement(sectPr);
@@ -240959,7 +241421,7 @@ function createSectionBreakNode(editor, breakParagraphId, input2) {
240959
241421
  return paragraphNode;
240960
241422
  }
240961
241423
  function updateGlobalTitlePageFlag(editor) {
240962
- const converter = getConverter$32(editor);
241424
+ const converter = getConverter$42(editor);
240963
241425
  if (!converter)
240964
241426
  return;
240965
241427
  const anyTitlePage = resolveSectionProjections(editor).some((entry) => entry.domain.titlePage === true);
@@ -241043,7 +241505,7 @@ function sectionsSetTitlePageAdapter(editor, input2, options) {
241043
241505
  }
241044
241506
  function sectionsSetOddEvenHeadersFootersAdapter(editor, input2, options) {
241045
241507
  rejectTrackedMode("sections.setOddEvenHeadersFooters", options);
241046
- const converter = getConverter$32(editor);
241508
+ const converter = getConverter$42(editor);
241047
241509
  if (!converter)
241048
241510
  throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", "sections.setOddEvenHeadersFooters requires an active document converter.");
241049
241511
  return mutatePart({
@@ -241079,13 +241541,13 @@ function sectionsSetSectionDirectionAdapter(editor, input2, options) {
241079
241541
  }
241080
241542
  function sectionsSetHeaderFooterRefAdapter(editor, input2, options) {
241081
241543
  return sectionMutationBySectPr$1(editor, input2, options, "sections.setHeaderFooterRef", (sectPr, _projection, _sections, dryRun) => {
241082
- const converter = getConverter$32(editor) ?? null;
241544
+ const converter = getConverter$42(editor) ?? null;
241083
241545
  return setHeaderFooterRefMutation(sectPr, input2.kind, input2.variant, input2.refId, converter, "sections.setHeaderFooterRef", dryRun);
241084
241546
  });
241085
241547
  }
241086
241548
  function sectionsClearHeaderFooterRefAdapter(editor, input2, options) {
241087
241549
  return sectionMutationBySectPr$1(editor, input2, options, "sections.clearHeaderFooterRef", (sectPr, _projection, _sections, dryRun) => {
241088
- const converter = getConverter$32(editor) ?? null;
241550
+ const converter = getConverter$42(editor) ?? null;
241089
241551
  clearHeaderFooterRefMutation(sectPr, input2.kind, input2.variant, converter, dryRun);
241090
241552
  });
241091
241553
  }
@@ -245714,11 +246176,11 @@ function createContentControlsAdapter(editor) {
245714
246176
  create: (input2, options) => createWrapper(editor, input2, options)
245715
246177
  };
245716
246178
  }
245717
- function getConverter$22(editor) {
246179
+ function getConverter$32(editor) {
245718
246180
  return editor.converter;
245719
246181
  }
245720
246182
  function requireConverter$1(editor, operationName) {
245721
- const converter = getConverter$22(editor);
246183
+ const converter = getConverter$32(editor);
245722
246184
  if (!converter)
245723
246185
  throw new DocumentApiAdapterError("CAPABILITY_UNAVAILABLE", `${operationName} requires an active document converter.`);
245724
246186
  return converter;
@@ -245824,7 +246286,7 @@ function headerFootersResolveAdapter(editor, input2) {
245824
246286
  function headerFootersRefsSetAdapter(editor, input2, options) {
245825
246287
  const { section, headerFooterKind, variant } = input2.target;
245826
246288
  const result = sectionMutationBySectPr(editor, { target: section }, options, "headerFooters.refs.set", (sectPr, _projection, _sections, dryRun) => {
245827
- const converter = getConverter$22(editor) ?? null;
246289
+ const converter = getConverter$32(editor) ?? null;
245828
246290
  return setHeaderFooterRefMutation(sectPr, headerFooterKind, variant, input2.refId, converter, "headerFooters.refs.set", dryRun);
245829
246291
  });
245830
246292
  invalidateSlotRuntimesAfterRefChange(editor, result, options);
@@ -245833,7 +246295,7 @@ function headerFootersRefsSetAdapter(editor, input2, options) {
245833
246295
  function headerFootersRefsClearAdapter(editor, input2, options) {
245834
246296
  const { section, headerFooterKind, variant } = input2.target;
245835
246297
  const result = sectionMutationBySectPr(editor, { target: section }, options, "headerFooters.refs.clear", (sectPr, _projection, _sections, dryRun) => {
245836
- clearHeaderFooterRefMutation(sectPr, headerFooterKind, variant, getConverter$22(editor) ?? null, dryRun);
246298
+ clearHeaderFooterRefMutation(sectPr, headerFooterKind, variant, getConverter$32(editor) ?? null, dryRun);
245837
246299
  });
245838
246300
  invalidateSlotRuntimesAfterRefChange(editor, result, options);
245839
246301
  return result;
@@ -246669,6 +247131,672 @@ function bookmarksRemoveWrapper(editor, input2, options) {
246669
247131
  disposeEphemeralWriteRuntime(runtime);
246670
247132
  }
246671
247133
  }
247134
+ function executeOutOfBandMutation(editor, mutateFn, options) {
247135
+ if (!options.dryRun)
247136
+ if (editor.options?.collaborationProvider && editor.options?.ydoc)
247137
+ try {
247138
+ yUndoPluginKey.getState(editor.state)?.undoManager?.stopCapturing();
247139
+ } catch {}
247140
+ else
247141
+ try {
247142
+ editor.view?.dispatch?.(closeHistory(editor.state.tr));
247143
+ } catch {}
247144
+ checkRevision(editor, options.expectedRevision);
247145
+ const result = mutateFn(options.dryRun);
247146
+ if (result.changed && !options.dryRun) {
247147
+ const converter = editor.converter;
247148
+ if (converter) {
247149
+ converter.documentModified = true;
247150
+ if (!converter.documentGuid && typeof converter.promoteToGuid === "function")
247151
+ converter.promoteToGuid();
247152
+ }
247153
+ incrementRevision(editor);
247154
+ }
247155
+ return result.payload;
247156
+ }
247157
+ function getLocalName2(name) {
247158
+ if (!name || typeof name !== "string")
247159
+ return "";
247160
+ const i4 = name.indexOf(":");
247161
+ return i4 >= 0 ? name.slice(i4 + 1) : name;
247162
+ }
247163
+ function findFirstElement(parent, localName) {
247164
+ if (!parent?.elements?.length)
247165
+ return null;
247166
+ return parent.elements.find((el) => el?.type === "element" && getLocalName2(el.name) === localName) ?? null;
247167
+ }
247168
+ function findAllElements(parent, localName) {
247169
+ if (!parent?.elements?.length)
247170
+ return [];
247171
+ return parent.elements.filter((el) => el?.type === "element" && getLocalName2(el.name) === localName);
247172
+ }
247173
+ function partNameFromIndex(index2) {
247174
+ return `customXml/item${index2}.xml`;
247175
+ }
247176
+ function propsPartNameFromIndex(index2) {
247177
+ return `customXml/itemProps${index2}.xml`;
247178
+ }
247179
+ function indexFromPartName(partName) {
247180
+ const m$1 = /^customXml\/item(\d+)\.xml$/i.exec(partName ?? "");
247181
+ return m$1 ? Number.parseInt(m$1[1], 10) : null;
247182
+ }
247183
+ function indexFromPropsPartName(propsPartName) {
247184
+ const m$1 = /^customXml\/itemProps(\d+)\.xml$/i.exec(propsPartName ?? "");
247185
+ return m$1 ? Number.parseInt(m$1[1], 10) : null;
247186
+ }
247187
+ function isCustomXmlStoragePartName(partName) {
247188
+ return indexFromPartName(partName) != null;
247189
+ }
247190
+ function listCustomXmlStoragePartNames(convertedXml) {
247191
+ if (!convertedXml || typeof convertedXml !== "object")
247192
+ return [];
247193
+ const indexes = [];
247194
+ for (const path2 of Object.keys(convertedXml)) {
247195
+ const idx = indexFromPartName(path2);
247196
+ if (idx != null)
247197
+ indexes.push(idx);
247198
+ }
247199
+ indexes.sort((a2, b$1) => a2 - b$1);
247200
+ return indexes.map(partNameFromIndex);
247201
+ }
247202
+ function findPropsPartFor(convertedXml, partName) {
247203
+ if (!convertedXml)
247204
+ return null;
247205
+ const idx = indexFromPartName(partName);
247206
+ if (idx == null)
247207
+ return null;
247208
+ const relsRoot = convertedXml[`customXml/_rels/item${idx}.xml.rels`]?.elements?.find((el) => getLocalName2(el?.name) === "Relationships");
247209
+ if (relsRoot?.elements?.length)
247210
+ for (const rel of relsRoot.elements) {
247211
+ if (rel?.attributes?.Type !== "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps")
247212
+ continue;
247213
+ const target = rel?.attributes?.Target;
247214
+ if (typeof target !== "string" || target.length === 0)
247215
+ continue;
247216
+ const candidate = resolveOpcTargetPath(target, "customXml");
247217
+ if (candidate && convertedXml[candidate])
247218
+ return candidate;
247219
+ }
247220
+ const indexCandidate = propsPartNameFromIndex(idx);
247221
+ return convertedXml[indexCandidate] ? indexCandidate : null;
247222
+ }
247223
+ function parsePropsPart(propsDoc) {
247224
+ const root3 = propsDoc?.elements?.find((el) => el?.type === "element" && getLocalName2(el.name) === "datastoreItem");
247225
+ if (!root3)
247226
+ return null;
247227
+ const itemId = root3.attributes?.["ds:itemID"] ?? root3.attributes?.itemID ?? null;
247228
+ const schemaRefs = findAllElements(findFirstElement(root3, "schemaRefs"), "schemaRef").map((el) => el.attributes?.["ds:uri"] ?? el.attributes?.uri ?? null).filter((uri) => typeof uri === "string" && uri.length > 0);
247229
+ return {
247230
+ itemId: typeof itemId === "string" && itemId.length > 0 ? itemId : null,
247231
+ schemaRefs
247232
+ };
247233
+ }
247234
+ function parseStoragePartRootNamespace(storageDoc) {
247235
+ const root3 = storageDoc?.elements?.find((el) => el?.type === "element");
247236
+ if (!root3)
247237
+ return null;
247238
+ const xmlns2 = root3.attributes?.xmlns;
247239
+ if (typeof xmlns2 === "string" && xmlns2.length > 0)
247240
+ return xmlns2;
247241
+ const elementName = root3.name ?? "";
247242
+ const colonIdx = elementName.indexOf(":");
247243
+ if (colonIdx > 0) {
247244
+ const prefixedAttr = `xmlns:${elementName.slice(0, colonIdx)}`;
247245
+ const prefixedValue = root3.attributes?.[prefixedAttr];
247246
+ if (typeof prefixedValue === "string" && prefixedValue.length > 0)
247247
+ return prefixedValue;
247248
+ }
247249
+ return null;
247250
+ }
247251
+ function serializeXmlDoc(xmlDoc) {
247252
+ if (!xmlDoc)
247253
+ return "";
247254
+ return import_lib4.js2xml(xmlDoc, {
247255
+ compact: false,
247256
+ spaces: 0
247257
+ });
247258
+ }
247259
+ function readCustomXmlPart(convertedXml, target) {
247260
+ if (!target || !convertedXml)
247261
+ return null;
247262
+ let partName = null;
247263
+ let itemId = null;
247264
+ if (typeof target.partName === "string" && target.partName.length > 0) {
247265
+ if (!isCustomXmlStoragePartName(target.partName))
247266
+ return null;
247267
+ partName = target.partName;
247268
+ } else if (typeof target.id === "string" && target.id.length > 0) {
247269
+ itemId = target.id;
247270
+ for (const candidatePartName of listCustomXmlStoragePartNames(convertedXml)) {
247271
+ const propsName = findPropsPartFor(convertedXml, candidatePartName);
247272
+ if (!propsName)
247273
+ continue;
247274
+ if (parsePropsPart(convertedXml[propsName])?.itemId === itemId) {
247275
+ partName = candidatePartName;
247276
+ break;
247277
+ }
247278
+ }
247279
+ if (!partName)
247280
+ return null;
247281
+ } else
247282
+ return null;
247283
+ const storageDoc = convertedXml[partName];
247284
+ if (!storageDoc)
247285
+ return null;
247286
+ const propsPartName = findPropsPartFor(convertedXml, partName);
247287
+ const props = propsPartName ? parsePropsPart(convertedXml[propsPartName]) : null;
247288
+ return {
247289
+ id: props?.itemId ?? null,
247290
+ partName,
247291
+ propsPartName: propsPartName ?? null,
247292
+ rootNamespace: parseStoragePartRootNamespace(storageDoc),
247293
+ schemaRefs: props?.schemaRefs ?? [],
247294
+ content: serializeXmlDoc(storageDoc)
247295
+ };
247296
+ }
247297
+ function listCustomXmlParts(convertedXml) {
247298
+ return listCustomXmlStoragePartNames(convertedXml).map((partName) => {
247299
+ const propsPartName = findPropsPartFor(convertedXml, partName);
247300
+ const props = propsPartName ? parsePropsPart(convertedXml[propsPartName]) : null;
247301
+ return {
247302
+ id: props?.itemId ?? null,
247303
+ partName,
247304
+ propsPartName: propsPartName ?? null,
247305
+ rootNamespace: parseStoragePartRootNamespace(convertedXml[partName]),
247306
+ schemaRefs: props?.schemaRefs ?? []
247307
+ };
247308
+ });
247309
+ }
247310
+ function nextCustomXmlItemIndex(convertedXml, converter) {
247311
+ const used = /* @__PURE__ */ new Set;
247312
+ for (const path2 of Object.keys(convertedXml ?? {})) {
247313
+ const idx = indexFromPartName(path2) ?? indexFromPropsPartName(path2);
247314
+ if (idx != null)
247315
+ used.add(idx);
247316
+ }
247317
+ let candidate = 1;
247318
+ while (used.has(candidate))
247319
+ candidate += 1;
247320
+ return candidate;
247321
+ }
247322
+ function createXmlDocument2(rootElement, declaration) {
247323
+ const nextDeclaration = declaration ?? DEFAULT_XML_DECLARATION;
247324
+ return {
247325
+ declaration: {
247326
+ ...nextDeclaration,
247327
+ attributes: { ...nextDeclaration.attributes }
247328
+ },
247329
+ elements: [rootElement]
247330
+ };
247331
+ }
247332
+ function parseContentToRootElement(content3) {
247333
+ const parsed = import_lib4.xml2js(content3, { compact: false });
247334
+ const root3 = (parsed.elements ?? []).find((el) => el?.type === "element");
247335
+ if (!root3)
247336
+ throw new Error("Custom XML content is missing a root element.");
247337
+ return {
247338
+ root: root3,
247339
+ declaration: parsed.declaration ?? null
247340
+ };
247341
+ }
247342
+ function ensureDocumentRelationshipsRoot2(convertedXml) {
247343
+ if (!convertedXml["word/_rels/document.xml.rels"])
247344
+ convertedXml["word/_rels/document.xml.rels"] = createXmlDocument2({
247345
+ type: "element",
247346
+ name: "Relationships",
247347
+ attributes: { xmlns: "http://schemas.openxmlformats.org/package/2006/relationships" },
247348
+ elements: []
247349
+ });
247350
+ const relsData = convertedXml["word/_rels/document.xml.rels"];
247351
+ relsData.elements ??= [];
247352
+ let relsRoot = relsData.elements.find((el) => getLocalName2(el?.name) === "Relationships");
247353
+ if (!relsRoot) {
247354
+ relsRoot = {
247355
+ type: "element",
247356
+ name: "Relationships",
247357
+ attributes: { xmlns: "http://schemas.openxmlformats.org/package/2006/relationships" },
247358
+ elements: []
247359
+ };
247360
+ relsData.elements.push(relsRoot);
247361
+ }
247362
+ relsRoot.elements ??= [];
247363
+ return relsRoot;
247364
+ }
247365
+ function getNextRelationshipId2(relsRoot) {
247366
+ const used = (relsRoot?.elements ?? []).map((rel) => {
247367
+ const id2 = rel?.attributes?.Id;
247368
+ const m$1 = typeof id2 === "string" ? /^rId(\d+)$/.exec(id2) : null;
247369
+ return m$1 ? Number.parseInt(m$1[1], 10) : NaN;
247370
+ }).filter((n) => Number.isFinite(n));
247371
+ return `rId${(used.length > 0 ? Math.max(...used) : 0) + 1}`;
247372
+ }
247373
+ function buildDocumentRelTarget(partName) {
247374
+ return partName.startsWith("customXml/") ? `../${partName}` : partName;
247375
+ }
247376
+ function buildItemPropsRoot(itemId, schemaRefs) {
247377
+ return [{
247378
+ type: "element",
247379
+ name: "ds:datastoreItem",
247380
+ attributes: {
247381
+ "ds:itemID": itemId,
247382
+ "xmlns:ds": CUSTOM_XML_DATASTORE_NAMESPACE
247383
+ },
247384
+ elements: schemaRefs === undefined ? [] : [{
247385
+ type: "element",
247386
+ name: "ds:schemaRefs",
247387
+ elements: schemaRefs.map((uri) => ({
247388
+ type: "element",
247389
+ name: "ds:schemaRef",
247390
+ attributes: { "ds:uri": uri }
247391
+ }))
247392
+ }]
247393
+ }][0];
247394
+ }
247395
+ function buildItemRelsRoot(propsPartFileName) {
247396
+ return {
247397
+ type: "element",
247398
+ name: "Relationships",
247399
+ attributes: { xmlns: "http://schemas.openxmlformats.org/package/2006/relationships" },
247400
+ elements: [{
247401
+ type: "element",
247402
+ name: "Relationship",
247403
+ attributes: {
247404
+ Id: "rId1",
247405
+ Type: CUSTOM_XML_PROPS_RELATIONSHIP_TYPE2,
247406
+ Target: propsPartFileName
247407
+ }
247408
+ }]
247409
+ };
247410
+ }
247411
+ function resolveTargetPartName(convertedXml, target) {
247412
+ if (!target)
247413
+ return null;
247414
+ if (typeof target.partName === "string" && target.partName.length > 0) {
247415
+ if (!isCustomXmlStoragePartName(target.partName))
247416
+ return null;
247417
+ return convertedXml[target.partName] ? target.partName : null;
247418
+ }
247419
+ if (typeof target.id === "string" && target.id.length > 0)
247420
+ for (const partName of listCustomXmlStoragePartNames(convertedXml)) {
247421
+ const propsName = findPropsPartFor(convertedXml, partName);
247422
+ if (!propsName)
247423
+ continue;
247424
+ if (parsePropsPart(convertedXml[propsName])?.itemId === target.id)
247425
+ return partName;
247426
+ }
247427
+ return null;
247428
+ }
247429
+ function createCustomXmlPart(convertedXml, { content: content3, schemaRefs }, converter) {
247430
+ const { root: root3, declaration } = parseContentToRootElement(content3);
247431
+ const index2 = nextCustomXmlItemIndex(convertedXml, converter);
247432
+ const partName = partNameFromIndex(index2);
247433
+ const propsPartName = propsPartNameFromIndex(index2);
247434
+ const itemRelsPath = `customXml/_rels/item${index2}.xml.rels`;
247435
+ const itemId = `{${v4_default().toUpperCase()}}`;
247436
+ convertedXml[partName] = createXmlDocument2(root3, declaration);
247437
+ convertedXml[propsPartName] = createXmlDocument2(buildItemPropsRoot(itemId, schemaRefs));
247438
+ convertedXml[itemRelsPath] = createXmlDocument2(buildItemRelsRoot(`itemProps${index2}.xml`));
247439
+ const relsRoot = ensureDocumentRelationshipsRoot2(convertedXml);
247440
+ relsRoot.elements.push({
247441
+ type: "element",
247442
+ name: "Relationship",
247443
+ attributes: {
247444
+ Id: getNextRelationshipId2(relsRoot),
247445
+ Type: CUSTOM_XML_DATA_RELATIONSHIP_TYPE,
247446
+ Target: buildDocumentRelTarget(partName)
247447
+ }
247448
+ });
247449
+ if (converter?.removedCustomXmlPaths instanceof Set) {
247450
+ converter.removedCustomXmlPaths.delete(partName);
247451
+ converter.removedCustomXmlPaths.delete(propsPartName);
247452
+ converter.removedCustomXmlPaths.delete(itemRelsPath);
247453
+ }
247454
+ return {
247455
+ id: itemId,
247456
+ partName,
247457
+ propsPartName
247458
+ };
247459
+ }
247460
+ function patchCustomXmlPart(convertedXml, target, { content: content3, schemaRefs }, converter) {
247461
+ const partName = resolveTargetPartName(convertedXml, target);
247462
+ if (!partName)
247463
+ return null;
247464
+ if (content3 !== undefined) {
247465
+ const { root: root3, declaration } = parseContentToRootElement(content3);
247466
+ convertedXml[partName] = createXmlDocument2(root3, convertedXml[partName]?.declaration ?? declaration);
247467
+ }
247468
+ let resolvedId = null;
247469
+ if (schemaRefs !== undefined) {
247470
+ let propsPartName = findPropsPartFor(convertedXml, partName);
247471
+ if (propsPartName)
247472
+ resolvedId = parsePropsPart(convertedXml[propsPartName])?.itemId ?? null;
247473
+ if (!propsPartName) {
247474
+ const idx = indexFromPartName(partName);
247475
+ if (idx == null)
247476
+ return null;
247477
+ propsPartName = propsPartNameFromIndex(idx);
247478
+ const itemRelsPath = `customXml/_rels/item${idx}.xml.rels`;
247479
+ resolvedId = `{${v4_default().toUpperCase()}}`;
247480
+ convertedXml[itemRelsPath] = createXmlDocument2(buildItemRelsRoot(`itemProps${idx}.xml`));
247481
+ }
247482
+ if (!resolvedId)
247483
+ resolvedId = `{${v4_default().toUpperCase()}}`;
247484
+ const existingDecl = convertedXml[propsPartName]?.declaration;
247485
+ convertedXml[propsPartName] = createXmlDocument2(buildItemPropsRoot(resolvedId, schemaRefs), existingDecl);
247486
+ } else {
247487
+ const propsPartName = findPropsPartFor(convertedXml, partName);
247488
+ if (propsPartName)
247489
+ resolvedId = parsePropsPart(convertedXml[propsPartName])?.itemId ?? null;
247490
+ }
247491
+ if (converter)
247492
+ invalidateConverterCachesForPath(converter, partName);
247493
+ return resolvedId ? {
247494
+ partName,
247495
+ id: resolvedId
247496
+ } : { partName };
247497
+ }
247498
+ function removeCustomXmlPart(convertedXml, target, converter) {
247499
+ const partName = resolveTargetPartName(convertedXml, target);
247500
+ if (!partName)
247501
+ return false;
247502
+ const index2 = indexFromPartName(partName);
247503
+ const removedPaths = [
247504
+ partName,
247505
+ findPropsPartFor(convertedXml, partName),
247506
+ index2 == null ? null : `customXml/_rels/item${index2}.xml.rels`
247507
+ ].filter((path2) => typeof path2 === "string" && path2.length > 0);
247508
+ for (const path2 of removedPaths)
247509
+ delete convertedXml[path2];
247510
+ const relsRoot = convertedXml["word/_rels/document.xml.rels"]?.elements?.find((el) => getLocalName2(el?.name) === "Relationships");
247511
+ if (relsRoot?.elements?.length)
247512
+ relsRoot.elements = relsRoot.elements.filter((rel) => {
247513
+ if (rel?.attributes?.Type !== "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml")
247514
+ return true;
247515
+ return resolveOpcTargetPath(rel?.attributes?.Target, "word") !== partName;
247516
+ });
247517
+ if (converter) {
247518
+ if (!(converter.removedCustomXmlPaths instanceof Set))
247519
+ converter.removedCustomXmlPaths = /* @__PURE__ */ new Set;
247520
+ for (const path2 of removedPaths)
247521
+ converter.removedCustomXmlPaths.add(path2);
247522
+ invalidateConverterCachesForPath(converter, partName);
247523
+ }
247524
+ return true;
247525
+ }
247526
+ function invalidateConverterCachesForPath(converter, partName) {
247527
+ if (!converter || typeof partName !== "string")
247528
+ return;
247529
+ const biblio = converter.bibliographyPart;
247530
+ if (biblio && biblio.partPath === partName)
247531
+ converter.bibliographyPart = {
247532
+ sources: [],
247533
+ partPath: null,
247534
+ itemPropsPath: null,
247535
+ itemRelsPath: null,
247536
+ selectedStyle: null,
247537
+ styleName: null,
247538
+ version: null
247539
+ };
247540
+ }
247541
+ function getConverter$22(editor) {
247542
+ return editor.converter ?? null;
247543
+ }
247544
+ function getConvertedXml2(editor) {
247545
+ return getConverter$22(editor)?.convertedXml ?? {};
247546
+ }
247547
+ function toSummary(record) {
247548
+ const summary = {
247549
+ partName: record.partName,
247550
+ schemaRefs: record.schemaRefs
247551
+ };
247552
+ if (record.id)
247553
+ summary.id = record.id;
247554
+ if (record.propsPartName)
247555
+ summary.propsPartName = record.propsPartName;
247556
+ if (record.rootNamespace)
247557
+ summary.rootNamespace = record.rootNamespace;
247558
+ return summary;
247559
+ }
247560
+ function customXmlPartsListWrapper(editor, query2) {
247561
+ const revision = getRevision(editor);
247562
+ let filtered = listCustomXmlParts(getConvertedXml2(editor));
247563
+ if (query2?.rootNamespace !== undefined)
247564
+ filtered = filtered.filter((p$12) => p$12.rootNamespace === query2.rootNamespace);
247565
+ if (query2?.schemaRef !== undefined)
247566
+ filtered = filtered.filter((p$12) => p$12.schemaRefs.includes(query2.schemaRef));
247567
+ const { total, items: paged } = paginate(filtered.map((record) => {
247568
+ const summary = toSummary(record);
247569
+ const stableId = summary.id ?? summary.partName;
247570
+ return buildDiscoveryItem(stableId, buildResolvedHandle(`customXml:${stableId}`, "ephemeral", "ext:customXmlPart"), summary);
247571
+ }), query2?.offset, query2?.limit);
247572
+ return buildDiscoveryResult({
247573
+ evaluatedRevision: revision,
247574
+ total,
247575
+ items: paged,
247576
+ page: {
247577
+ limit: query2?.limit ?? total,
247578
+ offset: query2?.offset ?? 0,
247579
+ returned: paged.length
247580
+ }
247581
+ });
247582
+ }
247583
+ function customXmlPartsGetWrapper(editor, input2) {
247584
+ const record = readCustomXmlPart(getConvertedXml2(editor), input2.target);
247585
+ if (!record)
247586
+ return null;
247587
+ const info = {
247588
+ partName: record.partName,
247589
+ rootNamespace: record.rootNamespace ?? undefined,
247590
+ schemaRefs: record.schemaRefs,
247591
+ content: record.content
247592
+ };
247593
+ if (record.id)
247594
+ info.id = record.id;
247595
+ if (record.propsPartName)
247596
+ info.propsPartName = record.propsPartName;
247597
+ return info;
247598
+ }
247599
+ function failure(code7, message) {
247600
+ return {
247601
+ success: false,
247602
+ failure: {
247603
+ code: code7,
247604
+ message
247605
+ }
247606
+ };
247607
+ }
247608
+ function isWriteFailure(outcome) {
247609
+ return outcome.ok === false;
247610
+ }
247611
+ function targetNotFound() {
247612
+ return {
247613
+ ok: false,
247614
+ code: "TARGET_NOT_FOUND",
247615
+ message: "No custom XML part matched the supplied target."
247616
+ };
247617
+ }
247618
+ function safeValidate(fn2) {
247619
+ try {
247620
+ return {
247621
+ ok: true,
247622
+ payload: fn2()
247623
+ };
247624
+ } catch (e) {
247625
+ return {
247626
+ ok: false,
247627
+ code: "INVALID_INPUT",
247628
+ message: e instanceof Error ? e.message : String(e)
247629
+ };
247630
+ }
247631
+ }
247632
+ function customXmlPartsCreateWrapper(editor, input2, options) {
247633
+ rejectTrackedMode("customXml.parts.create", options);
247634
+ const outcome = executeOutOfBandMutation(editor, (dryRun) => {
247635
+ if (dryRun) {
247636
+ const probe$1 = safeValidate(() => createCustomXmlPart({}, {
247637
+ content: input2.content,
247638
+ schemaRefs: input2.schemaRefs
247639
+ }));
247640
+ if (isWriteFailure(probe$1))
247641
+ return {
247642
+ changed: false,
247643
+ payload: probe$1
247644
+ };
247645
+ return {
247646
+ changed: false,
247647
+ payload: {
247648
+ ok: true,
247649
+ payload: {
247650
+ id: "{DRY-RUN}",
247651
+ partName: "",
247652
+ propsPartName: ""
247653
+ }
247654
+ }
247655
+ };
247656
+ }
247657
+ const probe = safeValidate(() => createCustomXmlPart(getConvertedXml2(editor), {
247658
+ content: input2.content,
247659
+ schemaRefs: input2.schemaRefs
247660
+ }, getConverter$22(editor)));
247661
+ if (isWriteFailure(probe))
247662
+ return {
247663
+ changed: false,
247664
+ payload: probe
247665
+ };
247666
+ return {
247667
+ changed: true,
247668
+ payload: {
247669
+ ok: true,
247670
+ payload: probe.payload
247671
+ }
247672
+ };
247673
+ }, {
247674
+ dryRun: options?.dryRun === true,
247675
+ expectedRevision: options?.expectedRevision
247676
+ });
247677
+ if (isWriteFailure(outcome))
247678
+ return failure(outcome.code, outcome.message);
247679
+ return {
247680
+ success: true,
247681
+ id: outcome.payload.id,
247682
+ partName: outcome.payload.partName,
247683
+ propsPartName: outcome.payload.propsPartName
247684
+ };
247685
+ }
247686
+ function customXmlPartsPatchWrapper(editor, input2, options) {
247687
+ rejectTrackedMode("customXml.parts.patch", options);
247688
+ const outcome = executeOutOfBandMutation(editor, (dryRun) => {
247689
+ if (dryRun) {
247690
+ if (!resolveTargetPartName(getConvertedXml2(editor), input2.target))
247691
+ return {
247692
+ changed: false,
247693
+ payload: targetNotFound()
247694
+ };
247695
+ if (input2.content !== undefined) {
247696
+ const probe$1 = safeValidate(() => createCustomXmlPart({}, {
247697
+ content: input2.content,
247698
+ schemaRefs: undefined
247699
+ }));
247700
+ if (isWriteFailure(probe$1))
247701
+ return {
247702
+ changed: false,
247703
+ payload: probe$1
247704
+ };
247705
+ }
247706
+ return {
247707
+ changed: false,
247708
+ payload: {
247709
+ ok: true,
247710
+ payload: { id: null }
247711
+ }
247712
+ };
247713
+ }
247714
+ if (!resolveTargetPartName(getConvertedXml2(editor), input2.target))
247715
+ return {
247716
+ changed: false,
247717
+ payload: targetNotFound()
247718
+ };
247719
+ const probe = safeValidate(() => patchCustomXmlPart(getConvertedXml2(editor), input2.target, {
247720
+ content: input2.content,
247721
+ schemaRefs: input2.schemaRefs
247722
+ }, getConverter$22(editor)));
247723
+ if (isWriteFailure(probe))
247724
+ return {
247725
+ changed: false,
247726
+ payload: probe
247727
+ };
247728
+ if (!probe.payload)
247729
+ return {
247730
+ changed: false,
247731
+ payload: targetNotFound()
247732
+ };
247733
+ return {
247734
+ changed: true,
247735
+ payload: {
247736
+ ok: true,
247737
+ payload: { id: probe.payload.id ?? null }
247738
+ }
247739
+ };
247740
+ }, {
247741
+ dryRun: options?.dryRun === true,
247742
+ expectedRevision: options?.expectedRevision
247743
+ });
247744
+ if (isWriteFailure(outcome))
247745
+ return failure(outcome.code, outcome.message);
247746
+ const result = {
247747
+ success: true,
247748
+ target: input2.target
247749
+ };
247750
+ if (outcome.payload.id)
247751
+ result.id = outcome.payload.id;
247752
+ return result;
247753
+ }
247754
+ function customXmlPartsRemoveWrapper(editor, input2, options) {
247755
+ rejectTrackedMode("customXml.parts.remove", options);
247756
+ const outcome = executeOutOfBandMutation(editor, (dryRun) => {
247757
+ if (dryRun)
247758
+ return resolveTargetPartName(getConvertedXml2(editor), input2.target) ? {
247759
+ changed: false,
247760
+ payload: {
247761
+ ok: true,
247762
+ payload: true
247763
+ }
247764
+ } : {
247765
+ changed: false,
247766
+ payload: targetNotFound()
247767
+ };
247768
+ if (!removeCustomXmlPart(getConvertedXml2(editor), input2.target, getConverter$22(editor)))
247769
+ return {
247770
+ changed: false,
247771
+ payload: targetNotFound()
247772
+ };
247773
+ return {
247774
+ changed: true,
247775
+ payload: {
247776
+ ok: true,
247777
+ payload: true
247778
+ }
247779
+ };
247780
+ }, {
247781
+ dryRun: options?.dryRun === true,
247782
+ expectedRevision: options?.expectedRevision
247783
+ });
247784
+ if (isWriteFailure(outcome))
247785
+ return failure(outcome.code, outcome.message);
247786
+ return {
247787
+ success: true,
247788
+ target: input2.target
247789
+ };
247790
+ }
247791
+ function createCustomXmlPartsAdapter(editor) {
247792
+ return {
247793
+ list: (query2) => customXmlPartsListWrapper(editor, query2),
247794
+ get: (input2) => customXmlPartsGetWrapper(editor, input2),
247795
+ create: (input2, options) => customXmlPartsCreateWrapper(editor, input2, options),
247796
+ patch: (input2, options) => customXmlPartsPatchWrapper(editor, input2, options),
247797
+ remove: (input2, options) => customXmlPartsRemoveWrapper(editor, input2, options)
247798
+ };
247799
+ }
246672
247800
  function getConverter$12(editor) {
246673
247801
  return editor.converter ?? undefined;
246674
247802
  }
@@ -249065,29 +250193,6 @@ function buildCitationAddress(doc$12, resolved) {
249065
250193
  }
249066
250194
  };
249067
250195
  }
249068
- function executeOutOfBandMutation(editor, mutateFn, options) {
249069
- if (!options.dryRun)
249070
- if (editor.options?.collaborationProvider && editor.options?.ydoc)
249071
- try {
249072
- yUndoPluginKey.getState(editor.state)?.undoManager?.stopCapturing();
249073
- } catch {}
249074
- else
249075
- try {
249076
- editor.view?.dispatch?.(closeHistory(editor.state.tr));
249077
- } catch {}
249078
- checkRevision(editor, options.expectedRevision);
249079
- const result = mutateFn(options.dryRun);
249080
- if (result.changed && !options.dryRun) {
249081
- const converter = editor.converter;
249082
- if (converter) {
249083
- converter.documentModified = true;
249084
- if (!converter.documentGuid && typeof converter.promoteToGuid === "function")
249085
- converter.promoteToGuid();
249086
- }
249087
- incrementRevision(editor);
249088
- }
249089
- return result.payload;
249090
- }
249091
250196
  function citationSuccess(address2) {
249092
250197
  return {
249093
250198
  success: true,
@@ -250305,6 +251410,7 @@ function assembleDocumentApiAdapters(editor) {
250305
251410
  rename: (input2, options) => bookmarksRenameWrapper(editor, input2, options),
250306
251411
  remove: (input2, options) => bookmarksRemoveWrapper(editor, input2, options)
250307
251412
  },
251413
+ customXml: { parts: createCustomXmlPartsAdapter(editor) },
250308
251414
  footnotes: {
250309
251415
  list: (query2) => footnotesListWrapper(editor, query2),
250310
251416
  get: (input2) => footnotesGetWrapper(editor, input2),
@@ -274953,7 +276059,7 @@ var Node$13 = class Node$14 {
274953
276059
  }
274954
276060
  });
274955
276061
  return { decorations };
274956
- }, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, SLASH_COOLDOWN_MS = 5000, ContextMenu, StructuredContentViewBase = class {
276062
+ }, ContextMenuPluginKey, MENU_OFFSET_X = 0, MENU_OFFSET_Y = 28, CONTEXT_MENU_OFFSET_X = 10, CONTEXT_MENU_OFFSET_Y = 10, ContextMenu, StructuredContentViewBase = class {
274957
276063
  node;
274958
276064
  view;
274959
276065
  getPos;
@@ -282414,7 +283520,7 @@ var Node$13 = class Node$14 {
282414
283520
  if (!target || !target.classList)
282415
283521
  return;
282416
283522
  target.classList.add(STYLE_ISOLATION_CLASS);
282417
- }, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$6, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
283523
+ }, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$7, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
282418
283524
  constructor(view, editor) {
282419
283525
  this.editor = editor;
282420
283526
  this.view = view;
@@ -283981,7 +285087,7 @@ var Node$13 = class Node$14 {
283981
285087
  </linearGradient>
283982
285088
  </defs>
283983
285089
  <path fill="url(#gradient)" d="M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"/>
283984
- </svg>`, _hoisted_1$21, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$5, AIWriter_default, isHighContrastMode, bold_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"/></svg>', italic_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"/></svg>', underline_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z"/></svg>', list_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>', list_circle_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. (bullet shapes modified)--><path fill-rule="evenodd" d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 48 A48 48 0 1 0 64 144 A48 48 0 1 0 64 48 Z M64 68 A28 28 0 1 1 64 124 A28 28 0 1 1 64 68 Z M64 208 A48 48 0 1 0 64 304 A48 48 0 1 0 64 208 Z M64 228 A28 28 0 1 1 64 284 A28 28 0 1 1 64 228 Z M64 368 A48 48 0 1 0 64 464 A48 48 0 1 0 64 368 Z M64 388 A28 28 0 1 1 64 444 A28 28 0 1 1 64 388 Z"/></svg>
285090
+ </svg>`, _hoisted_1$21, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$6, AIWriter_default, isHighContrastMode, bold_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l48 0 16 0 128 0c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128L96 480l-16 0-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l16 0 0-160L48 96 32 96C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64L112 96l0 128 112 0zM112 288l0 128 144 0c35.3 0 64-28.7 64-64s-28.7-64-64-64l-32 0-112 0z"/></svg>', italic_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 64c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-58.7 0L160 416l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l58.7 0L224 96l-64 0c-17.7 0-32-14.3-32-32z"/></svg>', underline_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M16 64c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 53 43 96 96 96s96-43 96-96l0-128-16 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-16 0 0 128c0 88.4-71.6 160-160 160s-160-71.6-160-160L64 96 48 96C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32z"/></svg>', list_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M40 48C26.7 48 16 58.7 16 72l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24L40 48zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 232l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-48c0-13.3-10.7-24-24-24l-48 0z"/></svg>', list_circle_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. (bullet shapes modified)--><path fill-rule="evenodd" d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 48 A48 48 0 1 0 64 144 A48 48 0 1 0 64 48 Z M64 68 A28 28 0 1 1 64 124 A28 28 0 1 1 64 68 Z M64 208 A48 48 0 1 0 64 304 A48 48 0 1 0 64 208 Z M64 228 A28 28 0 1 1 64 284 A28 28 0 1 1 64 228 Z M64 368 A48 48 0 1 0 64 464 A48 48 0 1 0 64 368 Z M64 388 A28 28 0 1 1 64 444 A28 28 0 1 1 64 388 Z"/></svg>
283985
285091
  `, list_square_solid_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. (bullet shapes modified)--><path d="M192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM16 48 L112 48 L112 144 L16 144 Z M16 208 L112 208 L112 304 L16 304 Z M16 368 L112 368 L112 464 L16 464 Z"/></svg>
283986
285092
  `, list_ol_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>', list_decimal_solid_default = `<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
283987
285093
  <g clip-path="url(#clip0_0_1)">
@@ -284048,7 +285154,7 @@ var Node$13 = class Node$14 {
284048
285154
  `, image_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l96 0 32 0 208 0c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"/></svg>', link_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>', align_left_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>', align_center_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"/></svg>', align_right_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>', align_justify_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z"/></svg>', indent_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>', outdent_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM.2 268.6c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6l0 158.6c0 13.3-15.3 20.8-25.8 12.6L.2 268.6z"/></svg>', paint_roller_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 28.7 28.7 0 64 0L352 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64L64 192c-35.3 0-64-28.7-64-64L0 64zM160 352c0-17.7 14.3-32 32-32l0-16c0-44.2 35.8-80 80-80l144 0c17.7 0 32-14.3 32-32l0-32 0-90.5c37.3 13.2 64 48.7 64 90.5l0 32c0 53-43 96-96 96l-144 0c-8.8 0-16 7.2-16 16l0 16c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-128z"/></svg>', text_slash_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96 503 96 497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32L376.1 32l-.3 0L204.5 32c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96l116.7 0L301.3 210.8l-94.5-74.1zM243.3 416L192 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-42.2 0 17.6-62.1L272.9 311 243.3 416z"/></svg>', rotate_left_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"/></svg>', rotate_right_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"/></svg>', calendar_check_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM329 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L329 305z"/></svg>', calendar_xmark_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zM305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z"/></svg>', list_check_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></svg>', user_edit_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l293.1 0c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7l40.3-40.3c-32.1-31-75.7-50.1-123.9-50.1l-91.4 0zm435.5-68.3c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z"/></svg>', eye_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z"/></svg>', file_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128z"/></svg>', font_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z"/></svg>', file_half_dashed_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 0C28.7 0 0 28.7 0 64L0 320l384 0 0-160-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM0 416l64 0 0-64L0 352l0 64zm288 32l-80 0 0 64 80 0 0-64zm-112 0l-80 0 0 64 80 0 0-64zM64 448L0 448c0 35.3 28.7 64 64 64l0-64zm256 0l0 64c35.3 0 64-28.7 64-64l-64 0zm64-32l0-64-64 0 0 64 64 0z"/></svg>', comment_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"/></svg>', circle_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z"/></svg>', check_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>', xmark_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>', up_right_from_square_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-128c0-17.7-14.3-32-32-32L352 0zM80 32C35.8 32 0 67.8 0 112L0 432c0 44.2 35.8 80 80 80l320 0c44.2 0 80-35.8 80-80l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 112c0 8.8-7.2 16-16 16L80 448c-8.8 0-16-7.2-16-16l0-320c0-8.8 7.2-16 16-16l112 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32z"/></svg>', ellipsis_vertical_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"/></svg>', caret_up_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M182.6 137.4c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8s2.2-25.7-6.9-34.9l-128-128z"/></svg>', caret_down_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>', ruler_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M177.9 494.1c-18.7 18.7-49.1 18.7-67.9 0L17.9 401.9c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 41.4-41.4 48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48 50.7-50.7c18.7-18.7 49.1-18.7 67.9 0l92.1 92.1c18.7 18.7 18.7 49.1 0 67.9L177.9 494.1z"/></svg>', paintbrush_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M339.3 367.1c27.3-3.9 51.9-19.4 67.2-42.9L568.2 74.1c12.6-19.5 9.4-45.3-7.6-61.2S517.7-4.4 499.1 9.6L262.4 187.2c-24 18-38.2 46.1-38.4 76.1L339.3 367.1zm-19.6 25.4l-116-104.4C143.9 290.3 96 339.6 96 400c0 3.9 .2 7.8 .6 11.6C98.4 429.1 86.4 448 68.8 448L64 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0c61.9 0 112-50.1 112-112c0-2.5-.1-5-.2-7.5z"/></svg>', highlighter_icon_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M315 315l158.4-215L444.1 70.6 229 229 315 315zm-187 5s0 0 0 0l0-71.7c0-15.3 7.2-29.6 19.5-38.6L420.6 8.4C428 2.9 437 0 446.2 0c11.4 0 22.4 4.5 30.5 12.6l54.8 54.8c8.1 8.1 12.6 19 12.6 30.5c0 9.2-2.9 18.2-8.4 25.6L334.4 396.5c-9 12.3-23.4 19.5-38.6 19.5L224 416l-25.4 25.4c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3L128 320zM7 466.3l63-63 70.6 70.6-31 31c-4.5 4.5-10.6 7-17 7L24 512c-13.3 0-24-10.7-24-24l0-4.7c0-6.4 2.5-12.5 7-17z"/></svg>
284049
285155
  `, magic_wand_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z"/></svg>', table_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 256l0-96 160 0 0 96L64 256zm0 64l160 0 0 96L64 416l0-96zm224 96l0-96 160 0 0 96-160 0zM448 256l-160 0 0-96 160 0 0 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"/></svg>', table_columns_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm64 64l0 256 160 0 0-256L64 160zm384 0l-160 0 0 256 160 0 0-256z"/></svg>', arrows_left_right_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M406.6 374.6l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224l-293.5 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 288l293.5 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z"/></svg>', arrows_to_dot_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 0c17.7 0 32 14.3 32 32l0 32 32 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-64 64c-12.5 12.5-32.8 12.5-45.3 0l-64-64c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l32 0 0-32c0-17.7 14.3-32 32-32zM169.4 393.4l64-64c12.5-12.5 32.8-12.5 45.3 0l64 64c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-32 0 0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-32 0c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9zM32 224l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c12.5 12.5 12.5 32.8 0 45.3l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm297.4 54.6c-12.5-12.5-12.5-32.8 0-45.3l64-64c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 32 32 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-32 0 0 32c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-64-64zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>', plus_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"/></svg>', trash_can_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z"/></svg>', wrench_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></svg>', border_none_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"/></svg>', up_down_default = `<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="3 4 18 16"><path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 10V5m0 0L4 7m2-2 2 2m-2 7v5m0 0 2-2m-2 2-2-2m8-10h8m0 5h-8m0 5h8"></path></svg>
284050
285156
  `, magnifying_glass_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
284051
- `, scissors_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M278.1 256L444.5 89.6c4.7-4.7 4.7-12.3 0-17-32.8-32.8-86-32.8-118.8 0L210.2 188.1l-24.9-24.9c4.3-10.9 6.7-22.8 6.7-35.3 0-53-43-96-96-96S0 75 0 128s43 96 96 96c4.5 0 9-.3 13.4-.9L142.3 256l-32.9 32.9c-4.4-.6-8.8-.9-13.4-.9-53 0-96 43-96 96s43 96 96 96 96-43 96-96c0-12.5-2.4-24.3-6.7-35.3l24.9-24.9L325.7 439.4c32.8 32.8 86 32.8 118.8 0 4.7-4.7 4.7-12.3 0-17L278.1 256zM96 160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm0 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"/></svg>', copy_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm121-31L375 7A24 24 0 0 0 358.1 0H352v96h96v-6.1a24 24 0 0 0 -7-17z"/></svg>', paste_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 184c0-30.9 25.1-56 56-56h136V56c0-13.3-10.7-24-24-24h-80.6C204.3 12.9 183.6 0 160 0s-44.3 12.9-55.4 32H24C10.7 32 0 42.7 0 56v336c0 13.3 10.7 24 24 24h104V184zm32-144c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm184 248h104v200c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.1V256h-96v-96h6.1a24 24 0 0 1 17 7l65.9 65.9a24 24 0 0 1 7 17z"/></svg>', toolbarIcons, _hoisted_1$20, AlignmentButtons_default, _hoisted_1$19, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$18, _hoisted_2$15, _hoisted_3$11, _hoisted_4$7, _hoisted_5$4, _hoisted_6$2, DocumentMode_default, _hoisted_1$17, _hoisted_2$14, LinkedStyle_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, _hoisted_4$6, _hoisted_5$3, _hoisted_6$1, _hoisted_7$1, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13, _hoisted_14, LinkInput_default, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, ROW_SIZE$1 = 7, IconGridRow_default, droplet_slash_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
285157
+ `, scissors_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M278.1 256L444.5 89.6c4.7-4.7 4.7-12.3 0-17-32.8-32.8-86-32.8-118.8 0L210.2 188.1l-24.9-24.9c4.3-10.9 6.7-22.8 6.7-35.3 0-53-43-96-96-96S0 75 0 128s43 96 96 96c4.5 0 9-.3 13.4-.9L142.3 256l-32.9 32.9c-4.4-.6-8.8-.9-13.4-.9-53 0-96 43-96 96s43 96 96 96 96-43 96-96c0-12.5-2.4-24.3-6.7-35.3l24.9-24.9L325.7 439.4c32.8 32.8 86 32.8 118.8 0 4.7-4.7 4.7-12.3 0-17L278.1 256zM96 160c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm0 256c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"/></svg>', copy_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm121-31L375 7A24 24 0 0 0 358.1 0H352v96h96v-6.1a24 24 0 0 0 -7-17z"/></svg>', paste_solid_default = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M128 184c0-30.9 25.1-56 56-56h136V56c0-13.3-10.7-24-24-24h-80.6C204.3 12.9 183.6 0 160 0s-44.3 12.9-55.4 32H24C10.7 32 0 42.7 0 56v336c0 13.3 10.7 24 24 24h104V184zm32-144c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm184 248h104v200c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.1V256h-96v-96h6.1a24 24 0 0 1 17 7l65.9 65.9a24 24 0 0 1 7 17z"/></svg>', toolbarIcons, _hoisted_1$20, AlignmentButtons_default, _hoisted_1$19, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$18, _hoisted_2$15, _hoisted_3$11, _hoisted_4$7, _hoisted_5$5, _hoisted_6$3, DocumentMode_default, _hoisted_1$17, _hoisted_2$14, LinkedStyle_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, _hoisted_4$6, _hoisted_5$4, _hoisted_6$2, _hoisted_7$2, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13, _hoisted_14, LinkInput_default, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, ROW_SIZE$1 = 7, IconGridRow_default, droplet_slash_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>
284052
285158
  `, _hoisted_1$14, _hoisted_2$11, _hoisted_3$8, IconGrid_default, closeDropdown$1 = (dropdown) => {
284053
285159
  dropdown.expand.value = false;
284054
285160
  }, makeColorOption = (color2, label = null) => {
@@ -284080,7 +285186,7 @@ var Node$13 = class Node$14 {
284080
285186
  })]);
284081
285187
  }, icons, getAvailableColorOptions = () => {
284082
285188
  return icons.flat().map((item) => item.value);
284083
- }, _hoisted_1$13, _hoisted_2$10, ROW_SIZE = 5, TableGrid_default, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, _hoisted_4$5, _hoisted_5$2, TableActions_default, check_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>
285189
+ }, _hoisted_1$13, _hoisted_2$10, ROW_SIZE = 5, TableGrid_default, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, _hoisted_4$5, _hoisted_5$3, TableActions_default, check_default = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>
284084
285190
  `, _hoisted_1$11, _hoisted_2$8, _hoisted_3$6, SearchInput_default, TOOLBAR_FONTS, TOOLBAR_FONT_SIZES, RESPONSIVE_BREAKPOINTS, HEADLESS_ITEM_MAP, TABLE_ACTION_COMMAND_MAP, TABLE_ACTION_COMMAND_IDS, HEADLESS_TOOLBAR_COMMANDS, NON_HEADLESS_EXECUTE_ITEM_NAMES, HEADLESS_EXECUTE_ITEMS, closeDropdown = (dropdown) => {
284085
285191
  dropdown.expand.value = false;
284086
285192
  }, makeDefaultItems = ({ superToolbar, toolbarIcons: toolbarIcons$1, toolbarTexts: toolbarTexts$1, toolbarFonts, hideButtons, availableWidth, role, isDev = false } = {}) => {
@@ -285133,7 +286239,7 @@ var Node$13 = class Node$14 {
285133
286239
  defaultItems: visibleItems,
285134
286240
  overflowItems: overflowItems.filter((item) => item.type !== "separator")
285135
286241
  };
285136
- }, _hoisted_1$10, _hoisted_2$7, ToolbarButtonIcon_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, _hoisted_4$4, _hoisted_5$1, _hoisted_6, _hoisted_7, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, ToolbarButton_default, _hoisted_1$8, ToolbarSeparator_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, OverflowMenu_default, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, ToolbarDropdown_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
286242
+ }, _hoisted_1$10, _hoisted_2$7, ToolbarButtonIcon_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, _hoisted_4$4, _hoisted_5$2, _hoisted_6$1, _hoisted_7$1, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, ToolbarButton_default, _hoisted_1$8, ToolbarSeparator_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, OverflowMenu_default, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, ToolbarDropdown_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
285137
286243
  const fontFamilyProps = paragraphProps?.runProperties?.fontFamily;
285138
286244
  if (!fontFamilyProps)
285139
286245
  return null;
@@ -287133,7 +288239,7 @@ var Node$13 = class Node$14 {
287133
288239
  return () => {};
287134
288240
  const handle3 = setInterval(callback, intervalMs);
287135
288241
  return () => clearInterval(handle3);
287136
- }, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", ALLOWED_SOURCE_MARK_TYPES, TEXT_STYLE_ALLOWED_ATTRS, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TOC_ENTRY_STYLE_RE, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", SETTINGS_PART, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.32.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension3) => {
288242
+ }, HISTORY_UNSAFE_OPS, CANONICAL_COMMENT_IGNORED_KEYS, INITIAL_HASH, ROUND_CONSTANTS, V1_COVERAGE, V2_COVERAGE, SNAPSHOT_VERSION_V2 = "sd-diff-snapshot/v2", PAYLOAD_VERSION_V1 = "sd-diff-payload/v1", PAYLOAD_VERSION_V2 = "sd-diff-payload/v2", ENGINE_ID = "super-editor", STAGED_CONVERTER_KEYS, DiffServiceError, DEFAULT_LEVEL = 1, SWITCH_PATTERN, TOC_BOOKMARK_PREFIX = "_Toc", ALLOWED_SOURCE_MARK_TYPES, TEXT_STYLE_ALLOWED_ATTRS, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TOC_ENTRY_STYLE_RE, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, ALLOWED_WRAP_ATTRS, WRAP_TYPES_SUPPORTING_SIDE, WRAP_TYPES_SUPPORTING_DISTANCES, RELATIVE_HEIGHT_MIN = 0, RELATIVE_HEIGHT_MAX = 4294967295, FORBIDDEN_RAW_PATCH_NAMES, CONTROL_TYPE_SDT_PR_ELEMENTS, DEFAULT_CHECKBOX_SYMBOL_FONT2 = "MS Gothic", DEFAULT_CHECKBOX_CHECKED_HEX2 = "2612", DEFAULT_CHECKBOX_UNCHECKED_HEX2 = "2610", VARIANT_ORDER, KIND_ORDER, HEADER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE3 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", DOCUMENT_RELS_PATH2 = "word/_rels/document.xml.rels", HEADER_FILE_PATTERN2, FOOTER_FILE_PATTERN2, SPECIAL_NOTE_TYPES, BOOKMARK_SCAN_REVISION_PREFIX = "bookmark-scan:", import_lib4, CUSTOM_XML_DATA_RELATIONSHIP_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml", CUSTOM_XML_PROPS_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps", CUSTOM_XML_DATASTORE_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/customXml", SETTINGS_PART, RESTART_POLICY_TO_OOXML, VALID_DISPLAYS, REFERENCE_BLOCK_PREFIX, CAPTION_STYLE_NAMES, CAPTION_PARAGRAPH_STYLE_ID = "Caption", CAPTION_FORMAT_TO_OOXML, DOCUMENT_STAT_FIELD_TYPES, TOA_LEADER_REVERSE_MAP, EDGE_NODE_TYPES, CONTENT_TYPES_PART_ID = "[Content_Types].xml", CONTENT_TYPES_NS = "http://schemas.openxmlformats.org/package/2006/content-types", contentTypesPartDescriptor, empty_exports, init_empty, CURRENT_APP_VERSION2 = "1.32.0", PIXELS_PER_INCH2 = 96, MAX_HEIGHT_BUFFER_PX = 50, MAX_WIDTH_BUFFER_PX = 20, cloneExtensionInstance = (extension3) => {
287137
288243
  const extensionLike = extension3;
287138
288244
  const config2 = extensionLike?.config;
287139
288245
  const ExtensionCtor = extensionLike?.constructor;
@@ -287193,21 +288299,31 @@ var Node$13 = class Node$14 {
287193
288299
  continue;
287194
288300
  const internalIds = new Set(parseCommaSeparated(el.dataset.commentInternalIds));
287195
288301
  const primaryIsInternal = internalIds.has(ids[0]);
288302
+ const isTrackedChangeAnchored = el.classList.contains("highlighted") && (el.classList.contains("track-insert-dec") || el.classList.contains("track-delete-dec"));
287196
288303
  if (activeId == null) {
287197
- applyBgColor(el, primaryIsInternal ? H.INT : H.EXT);
288304
+ if (!isTrackedChangeAnchored)
288305
+ applyBgColor(el, primaryIsInternal ? H.INT : H.EXT);
288306
+ else
288307
+ el.style.backgroundColor = "";
287198
288308
  el.style.boxShadow = "";
287199
288309
  continue;
287200
288310
  }
287201
288311
  const matchedId = this.#resolveMatch(activeId, ids, el.dataset.commentImportedIds);
287202
288312
  if (matchedId != null) {
287203
288313
  const matchIsInternal = internalIds.has(matchedId);
287204
- applyBgColor(el, matchIsInternal ? H.INT_ACTIVE : H.EXT_ACTIVE);
288314
+ if (!isTrackedChangeAnchored)
288315
+ applyBgColor(el, matchIsInternal ? H.INT_ACTIVE : H.EXT_ACTIVE);
288316
+ else
288317
+ el.style.backgroundColor = "";
287205
288318
  if (ids.length > 1)
287206
288319
  applyBoxShadow(el, matchIsInternal ? H.INT_NESTED_BDR : H.EXT_NESTED_BDR);
287207
288320
  else
287208
288321
  el.style.boxShadow = "";
287209
288322
  } else {
287210
- applyBgColor(el, primaryIsInternal ? H.INT_FADED : H.EXT_FADED);
288323
+ if (!isTrackedChangeAnchored)
288324
+ applyBgColor(el, primaryIsInternal ? H.INT_FADED : H.EXT_FADED);
288325
+ else
288326
+ el.style.backgroundColor = "";
287211
288327
  el.style.boxShadow = "";
287212
288328
  }
287213
288329
  }
@@ -293708,7 +294824,7 @@ menclose::after {
293708
294824
  return true;
293709
294825
  if (!a2 || !b$1)
293710
294826
  return !a2 && !b$1;
293711
- if (a2.alignment !== b$1.alignment || a2.contextualSpacing !== b$1.contextualSpacing || a2.suppressFirstLineIndent !== b$1.suppressFirstLineIndent || a2.dropCap !== b$1.dropCap || a2.decimalSeparator !== b$1.decimalSeparator || a2.tabIntervalTwips !== b$1.tabIntervalTwips || a2.keepNext !== b$1.keepNext || a2.keepLines !== b$1.keepLines || a2.direction !== b$1.direction || a2.floatAlignment !== b$1.floatAlignment)
294827
+ if (a2.alignment !== b$1.alignment || a2.contextualSpacing !== b$1.contextualSpacing || a2.suppressFirstLineIndent !== b$1.suppressFirstLineIndent || a2.dropCap !== b$1.dropCap || a2.decimalSeparator !== b$1.decimalSeparator || a2.tabIntervalTwips !== b$1.tabIntervalTwips || a2.keepNext !== b$1.keepNext || a2.keepLines !== b$1.keepLines || getParagraphInlineDirection(a2) !== getParagraphInlineDirection(b$1) || a2.floatAlignment !== b$1.floatAlignment)
293712
294828
  return false;
293713
294829
  if (!paragraphSpacingEqual(a2.spacing, b$1.spacing))
293714
294830
  return false;
@@ -296164,7 +297280,6 @@ menclose::after {
296164
297280
  keepLines: resolvedParagraphProperties.keepLines,
296165
297281
  floatAlignment,
296166
297282
  pageBreakBefore: resolvedParagraphProperties.pageBreakBefore,
296167
- ...normalizedDirection ? { direction: normalizedDirection } : {},
296168
297283
  directionContext
296169
297284
  };
296170
297285
  if (normalizedNumberingProperties && normalizedListRendering) {
@@ -302872,18 +303987,19 @@ menclose::after {
302872
303987
  return;
302873
303988
  console.log(...args$1);
302874
303989
  }, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions;
302875
- var init_src_BaUVXQjX_es = __esm(() => {
303990
+ var init_src_Bnec7ggt_es = __esm(() => {
302876
303991
  init_rolldown_runtime_Bg48TavK_es();
302877
- init_SuperConverter_1Voea3gd_es();
303992
+ init_SuperConverter_8A1MBmqJ_es();
302878
303993
  init_jszip_C49i9kUs_es();
303994
+ init_xml_js_CqGKpaft_es();
302879
303995
  init_uuid_qzgm05fK_es();
302880
- init_create_headless_toolbar_cNPAdMd2_es();
303996
+ init_create_headless_toolbar_1RfXz7Wm_es();
302881
303997
  init_constants_DrU4EASo_es();
302882
303998
  init_dist_B8HfvhaK_es();
302883
303999
  init_unified_Dsuw2be5_es();
302884
304000
  init_remark_gfm_BhnWr3yf_es();
302885
304001
  init_remark_stringify_6MMJfY0k_es();
302886
- init_DocxZipper_TPSo9G36_es();
304002
+ init_DocxZipper_Bphhij1P_es();
302887
304003
  init__plugin_vue_export_helper_HmhZBO0u_es();
302888
304004
  init_eventemitter3_UwU_CLPU_es();
302889
304005
  init_errors_C_DoKMoN_es();
@@ -304411,8 +305527,6 @@ ${err.toString()}`);
304411
305527
  const editor = this.editor;
304412
305528
  if (editor.options?.isHeadless)
304413
305529
  return [];
304414
- let slashCooldown = false;
304415
- let slashCooldownTimeout = null;
304416
305530
  const isMenuDisabled = () => Boolean(editor.options?.disableContextMenu);
304417
305531
  const ensureStateShape = (value = {}) => ({
304418
305532
  open: false,
@@ -304420,6 +305534,7 @@ ${err.toString()}`);
304420
305534
  anchorPos: null,
304421
305535
  menuPosition: null,
304422
305536
  disabled: isMenuDisabled(),
305537
+ trigger: null,
304423
305538
  ...value
304424
305539
  });
304425
305540
  return [new Plugin({
@@ -304498,7 +305613,8 @@ ${err.toString()}`);
304498
305613
  ...value,
304499
305614
  open: true,
304500
305615
  anchorPos: meta2.pos,
304501
- menuPosition
305616
+ menuPosition,
305617
+ trigger: isRightClick ? "rightClick" : "slash"
304502
305618
  };
304503
305619
  editor.emit("contextMenu:open", { menuPosition });
304504
305620
  return ensureStateShape(newState);
@@ -304513,7 +305629,8 @@ ${err.toString()}`);
304513
305629
  return ensureStateShape({
304514
305630
  ...value,
304515
305631
  open: false,
304516
- anchorPos: null
305632
+ anchorPos: null,
305633
+ trigger: null
304517
305634
  });
304518
305635
  default:
304519
305636
  return ensureStateShape({
@@ -304535,18 +305652,12 @@ ${err.toString()}`);
304535
305652
  return { destroy() {
304536
305653
  window.removeEventListener("scroll", updatePosition$1, true);
304537
305654
  window.removeEventListener("resize", updatePosition$1);
304538
- if (slashCooldownTimeout) {
304539
- clearTimeout(slashCooldownTimeout);
304540
- slashCooldownTimeout = null;
304541
- }
304542
305655
  } };
304543
305656
  },
304544
305657
  props: { handleKeyDown(view, event) {
304545
305658
  if (isMenuDisabled())
304546
305659
  return false;
304547
305660
  const pluginState = this.getState(view.state);
304548
- if (event.key === "/" && slashCooldown)
304549
- return false;
304550
305661
  if (event.key === "/" && !pluginState.open) {
304551
305662
  const { $cursor } = view.state.selection;
304552
305663
  if (!$cursor)
@@ -304557,25 +305668,28 @@ ${err.toString()}`);
304557
305668
  if (!(!textBefore || textBefore.endsWith(" ")))
304558
305669
  return false;
304559
305670
  event.preventDefault();
304560
- slashCooldown = true;
304561
- if (slashCooldownTimeout)
304562
- clearTimeout(slashCooldownTimeout);
304563
- slashCooldownTimeout = setTimeout(() => {
304564
- slashCooldown = false;
304565
- slashCooldownTimeout = null;
304566
- }, SLASH_COOLDOWN_MS);
304567
305671
  view.dispatch(view.state.tr.setMeta(ContextMenuPluginKey, {
304568
305672
  type: "open",
304569
305673
  pos: $cursor.pos
304570
305674
  }));
304571
305675
  return true;
304572
305676
  }
304573
- if (pluginState.open && (event.key === "Escape" || event.key === "ArrowLeft")) {
304574
- const { anchorPos } = pluginState;
305677
+ if (!pluginState.open)
305678
+ return false;
305679
+ if (event.key === "Backspace" || event.key === "Delete") {
305680
+ event.preventDefault();
304575
305681
  view.dispatch(view.state.tr.setMeta(ContextMenuPluginKey, { type: "close" }));
304576
- if (anchorPos !== null) {
304577
- const tr = view.state.tr.setSelection(view.state.selection.constructor.near(view.state.doc.resolve(anchorPos)));
304578
- view.dispatch(tr);
305682
+ return true;
305683
+ }
305684
+ if (event.key === "Escape" || event.key === "ArrowLeft") {
305685
+ const { anchorPos, trigger } = pluginState;
305686
+ event.preventDefault();
305687
+ view.dispatch(view.state.tr.setMeta(ContextMenuPluginKey, { type: "close" }));
305688
+ if (trigger === "slash" && anchorPos !== null) {
305689
+ const insertTr = view.state.tr.insertText("/", anchorPos);
305690
+ const insertedAt = anchorPos + 1;
305691
+ insertTr.setSelection(view.state.selection.constructor.near(insertTr.doc.resolve(insertedAt)));
305692
+ view.dispatch(insertTr);
304579
305693
  view.focus();
304580
305694
  }
304581
305695
  return true;
@@ -320327,7 +321441,7 @@ function print() { __p += __j.call(arguments, '') }
320327
321441
  _hoisted_2$17 = { key: 0 };
320328
321442
  _hoisted_3$13 = { key: 0 };
320329
321443
  _hoisted_4$9 = { key: 1 };
320330
- _hoisted_5$6 = { key: 1 };
321444
+ _hoisted_5$7 = { key: 1 };
320331
321445
  Mentions_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
320332
321446
  __name: "Mentions",
320333
321447
  props: {
@@ -320393,7 +321507,7 @@ function print() { __p += __j.call(arguments, '') }
320393
321507
  onMouseleave: _cache[0] || (_cache[0] = ($event) => activeUserIndex.value = null),
320394
321508
  key: user.email,
320395
321509
  class: exports_vue.normalizeClass(["user-row", { selected: activeUserIndex.value === index2 }])
320396
- }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$17, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$13, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$9, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$22);
321510
+ }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$17, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$13, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$9, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$7, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$22);
320397
321511
  }), 128))], 544);
320398
321512
  };
320399
321513
  }
@@ -321581,7 +322695,7 @@ function print() { __p += __j.call(arguments, '') }
321581
322695
  _hoisted_2$16 = ["innerHTML"];
321582
322696
  _hoisted_3$12 = ["placeholder"];
321583
322697
  _hoisted_4$8 = { class: "ai-loader" };
321584
- _hoisted_5$5 = ["innerHTML"];
322698
+ _hoisted_5$6 = ["innerHTML"];
321585
322699
  AIWriter_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
321586
322700
  __name: "AIWriter",
321587
322701
  props: {
@@ -321825,7 +322939,7 @@ function print() { __p += __j.call(arguments, '') }
321825
322939
  class: "ai-textarea-icon ai-submit-button",
321826
322940
  onClick: exports_vue.withModifiers(handleSubmit, ["stop"]),
321827
322941
  innerHTML: exports_vue.unref(paper_plane_regular_default)
321828
- }, null, 8, _hoisted_5$5)) : exports_vue.createCommentVNode("", true)])], 544);
322942
+ }, null, 8, _hoisted_5$6)) : exports_vue.createCommentVNode("", true)])], 544);
321829
322943
  };
321830
322944
  }
321831
322945
  }, [["__scopeId", "data-v-79953d57"]]);
@@ -322162,8 +323276,8 @@ function print() { __p += __j.call(arguments, '') }
322162
323276
  _hoisted_2$15 = { class: "document-mode-column icon-column" };
322163
323277
  _hoisted_3$11 = ["innerHTML"];
322164
323278
  _hoisted_4$7 = { class: "document-mode-column text-column" };
322165
- _hoisted_5$4 = { class: "document-mode-type" };
322166
- _hoisted_6$2 = { class: "document-mode-description" };
323279
+ _hoisted_5$5 = { class: "document-mode-type" };
323280
+ _hoisted_6$3 = { class: "document-mode-description" };
322167
323281
  DocumentMode_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
322168
323282
  __name: "DocumentMode",
322169
323283
  props: { options: { type: Array } },
@@ -322227,7 +323341,7 @@ function print() { __p += __j.call(arguments, '') }
322227
323341
  }, [exports_vue.createElementVNode("div", _hoisted_2$15, [exports_vue.createElementVNode("div", {
322228
323342
  class: "icon-column__icon",
322229
323343
  innerHTML: option.icon
322230
- }, null, 8, _hoisted_3$11)]), exports_vue.createElementVNode("div", _hoisted_4$7, [exports_vue.createElementVNode("div", _hoisted_5$4, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$2, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$18);
323344
+ }, null, 8, _hoisted_3$11)]), exports_vue.createElementVNode("div", _hoisted_4$7, [exports_vue.createElementVNode("div", _hoisted_5$5, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$3, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$18);
322231
323345
  }), 256))], 2);
322232
323346
  };
322233
323347
  }
@@ -322328,12 +323442,12 @@ function print() { __p += __j.call(arguments, '') }
322328
323442
  key: 3,
322329
323443
  class: "link-title"
322330
323444
  };
322331
- _hoisted_5$3 = {
323445
+ _hoisted_5$4 = {
322332
323446
  key: 4,
322333
323447
  class: "link-input-wrapper"
322334
323448
  };
322335
- _hoisted_6$1 = { class: "input-row text-input-row" };
322336
- _hoisted_7$1 = ["readonly"];
323449
+ _hoisted_6$2 = { class: "input-row text-input-row" };
323450
+ _hoisted_7$2 = ["readonly"];
322337
323451
  _hoisted_8$1 = { class: "input-row url-input-row" };
322338
323452
  _hoisted_9$1 = ["innerHTML"];
322339
323453
  _hoisted_10$1 = ["readonly", "onKeydown"];
@@ -322515,15 +323629,15 @@ function print() { __p += __j.call(arguments, '') }
322515
323629
  props.goToAnchor(url$1);
322516
323630
  };
322517
323631
  return (_ctx, _cache) => {
322518
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["link-input-ctn", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$16, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$13, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$10, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$6, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$3, [
322519
- exports_vue.createElementVNode("div", _hoisted_6$1, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
323632
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", { class: exports_vue.normalizeClass(["link-input-ctn", { "high-contrast": exports_vue.unref(isHighContrastMode$1) }]) }, [isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$16, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$13, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$10, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$6, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$4, [
323633
+ exports_vue.createElementVNode("div", _hoisted_6$2, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
322520
323634
  type: "text",
322521
323635
  name: "text",
322522
323636
  placeholder: "Text",
322523
323637
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => text5.value = $event),
322524
323638
  readonly: isViewingMode.value,
322525
323639
  onKeydown: _cache[1] || (_cache[1] = exports_vue.withKeys(exports_vue.withModifiers(($event) => !isViewingMode.value && handleSubmit, ["stop", "prevent"]), ["enter"]))
322526
- }, null, 40, _hoisted_7$1), [[exports_vue.vModelText, text5.value]])]),
323640
+ }, null, 40, _hoisted_7$2), [[exports_vue.vModelText, text5.value]])]),
322527
323641
  exports_vue.createElementVNode("div", _hoisted_8$1, [
322528
323642
  exports_vue.createElementVNode("div", {
322529
323643
  class: "input-icon",
@@ -322959,7 +324073,7 @@ function print() { __p += __j.call(arguments, '') }
322959
324073
  ];
322960
324074
  _hoisted_3$7 = { class: "toolbar-table-actions__icon" };
322961
324075
  _hoisted_4$5 = ["innerHTML"];
322962
- _hoisted_5$2 = { class: "toolbar-table-actions__label" };
324076
+ _hoisted_5$3 = { class: "toolbar-table-actions__label" };
322963
324077
  TableActions_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
322964
324078
  __name: "TableActions",
322965
324079
  props: { options: { type: Array } },
@@ -322980,7 +324094,7 @@ function print() { __p += __j.call(arguments, '') }
322980
324094
  }, [exports_vue.createElementVNode("div", _hoisted_3$7, [exports_vue.createElementVNode("div", {
322981
324095
  class: "toolbar-table-actions__icon-wrapper",
322982
324096
  innerHTML: option.icon
322983
- }, null, 8, _hoisted_4$5)]), exports_vue.createElementVNode("div", _hoisted_5$2, exports_vue.toDisplayString(option.label), 1)], 10, _hoisted_2$9);
324097
+ }, null, 8, _hoisted_4$5)]), exports_vue.createElementVNode("div", _hoisted_5$3, exports_vue.toDisplayString(option.label), 1)], 10, _hoisted_2$9);
322984
324098
  }), 256))]);
322985
324099
  };
322986
324100
  }
@@ -323227,9 +324341,9 @@ function print() { __p += __j.call(arguments, '') }
323227
324341
  key: 1,
323228
324342
  class: "button-label"
323229
324343
  };
323230
- _hoisted_5$1 = ["data-item", "aria-label"];
323231
- _hoisted_6 = ["innerHTML"];
323232
- _hoisted_7 = {
324344
+ _hoisted_5$2 = ["data-item", "aria-label"];
324345
+ _hoisted_6$1 = ["innerHTML"];
324346
+ _hoisted_7$1 = {
323233
324347
  key: 1,
323234
324348
  class: "button-label"
323235
324349
  };
@@ -323377,7 +324491,7 @@ function print() { __p += __j.call(arguments, '') }
323377
324491
  class: "dropdown-caret",
323378
324492
  innerHTML: caretIcon.value,
323379
324493
  style: exports_vue.normalizeStyle({ opacity: exports_vue.unref(disabled) ? 0.6 : 1 })
323380
- }, null, 12, _hoisted_6)], 8, _hoisted_5$1)) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 2 }, [
324494
+ }, null, 12, _hoisted_6$1)], 8, _hoisted_5$2)) : (exports_vue.openBlock(), exports_vue.createElementBlock(exports_vue.Fragment, { key: 2 }, [
323381
324495
  exports_vue.unref(icon) ? (exports_vue.openBlock(), exports_vue.createBlock(ToolbarButtonIcon_default, {
323382
324496
  key: 0,
323383
324497
  color: exports_vue.unref(iconColor),
@@ -323389,7 +324503,7 @@ function print() { __p += __j.call(arguments, '') }
323389
324503
  "icon",
323390
324504
  "name"
323391
324505
  ])) : exports_vue.createCommentVNode("", true),
323392
- exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_7, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true),
324506
+ exports_vue.unref(label) && !exports_vue.unref(hideLabel) && !exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_7$1, exports_vue.toDisplayString(exports_vue.unref(label)), 1)) : exports_vue.createCommentVNode("", true),
323393
324507
  exports_vue.unref(inlineTextInputVisible) ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_8, [exports_vue.unref(name) === "fontSize" ? exports_vue.withDirectives((exports_vue.openBlock(), exports_vue.createElementBlock("input", {
323394
324508
  key: 0,
323395
324509
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => inlineTextInput.value = $event),
@@ -326722,7 +327836,7 @@ function print() { __p += __j.call(arguments, '') }
326722
327836
  stylesPartDescriptor = {
326723
327837
  id: STYLES_PART_ID,
326724
327838
  ensurePart(editor) {
326725
- const converter = getConverter$52(editor);
327839
+ const converter = getConverter$62(editor);
326726
327840
  if (converter?.convertedXml[STYLES_PART_ID])
326727
327841
  return converter.convertedXml[STYLES_PART_ID];
326728
327842
  return {
@@ -326737,7 +327851,7 @@ function print() { __p += __j.call(arguments, '') }
326737
327851
  },
326738
327852
  afterCommit(ctx$1) {
326739
327853
  if (ctx$1.source.startsWith("collab:remote:")) {
326740
- const converter = getConverter$52(ctx$1.editor);
327854
+ const converter = getConverter$62(ctx$1.editor);
326741
327855
  if (converter)
326742
327856
  try {
326743
327857
  converter.translatedLinkedStyles = translateStyleDefinitions(converter.convertedXml);
@@ -327165,6 +328279,7 @@ function print() { __p += __j.call(arguments, '') }
327165
328279
  HEADER_FILE_PATTERN2 = /header(\d+)\.xml$/;
327166
328280
  FOOTER_FILE_PATTERN2 = /footer(\d+)\.xml$/;
327167
328281
  SPECIAL_NOTE_TYPES = new Set(["separator", "continuationSeparator"]);
328282
+ import_lib4 = /* @__PURE__ */ __toESM2(require_lib(), 1);
327168
328283
  SETTINGS_PART = SETTINGS_PART_PATH;
327169
328284
  RESTART_POLICY_TO_OOXML = {
327170
328285
  continuous: "continuous",
@@ -327415,14 +328530,14 @@ function print() { __p += __j.call(arguments, '') }
327415
328530
  if (!allowed.includes(this.#editorLifecycleState))
327416
328531
  throw new InvalidStateError(`Invalid operation: editor is in '${this.#editorLifecycleState}' state, expected one of: ${allowed.join(", ")}`);
327417
328532
  }
327418
- async#withState(during, success, failure, operation) {
328533
+ async#withState(during, success, failure$1, operation) {
327419
328534
  this.#editorLifecycleState = during;
327420
328535
  try {
327421
328536
  const result = await operation();
327422
328537
  this.#editorLifecycleState = success;
327423
328538
  return result;
327424
328539
  } catch (error3) {
327425
- this.#editorLifecycleState = failure;
328540
+ this.#editorLifecycleState = failure$1;
327426
328541
  throw error3;
327427
328542
  }
327428
328543
  }
@@ -328802,6 +329917,10 @@ function print() { __p += __j.call(arguments, '') }
328802
329917
  if (partData?.elements?.[0])
328803
329918
  updatedDocs[path2] = String(this.converter.schemaToXml(partData.elements[0]));
328804
329919
  }
329920
+ const removedCustomXmlPaths = this.converter.removedCustomXmlPaths;
329921
+ if (removedCustomXmlPaths instanceof Set)
329922
+ for (const path2 of removedCustomXmlPaths)
329923
+ updatedDocs[path2] = null;
328805
329924
  const zipper = new DocxZipper_default;
328806
329925
  if (getUpdatedDocs) {
328807
329926
  updatedDocs["[Content_Types].xml"] = await zipper.updateContentTypes({ files: this.options.content }, media2, true, updatedDocs, this.options.fonts);
@@ -340939,11 +342058,11 @@ function print() { __p += __j.call(arguments, '') }
340939
342058
  ];
340940
342059
  });
340941
342060
 
340942
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-C8mCHw5x.es.js
342061
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BLwvPPRc.es.js
340943
342062
  var MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
340944
- var init_create_super_doc_ui_C8mCHw5x_es = __esm(() => {
340945
- init_SuperConverter_1Voea3gd_es();
340946
- init_create_headless_toolbar_cNPAdMd2_es();
342063
+ var init_create_super_doc_ui_BLwvPPRc_es = __esm(() => {
342064
+ init_SuperConverter_8A1MBmqJ_es();
342065
+ init_create_headless_toolbar_1RfXz7Wm_es();
340947
342066
  MOD_ALIASES = new Set([
340948
342067
  "Mod",
340949
342068
  "Meta",
@@ -340985,16 +342104,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
340985
342104
 
340986
342105
  // ../../packages/superdoc/dist/super-editor.es.js
340987
342106
  var init_super_editor_es = __esm(() => {
340988
- init_src_BaUVXQjX_es();
340989
- init_SuperConverter_1Voea3gd_es();
342107
+ init_src_Bnec7ggt_es();
342108
+ init_SuperConverter_8A1MBmqJ_es();
340990
342109
  init_jszip_C49i9kUs_es();
340991
342110
  init_xml_js_CqGKpaft_es();
340992
- init_create_headless_toolbar_cNPAdMd2_es();
342111
+ init_create_headless_toolbar_1RfXz7Wm_es();
340993
342112
  init_constants_DrU4EASo_es();
340994
342113
  init_dist_B8HfvhaK_es();
340995
342114
  init_unified_Dsuw2be5_es();
340996
- init_DocxZipper_TPSo9G36_es();
340997
- init_create_super_doc_ui_C8mCHw5x_es();
342115
+ init_DocxZipper_Bphhij1P_es();
342116
+ init_create_super_doc_ui_BLwvPPRc_es();
340998
342117
  init_ui_CGB3qmy3_es();
340999
342118
  init_eventemitter3_UwU_CLPU_es();
341000
342119
  init_errors_C_DoKMoN_es();
@@ -389725,104 +390844,104 @@ function mapFailedReceipt(operationId, result2) {
389725
390844
  return null;
389726
390845
  if (result2.success)
389727
390846
  return null;
389728
- const failure = result2.failure;
390847
+ const failure2 = result2.failure;
389729
390848
  const family = resolveOperationFamily(operationId);
389730
- if (!failure) {
390849
+ if (!failure2) {
389731
390850
  return new CliError("COMMAND_FAILED", `${operationId}: operation failed.`, { operationId });
389732
390851
  }
389733
- const failureCode = failure.code;
389734
- const failureMessage = failure.message ?? `${operationId}: operation failed.`;
390852
+ const failureCode = failure2.code;
390853
+ const failureMessage = failure2.message ?? `${operationId}: operation failed.`;
389735
390854
  if (failureCode && PLAN_ENGINE_PASSTHROUGH_CODES.has(failureCode)) {
389736
- return new CliError(failureCode, failureMessage, { operationId, failure });
390855
+ return new CliError(failureCode, failureMessage, { operationId, failure: failure2 });
389737
390856
  }
389738
390857
  if (family === "trackChanges") {
389739
390858
  if (failureCode === "TRACK_CHANGE_COMMAND_UNAVAILABLE") {
389740
- return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure });
390859
+ return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure: failure2 });
389741
390860
  }
389742
390861
  if (failureCode === "INVALID_TARGET") {
389743
- return new CliError("TRACK_CHANGE_NOT_FOUND", failureMessage, { operationId, failure });
390862
+ return new CliError("TRACK_CHANGE_NOT_FOUND", failureMessage, { operationId, failure: failure2 });
389744
390863
  }
389745
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390864
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389746
390865
  }
389747
390866
  if (family === "comments") {
389748
390867
  if (failureCode === "TARGET_NOT_FOUND") {
389749
- return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure });
390868
+ return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure: failure2 });
389750
390869
  }
389751
390870
  if (failureCode === "INVALID_TARGET") {
389752
- return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
390871
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure: failure2 });
389753
390872
  }
389754
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390873
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389755
390874
  }
389756
390875
  if (family === "lists") {
389757
390876
  if (failureCode === "INVALID_TARGET") {
389758
- return new CliError("INVALID_TARGET", failureMessage, { operationId, failure });
390877
+ return new CliError("INVALID_TARGET", failureMessage, { operationId, failure: failure2 });
389759
390878
  }
389760
390879
  if (failureCode === "CAPABILITY_UNAVAILABLE") {
389761
- return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure });
390880
+ return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure: failure2 });
389762
390881
  }
389763
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390882
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389764
390883
  }
389765
390884
  if (family === "textMutation") {
389766
390885
  if (failureCode === "TRACK_CHANGE_COMMAND_UNAVAILABLE" || failureCode === "CAPABILITY_UNAVAILABLE") {
389767
- return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure });
390886
+ return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure: failure2 });
389768
390887
  }
389769
390888
  if (failureCode === "INVALID_TARGET") {
389770
- return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
390889
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure: failure2 });
389771
390890
  }
389772
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390891
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389773
390892
  }
389774
390893
  if (family === "blocks") {
389775
390894
  if (failureCode === "INVALID_TARGET") {
389776
- return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
390895
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure: failure2 });
389777
390896
  }
389778
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390897
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389779
390898
  }
389780
390899
  if (family === "create") {
389781
390900
  if (failureCode === "TRACK_CHANGE_COMMAND_UNAVAILABLE") {
389782
- return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure });
390901
+ return new CliError("TRACK_CHANGE_COMMAND_UNAVAILABLE", failureMessage, { operationId, failure: failure2 });
389783
390902
  }
389784
390903
  if (failureCode === "INVALID_TARGET") {
389785
- return new CliError("INVALID_TARGET", failureMessage, { operationId, failure });
390904
+ return new CliError("INVALID_TARGET", failureMessage, { operationId, failure: failure2 });
389786
390905
  }
389787
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390906
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389788
390907
  }
389789
390908
  if (family === "toc") {
389790
390909
  if (failureCode === "TARGET_NOT_FOUND") {
389791
- return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure });
390910
+ return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure: failure2 });
389792
390911
  }
389793
390912
  if (failureCode === "INVALID_TARGET") {
389794
- return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
390913
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure: failure2 });
389795
390914
  }
389796
390915
  if (failureCode === "PAGE_NUMBERS_NOT_MATERIALIZED") {
389797
- return new CliError("PAGE_NUMBERS_NOT_MATERIALIZED", failureMessage, { operationId, failure });
390916
+ return new CliError("PAGE_NUMBERS_NOT_MATERIALIZED", failureMessage, { operationId, failure: failure2 });
389798
390917
  }
389799
390918
  if (failureCode === "CAPABILITY_UNAVAILABLE") {
389800
- return new CliError("CAPABILITY_UNAVAILABLE", failureMessage, { operationId, failure });
390919
+ return new CliError("CAPABILITY_UNAVAILABLE", failureMessage, { operationId, failure: failure2 });
389801
390920
  }
389802
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390921
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389803
390922
  }
389804
390923
  if (family === "images") {
389805
390924
  if (failureCode === "TARGET_NOT_FOUND") {
389806
- return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure });
390925
+ return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure: failure2 });
389807
390926
  }
389808
390927
  if (failureCode === "INVALID_TARGET") {
389809
- return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
390928
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure: failure2 });
389810
390929
  }
389811
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390930
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389812
390931
  }
389813
390932
  if (family === "tables") {
389814
390933
  if (failureCode === "TARGET_NOT_FOUND") {
389815
- return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure });
390934
+ return new CliError("TARGET_NOT_FOUND", failureMessage, { operationId, failure: failure2 });
389816
390935
  }
389817
390936
  if (failureCode === "INVALID_TARGET") {
389818
- return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure });
390937
+ return new CliError("INVALID_ARGUMENT", failureMessage, { operationId, failure: failure2 });
389819
390938
  }
389820
390939
  if (failureCode === "CAPABILITY_UNAVAILABLE") {
389821
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390940
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389822
390941
  }
389823
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390942
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389824
390943
  }
389825
- return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure });
390944
+ return new CliError("COMMAND_FAILED", failureMessage, { operationId, failure: failure2 });
389826
390945
  }
389827
390946
  var PLAN_ENGINE_PASSTHROUGH_CODES, FAMILY_MAPPERS;
389828
390947
  var init_error_mapping = __esm(() => {