@superdoc-dev/cli 0.17.0-next.35 → 0.17.0-next.37

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 +780 -366
  2. package/package.json +8 -8
package/dist/index.js CHANGED
@@ -2917,6 +2917,21 @@ More content with **bold** and *italic*.`
2917
2917
  referenceDocPath: "format/paragraph/clear-direction.mdx",
2918
2918
  referenceGroup: "format.paragraph"
2919
2919
  },
2920
+ "format.paragraph.setNumbering": {
2921
+ memberPath: "format.paragraph.setNumbering",
2922
+ description: "Attach numbering (numId + level) to an existing paragraph or heading so it joins a numbered sequence. Numbering is a paragraph property; the node and its style are otherwise unchanged, though any direct paragraph indent is cleared so the numbering level controls indentation. Direct edits only; tracked mode is unsupported.",
2923
+ expectedResult: "Returns a ParagraphMutationResult; reports NO_OP if the block already carries this numbering. On a successful apply, resolution.target reflects the post-mutation address (a numbered plain paragraph re-resolves to listItem; a heading stays a heading); a dryRun returns the input target.",
2924
+ requiresDocumentContext: true,
2925
+ metadata: mutationOperation({
2926
+ idempotency: "conditional",
2927
+ supportsDryRun: true,
2928
+ supportsTrackedMode: false,
2929
+ possibleFailureCodes: ["NO_OP"],
2930
+ throws: T_PARAGRAPH_MUTATION
2931
+ }),
2932
+ referenceDocPath: "format/paragraph/set-numbering.mdx",
2933
+ referenceGroup: "format.paragraph"
2934
+ },
2920
2935
  "lists.list": {
2921
2936
  memberPath: "lists.list",
2922
2937
  description: "List all list nodes in the document, optionally filtered by scope.",
@@ -7916,6 +7931,23 @@ function validateClearDirection(input) {
7916
7931
  assertParagraphTarget(input, "format.paragraph.clearDirection");
7917
7932
  assertNoUnknownFields(input, CLEAR_DIRECTION_KEYS, "format.paragraph.clearDirection");
7918
7933
  }
7934
+ function validateSetNumbering(input) {
7935
+ const op = "format.paragraph.setNumbering";
7936
+ assertParagraphTarget(input, op);
7937
+ assertNoUnknownFields(input, SET_NUMBERING_KEYS, op);
7938
+ const rec = input;
7939
+ if (rec.numId === undefined) {
7940
+ throw new DocumentApiValidationError("INVALID_INPUT", `${op} requires a numId field.`);
7941
+ }
7942
+ if (typeof rec.numId !== "number" || !Number.isInteger(rec.numId) || rec.numId < 1) {
7943
+ throw new DocumentApiValidationError("INVALID_INPUT", `${op} numId must be a positive integer (numId 0 is the no-numbering sentinel). Got ${JSON.stringify(rec.numId)}.`, { field: "numId", value: rec.numId });
7944
+ }
7945
+ if (rec.level !== undefined) {
7946
+ if (typeof rec.level !== "number" || !Number.isInteger(rec.level) || rec.level < 0 || rec.level > 8) {
7947
+ throw new DocumentApiValidationError("INVALID_INPUT", `${op} level must be an integer 0-8. Got ${JSON.stringify(rec.level)}.`, { field: "level", value: rec.level });
7948
+ }
7949
+ }
7950
+ }
7919
7951
  function executeParagraphsSetStyle(adapter, input, options) {
7920
7952
  validateSetStyle(input);
7921
7953
  return adapter.setStyle(input, normalizeMutationOptions(options));
@@ -8014,7 +8046,11 @@ function executeParagraphsClearDirection(adapter, input, options) {
8014
8046
  validateClearDirection(input);
8015
8047
  return adapter.clearDirection(input, normalizeMutationOptions(options));
8016
8048
  }
8017
- var PARAGRAPH_BLOCK_TYPES, SET_STYLE_KEYS, CLEAR_STYLE_KEYS, RESET_DIRECT_FORMATTING_KEYS, SET_ALIGNMENT_KEYS, CLEAR_ALIGNMENT_KEYS, SET_INDENTATION_KEYS, CLEAR_INDENTATION_KEYS, SET_SPACING_KEYS, CLEAR_SPACING_KEYS, SET_KEEP_OPTIONS_KEYS, SET_OUTLINE_LEVEL_KEYS, SET_FLOW_OPTIONS_KEYS, SET_TAB_STOP_KEYS, CLEAR_TAB_STOP_KEYS, CLEAR_ALL_TAB_STOPS_KEYS, SET_BORDER_KEYS, CLEAR_BORDER_KEYS, SET_SHADING_KEYS, CLEAR_SHADING_KEYS, SET_MARK_RUN_PROPS_KEYS, MARK_RUN_PROPS_FIELD_KEYS, MARK_RUN_COLOR_REF_KEYS, MARK_RUN_FONTS_KEYS, MARK_RUN_LANG_KEYS, MARK_RUN_UNDERLINE_KEYS, MARK_RUN_SHADING_KEYS, MARK_RUN_BORDER_KEYS, MARK_RUN_COLOR_MODE_VALUES, MARK_RUN_VERTICAL_ALIGN_VALUES, SET_DIRECTION_KEYS, CLEAR_DIRECTION_KEYS;
8049
+ function executeParagraphsSetNumbering(adapter, input, options) {
8050
+ validateSetNumbering(input);
8051
+ return adapter.setNumbering(input, normalizeMutationOptions(options));
8052
+ }
8053
+ var PARAGRAPH_BLOCK_TYPES, SET_STYLE_KEYS, CLEAR_STYLE_KEYS, RESET_DIRECT_FORMATTING_KEYS, SET_ALIGNMENT_KEYS, CLEAR_ALIGNMENT_KEYS, SET_INDENTATION_KEYS, CLEAR_INDENTATION_KEYS, SET_SPACING_KEYS, CLEAR_SPACING_KEYS, SET_KEEP_OPTIONS_KEYS, SET_OUTLINE_LEVEL_KEYS, SET_FLOW_OPTIONS_KEYS, SET_TAB_STOP_KEYS, CLEAR_TAB_STOP_KEYS, CLEAR_ALL_TAB_STOPS_KEYS, SET_BORDER_KEYS, CLEAR_BORDER_KEYS, SET_SHADING_KEYS, CLEAR_SHADING_KEYS, SET_MARK_RUN_PROPS_KEYS, MARK_RUN_PROPS_FIELD_KEYS, MARK_RUN_COLOR_REF_KEYS, MARK_RUN_FONTS_KEYS, MARK_RUN_LANG_KEYS, MARK_RUN_UNDERLINE_KEYS, MARK_RUN_SHADING_KEYS, MARK_RUN_BORDER_KEYS, MARK_RUN_COLOR_MODE_VALUES, MARK_RUN_VERTICAL_ALIGN_VALUES, SET_DIRECTION_KEYS, SET_NUMBERING_KEYS, CLEAR_DIRECTION_KEYS;
8018
8054
  var init_paragraphs = __esm(() => {
8019
8055
  init_errors2();
8020
8056
  init_validation_primitives();
@@ -8106,6 +8142,7 @@ var init_paragraphs = __esm(() => {
8106
8142
  MARK_RUN_COLOR_MODE_VALUES = ["rgb", "theme", "auto"];
8107
8143
  MARK_RUN_VERTICAL_ALIGN_VALUES = ["baseline", "superscript", "subscript"];
8108
8144
  SET_DIRECTION_KEYS = new Set(["target", "direction", "alignmentPolicy"]);
8145
+ SET_NUMBERING_KEYS = new Set(["target", "numId", "level"]);
8109
8146
  CLEAR_DIRECTION_KEYS = new Set(["target"]);
8110
8147
  });
8111
8148
 
@@ -9429,7 +9466,7 @@ function buildInternalContractSchemas() {
9429
9466
  operations
9430
9467
  };
9431
9468
  }
9432
- var trackChangeTypeValues, nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, commentTrackedChangeTargetSchema, textSearchCommentTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, listsV2BlockTargetSchema, paragraphTargetSchema, sectionAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, commentTrackedChangeLinkSchema, targetLocatorSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, commentsCreateSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, storyLocatorSchema, markRunColorRefSchema, markRunFontsSchema, markRunLanguagesSchema, markRunUnderlineSchema, markRunShadingSchema, markRunBorderSchema, markRunPropsSchema, 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, trackChangeSourceIdsSchema, trackChangeBroadTypeEnum, trackChangeGroupingEnum, trackChangeCanonicalizationKindEnum, trackChangeAddressKindEnum, trackChangeSourcePlatformEnum, trackChangeReplacementSideSchema, trackChangeReplacementSchema, trackChangeOverlapRelationshipSchema, trackChangeOverlapLayerSchema, trackChangeOverlapInfoSchema, trackChangeFormattingSnapshotSchema, trackChangeTargetSchema, trackChangeSnapshotSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, reviewDecideRangeTargetOptions, historyActionCollaborationSchema, 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, anchoredMetadataAttachMutation, anchoredMetadataMutation, 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;
9469
+ var trackChangeTypeValues, nodeTypeValues, blockNodeTypeValues, deletableBlockNodeTypeValues, inlineNodeTypeValues, knownTargetKindValues, SHARED_DEFS, rangeSchema, positionSchema, inlineAnchorSchema, targetKindSchema, textAddressSchema, textTargetSchema, commentTrackedChangeTargetSchema, textSearchCommentTargetSchema, blockNodeAddressSchema, deletableBlockNodeAddressSchema, tableAddressSchema, tableRowAddressSchema, tableCellAddressSchema, tableOrCellAddressSchema, paragraphAddressSchema, headingAddressSchema, listItemAddressSchema, listsV2BlockTargetSchema, paragraphTargetSchema, sectionAddressSchema, inlineNodeAddressSchema, nodeAddressSchema, commentAddressSchema, trackedChangeAddressSchema, entityAddressSchema, selectionTargetSchema, commentTrackedChangeLinkSchema, targetLocatorSchema, deleteBehaviorSchema, resolvedHandleSchema, pageInfoSchema, receiptSuccessSchema, commentsCreateSuccessSchema, textMutationRangeSchema, textMutationResolutionSchema, textMutationSuccessSchema, matchRunSchema, matchBlockSchema, storyLocatorSchema, markRunColorRefSchema, markRunFontsSchema, markRunLanguagesSchema, markRunUnderlineSchema, markRunShadingSchema, markRunBorderSchema, markRunPropsSchema, trackChangeRefSchema, createParagraphSuccessSchema, createHeadingSuccessSchema, headingLevelSchema, listsInsertSuccessSchema, listsMutateItemSuccessSchema, listsExitSuccessSchema, nodeSummarySchema, nodeInfoSchema, matchContextSchema, unknownNodeDiagnosticSchema, textSelectorSchema, planTextSelectorSchema, 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, trackChangeSourceIdsSchema, trackChangeBroadTypeEnum, trackChangeGroupingEnum, trackChangeCanonicalizationKindEnum, trackChangeAddressKindEnum, trackChangeSourcePlatformEnum, trackChangeReplacementSideSchema, trackChangeReplacementSchema, trackChangeOverlapRelationshipSchema, trackChangeOverlapLayerSchema, trackChangeOverlapInfoSchema, trackChangeFormattingSnapshotSchema, trackChangeTargetSchema, trackChangeSnapshotSchema, trackChangeInfoSchema, trackChangeDomainItemSchema, trackChangesListResultSchema, reviewDecideRangeTargetOptions, historyActionCollaborationSchema, 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, anchoredMetadataAttachMutation, anchoredMetadataMutation, 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;
9433
9470
  var init_schemas = __esm(() => {
9434
9471
  init_command_catalog();
9435
9472
  init_types2();
@@ -10035,6 +10072,23 @@ var init_schemas = __esm(() => {
10035
10072
  hint: { type: "string" }
10036
10073
  }, ["message"]);
10037
10074
  textSelectorSchema = objectSchema({
10075
+ type: { const: "text", description: "Must be 'text' for text pattern search." },
10076
+ pattern: {
10077
+ type: "string",
10078
+ description: "Text to match. In regex mode, patterns are validated for syntax, maximum length, and safety before execution."
10079
+ },
10080
+ mode: {
10081
+ enum: ["contains", "regex"],
10082
+ description: "Match mode: 'contains' (literal substring, recommended for literal text) or 'regex' (validated regular expression)."
10083
+ },
10084
+ caseSensitive: { type: "boolean", description: "Case-sensitive matching. Default: false." },
10085
+ wholeWord: { type: "boolean", description: "Require word-boundary matches. Default: false." },
10086
+ includeDeletedText: {
10087
+ type: "boolean",
10088
+ description: "When true, includes text from pending tracked deletions. Default: false."
10089
+ }
10090
+ }, ["type", "pattern"]);
10091
+ planTextSelectorSchema = objectSchema({
10038
10092
  type: { const: "text", description: "Must be 'text' for text pattern search." },
10039
10093
  pattern: {
10040
10094
  type: "string",
@@ -10063,7 +10117,8 @@ var init_schemas = __esm(() => {
10063
10117
  pattern: { type: "string" },
10064
10118
  mode: { enum: ["contains", "regex"] },
10065
10119
  caseSensitive: { type: "boolean" },
10066
- wholeWord: { type: "boolean" }
10120
+ wholeWord: { type: "boolean" },
10121
+ includeDeletedText: { type: "boolean" }
10067
10122
  }, ["type", "pattern"]);
10068
10123
  sdNodeSelectorSchema = objectSchema({
10069
10124
  type: { const: "node" },
@@ -11520,6 +11575,15 @@ var init_schemas = __esm(() => {
11520
11575
  color: { type: "string", description: "Text color when explicitly set (e.g. '#000000')." },
11521
11576
  alignment: { type: "string", description: "Paragraph alignment." },
11522
11577
  headingLevel: { type: "number", description: "Heading level (1-6)." },
11578
+ paragraphNumbering: {
11579
+ type: "object",
11580
+ description: "Numbering reference (numId + level) for numbered blocks, including numbered headings. Absent for non-numbered blocks.",
11581
+ properties: {
11582
+ numId: { type: "number" },
11583
+ level: { type: "number" }
11584
+ },
11585
+ additionalProperties: false
11586
+ },
11523
11587
  ref: {
11524
11588
  type: "string",
11525
11589
  description: "Ref handle for this block. Pass directly to superdoc_format or superdoc_edit ref param. Only present for non-empty blocks."
@@ -11909,6 +11973,16 @@ var init_schemas = __esm(() => {
11909
11973
  success: paragraphMutationSuccessSchema,
11910
11974
  failure: paragraphMutationFailureSchemaFor("format.paragraph.clearDirection")
11911
11975
  },
11976
+ "format.paragraph.setNumbering": {
11977
+ input: objectSchema({
11978
+ target: paragraphTargetSchema,
11979
+ numId: { type: "integer", minimum: 1 },
11980
+ level: { type: "integer", minimum: 0, maximum: 8 }
11981
+ }, ["target", "numId"]),
11982
+ output: paragraphMutationResultSchemaFor("format.paragraph.setNumbering"),
11983
+ success: paragraphMutationSuccessSchema,
11984
+ failure: paragraphMutationFailureSchemaFor("format.paragraph.setNumbering")
11985
+ },
11912
11986
  "styles.apply": (() => {
11913
11987
  const runInputSchema = objectSchema({
11914
11988
  target: objectSchema({ scope: { const: "docDefaults" }, channel: { const: "run" } }, ["scope", "channel"]),
@@ -13077,7 +13151,12 @@ var init_schemas = __esm(() => {
13077
13151
  commentId: { type: "string" },
13078
13152
  text: { type: "string", description: "Updated comment text." },
13079
13153
  target: {
13080
- oneOf: [textAddressSchema, selectionTargetSchema, commentTrackedChangeTargetSchema, textSearchCommentTargetSchema],
13154
+ oneOf: [
13155
+ textAddressSchema,
13156
+ selectionTargetSchema,
13157
+ commentTrackedChangeTargetSchema,
13158
+ textSearchCommentTargetSchema
13159
+ ],
13081
13160
  description: "New anchor for the comment. Accepts a plain TextAddress, a SelectionTarget {kind:'selection', start, end}, a TextSearchCommentTarget {text, story?}, or a TrackedChangeCommentTarget, with or without kind, that names a logical tracked-change id as a convenience re-anchor target ."
13082
13161
  },
13083
13162
  status: {
@@ -13221,7 +13300,7 @@ var init_schemas = __esm(() => {
13221
13300
  in: storyLocatorSchema,
13222
13301
  select: {
13223
13302
  description: "Search selector. Use {type:'text', pattern:'...'} for text search or {type:'node', nodeType:'paragraph'|'heading'|...} for node search.",
13224
- oneOf: [textSelectorSchema, nodeSelectorSchema]
13303
+ oneOf: [planTextSelectorSchema, nodeSelectorSchema]
13225
13304
  },
13226
13305
  within: {
13227
13306
  ...blockNodeAddressSchema,
@@ -13263,7 +13342,7 @@ var init_schemas = __esm(() => {
13263
13342
  ...(() => {
13264
13343
  const selectWhereSchema = objectSchema({
13265
13344
  by: { const: "select", type: "string" },
13266
- select: { oneOf: [textSelectorSchema, nodeSelectorSchema] },
13345
+ select: { oneOf: [planTextSelectorSchema, nodeSelectorSchema] },
13267
13346
  within: blockNodeAddressSchema,
13268
13347
  require: { enum: ["first", "exactlyOne", "all"] }
13269
13348
  }, ["by", "select", "require"]);
@@ -13288,7 +13367,7 @@ var init_schemas = __esm(() => {
13288
13367
  oneOf: [
13289
13368
  objectSchema({
13290
13369
  by: { const: "select", type: "string" },
13291
- select: { oneOf: [textSelectorSchema, nodeSelectorSchema] },
13370
+ select: { oneOf: [planTextSelectorSchema, nodeSelectorSchema] },
13292
13371
  within: blockNodeAddressSchema,
13293
13372
  require: { enum: ["first", "exactlyOne"] }
13294
13373
  }, ["by", "select", "require"]),
@@ -13299,7 +13378,7 @@ var init_schemas = __esm(() => {
13299
13378
  };
13300
13379
  const assertWhereSchema = objectSchema({
13301
13380
  by: { const: "select", type: "string" },
13302
- select: { oneOf: [textSelectorSchema, nodeSelectorSchema] },
13381
+ select: { oneOf: [planTextSelectorSchema, nodeSelectorSchema] },
13303
13382
  within: blockNodeAddressSchema
13304
13383
  }, ["by", "select"]);
13305
13384
  const replacementBlockSchema = objectSchema({ text: { type: "string" } }, ["text"]);
@@ -14966,7 +15045,10 @@ var init_schemas = __esm(() => {
14966
15045
  "footnotes.insert": {
14967
15046
  input: {
14968
15047
  oneOf: [
14969
- objectSchema({ at: textTargetSchema, type: { enum: ["footnote", "endnote"] }, content: { type: "string" } }, ["type", "content"]),
15048
+ objectSchema({ at: textTargetSchema, type: { enum: ["footnote", "endnote"] }, content: { type: "string" } }, [
15049
+ "type",
15050
+ "content"
15051
+ ]),
14970
15052
  objectSchema({
14971
15053
  at: textTargetSchema,
14972
15054
  type: { enum: ["footnote", "endnote"] },
@@ -17746,7 +17828,10 @@ function executeListsSetLevelLayout(adapter, input, options) {
17746
17828
  }
17747
17829
  function validateV2BlockTarget(value, field, operationName) {
17748
17830
  if (!isRecord(value)) {
17749
- throw new DocumentApiValidationError("INVALID_TARGET", `${operationName} ${field} must be an object.`, { field, value });
17831
+ throw new DocumentApiValidationError("INVALID_TARGET", `${operationName} ${field} must be an object.`, {
17832
+ field,
17833
+ value
17834
+ });
17750
17835
  }
17751
17836
  const v = value;
17752
17837
  if (v.kind !== "block") {
@@ -17781,7 +17866,10 @@ function executeListsApply(adapter, input, options) {
17781
17866
  validateV2BlockTarget(input.target, "target", "lists.apply");
17782
17867
  requireEnum(input.seed, "seed", VALID_LIST_KINDS, "lists.apply");
17783
17868
  if (input.reuseNumId !== undefined && typeof input.reuseNumId !== "string") {
17784
- throw new DocumentApiValidationError("INVALID_INPUT", "lists.apply reuseNumId must be a string when provided.", { field: "reuseNumId", value: input.reuseNumId });
17869
+ throw new DocumentApiValidationError("INVALID_INPUT", "lists.apply reuseNumId must be a string when provided.", {
17870
+ field: "reuseNumId",
17871
+ value: input.reuseNumId
17872
+ });
17785
17873
  }
17786
17874
  optionalInteger(input.ilvl, "ilvl", "lists.apply");
17787
17875
  if (!adapter.apply)
@@ -18272,7 +18360,9 @@ function validateBlockNodeAddressParagraph(address2, operationLabel, field) {
18272
18360
  }
18273
18361
  function validateBlocksSplitInput(input) {
18274
18362
  if (!input || typeof input !== "object") {
18275
- throw new DocumentApiValidationError("INVALID_INPUT", "blocks.split requires an input object.", { fields: ["input"] });
18363
+ throw new DocumentApiValidationError("INVALID_INPUT", "blocks.split requires an input object.", {
18364
+ fields: ["input"]
18365
+ });
18276
18366
  }
18277
18367
  validateBlockNodeAddressParagraph(input.target, "blocks.split", "target");
18278
18368
  if (typeof input.offset !== "number" || !Number.isInteger(input.offset) || input.offset < 0) {
@@ -18281,19 +18371,25 @@ function validateBlocksSplitInput(input) {
18281
18371
  }
18282
18372
  function validateBlocksMergeInput(input) {
18283
18373
  if (!input || typeof input !== "object") {
18284
- throw new DocumentApiValidationError("INVALID_INPUT", "blocks.merge requires an input object.", { fields: ["input"] });
18374
+ throw new DocumentApiValidationError("INVALID_INPUT", "blocks.merge requires an input object.", {
18375
+ fields: ["input"]
18376
+ });
18285
18377
  }
18286
18378
  validateBlockNodeAddressParagraph(input.first, "blocks.merge", "first");
18287
18379
  validateBlockNodeAddressParagraph(input.second, "blocks.merge", "second");
18288
18380
  }
18289
18381
  function validateBlocksMoveInput(input) {
18290
18382
  if (!input || typeof input !== "object") {
18291
- throw new DocumentApiValidationError("INVALID_INPUT", "blocks.move requires an input object.", { fields: ["input"] });
18383
+ throw new DocumentApiValidationError("INVALID_INPUT", "blocks.move requires an input object.", {
18384
+ fields: ["input"]
18385
+ });
18292
18386
  }
18293
18387
  validateBlockNodeAddressParagraph(input.source, "blocks.move", "source");
18294
18388
  validateBlockNodeAddressParagraph(input.destination, "blocks.move", "destination");
18295
18389
  if (input.placement !== "before" && input.placement !== "after") {
18296
- throw new DocumentApiValidationError("INVALID_INPUT", 'blocks.move placement must be "before" or "after".', { fields: ["placement"] });
18390
+ throw new DocumentApiValidationError("INVALID_INPUT", 'blocks.move placement must be "before" or "after".', {
18391
+ fields: ["placement"]
18392
+ });
18297
18393
  }
18298
18394
  }
18299
18395
  function unavailableBlocksResult(operationName) {
@@ -18725,6 +18821,7 @@ function buildDispatchTable(api) {
18725
18821
  "format.paragraph.setMarkRunProps": (input, options) => api.format.paragraph.setMarkRunProps(input, options),
18726
18822
  "format.paragraph.setDirection": (input, options) => api.format.paragraph.setDirection(input, options),
18727
18823
  "format.paragraph.clearDirection": (input, options) => api.format.paragraph.clearDirection(input, options),
18824
+ "format.paragraph.setNumbering": (input, options) => api.format.paragraph.setNumbering(input, options),
18728
18825
  "styles.apply": (input, options) => api.styles.apply(input, options),
18729
18826
  "templates.apply": (input, options) => api.templates.apply(input, options),
18730
18827
  "create.paragraph": (input, options) => api.create.paragraph(input, options),
@@ -19372,10 +19469,7 @@ function createPlanApi(invoke) {
19372
19469
  var PLAN_EXECUTE_UNSUPPORTED_OPERATION_IDS;
19373
19470
  var init_plan = __esm(() => {
19374
19471
  init_errors2();
19375
- PLAN_EXECUTE_UNSUPPORTED_OPERATION_IDS = new Set([
19376
- "plan.execute",
19377
- "templates.apply"
19378
- ]);
19472
+ PLAN_EXECUTE_UNSUPPORTED_OPERATION_IDS = new Set(["plan.execute", "templates.apply"]);
19379
19473
  });
19380
19474
 
19381
19475
  // ../../packages/document-api/dist/diff/diff.js
@@ -22136,6 +22230,9 @@ function createDocumentApi(adapters) {
22136
22230
  },
22137
22231
  clearDirection(input, options) {
22138
22232
  return executeParagraphsClearDirection(adapters.paragraphs, input, options);
22233
+ },
22234
+ setNumbering(input, options) {
22235
+ return executeParagraphsSetNumbering(adapters.paragraphs, input, options);
22139
22236
  }
22140
22237
  }
22141
22238
  },
@@ -46135,7 +46232,8 @@ var init_operation_hints = __esm(() => {
46135
46232
  "format.paragraph.clearBorder",
46136
46233
  "format.paragraph.setShading",
46137
46234
  "format.paragraph.clearShading",
46138
- "format.paragraph.setMarkRunProps"
46235
+ "format.paragraph.setMarkRunProps",
46236
+ "format.paragraph.setNumbering"
46139
46237
  ];
46140
46238
  SUCCESS_VERB = {
46141
46239
  get: "retrieved document",
@@ -69059,7 +69157,7 @@ var init_remark_gfm_BUJjZJLy_es = __esm(() => {
69059
69157
  emptyOptions2 = {};
69060
69158
  });
69061
69159
 
69062
- // ../../packages/superdoc/dist/chunks/SuperConverter-Bdmhv7BA.es.js
69160
+ // ../../packages/superdoc/dist/chunks/SuperConverter-Du0apG1R.es.js
69063
69161
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
69064
69162
  const fieldValue = extension$1.config[field];
69065
69163
  if (typeof fieldValue === "function")
@@ -70631,6 +70729,26 @@ function validateClearDirection2(input) {
70631
70729
  assertParagraphTarget2(input, "format.paragraph.clearDirection");
70632
70730
  assertNoUnknownFields3(input, CLEAR_DIRECTION_KEYS2, "format.paragraph.clearDirection");
70633
70731
  }
70732
+ function validateSetNumbering2(input) {
70733
+ const op = "format.paragraph.setNumbering";
70734
+ assertParagraphTarget2(input, op);
70735
+ assertNoUnknownFields3(input, SET_NUMBERING_KEYS2, op);
70736
+ const rec = input;
70737
+ if (rec.numId === undefined)
70738
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${op} requires a numId field.`);
70739
+ if (typeof rec.numId !== "number" || !Number.isInteger(rec.numId) || rec.numId < 1)
70740
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${op} numId must be a positive integer (numId 0 is the no-numbering sentinel). Got ${JSON.stringify(rec.numId)}.`, {
70741
+ field: "numId",
70742
+ value: rec.numId
70743
+ });
70744
+ if (rec.level !== undefined) {
70745
+ if (typeof rec.level !== "number" || !Number.isInteger(rec.level) || rec.level < 0 || rec.level > 8)
70746
+ throw new DocumentApiValidationError2("INVALID_INPUT", `${op} level must be an integer 0-8. Got ${JSON.stringify(rec.level)}.`, {
70747
+ field: "level",
70748
+ value: rec.level
70749
+ });
70750
+ }
70751
+ }
70634
70752
  function executeParagraphsSetStyle2(adapter, input, options) {
70635
70753
  validateSetStyle2(input);
70636
70754
  return adapter.setStyle(input, normalizeMutationOptions2(options));
@@ -70728,6 +70846,10 @@ function executeParagraphsClearDirection2(adapter, input, options) {
70728
70846
  validateClearDirection2(input);
70729
70847
  return adapter.clearDirection(input, normalizeMutationOptions2(options));
70730
70848
  }
70849
+ function executeParagraphsSetNumbering2(adapter, input, options) {
70850
+ validateSetNumbering2(input);
70851
+ return adapter.setNumbering(input, normalizeMutationOptions2(options));
70852
+ }
70731
70853
  function getPropertyDefinition2(key, channel) {
70732
70854
  return PROPERTY_INDEX2.get(`${channel}:${key}`);
70733
70855
  }
@@ -73536,6 +73658,7 @@ function buildDispatchTable2(api) {
73536
73658
  "format.paragraph.setMarkRunProps": (input, options) => api.format.paragraph.setMarkRunProps(input, options),
73537
73659
  "format.paragraph.setDirection": (input, options) => api.format.paragraph.setDirection(input, options),
73538
73660
  "format.paragraph.clearDirection": (input, options) => api.format.paragraph.clearDirection(input, options),
73661
+ "format.paragraph.setNumbering": (input, options) => api.format.paragraph.setNumbering(input, options),
73539
73662
  "styles.apply": (input, options) => api.styles.apply(input, options),
73540
73663
  "templates.apply": (input, options) => api.templates.apply(input, options),
73541
73664
  "create.paragraph": (input, options) => api.create.paragraph(input, options),
@@ -76538,6 +76661,9 @@ function createDocumentApi2(adapters) {
76538
76661
  },
76539
76662
  clearDirection(input, options) {
76540
76663
  return executeParagraphsClearDirection2(adapters.paragraphs, input, options);
76664
+ },
76665
+ setNumbering(input, options) {
76666
+ return executeParagraphsSetNumbering2(adapters.paragraphs, input, options);
76541
76667
  }
76542
76668
  }
76543
76669
  },
@@ -103187,6 +103313,17 @@ function translateDrawingMLTextbox(params3) {
103187
103313
  if (!drawingContent || !shapeTextbox)
103188
103314
  return null;
103189
103315
  const drawing = carbonCopy(drawingContent);
103316
+ const { width: pxWidth, height: pxHeight, marginOffset } = node3.attrs ?? {};
103317
+ if (pxWidth != null || pxHeight != null) {
103318
+ const emuCx = pxWidth != null ? String(pixelsToEmu(pxWidth)) : null;
103319
+ const emuCy = pxHeight != null ? String(pixelsToEmu(pxHeight)) : null;
103320
+ patchNodeAttributes(drawing, "wp:extent", emuCx, emuCy);
103321
+ patchShapeGeometryExt(drawing, emuCx, emuCy);
103322
+ }
103323
+ if (marginOffset?.horizontal != null)
103324
+ patchPositionOffset(drawing, "wp:positionH", String(pixelsToEmu(marginOffset.horizontal)));
103325
+ if (marginOffset?.top != null)
103326
+ patchPositionOffset(drawing, "wp:positionV", String(pixelsToEmu(marginOffset.top)));
103190
103327
  const liveParagraphs = translateChildNodes({
103191
103328
  ...params3,
103192
103329
  node: shapeTextbox
@@ -103218,6 +103355,67 @@ function findTextboxContentNode(node3) {
103218
103355
  }
103219
103356
  return null;
103220
103357
  }
103358
+ function patchPositionOffset(node3, posNodeName, emuValue) {
103359
+ if (!node3 || typeof node3 !== "object")
103360
+ return false;
103361
+ if (node3.name === posNodeName && Array.isArray(node3.elements)) {
103362
+ const offsetEl = node3.elements.find((el) => el.name === "wp:posOffset");
103363
+ if (offsetEl && Array.isArray(offsetEl.elements) && offsetEl.elements.length > 0) {
103364
+ offsetEl.elements[0].text = emuValue;
103365
+ return true;
103366
+ }
103367
+ return false;
103368
+ }
103369
+ if (!Array.isArray(node3.elements))
103370
+ return false;
103371
+ for (const child of node3.elements)
103372
+ if (patchPositionOffset(child, posNodeName, emuValue))
103373
+ return true;
103374
+ return false;
103375
+ }
103376
+ function patchShapeGeometryExt(root2, cx, cy) {
103377
+ const PATH = [
103378
+ "wp:anchor",
103379
+ "a:graphic",
103380
+ "a:graphicData",
103381
+ "wps:wsp",
103382
+ "wps:spPr",
103383
+ "a:xfrm",
103384
+ "a:ext"
103385
+ ];
103386
+ let node3 = root2;
103387
+ for (const name of PATH) {
103388
+ if (!node3 || !Array.isArray(node3.elements))
103389
+ return false;
103390
+ node3 = node3.elements.find((el) => el.name === name) ?? null;
103391
+ if (!node3)
103392
+ return false;
103393
+ }
103394
+ if (!node3.attributes)
103395
+ node3.attributes = {};
103396
+ if (cx != null)
103397
+ node3.attributes.cx = cx;
103398
+ if (cy != null)
103399
+ node3.attributes.cy = cy;
103400
+ return true;
103401
+ }
103402
+ function patchNodeAttributes(node3, targetName, cx, cy) {
103403
+ if (!node3 || typeof node3 !== "object")
103404
+ return false;
103405
+ if (node3.name === targetName && node3.attributes) {
103406
+ if (cx != null)
103407
+ node3.attributes.cx = cx;
103408
+ if (cy != null)
103409
+ node3.attributes.cy = cy;
103410
+ return true;
103411
+ }
103412
+ if (!Array.isArray(node3.elements))
103413
+ return false;
103414
+ for (const child of node3.elements)
103415
+ if (patchNodeAttributes(child, targetName, cx, cy))
103416
+ return true;
103417
+ return false;
103418
+ }
103221
103419
  function translateShapeContainer(params3) {
103222
103420
  const { node: node3 } = params3;
103223
103421
  if (node3?.attrs?.drawingContent) {
@@ -103276,6 +103474,10 @@ function buildShapeStyle(attrs) {
103276
103474
  style["mso-position-vertical"] = attrs.anchorData.alignV;
103277
103475
  if (attrs.anchorData?.vRelativeFrom)
103278
103476
  style["mso-position-vertical-relative"] = attrs.anchorData.vRelativeFrom;
103477
+ if (attrs.width != null)
103478
+ style["width"] = `${convertToPt$2(attrs.width)}pt`;
103479
+ if (attrs.height != null)
103480
+ style["height"] = `${convertToPt$2(attrs.height)}pt`;
103279
103481
  const entries2 = Object.entries(style);
103280
103482
  if (entries2.length === 0)
103281
103483
  return;
@@ -109437,8 +109639,13 @@ function buildFallbackBlockNodeId(nodeType, pos, path2) {
109437
109639
  }
109438
109640
  function isListItem(attrs) {
109439
109641
  const numbering = attrs?.paragraphProperties?.numberingProperties;
109440
- if (numbering && (numbering.numId != null || numbering.ilvl != null))
109441
- return true;
109642
+ if (numbering) {
109643
+ const numId = toFiniteNumber(numbering.numId);
109644
+ if (numId != null && numId !== 0)
109645
+ return true;
109646
+ if (numId == null && numbering.ilvl != null)
109647
+ return true;
109648
+ }
109442
109649
  const listRendering = attrs?.listRendering;
109443
109650
  if (listRendering?.markerText)
109444
109651
  return true;
@@ -117454,7 +117661,7 @@ var isRegExp = (value) => {
117454
117661
  tracked: false,
117455
117662
  carrier: runAttributeCarrier2(runPropertyKey ?? key),
117456
117663
  schema
117457
- }), 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, 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_MARK_RUN_PROPS_KEYS2, MARK_RUN_PROPS_FIELD_KEYS2, MARK_RUN_COLOR_REF_KEYS2, MARK_RUN_FONTS_KEYS2, MARK_RUN_LANG_KEYS2, MARK_RUN_UNDERLINE_KEYS2, MARK_RUN_SHADING_KEYS2, MARK_RUN_BORDER_KEYS2, MARK_RUN_COLOR_MODE_VALUES2, MARK_RUN_VERTICAL_ALIGN_VALUES2, 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, 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, TRACKED_CHANGE_COMMENT_TARGET_ALLOWED_KEYS2, TEXT_SEARCH_COMMENT_TARGET_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, VALID_V2_LIST_BLOCK_NODE_TYPES2, TEXT_REPLACE_ALLOWED_KEYS2, STRUCTURAL_REPLACE_ALLOWED_KEYS2, VALID_HEADING_LEVELS2, SECTION_BREAK_TYPES$1, SECTION_BREAK_REPRESENTATIONS2, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, VALID_BLOCK_NODE_TYPES3, BODY_STORY_LOCATOR2, PARAGRAPH_SHAPE_TYPES2, PLAN_EXECUTE_UNSUPPORTED_OPERATION_IDS2, 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_NUMBER_CHAPTER_SEPARATORS2, 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$220) => ({
117664
+ }), 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, 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_MARK_RUN_PROPS_KEYS2, MARK_RUN_PROPS_FIELD_KEYS2, MARK_RUN_COLOR_REF_KEYS2, MARK_RUN_FONTS_KEYS2, MARK_RUN_LANG_KEYS2, MARK_RUN_UNDERLINE_KEYS2, MARK_RUN_SHADING_KEYS2, MARK_RUN_BORDER_KEYS2, MARK_RUN_COLOR_MODE_VALUES2, MARK_RUN_VERTICAL_ALIGN_VALUES2, SET_DIRECTION_KEYS2, SET_NUMBERING_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, 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, TRACKED_CHANGE_COMMENT_TARGET_ALLOWED_KEYS2, TEXT_SEARCH_COMMENT_TARGET_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, VALID_V2_LIST_BLOCK_NODE_TYPES2, TEXT_REPLACE_ALLOWED_KEYS2, STRUCTURAL_REPLACE_ALLOWED_KEYS2, VALID_HEADING_LEVELS2, SECTION_BREAK_TYPES$1, SECTION_BREAK_REPRESENTATIONS2, SUPPORTED_DELETE_NODE_TYPES2, REJECTED_DELETE_NODE_TYPES2, VALID_BLOCK_NODE_TYPES3, BODY_STORY_LOCATOR2, PARAGRAPH_SHAPE_TYPES2, PLAN_EXECUTE_UNSUPPORTED_OPERATION_IDS2, 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_NUMBER_CHAPTER_SEPARATORS2, 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$220) => ({
117458
117665
  handlerName,
117459
117666
  handler: (params3) => {
117460
117667
  const { nodes } = params3;
@@ -127720,7 +127927,10 @@ var isRegExp = (value) => {
127720
127927
  abstractId
127721
127928
  };
127722
127929
  }, hasListDefinition = (editor, numId, ilvl) => {
127723
- const { definitions, abstracts } = editor.converter.numbering;
127930
+ const numbering = editor?.converter?.numbering;
127931
+ if (!numbering)
127932
+ return false;
127933
+ const { definitions, abstracts } = numbering;
127724
127934
  const numDef = definitions[numId];
127725
127935
  if (!numDef)
127726
127936
  return false;
@@ -137024,7 +137234,7 @@ Docs: https://docs.superdoc.dev/getting-started/fonts`);
137024
137234
  state.kern = kernNode.attributes["w:val"];
137025
137235
  }
137026
137236
  }, SuperConverter;
137027
- var init_SuperConverter_Bdmhv7BA_es = __esm(() => {
137237
+ var init_SuperConverter_Du0apG1R_es = __esm(() => {
137028
137238
  init_rolldown_runtime_Bg48TavK_es();
137029
137239
  init_jszip_C49i9kUs_es();
137030
137240
  init_xml_js_CqGKpaft_es();
@@ -140054,6 +140264,11 @@ var init_SuperConverter_Bdmhv7BA_es = __esm(() => {
140054
140264
  "direction",
140055
140265
  "alignmentPolicy"
140056
140266
  ]);
140267
+ SET_NUMBERING_KEYS2 = new Set([
140268
+ "target",
140269
+ "numId",
140270
+ "level"
140271
+ ]);
140057
140272
  CLEAR_DIRECTION_KEYS2 = new Set(["target"]);
140058
140273
  ST_ON_OFF_ON_VALUES2 = new Set([
140059
140274
  "true",
@@ -166028,7 +166243,7 @@ var init_SuperConverter_Bdmhv7BA_es = __esm(() => {
166028
166243
  };
166029
166244
  });
166030
166245
 
166031
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-VA4azb5D.es.js
166246
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-BNcguDpP.es.js
166032
166247
  function parseSizeUnit(val = "0") {
166033
166248
  const length3 = val.toString() || "0";
166034
166249
  const value = Number.parseFloat(length3);
@@ -167916,7 +168131,7 @@ function executeTextSelector(editor, index2, query2, diagnostics, options = {})
167916
168131
  total: 0
167917
168132
  };
167918
168133
  const search2 = requireEditorCommand(editor.commands?.search, "find (search)");
167919
- const searchModel = options.searchModel ?? "visible";
168134
+ const searchModel = options.searchModel ?? (selector.includeDeletedText ? "raw" : "visible");
167920
168135
  const textOffsetOptions = { textModel: searchModel };
167921
168136
  pattern.lastIndex = 0;
167922
168137
  const rawResult = search2(pattern, {
@@ -169331,6 +169546,56 @@ function paragraphsSetFlowOptionsWrapper(editor, input, options) {
169331
169546
  return result;
169332
169547
  }, options);
169333
169548
  }
169549
+ function numberedSubtype(nodeType) {
169550
+ return nodeType === "heading" ? "heading" : "listItem";
169551
+ }
169552
+ function buildNumberedTarget(editor, candidate, fallback) {
169553
+ const originalType = candidate.nodeType;
169554
+ const subtype = numberedSubtype(originalType);
169555
+ const withStory = (nodeType, nodeId) => ({
169556
+ kind: "block",
169557
+ nodeType,
169558
+ nodeId,
169559
+ ...fallback.story ? { story: fallback.story } : {}
169560
+ });
169561
+ if (subtype === originalType)
169562
+ return withStory(subtype, candidate.nodeId);
169563
+ const resolved = getBlockIndex(editor).candidates.find((c) => c.pos === candidate.pos);
169564
+ if (resolved && PARAGRAPH_NODE_TYPES.has(resolved.nodeType))
169565
+ return withStory(resolved.nodeType, resolved.nodeId);
169566
+ return fallback;
169567
+ }
169568
+ function paragraphsSetNumberingWrapper(editor, input, options) {
169569
+ rejectTrackedMode("format.paragraph.setNumbering", options);
169570
+ const candidate = resolveParagraphBlock(editor, input.target);
169571
+ const numId = input.numId;
169572
+ const level = input.level ?? 0;
169573
+ if (!ListHelpers.hasListDefinition(editor, numId, level))
169574
+ throw new DocumentApiAdapterError("INVALID_TARGET", `No numbering definition resolves for numId ${numId} at level ${level}.`, {
169575
+ numId,
169576
+ level
169577
+ });
169578
+ if (options?.dryRun)
169579
+ return successResult(input.target);
169580
+ if (executeDomainCommand(editor, () => {
169581
+ const node3 = editor.state.doc.nodeAt(candidate.pos);
169582
+ if (!node3)
169583
+ return false;
169584
+ const existing = node3.attrs.paragraphProperties?.numberingProperties;
169585
+ if (existing && toFiniteNumber(existing.numId) === numId && (toFiniteNumber(existing.ilvl) ?? 0) === level)
169586
+ return false;
169587
+ const tr = editor.state.tr;
169588
+ updateNumberingProperties({
169589
+ numId,
169590
+ ilvl: level
169591
+ }, node3, candidate.pos, editor, tr);
169592
+ editor.dispatch(tr);
169593
+ clearIndexCache(editor);
169594
+ return true;
169595
+ }, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
169596
+ return noOpResult("format.paragraph.setNumbering");
169597
+ return successResult(buildNumberedTarget(editor, candidate, input.target));
169598
+ }
169334
169599
  function paragraphsSetTabStopWrapper(editor, input, options) {
169335
169600
  rejectTrackedMode("format.paragraph.setTabStop", options);
169336
169601
  return mutateParagraphProperties(editor, resolveParagraphBlock(editor, input.target), "format.paragraph.setTabStop", input.target, (pPr) => {
@@ -176721,9 +176986,9 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, MARK_KEYS, STEP_OP_CATALOG_UNFROZEN2, P
176721
176986
  }
176722
176987
  };
176723
176988
  };
176724
- var init_create_headless_toolbar_VA4azb5D_es = __esm(() => {
176989
+ var init_create_headless_toolbar_BNcguDpP_es = __esm(() => {
176725
176990
  init_rolldown_runtime_Bg48TavK_es();
176726
- init_SuperConverter_Bdmhv7BA_es();
176991
+ init_SuperConverter_Du0apG1R_es();
176727
176992
  init_jszip_C49i9kUs_es();
176728
176993
  init_uuid_B2wVPhPi_es();
176729
176994
  init_constants_D9qj59G2_es();
@@ -180301,6 +180566,157 @@ var __plugin_vue_export_helper_default = (sfc, props) => {
180301
180566
  };
180302
180567
  var init__plugin_vue_export_helper_HmhZBO0u_es = () => {};
180303
180568
 
180569
+ // ../../packages/superdoc/dist/chunks/ui-BMYSpkne.es.js
180570
+ function buildAnnotationSelector() {
180571
+ return `.${DOM_CLASS_NAMES.ANNOTATION}[${DATA_ATTRS.PM_START}]`;
180572
+ }
180573
+ function findRenderedCommentElements(host, commentId, storyKey) {
180574
+ if (!host || !commentId)
180575
+ return [];
180576
+ return Array.from(host.querySelectorAll("[data-comment-ids]")).filter((el) => {
180577
+ const raw = el.dataset.commentIds;
180578
+ if (!raw)
180579
+ return false;
180580
+ if (!raw.split(",").some((token) => token.trim() === commentId))
180581
+ return false;
180582
+ if (!storyKey)
180583
+ return true;
180584
+ const elStoryKey = el.dataset.storyKey;
180585
+ if (elStoryKey)
180586
+ return elStoryKey === storyKey;
180587
+ return storyKey === BODY_STORY_KEY;
180588
+ });
180589
+ }
180590
+ function findRenderedTrackedChangeElementsStrict(host, entityId, escapeAttrValue, storyKey) {
180591
+ if (!host || !entityId)
180592
+ return [];
180593
+ const baseSelector = `[data-track-change-id="${escapeAttrValue(entityId)}"]`;
180594
+ if (!storyKey)
180595
+ return Array.from(host.querySelectorAll(baseSelector));
180596
+ const storySelector = `${baseSelector}[data-story-key="${escapeAttrValue(storyKey)}"]`;
180597
+ return Array.from(host.querySelectorAll(storySelector));
180598
+ }
180599
+ function findRenderedContentControlElements(host, entityId, escapeAttrValue, _storyKey) {
180600
+ if (!host || !entityId)
180601
+ return [];
180602
+ const id2 = escapeAttrValue(entityId);
180603
+ const selector = `.${DOM_CLASS_NAMES.INLINE_SDT_WRAPPER}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"],.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"]`;
180604
+ return Array.from(host.querySelectorAll(selector));
180605
+ }
180606
+ function elementsToRangeRects(elements) {
180607
+ const result = [];
180608
+ for (const element of elements) {
180609
+ const rect = element.getBoundingClientRect();
180610
+ if (![
180611
+ rect.top,
180612
+ rect.left,
180613
+ rect.right,
180614
+ rect.bottom,
180615
+ rect.width,
180616
+ rect.height
180617
+ ].every(Number.isFinite))
180618
+ continue;
180619
+ const pageEl = element.closest(".superdoc-page");
180620
+ const pageIndexAttr = Number(pageEl?.dataset?.pageIndex ?? 0);
180621
+ result.push({
180622
+ pageIndex: Number.isFinite(pageIndexAttr) ? pageIndexAttr : 0,
180623
+ left: rect.left,
180624
+ top: rect.top,
180625
+ right: rect.right,
180626
+ bottom: rect.bottom,
180627
+ width: rect.width,
180628
+ height: rect.height
180629
+ });
180630
+ }
180631
+ return result;
180632
+ }
180633
+ var DOM_CLASS_NAMES, STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES, DATA_ATTRS, DATASET_KEYS, encodeLayoutStoryDataset = (story) => story.kind === "body" ? "body" : story.id ? `${story.kind}:${story.id}` : story.kind, decodeLayoutStoryDataset = (raw) => {
180634
+ if (!raw)
180635
+ return { kind: "unknown" };
180636
+ if (raw === "body")
180637
+ return { kind: "body" };
180638
+ const idx = raw.indexOf(":");
180639
+ const kind = idx === -1 ? raw : raw.slice(0, idx);
180640
+ const id2 = idx === -1 ? undefined : raw.slice(idx + 1);
180641
+ switch (kind) {
180642
+ case "body":
180643
+ case "header":
180644
+ case "footer":
180645
+ case "footnote":
180646
+ case "endnote":
180647
+ return id2 ? {
180648
+ kind,
180649
+ id: id2
180650
+ } : { kind };
180651
+ default:
180652
+ return { kind: "unknown" };
180653
+ }
180654
+ }, DRAGGABLE_SELECTOR;
180655
+ var init_ui_BMYSpkne_es = __esm(() => {
180656
+ init_SuperConverter_Du0apG1R_es();
180657
+ DOM_CLASS_NAMES = {
180658
+ PAGE: "superdoc-page",
180659
+ FRAGMENT: "superdoc-fragment",
180660
+ LINE: "superdoc-line",
180661
+ INLINE_SDT_WRAPPER: "superdoc-structured-content-inline",
180662
+ INLINE_SDT_LABEL: "superdoc-structured-content-inline__label",
180663
+ BLOCK_SDT: "superdoc-structured-content-block",
180664
+ BLOCK_SDT_LABEL: "superdoc-structured-content__label",
180665
+ TABLE_FRAGMENT: "superdoc-table-fragment",
180666
+ DOCUMENT_SECTION: "superdoc-document-section",
180667
+ SDT_GROUP_HOVER: "sdt-group-hover",
180668
+ TOC_ENTRY: "superdoc-toc-entry",
180669
+ TOC_GROUP_HOVER: "toc-group-hover",
180670
+ IMAGE_FRAGMENT: "superdoc-image-fragment",
180671
+ INLINE_IMAGE: "superdoc-inline-image",
180672
+ LIST_MARKER: "superdoc-list-marker",
180673
+ INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
180674
+ ANNOTATION: "annotation",
180675
+ ANNOTATION_CONTENT: "annotation-content",
180676
+ ANNOTATION_CARET_ANCHOR: "annotation-caret-anchor"
180677
+ };
180678
+ STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES = [DOM_CLASS_NAMES.INLINE_SDT_LABEL, DOM_CLASS_NAMES.BLOCK_SDT_LABEL];
180679
+ DATA_ATTRS = {
180680
+ PM_START: "data-pm-start",
180681
+ PM_END: "data-pm-end",
180682
+ LAYOUT_EPOCH: "data-layout-epoch",
180683
+ TABLE_BOUNDARIES: "data-table-boundaries",
180684
+ SDT_ID: "data-sdt-id",
180685
+ SDT_TYPE: "data-sdt-type",
180686
+ FIELD_ID: "data-field-id",
180687
+ FIELD_TYPE: "data-field-type",
180688
+ DRAGGABLE: "data-draggable",
180689
+ DISPLAY_LABEL: "data-display-label",
180690
+ VARIANT: "data-variant",
180691
+ TYPE: "data-type",
180692
+ LAYOUT_BOUNDARY_SCHEMA: "data-layout-boundary-schema",
180693
+ LAYOUT_FRAGMENT_ID: "data-layout-fragment-id",
180694
+ LAYOUT_STORY: "data-layout-story",
180695
+ LAYOUT_BLOCK_REF: "data-layout-block-ref"
180696
+ };
180697
+ DATASET_KEYS = {
180698
+ PM_START: "pmStart",
180699
+ PM_END: "pmEnd",
180700
+ LAYOUT_EPOCH: "layoutEpoch",
180701
+ TABLE_BOUNDARIES: "tableBoundaries",
180702
+ SDT_ID: "sdtId",
180703
+ SDT_TYPE: "sdtType",
180704
+ FIELD_ID: "fieldId",
180705
+ FIELD_TYPE: "fieldType",
180706
+ DRAGGABLE: "draggable",
180707
+ DISPLAY_LABEL: "displayLabel",
180708
+ VARIANT: "variant",
180709
+ TYPE: "type",
180710
+ LAYOUT_BOUNDARY_SCHEMA: "layoutBoundarySchema",
180711
+ LAYOUT_FRAGMENT_ID: "layoutFragmentId",
180712
+ LAYOUT_STORY: "layoutStory",
180713
+ LAYOUT_BLOCK_REF: "layoutBlockRef"
180714
+ };
180715
+ `${DOM_CLASS_NAMES.BLOCK_SDT}${DATA_ATTRS.SDT_ID}`;
180716
+ DRAGGABLE_SELECTOR = `[${DATA_ATTRS.DRAGGABLE}="true"]`;
180717
+ DATA_ATTRS.LAYOUT_EPOCH;
180718
+ });
180719
+
180304
180720
  // ../../packages/superdoc/dist/chunks/eventemitter3-UwU_CLPU.es.js
180305
180721
  var import_eventemitter3;
180306
180722
  var init_eventemitter3_UwU_CLPU_es = __esm(() => {
@@ -226817,7 +227233,7 @@ var init_remark_gfm_DCND_V_3_es = __esm(() => {
226817
227233
  init_remark_gfm_BUJjZJLy_es();
226818
227234
  });
226819
227235
 
226820
- // ../../packages/superdoc/dist/chunks/src-C3y2aHWQ.es.js
227236
+ // ../../packages/superdoc/dist/chunks/src-bGJhSgx_.es.js
226821
227237
  function deleteProps(obj, propOrProps) {
226822
227238
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
226823
227239
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -236267,9 +236683,6 @@ function replaceCommand(wrap5, moveForward) {
236267
236683
  return true;
236268
236684
  };
236269
236685
  }
236270
- function buildAnnotationSelector() {
236271
- return `.${DOM_CLASS_NAMES.ANNOTATION}[${DATA_ATTRS.PM_START}]`;
236272
- }
236273
236686
  function isPresenting(editor) {
236274
236687
  const presentationCtx = editor?.presentationEditor;
236275
236688
  if (!presentationCtx)
@@ -242586,8 +242999,9 @@ function queryMatchAdapter(editor, input2) {
242586
242999
  throw planError("INVALID_INPUT", `limit/offset are not valid when require is "${require$1}"`);
242587
243000
  const isTextSelector = input2.select.type === "text";
242588
243001
  const effectiveResolved = hasStyleCascade && isTextSelector;
243002
+ const { includeDeletedText: _stripped, ...textSelectWithoutDeleted } = isTextSelector ? input2.select : {};
242589
243003
  const result = findLegacyAdapter(storyEditor, {
242590
- select: input2.select,
243004
+ select: isTextSelector ? textSelectWithoutDeleted : input2.select,
242591
243005
  within: input2.within,
242592
243006
  includeNodes: input2.includeNodes,
242593
243007
  limit: isTextSelector ? undefined : input2.limit,
@@ -248273,6 +248687,19 @@ function resolveBlockFontSizePt(styleCtx, styleId$1) {
248273
248687
  return styleCtx.docDefaultsFontSizeHp / 2;
248274
248688
  return OOXML_DEFAULT_FONT_SIZE_PT;
248275
248689
  }
248690
+ function extractBlockNumbering(node3) {
248691
+ const attrs = node3.attrs;
248692
+ const numbering = attrs?.paragraphProperties?.numberingProperties ?? attrs?.numberingProperties;
248693
+ if (!numbering)
248694
+ return;
248695
+ const numId = toFiniteNumber(numbering.numId);
248696
+ if (numId === undefined || numId === 0)
248697
+ return;
248698
+ return {
248699
+ numId,
248700
+ level: toFiniteNumber(numbering.ilvl) ?? 0
248701
+ };
248702
+ }
248276
248703
  function extractBlockFormatting(node3, styleCtx) {
248277
248704
  const pProps = node3.attrs.paragraphProperties;
248278
248705
  const styleId$1 = pProps?.styleId ?? null;
@@ -248397,6 +248824,7 @@ function blocksListWrapper(editor, input2) {
248397
248824
  blocks: paged.map((candidate, i3) => {
248398
248825
  const textLength = computeTextContentLength(candidate.node);
248399
248826
  const fullText = input2?.includeText ? extractBlockText$1(candidate.node) : undefined;
248827
+ const numbering = extractBlockNumbering(candidate.node);
248400
248828
  const ref$1 = textLength > 0 ? encodeV4Ref({
248401
248829
  v: 4,
248402
248830
  rev,
@@ -248418,6 +248846,7 @@ function blocksListWrapper(editor, input2) {
248418
248846
  ...fullText !== undefined ? { text: fullText } : {},
248419
248847
  isEmpty: textLength === 0,
248420
248848
  ...extractBlockFormatting(candidate.node, styleCtx),
248849
+ ...numbering ? { paragraphNumbering: numbering } : {},
248421
248850
  ...ref$1 ? { ref: ref$1 } : {}
248422
248851
  };
248423
248852
  }),
@@ -264886,7 +265315,8 @@ function assembleDocumentApiAdapters(editor) {
264886
265315
  clearShading: (input2, options) => paragraphsClearShadingWrapper(editor, input2, options),
264887
265316
  setMarkRunProps: () => capabilityUnavailable("format.paragraph.setMarkRunProps is only available on v2-backed sessions."),
264888
265317
  setDirection: (input2, options) => paragraphsSetDirectionWrapper(editor, input2, options),
264889
- clearDirection: (input2, options) => paragraphsClearDirectionWrapper(editor, input2, options)
265318
+ clearDirection: (input2, options) => paragraphsClearDirectionWrapper(editor, input2, options),
265319
+ setNumbering: (input2, options) => paragraphsSetNumberingWrapper(editor, input2, options)
264890
265320
  },
264891
265321
  trackChanges: {
264892
265322
  list: (input2) => trackChangesListWrapper(editor, input2),
@@ -274675,7 +275105,7 @@ function getMeasurementContext() {
274675
275105
  function getRunFontString(run2) {
274676
275106
  if (run2.kind === "tab" || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math" || "src" in run2)
274677
275107
  return "normal normal 16px Arial";
274678
- return `${run2.italic ? "italic" : "normal"} ${run2.bold ? "bold" : "normal"} ${run2.fontSize ?? 16}px ${run2.fontFamily ?? "Arial"}`;
275108
+ return `${run2.italic ? "italic" : "normal"} ${run2.bold ? "bold" : "normal"} ${run2.fontSize ?? 16}px ${DEFAULT_FONT_MEASURE_CONTEXT.resolvePhysical(run2.fontFamily ?? "Arial", faceOf$1(run2))}`;
274679
275109
  }
274680
275110
  function measureCharacterX(block, line, charOffset, availableWidthOverride, alignmentOverride) {
274681
275111
  const ctx$1 = getMeasurementContext();
@@ -274815,97 +275245,43 @@ function charOffsetToPm(block, line, charOffset, fallbackPmStart) {
274815
275245
  return lastPm;
274816
275246
  }
274817
275247
  function findCharacterAtX(block, line, x, pmStart, availableWidthOverride, alignmentOverride) {
274818
- const ctx$1 = getMeasurementContext();
274819
- const availableWidth = availableWidthOverride ?? line.maxWidth ?? line.width;
274820
- const justify = getJustifyAdjustment({
274821
- block,
274822
- line,
274823
- availableWidthOverride: availableWidth,
274824
- alignmentOverride
274825
- });
274826
- const alignment$1 = alignmentOverride ?? (block.kind === "paragraph" ? block.attrs?.alignment : undefined);
274827
- const renderedLineWidth = alignment$1 === "justify" ? line.width + Math.max(0, availableWidth - line.width) : line.width;
274828
- const hasExplicitPositioning = line.segments?.some((seg) => seg.x !== undefined);
274829
- const alignmentOffset = !hasExplicitPositioning && alignment$1 === "center" ? Math.max(0, (availableWidth - renderedLineWidth) / 2) : !hasExplicitPositioning && alignment$1 === "right" ? Math.max(0, availableWidth - renderedLineWidth) : 0;
274830
- if (!ctx$1) {
274831
- const runs$1 = sliceRunsForLine(block, line);
274832
- const charsInLine = Math.max(1, runs$1.reduce((sum, run2) => {
274833
- if (isTabRun$1(run2))
274834
- return sum + TAB_CHAR_LENGTH;
274835
- if ("src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math")
274836
- return sum;
274837
- return sum + (run2.text ?? "").length;
274838
- }, 0));
274839
- const ratio = Math.max(0, Math.min(1, (x - alignmentOffset) / renderedLineWidth));
274840
- const charOffset = Math.round(ratio * charsInLine);
274841
- return {
274842
- charOffset,
274843
- pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
274844
- };
274845
- }
274846
- const runs2 = sliceRunsForLine(block, line);
274847
- const safeX = Math.max(0, Math.min(renderedLineWidth, x - alignmentOffset));
274848
- let currentX = 0;
274849
- let currentCharOffset = 0;
274850
- let spaceTally = 0;
274851
- for (const run2 of runs2) {
275248
+ const maxOffset = lineCharLength(block, line);
275249
+ const xAtOffset = (offset$1) => measureCharacterX(block, line, offset$1, availableWidthOverride, alignmentOverride);
275250
+ const charOffset = nearestOffsetToX(x, maxOffset, xAtOffset);
275251
+ return {
275252
+ charOffset,
275253
+ pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
275254
+ };
275255
+ }
275256
+ function lineCharLength(block, line) {
275257
+ let length$12 = 0;
275258
+ for (const run2 of sliceRunsForLine(block, line)) {
274852
275259
  if (isTabRun$1(run2)) {
274853
- const tabWidth = run2.width ?? 0;
274854
- const startX = currentX;
274855
- const endX = currentX + tabWidth;
274856
- if (safeX <= endX) {
274857
- const offsetInRun = safeX < startX + tabWidth / 2 ? 0 : TAB_CHAR_LENGTH;
274858
- const charOffset = currentCharOffset + offsetInRun;
274859
- return {
274860
- charOffset,
274861
- pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
274862
- };
274863
- }
274864
- currentX = endX;
274865
- currentCharOffset += TAB_CHAR_LENGTH;
275260
+ length$12 += TAB_CHAR_LENGTH;
274866
275261
  continue;
274867
275262
  }
274868
- const text5 = "src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math" ? "" : run2.text ?? "";
274869
- const runLength = text5.length;
274870
- const displayText = applyTextTransform$3(text5, isTabRun$1(run2) || "src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math" ? undefined : run2.textTransform);
274871
- if (runLength === 0)
275263
+ if ("src" in run2 || run2.kind === "lineBreak" || run2.kind === "break" || run2.kind === "fieldAnnotation" || run2.kind === "math")
274872
275264
  continue;
274873
- ctx$1.font = getRunFontString(run2);
274874
- for (let i3 = 0;i3 <= runLength; i3++) {
274875
- const textUpToChar = displayText.slice(0, i3);
274876
- const measured$1 = ctx$1.measureText(textUpToChar);
274877
- const spacesInPortion = justify.extraPerSpace > 0 ? countSpaces(text5.slice(0, i3)) : 0;
274878
- const charX = currentX + measured$1.width + computeLetterSpacingWidth(run2, i3, runLength) + justify.extraPerSpace * (spaceTally + spacesInPortion);
274879
- if (charX >= safeX) {
274880
- if (i3 === 0) {
274881
- const pmPosition$1 = charOffsetToPm(block, line, currentCharOffset, pmStart);
274882
- return {
274883
- charOffset: currentCharOffset,
274884
- pmPosition: pmPosition$1
274885
- };
274886
- }
274887
- const prevText = displayText.slice(0, i3 - 1);
274888
- const prevMeasured = ctx$1.measureText(prevText);
274889
- const prevX = currentX + prevMeasured.width + computeLetterSpacingWidth(run2, i3 - 1, runLength);
274890
- const charOffset = Math.abs(safeX - prevX) < Math.abs(safeX - charX) ? currentCharOffset + i3 - 1 : currentCharOffset + i3;
274891
- return {
274892
- charOffset,
274893
- pmPosition: charOffsetToPm(block, line, charOffset, pmStart)
274894
- };
274895
- }
274896
- }
274897
- const measured = ctx$1.measureText(displayText);
274898
- const runLetterSpacing = computeLetterSpacingWidth(run2, runLength, runLength);
274899
- const spacesInRun = justify.extraPerSpace > 0 ? countSpaces(text5) : 0;
274900
- currentX += measured.width + runLetterSpacing + justify.extraPerSpace * spacesInRun;
274901
- spaceTally += spacesInRun;
274902
- currentCharOffset += runLength;
275265
+ length$12 += (run2.text ?? "").length;
274903
275266
  }
274904
- const pmPosition = charOffsetToPm(block, line, currentCharOffset, pmStart);
274905
- return {
274906
- charOffset: currentCharOffset,
274907
- pmPosition
274908
- };
275267
+ return length$12;
275268
+ }
275269
+ function nearestOffsetToX(x, maxOffset, xAtOffset) {
275270
+ if (maxOffset <= 0 || x <= xAtOffset(0))
275271
+ return 0;
275272
+ if (x >= xAtOffset(maxOffset))
275273
+ return maxOffset;
275274
+ let lo = 0;
275275
+ let hi = maxOffset;
275276
+ while (lo < hi) {
275277
+ const mid = lo + hi + 1 >> 1;
275278
+ if (xAtOffset(mid) <= x)
275279
+ lo = mid;
275280
+ else
275281
+ hi = mid - 1;
275282
+ }
275283
+ const upper = Math.min(lo + 1, maxOffset);
275284
+ return x - xAtOffset(lo) < xAtOffset(upper) - x ? lo : upper;
274909
275285
  }
274910
275286
  function getWordLayoutConfig(block) {
274911
275287
  if (!block || block.kind !== "paragraph")
@@ -276094,6 +276470,13 @@ function computeHeaderFooterContentHash(blocks2) {
276094
276470
  if ("pageNumberFieldFormat" in run2 && run2.pageNumberFieldFormat)
276095
276471
  parts.push(`pnf:${JSON.stringify(run2.pageNumberFieldFormat)}`);
276096
276472
  }
276473
+ if (block.kind === "drawing") {
276474
+ const drawing = block;
276475
+ if ("geometry" in drawing && drawing.geometry)
276476
+ parts.push(`g:${drawing.geometry.width ?? 0}x${drawing.geometry.height ?? 0}`);
276477
+ if (drawing.anchor)
276478
+ parts.push(`a:${drawing.anchor.offsetH ?? 0},${drawing.anchor.offsetV ?? 0}`);
276479
+ }
276097
276480
  }
276098
276481
  return parts.join("|");
276099
276482
  }
@@ -280555,66 +280938,6 @@ function createHiddenHost(doc$12, widthPx) {
280555
280938
  host
280556
280939
  };
280557
280940
  }
280558
- function findRenderedCommentElements(host, commentId, storyKey) {
280559
- if (!host || !commentId)
280560
- return [];
280561
- return Array.from(host.querySelectorAll("[data-comment-ids]")).filter((el) => {
280562
- const raw = el.dataset.commentIds;
280563
- if (!raw)
280564
- return false;
280565
- if (!raw.split(",").some((token$1) => token$1.trim() === commentId))
280566
- return false;
280567
- if (!storyKey)
280568
- return true;
280569
- const elStoryKey = el.dataset.storyKey;
280570
- if (elStoryKey)
280571
- return elStoryKey === storyKey;
280572
- return storyKey === BODY_STORY_KEY;
280573
- });
280574
- }
280575
- function findRenderedTrackedChangeElementsStrict(host, entityId, escapeAttrValue$1, storyKey) {
280576
- if (!host || !entityId)
280577
- return [];
280578
- const baseSelector = `[data-track-change-id="${escapeAttrValue$1(entityId)}"]`;
280579
- if (!storyKey)
280580
- return Array.from(host.querySelectorAll(baseSelector));
280581
- const storySelector = `${baseSelector}[data-story-key="${escapeAttrValue$1(storyKey)}"]`;
280582
- return Array.from(host.querySelectorAll(storySelector));
280583
- }
280584
- function findRenderedContentControlElements(host, entityId, escapeAttrValue$1, _storyKey) {
280585
- if (!host || !entityId)
280586
- return [];
280587
- const id2 = escapeAttrValue$1(entityId);
280588
- const selector = `.${DOM_CLASS_NAMES.INLINE_SDT_WRAPPER}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"],.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id="${id2}"][data-sdt-type="structuredContent"]`;
280589
- return Array.from(host.querySelectorAll(selector));
280590
- }
280591
- function elementsToRangeRects(elements) {
280592
- const result = [];
280593
- for (const element3 of elements) {
280594
- const rect = element3.getBoundingClientRect();
280595
- if (![
280596
- rect.top,
280597
- rect.left,
280598
- rect.right,
280599
- rect.bottom,
280600
- rect.width,
280601
- rect.height
280602
- ].every(Number.isFinite))
280603
- continue;
280604
- const pageEl = element3.closest(".superdoc-page");
280605
- const pageIndexAttr = Number(pageEl?.dataset?.pageIndex ?? 0);
280606
- result.push({
280607
- pageIndex: Number.isFinite(pageIndexAttr) ? pageIndexAttr : 0,
280608
- left: rect.left,
280609
- top: rect.top,
280610
- right: rect.right,
280611
- bottom: rect.bottom,
280612
- width: rect.width,
280613
- height: rect.height
280614
- });
280615
- }
280616
- return result;
280617
- }
280618
280941
  function getFallbackCursorColor(clientId, fallbackColors) {
280619
280942
  return fallbackColors[clientId % fallbackColors.length];
280620
280943
  }
@@ -280733,6 +281056,13 @@ function renderRemoteCursors(options) {
280733
281056
  options.remoteCursorElements.delete(clientId);
280734
281057
  }
280735
281058
  });
281059
+ options.remoteCursorOverlay?.querySelectorAll(".presentation-editor__remote-selection[data-client-id]")?.forEach((selectionEl) => {
281060
+ const clientIdAttr = selectionEl.getAttribute("data-client-id");
281061
+ if (clientIdAttr === null)
281062
+ return;
281063
+ if (!visibleClientIds.has(Number(clientIdAttr)))
281064
+ selectionEl.remove();
281065
+ });
280736
281066
  }
280737
281067
  function renderRemoteCaret(options) {
280738
281068
  const caretLayout = options.computeCaretLayoutRect(options.cursor.head);
@@ -286625,7 +286955,7 @@ async function measureDrawingBlock(block, constraints) {
286625
286955
  const rotatedBounds = calculateRotatedBounds(geometry);
286626
286956
  const naturalWidth = Math.max(1, rotatedBounds.width);
286627
286957
  const naturalHeight = Math.max(1, rotatedBounds.height);
286628
- const isFloating = block.wrap?.type === "None";
286958
+ const isFloating = block.wrap?.type === "None" || block.anchor?.isAnchored === true;
286629
286959
  const maxWidth = fullWidthMax ?? (constraints.maxWidth > 0 && !isFloating ? constraints.maxWidth : naturalWidth);
286630
286960
  const maxHeight = block.anchor?.isAnchored && (typeof block.anchor?.offsetV === "number" && block.anchor.offsetV < 0 || typeof block.margin?.top === "number" && block.margin.top < 0) || !constraints.maxHeight || constraints.maxHeight <= 0 ? Infinity : constraints.maxHeight;
286631
286961
  const widthScale = maxWidth / naturalWidth;
@@ -301120,7 +301450,7 @@ var Node$13 = class Node$14 {
301120
301450
  if (!target || !target.classList)
301121
301451
  return;
301122
301452
  target.classList.add(STYLE_ISOLATION_CLASS);
301123
- }, _hoisted_1$23, _hoisted_2$18, _hoisted_3$14, _hoisted_4$10, _hoisted_5$9, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
301453
+ }, _hoisted_1$24, _hoisted_2$18, _hoisted_3$14, _hoisted_4$10, _hoisted_5$9, Mentions_default, popoverPluginKey, PopoverPlugin, Popover = class {
301124
301454
  constructor(view, editor) {
301125
301455
  this.editor = editor;
301126
301456
  this.view = view;
@@ -301640,32 +301970,39 @@ var Node$13 = class Node$14 {
301640
301970
  const ranges = searchIndex.offsetRangeToDocRanges(indexMatch.start, indexMatch.end);
301641
301971
  if (ranges.length === 0)
301642
301972
  continue;
301643
- const matchTexts = ranges.map((r$1) => doc$12.textBetween(r$1.from, r$1.to));
301644
- const matchText = typeof indexMatch.text === "string" ? indexMatch.text : matchTexts.join("");
301645
- const match$1 = {
301973
+ const matchText = typeof indexMatch.text === "string" ? indexMatch.text : ranges.map((r$1) => doc$12.textBetween(r$1.from, r$1.to)).join("");
301974
+ matches2.push({
301646
301975
  from: ranges[0].from,
301647
301976
  to: ranges[ranges.length - 1].to,
301648
301977
  text: matchText,
301649
301978
  id: v4_default(),
301650
301979
  ranges,
301651
301980
  trackerIds: []
301652
- };
301653
- if (positionTracker?.trackMany) {
301654
- const trackedRanges = ranges.map((range, rangeIndex) => ({
301655
- from: range.from,
301656
- to: range.to,
301657
- spec: {
301658
- type: SEARCH_POSITION_TRACKER_TYPE,
301659
- metadata: { rangeIndex }
301660
- }
301661
- }));
301662
- const trackerIds = positionTracker.trackMany(trackedRanges);
301663
- if (trackerIds.length > 0) {
301664
- match$1.trackerIds = trackerIds;
301665
- match$1.id = trackerIds[0];
301666
- }
301981
+ });
301982
+ }
301983
+ if (positionTracker?.trackMany && matches2.length > 0) {
301984
+ const allTrackedRanges = [];
301985
+ for (const match$1 of matches2)
301986
+ match$1.ranges.forEach((range, rangeIndex) => {
301987
+ allTrackedRanges.push({
301988
+ from: range.from,
301989
+ to: range.to,
301990
+ spec: {
301991
+ type: SEARCH_POSITION_TRACKER_TYPE,
301992
+ metadata: { rangeIndex }
301993
+ }
301994
+ });
301995
+ });
301996
+ const allIds = positionTracker.trackMany(allTrackedRanges);
301997
+ if (allIds.length !== allTrackedRanges.length)
301998
+ throw new Error(`Search position tracker returned ${allIds.length} ids for ${allTrackedRanges.length} ranges; expected one id per range.`);
301999
+ let offset$1 = 0;
302000
+ for (const match$1 of matches2) {
302001
+ const count2 = match$1.ranges.length;
302002
+ match$1.trackerIds = allIds.slice(offset$1, offset$1 + count2);
302003
+ match$1.id = match$1.trackerIds[0];
302004
+ offset$1 += count2;
301667
302005
  }
301668
- matches2.push(match$1);
301669
302006
  }
301670
302007
  return matches2;
301671
302008
  }, resolveMatchSelectionRange = (match$1, positionTracker) => {
@@ -302179,28 +302516,7 @@ var Node$13 = class Node$14 {
302179
302516
  if (!allowedRanges?.length)
302180
302517
  return false;
302181
302518
  return allowedRanges.some((allowed) => range.from >= allowed.from && range.to <= allowed.to);
302182
- }, PermissionRanges, Protection, DOM_CLASS_NAMES, STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES, DATA_ATTRS, DATASET_KEYS, encodeLayoutStoryDataset = (story) => story.kind === "body" ? "body" : story.id ? `${story.kind}:${story.id}` : story.kind, decodeLayoutStoryDataset = (raw) => {
302183
- if (!raw)
302184
- return { kind: "unknown" };
302185
- if (raw === "body")
302186
- return { kind: "body" };
302187
- const idx = raw.indexOf(":");
302188
- const kind = idx === -1 ? raw : raw.slice(0, idx);
302189
- const id2 = idx === -1 ? undefined : raw.slice(idx + 1);
302190
- switch (kind) {
302191
- case "body":
302192
- case "header":
302193
- case "footer":
302194
- case "footnote":
302195
- case "endnote":
302196
- return id2 ? {
302197
- kind,
302198
- id: id2
302199
- } : { kind };
302200
- default:
302201
- return { kind: "unknown" };
302202
- }
302203
- }, DRAGGABLE_SELECTOR, VerticalNavigationPluginKey, createDefaultState = () => ({
302519
+ }, PermissionRanges, Protection, VerticalNavigationPluginKey, createDefaultState = () => ({
302204
302520
  goalX: null,
302205
302521
  goalClientX: null
302206
302522
  }), VerticalNavigation, STRONG_RTL_CHAR_RE$1, STRONG_LTR_CHAR_RE, isStrongRtl = (char) => STRONG_RTL_CHAR_RE$1.test(char), isStrongLtr = (char) => STRONG_LTR_CHAR_RE.test(char), hasMixedDirectionBoundary = (leftChar, rightChar) => isStrongRtl(leftChar) && isStrongLtr(rightChar) || isStrongLtr(leftChar) && isStrongRtl(rightChar), resolveCaretPoint = (doc$12, range) => {
@@ -302864,7 +303180,7 @@ var Node$13 = class Node$14 {
302864
303180
  </linearGradient>
302865
303181
  </defs>
302866
303182
  <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"/>
302867
- </svg>`, _hoisted_1$22, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$8, 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>
303183
+ </svg>`, _hoisted_1$23, _hoisted_2$17, _hoisted_3$13, _hoisted_4$9, _hoisted_5$8, 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>
302868
303184
  `, 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>
302869
303185
  `, 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">
302870
303186
  <g clip-path="url(#clip0_0_1)">
@@ -302931,8 +303247,8 @@ var Node$13 = class Node$14 {
302931
303247
  `, 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>
302932
303248
  `, 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>
302933
303249
  `, 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>
302934
- `, 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$21, AlignmentButtons_default, _hoisted_1$20, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$19, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$7, _hoisted_6$5, DocumentMode_default, _hoisted_1$18, _hoisted_2$15, LinkedStyle_default, _hoisted_1$17, _hoisted_2$14, _hoisted_3$11, _hoisted_4$7, _hoisted_5$6, _hoisted_6$4, _hoisted_7$3, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13$1, _hoisted_14$1, LinkInput_default, _hoisted_1$16, _hoisted_2$13, _hoisted_3$10, 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>
302935
- `, _hoisted_1$15, _hoisted_2$12, _hoisted_3$9, IconGrid_default, closeDropdown$1 = (dropdown) => {
303250
+ `, 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$22, AlignmentButtons_default, _hoisted_1$21, StyleButtonsList_default, bulletStyleButtons, numberedStyleButtons, _hoisted_1$20, _hoisted_2$16, _hoisted_3$12, _hoisted_4$8, _hoisted_5$7, _hoisted_6$5, DocumentMode_default, _hoisted_1$19, _hoisted_2$15, LinkedStyle_default, _hoisted_1$18, _hoisted_2$14, _hoisted_3$11, _hoisted_4$7, _hoisted_5$6, _hoisted_6$4, _hoisted_7$3, _hoisted_8$1, _hoisted_9$1, _hoisted_10$1, _hoisted_11$1, _hoisted_12$1, _hoisted_13$1, _hoisted_14$1, LinkInput_default, _hoisted_1$17, _hoisted_2$13, _hoisted_3$10, 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>
303251
+ `, _hoisted_1$16, _hoisted_2$12, _hoisted_3$9, IconGrid_default, closeDropdown$1 = (dropdown) => {
302936
303252
  dropdown.expand.value = false;
302937
303253
  }, makeColorOption = (color2, label = null) => {
302938
303254
  return {
@@ -302963,8 +303279,8 @@ var Node$13 = class Node$14 {
302963
303279
  })]);
302964
303280
  }, icons, getAvailableColorOptions = () => {
302965
303281
  return icons.flat().map((item) => item.value);
302966
- }, _hoisted_1$14, _hoisted_2$11, ROW_SIZE = 5, TableGrid_default, _hoisted_1$13, _hoisted_2$10, _hoisted_3$8, _hoisted_4$6, _hoisted_5$5, 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>
302967
- `, _hoisted_1$12, _hoisted_2$9, _hoisted_3$7, 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) => {
303282
+ }, _hoisted_1$15, _hoisted_2$11, ROW_SIZE = 5, TableGrid_default, _hoisted_1$14, _hoisted_2$10, _hoisted_3$8, _hoisted_4$6, _hoisted_5$5, 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>
303283
+ `, _hoisted_1$13, _hoisted_2$9, _hoisted_3$7, 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) => {
302968
303284
  dropdown.expand.value = false;
302969
303285
  }, makeDefaultItems = ({ superToolbar, toolbarIcons: toolbarIcons$1, toolbarTexts: toolbarTexts$1, toolbarFonts, hideButtons, availableWidth, role, isDev = false } = {}) => {
302970
303286
  const bold2 = useToolbarItem({
@@ -304028,7 +304344,7 @@ var Node$13 = class Node$14 {
304028
304344
  defaultItems: visibleItems,
304029
304345
  overflowItems: overflowItems.filter((item) => item.type !== "separator")
304030
304346
  };
304031
- }, _hoisted_1$11, _hoisted_2$8, ToolbarButtonIcon_default, _hoisted_1$10, _hoisted_2$7, _hoisted_3$6, _hoisted_4$5, _hoisted_5$4, _hoisted_6$3, _hoisted_7$2, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, _hoisted_13, _hoisted_14, ToolbarButton_default, _hoisted_1$9, ToolbarSeparator_default, _hoisted_1$8, _hoisted_2$6, _hoisted_3$5, OverflowMenu_default, _hoisted_1$7, _hoisted_2$5, _hoisted_3$4, _hoisted_4$4, TRIGGER_FOCUS_SELECTOR = 'button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])', ToolbarDropdown_default, normalize4 = (value) => String(value ?? "").trim().toLowerCase(), findPrefixMatchIndex = (query2, labels) => {
304347
+ }, _hoisted_1$12, _hoisted_2$8, ToolbarButtonIcon_default, _hoisted_1$11, _hoisted_2$7, _hoisted_3$6, _hoisted_4$5, _hoisted_5$4, _hoisted_6$3, _hoisted_7$2, _hoisted_8, _hoisted_9, _hoisted_10, _hoisted_11, _hoisted_12, _hoisted_13, _hoisted_14, ToolbarButton_default, _hoisted_1$10, ToolbarSeparator_default, _hoisted_1$9, _hoisted_2$6, _hoisted_3$5, OverflowMenu_default, _hoisted_1$8, _hoisted_2$5, _hoisted_3$4, _hoisted_4$4, TRIGGER_FOCUS_SELECTOR = 'button, [href], input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])', ToolbarDropdown_default, normalize4 = (value) => String(value ?? "").trim().toLowerCase(), findPrefixMatchIndex = (query2, labels) => {
304032
304348
  const q$1 = normalize4(query2);
304033
304349
  if (!q$1)
304034
304350
  return -1;
@@ -304060,7 +304376,7 @@ var Node$13 = class Node$14 {
304060
304376
  return result;
304061
304377
  }, normalizeCustomFontFamily = (value) => {
304062
304378
  return stripWrappingQuotes((String(value ?? "").split(",")[0] ?? "").replace(/[\u0000-\u001f\u007f]/g, "")).replace(/\s+/g, " ").trim();
304063
- }, _hoisted_1$6, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, _hoisted_5$3, _hoisted_6$2, _hoisted_7$1, FontFamilyCombobox_default, SdTooltip_default, _hoisted_1$5, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, _hoisted_5$2, _hoisted_6$1, TOOLBAR_TOOLTIP_AUTO_HIDE_MS = 3000, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
304379
+ }, _hoisted_1$7, _hoisted_2$4, _hoisted_3$3, _hoisted_4$3, _hoisted_5$3, _hoisted_6$2, _hoisted_7$1, FontFamilyCombobox_default, SdTooltip_default, _hoisted_1$6, _hoisted_2$3, _hoisted_3$2, _hoisted_4$2, _hoisted_5$2, _hoisted_6$1, TOOLBAR_TOOLTIP_AUTO_HIDE_MS = 3000, ButtonGroup_default, DEFAULT_UI_FONT_FAMILY = "Arial, Helvetica, sans-serif", Toolbar_default, toolbarTexts, getParagraphFontFamilyFromProperties = (paragraphProps, convertedXml = {}) => {
304064
304380
  const fontFamilyProps = paragraphProps?.runProperties?.fontFamily;
304065
304381
  if (!fontFamilyProps)
304066
304382
  return null;
@@ -310801,7 +311117,7 @@ menclose::after {
310801
311117
  }
310802
311118
  }
310803
311119
  return { cellElement: cellEl };
310804
- }, TRACK_CHANGE_BASE_CLASS, TRACK_CHANGE_OVERLAP_INSERT_DELETE_CLASS = "track-overlap-insert-delete-dec", TRACK_CHANGE_BACKGROUND_ALPHA = 34, TRACK_CHANGE_BACKGROUND_FOCUSED_ALPHA = 68, expandHexColor = (hex) => {
311120
+ }, TRACK_CHANGE_BASE_CLASS, TRACK_CHANGE_OVERLAP_INSERT_DELETE_CLASS = "track-overlap-insert-delete-dec", TRACK_CHANGE_BACKGROUND_FOCUSED_ALPHA = 68, expandHexColor = (hex) => {
310805
311121
  const normalized = hex.replace("#", "");
310806
311122
  if (normalized.length === 3)
310807
311123
  return normalized.split("").map((char) => char + char).join("");
@@ -310811,7 +311127,7 @@ menclose::after {
310811
311127
  }, colorWithAlpha = (color2, alpha) => {
310812
311128
  const expanded = color2.trim().startsWith("#") ? expandHexColor(color2.trim()) : null;
310813
311129
  if (!expanded)
310814
- return color2;
311130
+ return null;
310815
311131
  return `#${expanded}${Math.max(0, Math.min(255, alpha)).toString(16).padStart(2, "0")}`;
310816
311132
  }, setColorVar = (elem, name, value) => {
310817
311133
  elem.style.setProperty(name, value);
@@ -310819,24 +311135,23 @@ menclose::after {
310819
311135
  const color2 = layer.color;
310820
311136
  if (!color2)
310821
311137
  return;
310822
- const background = colorWithAlpha(color2, TRACK_CHANGE_BACKGROUND_ALPHA);
310823
311138
  const backgroundFocused = colorWithAlpha(color2, TRACK_CHANGE_BACKGROUND_FOCUSED_ALPHA);
310824
311139
  switch (layer.kind) {
310825
311140
  case "insert":
310826
311141
  setColorVar(elem, "--sd-tracked-changes-insert-border", color2);
310827
- setColorVar(elem, "--sd-tracked-changes-insert-background", background);
310828
- setColorVar(elem, "--sd-tracked-changes-insert-background-focused", backgroundFocused);
311142
+ if (backgroundFocused)
311143
+ setColorVar(elem, "--sd-tracked-changes-insert-background-focused", backgroundFocused);
310829
311144
  break;
310830
311145
  case "delete":
310831
311146
  setColorVar(elem, "--sd-tracked-changes-delete-border", color2);
310832
- setColorVar(elem, "--sd-tracked-changes-delete-background", background);
310833
- setColorVar(elem, "--sd-tracked-changes-delete-background-focused", backgroundFocused);
311147
+ if (backgroundFocused)
311148
+ setColorVar(elem, "--sd-tracked-changes-delete-background-focused", backgroundFocused);
310834
311149
  setColorVar(elem, "--sd-tracked-changes-delete-text", color2);
310835
311150
  break;
310836
311151
  case "format":
310837
311152
  setColorVar(elem, "--sd-tracked-changes-format-border", color2);
310838
- setColorVar(elem, "--sd-tracked-changes-format-background", background);
310839
- setColorVar(elem, "--sd-tracked-changes-format-background-focused", backgroundFocused);
311153
+ if (backgroundFocused)
311154
+ setColorVar(elem, "--sd-tracked-changes-format-background-focused", backgroundFocused);
310840
311155
  break;
310841
311156
  default:
310842
311157
  break;
@@ -314357,7 +314672,7 @@ menclose::after {
314357
314672
  container.style.width = `${Math.max(0, data.contentWidth)}px`;
314358
314673
  else
314359
314674
  container.style.width = `calc(100% - ${marginLeft + marginRight}px)`;
314360
- container.style.pointerEvents = "none";
314675
+ container.style.pointerEvents = "auto";
314361
314676
  container.style.height = `${effectiveHeight}px`;
314362
314677
  container.style.top = `${Math.max(0, effectiveOffset)}px`;
314363
314678
  container.style.zIndex = "1";
@@ -316139,6 +316454,7 @@ menclose::after {
316139
316454
  trackedChange.author ?? "",
316140
316455
  trackedChange.authorEmail ?? "",
316141
316456
  trackedChange.authorImage ?? "",
316457
+ trackedChange.color ?? "",
316142
316458
  trackedChange.date ?? "",
316143
316459
  trackedChange.before ? JSON.stringify(trackedChange.before) : "",
316144
316460
  trackedChange.after ? JSON.stringify(trackedChange.after) : ""
@@ -316404,7 +316720,9 @@ menclose::after {
316404
316720
  vector.geometry.rotation ?? 0,
316405
316721
  vector.geometry.flipH ? 1 : 0,
316406
316722
  vector.geometry.flipV ? 1 : 0,
316407
- drawingTextVersion(vector)
316723
+ drawingTextVersion(vector),
316724
+ block.anchor?.offsetH ?? "",
316725
+ block.anchor?.offsetV ?? ""
316408
316726
  ].join("|");
316409
316727
  }
316410
316728
  if (block.drawingKind === "shapeGroup") {
@@ -316724,7 +317042,10 @@ menclose::after {
316724
317042
  return run2.text?.length ?? 0;
316725
317043
  }, isVisualOnlyRun = (run2) => {
316726
317044
  return getRunDataAttrs(run2)?.[FOOTNOTE_MARKER_DATA_ATTR$1] === "true";
316727
- }, SPACE_CHARS$1, isTabRun$1 = (run2) => run2?.kind === "tab", isWordChar$3 = (char) => {
317045
+ }, SPACE_CHARS$1, isTabRun$1 = (run2) => run2?.kind === "tab", faceOf$1 = (run2) => ({
317046
+ weight: run2.bold ? "700" : "400",
317047
+ style: run2.italic ? "italic" : "normal"
317048
+ }), isWordChar$3 = (char) => {
316728
317049
  if (!char)
316729
317050
  return false;
316730
317051
  const code6 = char.charCodeAt(0);
@@ -320257,6 +320578,7 @@ menclose::after {
320257
320578
  #pendingMarginClick = null;
320258
320579
  #pendingTocLinkNav = null;
320259
320580
  #lastSelectedImageBlockId = null;
320581
+ #lastSelectedTextboxBlockId = null;
320260
320582
  #suppressFocusInFromDraggable = false;
320261
320583
  #pendingStructuredContentLabelGesture = null;
320262
320584
  #debugLastPointer = null;
@@ -320966,6 +321288,37 @@ menclose::after {
320966
321288
  this.#callbacks.updateSelectionDebugHud?.();
320967
321289
  if (!suppressFocusForDrag)
320968
321290
  event.preventDefault();
321291
+ const textboxBorderSelection = this.#resolveTextboxBorderSelection({
321292
+ event,
321293
+ editor,
321294
+ doc: doc$12,
321295
+ hitPos: hit?.pos ?? null,
321296
+ rawHitPos: rawHit?.pos ?? null,
321297
+ pageIndex: normalizedPoint.pageIndex
321298
+ });
321299
+ if (textboxBorderSelection) {
321300
+ const { editor: selectionEditor, fragmentEl, shapeContainerPos, blockId } = textboxBorderSelection;
321301
+ try {
321302
+ const tr = selectionEditor.state.tr.setSelection(NodeSelection.create(doc$12, shapeContainerPos));
321303
+ selectionEditor.view?.dispatch(tr);
321304
+ if (this.#lastSelectedImageBlockId) {
321305
+ this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
321306
+ this.#lastSelectedImageBlockId = null;
321307
+ }
321308
+ if (this.#lastSelectedTextboxBlockId && this.#lastSelectedTextboxBlockId !== blockId)
321309
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
321310
+ this.#callbacks.emit?.("textboxSelected", {
321311
+ element: fragmentEl,
321312
+ blockId
321313
+ });
321314
+ this.#lastSelectedTextboxBlockId = blockId;
321315
+ } catch (error3) {
321316
+ if (process$1.env.NODE_ENV === "development")
321317
+ console.warn("[EditorInputManager] Failed to create NodeSelection for textbox container:", error3);
321318
+ }
321319
+ this.#callbacks.focusEditorAfterImageSelection?.();
321320
+ return;
321321
+ }
320969
321322
  if (!rawHit) {
320970
321323
  this.#focusEditor();
320971
321324
  return;
@@ -320997,6 +321350,10 @@ menclose::after {
320997
321350
  this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
320998
321351
  this.#lastSelectedImageBlockId = null;
320999
321352
  }
321353
+ if (this.#lastSelectedTextboxBlockId) {
321354
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
321355
+ this.#lastSelectedTextboxBlockId = null;
321356
+ }
321000
321357
  if (event.shiftKey && editor.state.selection.$anchor) {
321001
321358
  this.#handleShiftClick(event, hit.pos);
321002
321359
  return;
@@ -321646,6 +322003,10 @@ menclose::after {
321646
322003
  const newSelectionId = `inline-${clampedImgPos}`;
321647
322004
  if (this.#lastSelectedImageBlockId && this.#lastSelectedImageBlockId !== newSelectionId)
321648
322005
  this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
322006
+ if (this.#lastSelectedTextboxBlockId && this.#lastSelectedTextboxBlockId !== newSelectionId) {
322007
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
322008
+ this.#lastSelectedTextboxBlockId = null;
322009
+ }
321649
322010
  const editor = this.#deps?.getEditor();
321650
322011
  try {
321651
322012
  const tr = editor.state.tr.setSelection(NodeSelection.create(doc$12, clampedImgPos));
@@ -321678,6 +322039,10 @@ menclose::after {
321678
322039
  editor.view?.dispatch(tr);
321679
322040
  if (this.#lastSelectedImageBlockId && this.#lastSelectedImageBlockId !== fragmentHit.fragment.blockId)
321680
322041
  this.#callbacks.emit?.("imageDeselected", { blockId: this.#lastSelectedImageBlockId });
322042
+ if (this.#lastSelectedTextboxBlockId) {
322043
+ this.#callbacks.emit?.("textboxDeselected", { blockId: this.#lastSelectedTextboxBlockId });
322044
+ this.#lastSelectedTextboxBlockId = null;
322045
+ }
321681
322046
  if (fragmentHit.fragment.kind === "image") {
321682
322047
  const targetElement = fragmentHit.fragment.pmStart != null ? this.#callbacks.resolveImageFragmentElementByPmStart?.(fragmentHit.fragment.pmStart) ?? null : null;
321683
322048
  if (targetElement) {
@@ -321696,6 +322061,90 @@ menclose::after {
321696
322061
  this.#callbacks.focusEditorAfterImageSelection?.();
321697
322062
  return true;
321698
322063
  }
322064
+ #resolveTextboxBorderSelection({ event, editor, doc: doc$12, hitPos, rawHitPos, pageIndex }) {
322065
+ if (!doc$12)
322066
+ return null;
322067
+ const fragmentEl = this.#resolveTextboxFragmentElement(event.target, event.clientX, event.clientY, pageIndex);
322068
+ if (!fragmentEl)
322069
+ return null;
322070
+ const BORDER_HIT_MARGIN = 6;
322071
+ const rect = fragmentEl.getBoundingClientRect();
322072
+ if (!(event.clientX - rect.left <= BORDER_HIT_MARGIN || rect.right - event.clientX <= BORDER_HIT_MARGIN || event.clientY - rect.top <= BORDER_HIT_MARGIN || rect.bottom - event.clientY <= BORDER_HIT_MARGIN))
322073
+ return null;
322074
+ const shapeContainerPos = this.#resolveShapeContainerPos(doc$12, fragmentEl, [hitPos, rawHitPos]);
322075
+ if (shapeContainerPos == null)
322076
+ return null;
322077
+ return {
322078
+ editor,
322079
+ fragmentEl,
322080
+ shapeContainerPos,
322081
+ blockId: fragmentEl.dataset.blockId ?? null
322082
+ };
322083
+ }
322084
+ #resolveTextboxFragmentElement(target, clientX, clientY, pageIndex) {
322085
+ const candidates = [];
322086
+ const seen = /* @__PURE__ */ new Set;
322087
+ const addCandidate = (element3) => {
322088
+ if (!element3 || seen.has(element3))
322089
+ return;
322090
+ seen.add(element3);
322091
+ candidates.push(element3);
322092
+ };
322093
+ const resolveCandidate = (element3) => {
322094
+ if (!(element3 instanceof HTMLElement))
322095
+ return null;
322096
+ const pageLevelFragment = element3.closest(".superdoc-drawing-fragment");
322097
+ if (pageLevelFragment)
322098
+ return pageLevelFragment;
322099
+ const tableDrawing = element3.closest(".superdoc-table-drawing");
322100
+ if (tableDrawing?.parentElement instanceof HTMLElement && tableDrawing.parentElement.dataset.blockId)
322101
+ return tableDrawing.parentElement;
322102
+ return element3.closest("[data-block-id]") ?? null;
322103
+ };
322104
+ addCandidate(resolveCandidate(target));
322105
+ const ownerDocument = target instanceof Element ? target.ownerDocument : document;
322106
+ if (typeof ownerDocument.elementsFromPoint === "function")
322107
+ for (const element3 of ownerDocument.elementsFromPoint(clientX, clientY))
322108
+ addCandidate(resolveCandidate(element3));
322109
+ if (Number.isFinite(pageIndex)) {
322110
+ const pageCandidates = this.#deps?.getViewportHost()?.querySelector(`[data-page-index="${pageIndex}"]`)?.querySelectorAll("[data-block-id]");
322111
+ if (pageCandidates)
322112
+ for (const candidate of Array.from(pageCandidates)) {
322113
+ const rect = candidate.getBoundingClientRect();
322114
+ if (clientX >= rect.left && clientX <= rect.right && clientY >= rect.top && clientY <= rect.bottom)
322115
+ addCandidate(candidate);
322116
+ }
322117
+ }
322118
+ for (const candidate of candidates)
322119
+ if (candidate.classList.contains("superdoc-textbox-shape") || candidate.querySelector(".superdoc-textbox-shape") != null)
322120
+ return candidate;
322121
+ return null;
322122
+ }
322123
+ #resolveShapeContainerPos(doc$12, fragmentEl, candidatePositions) {
322124
+ const fragmentPmStart = fragmentEl.querySelector("[data-pm-start]")?.dataset.pmStart;
322125
+ const positions = [...candidatePositions];
322126
+ if (fragmentPmStart != null)
322127
+ positions.push(Number(fragmentPmStart));
322128
+ for (const pos of positions) {
322129
+ if (!Number.isFinite(pos))
322130
+ continue;
322131
+ const resolvedPos = this.#findAncestorShapeContainerPos(doc$12, Number(pos));
322132
+ if (resolvedPos != null)
322133
+ return resolvedPos;
322134
+ }
322135
+ return null;
322136
+ }
322137
+ #findAncestorShapeContainerPos(doc$12, pos) {
322138
+ try {
322139
+ const $pos = doc$12.resolve(pos);
322140
+ for (let depth = $pos.depth;depth >= 0; depth -= 1)
322141
+ if ($pos.node(depth).type.name === "shapeContainer")
322142
+ return $pos.before(depth);
322143
+ } catch {
322144
+ return null;
322145
+ }
322146
+ return null;
322147
+ }
321699
322148
  #handleShiftClick(event, headPos) {
321700
322149
  const editor = this.#deps?.getActiveEditor() ?? this.#deps?.getEditor();
321701
322150
  if (!editor)
@@ -325767,19 +326216,20 @@ menclose::after {
325767
326216
  return;
325768
326217
  console.log(...args$1);
325769
326218
  }, 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, TRACKED_MARK_NAMES;
325770
- var init_src_C3y2aHWQ_es = __esm(() => {
326219
+ var init_src_bGJhSgx__es = __esm(() => {
325771
326220
  init_rolldown_runtime_Bg48TavK_es();
325772
- init_SuperConverter_Bdmhv7BA_es();
326221
+ init_SuperConverter_Du0apG1R_es();
325773
326222
  init_jszip_C49i9kUs_es();
325774
326223
  init_xml_js_CqGKpaft_es();
325775
326224
  init_uuid_B2wVPhPi_es();
325776
- init_create_headless_toolbar_VA4azb5D_es();
326225
+ init_create_headless_toolbar_BNcguDpP_es();
325777
326226
  init_constants_D9qj59G2_es();
325778
326227
  init_unified_BDuVPlMu_es();
325779
326228
  init_remark_gfm_BUJjZJLy_es();
325780
326229
  init_remark_stringify_BZvKOjUX_es();
325781
326230
  init_DocxZipper_BzS208BW_es();
325782
326231
  init__plugin_vue_export_helper_HmhZBO0u_es();
326232
+ init_ui_BMYSpkne_es();
325783
326233
  init_eventemitter3_UwU_CLPU_es();
325784
326234
  init_errors_C_DoKMoN_es();
325785
326235
  init_blank_docx_CDDHd6CH_es();
@@ -327143,6 +327593,21 @@ var init_src_C3y2aHWQ_es = __esm(() => {
327143
327593
  referenceDocPath: "format/paragraph/clear-direction.mdx",
327144
327594
  referenceGroup: "format.paragraph"
327145
327595
  },
327596
+ "format.paragraph.setNumbering": {
327597
+ memberPath: "format.paragraph.setNumbering",
327598
+ description: "Attach numbering (numId + level) to an existing paragraph or heading so it joins a numbered sequence. Numbering is a paragraph property; the node and its style are otherwise unchanged, though any direct paragraph indent is cleared so the numbering level controls indentation. Direct edits only; tracked mode is unsupported.",
327599
+ expectedResult: "Returns a ParagraphMutationResult; reports NO_OP if the block already carries this numbering. On a successful apply, resolution.target reflects the post-mutation address (a numbered plain paragraph re-resolves to listItem; a heading stays a heading); a dryRun returns the input target.",
327600
+ requiresDocumentContext: true,
327601
+ metadata: mutationOperation2({
327602
+ idempotency: "conditional",
327603
+ supportsDryRun: true,
327604
+ supportsTrackedMode: false,
327605
+ possibleFailureCodes: ["NO_OP"],
327606
+ throws: T_PARAGRAPH_MUTATION2
327607
+ }),
327608
+ referenceDocPath: "format/paragraph/set-numbering.mdx",
327609
+ referenceGroup: "format.paragraph"
327610
+ },
327146
327611
  "lists.list": {
327147
327612
  memberPath: "lists.list",
327148
327613
  description: "List all list nodes in the document, optionally filtered by scope.",
@@ -349947,7 +350412,7 @@ function print() { __p += __j.call(arguments, '') }
349947
350412
  } });
349948
350413
  tippy.setDefaultProps({ render });
349949
350414
  tippy_esm_default = tippy;
349950
- _hoisted_1$23 = ["onClick", "onMouseenter"];
350415
+ _hoisted_1$24 = ["onClick", "onMouseenter"];
349951
350416
  _hoisted_2$18 = { key: 0 };
349952
350417
  _hoisted_3$14 = { key: 0 };
349953
350418
  _hoisted_4$10 = { key: 1 };
@@ -350017,7 +350482,7 @@ function print() { __p += __j.call(arguments, '') }
350017
350482
  onMouseleave: _cache[0] || (_cache[0] = ($event) => activeUserIndex.value = null),
350018
350483
  key: user.email,
350019
350484
  class: exports_vue.normalizeClass(["user-row", { "sd-selected": activeUserIndex.value === index2 }])
350020
- }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$18, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$14, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$10, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$9, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$23);
350485
+ }, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$18, [user.name ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_3$14, exports_vue.toDisplayString(user.name), 1)) : exports_vue.createCommentVNode("", true), user.name && user.email ? (exports_vue.openBlock(), exports_vue.createElementBlock("span", _hoisted_4$10, " (" + exports_vue.toDisplayString(user.email) + ")", 1)) : exports_vue.createCommentVNode("", true)])) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$9, [exports_vue.createElementVNode("span", null, exports_vue.toDisplayString(user.email), 1)]))], 42, _hoisted_1$24);
350021
350486
  }), 128))], 544);
350022
350487
  };
350023
350488
  }
@@ -350938,66 +351403,6 @@ function print() { __p += __j.call(arguments, '') }
350938
351403
  };
350939
351404
  }
350940
351405
  });
350941
- DOM_CLASS_NAMES = {
350942
- PAGE: "superdoc-page",
350943
- FRAGMENT: "superdoc-fragment",
350944
- LINE: "superdoc-line",
350945
- INLINE_SDT_WRAPPER: "superdoc-structured-content-inline",
350946
- INLINE_SDT_LABEL: "superdoc-structured-content-inline__label",
350947
- BLOCK_SDT: "superdoc-structured-content-block",
350948
- BLOCK_SDT_LABEL: "superdoc-structured-content__label",
350949
- TABLE_FRAGMENT: "superdoc-table-fragment",
350950
- DOCUMENT_SECTION: "superdoc-document-section",
350951
- SDT_GROUP_HOVER: "sdt-group-hover",
350952
- TOC_ENTRY: "superdoc-toc-entry",
350953
- TOC_GROUP_HOVER: "toc-group-hover",
350954
- IMAGE_FRAGMENT: "superdoc-image-fragment",
350955
- INLINE_IMAGE: "superdoc-inline-image",
350956
- LIST_MARKER: "superdoc-list-marker",
350957
- INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper",
350958
- ANNOTATION: "annotation",
350959
- ANNOTATION_CONTENT: "annotation-content",
350960
- ANNOTATION_CARET_ANCHOR: "annotation-caret-anchor"
350961
- };
350962
- STRUCTURED_CONTENT_CHROME_LABEL_CLASS_NAMES = [DOM_CLASS_NAMES.INLINE_SDT_LABEL, DOM_CLASS_NAMES.BLOCK_SDT_LABEL];
350963
- DATA_ATTRS = {
350964
- PM_START: "data-pm-start",
350965
- PM_END: "data-pm-end",
350966
- LAYOUT_EPOCH: "data-layout-epoch",
350967
- TABLE_BOUNDARIES: "data-table-boundaries",
350968
- SDT_ID: "data-sdt-id",
350969
- SDT_TYPE: "data-sdt-type",
350970
- FIELD_ID: "data-field-id",
350971
- FIELD_TYPE: "data-field-type",
350972
- DRAGGABLE: "data-draggable",
350973
- DISPLAY_LABEL: "data-display-label",
350974
- VARIANT: "data-variant",
350975
- TYPE: "data-type",
350976
- LAYOUT_BOUNDARY_SCHEMA: "data-layout-boundary-schema",
350977
- LAYOUT_FRAGMENT_ID: "data-layout-fragment-id",
350978
- LAYOUT_STORY: "data-layout-story",
350979
- LAYOUT_BLOCK_REF: "data-layout-block-ref"
350980
- };
350981
- DATASET_KEYS = {
350982
- PM_START: "pmStart",
350983
- PM_END: "pmEnd",
350984
- LAYOUT_EPOCH: "layoutEpoch",
350985
- TABLE_BOUNDARIES: "tableBoundaries",
350986
- SDT_ID: "sdtId",
350987
- SDT_TYPE: "sdtType",
350988
- FIELD_ID: "fieldId",
350989
- FIELD_TYPE: "fieldType",
350990
- DRAGGABLE: "draggable",
350991
- DISPLAY_LABEL: "displayLabel",
350992
- VARIANT: "variant",
350993
- TYPE: "type",
350994
- LAYOUT_BOUNDARY_SCHEMA: "layoutBoundarySchema",
350995
- LAYOUT_FRAGMENT_ID: "layoutFragmentId",
350996
- LAYOUT_STORY: "layoutStory",
350997
- LAYOUT_BLOCK_REF: "layoutBlockRef"
350998
- };
350999
- `${DOM_CLASS_NAMES.BLOCK_SDT}${DATA_ATTRS.SDT_ID}`;
351000
- DRAGGABLE_SELECTOR = `[${DATA_ATTRS.DRAGGABLE}="true"]`;
351001
351406
  VerticalNavigationPluginKey = new PluginKey("verticalNavigation");
351002
351407
  VerticalNavigation = Extension.create({
351003
351408
  name: "verticalNavigation",
@@ -351308,7 +351713,7 @@ function print() { __p += __j.call(arguments, '') }
351308
351713
  })
351309
351714
  }
351310
351715
  ] };
351311
- _hoisted_1$22 = { class: "ai-user-input-field" };
351716
+ _hoisted_1$23 = { class: "ai-user-input-field" };
351312
351717
  _hoisted_2$17 = ["innerHTML"];
351313
351718
  _hoisted_3$13 = ["placeholder"];
351314
351719
  _hoisted_4$9 = { class: "ai-loader" };
@@ -351539,7 +351944,7 @@ function print() { __p += __j.call(arguments, '') }
351539
351944
  ref_key: "aiWriterRef",
351540
351945
  ref: aiWriterRef,
351541
351946
  onMousedown: _cache[1] || (_cache[1] = exports_vue.withModifiers(() => {}, ["stop"]))
351542
- }, [exports_vue.createElementVNode("div", _hoisted_1$22, [exports_vue.createElementVNode("span", {
351947
+ }, [exports_vue.createElementVNode("div", _hoisted_1$23, [exports_vue.createElementVNode("span", {
351543
351948
  class: "ai-textarea-icon",
351544
351949
  innerHTML: exports_vue.unref(edit_regular_default)
351545
351950
  }, null, 8, _hoisted_2$17), exports_vue.withDirectives(exports_vue.createElementVNode("textarea", {
@@ -351641,7 +352046,7 @@ function print() { __p += __j.call(arguments, '') }
351641
352046
  formattingMarks: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true"><text x="12" y="18" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="700" fill="currentColor">¶</text></svg>
351642
352047
  `
351643
352048
  };
351644
- _hoisted_1$21 = [
352049
+ _hoisted_1$22 = [
351645
352050
  "onClick",
351646
352051
  "innerHTML",
351647
352052
  "aria-label",
@@ -351733,12 +352138,12 @@ function print() { __p += __j.call(arguments, '') }
351733
352138
  ref_key: "alignmentButtonsRefs",
351734
352139
  ref: alignmentButtonsRefs,
351735
352140
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
351736
- }, null, 40, _hoisted_1$21);
352141
+ }, null, 40, _hoisted_1$22);
351737
352142
  }), 64))], 2);
351738
352143
  };
351739
352144
  }
351740
352145
  }, [["__scopeId", "data-v-ceb338e0"]]);
351741
- _hoisted_1$20 = [
352146
+ _hoisted_1$21 = [
351742
352147
  "onClick",
351743
352148
  "innerHTML",
351744
352149
  "aria-label",
@@ -351827,7 +352232,7 @@ function print() { __p += __j.call(arguments, '') }
351827
352232
  ref_key: "buttonRefs",
351828
352233
  ref: buttonRefs,
351829
352234
  onKeydown: exports_vue.withModifiers((event) => handleKeyDown$1(event, index2), ["prevent"])
351830
- }, null, 46, _hoisted_1$20);
352235
+ }, null, 46, _hoisted_1$21);
351831
352236
  }), 128))], 2);
351832
352237
  };
351833
352238
  }
@@ -351891,7 +352296,7 @@ function print() { __p += __j.call(arguments, '') }
351891
352296
  ariaLabel: "a) b) c)"
351892
352297
  }
351893
352298
  ];
351894
- _hoisted_1$19 = ["onClick", "onKeydown"];
352299
+ _hoisted_1$20 = ["onClick", "onKeydown"];
351895
352300
  _hoisted_2$16 = { class: "document-mode-column icon-column" };
351896
352301
  _hoisted_3$12 = ["innerHTML"];
351897
352302
  _hoisted_4$8 = { class: "document-mode-column text-column" };
@@ -351960,12 +352365,12 @@ function print() { __p += __j.call(arguments, '') }
351960
352365
  }, [exports_vue.createElementVNode("div", _hoisted_2$16, [exports_vue.createElementVNode("div", {
351961
352366
  class: "icon-column__icon",
351962
352367
  innerHTML: option.icon
351963
- }, null, 8, _hoisted_3$12)]), exports_vue.createElementVNode("div", _hoisted_4$8, [exports_vue.createElementVNode("div", _hoisted_5$7, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$5, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$19);
352368
+ }, null, 8, _hoisted_3$12)]), exports_vue.createElementVNode("div", _hoisted_4$8, [exports_vue.createElementVNode("div", _hoisted_5$7, exports_vue.toDisplayString(option.label), 1), exports_vue.createElementVNode("div", _hoisted_6$5, exports_vue.toDisplayString(option.description), 1)])], 42, _hoisted_1$20);
351964
352369
  }), 256))], 2);
351965
352370
  };
351966
352371
  }
351967
352372
  }, [["__scopeId", "data-v-abd514d9"]]);
351968
- _hoisted_1$18 = {
352373
+ _hoisted_1$19 = {
351969
352374
  key: 0,
351970
352375
  class: "linked-style-buttons",
351971
352376
  "data-editor-ui-surface": ""
@@ -352027,7 +352432,7 @@ function print() { __p += __j.call(arguments, '') }
352027
352432
  styleRefs.value[0].focus();
352028
352433
  });
352029
352434
  return (_ctx, _cache) => {
352030
- return props.editor ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$18, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(exports_vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
352435
+ return props.editor ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$19, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(exports_vue.unref(getQuickFormatList)(__props.editor), (style2, index2) => {
352031
352436
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352032
352437
  class: exports_vue.normalizeClass(["style-item", { selected: __props.selectedOption === style2.id }]),
352033
352438
  onClick: ($event) => select2(style2),
@@ -352045,7 +352450,7 @@ function print() { __p += __j.call(arguments, '') }
352045
352450
  };
352046
352451
  }
352047
352452
  }, [["__scopeId", "data-v-80e74746"]]);
352048
- _hoisted_1$17 = {
352453
+ _hoisted_1$18 = {
352049
352454
  key: 0,
352050
352455
  class: "link-title"
352051
352456
  };
@@ -352248,7 +352653,7 @@ function print() { __p += __j.call(arguments, '') }
352248
352653
  props.goToAnchor(url$1);
352249
352654
  };
352250
352655
  return (_ctx, _cache) => {
352251
- 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$17, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$14, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$11, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$7, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [
352656
+ 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$18, "Page anchor")) : isViewingMode.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_2$14, "Link details")) : isEditing.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$11, "Edit link")) : (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_4$7, "Add link")), __props.showInput && !isAnchor.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_5$6, [
352252
352657
  exports_vue.createElementVNode("div", _hoisted_6$4, [_cache[5] || (_cache[5] = exports_vue.createElementVNode("div", { class: "input-icon text-input-icon" }, "T", -1)), exports_vue.withDirectives(exports_vue.createElementVNode("input", {
352253
352658
  type: "text",
352254
352659
  name: "text",
@@ -352295,7 +352700,7 @@ function print() { __p += __j.call(arguments, '') }
352295
352700
  };
352296
352701
  }
352297
352702
  }, [["__scopeId", "data-v-c490d677"]]);
352298
- _hoisted_1$16 = [
352703
+ _hoisted_1$17 = [
352299
352704
  "aria-label",
352300
352705
  "onClick",
352301
352706
  "onKeydown"
@@ -352427,13 +352832,13 @@ function print() { __p += __j.call(arguments, '') }
352427
352832
  class: "sd-option__check",
352428
352833
  innerHTML: exports_vue.unref(toolbarIcons).colorOptionCheck,
352429
352834
  style: exports_vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
352430
- }, null, 12, _hoisted_3$10)) : exports_vue.createCommentVNode("", true)], 40, _hoisted_1$16);
352835
+ }, null, 12, _hoisted_3$10)) : exports_vue.createCommentVNode("", true)], 40, _hoisted_1$17);
352431
352836
  }), 128))]);
352432
352837
  }), 128);
352433
352838
  };
352434
352839
  }
352435
352840
  }, [["__scopeId", "data-v-30cad300"]]);
352436
- _hoisted_1$15 = { class: "options-grid-wrap" };
352841
+ _hoisted_1$16 = { class: "options-grid-wrap" };
352437
352842
  _hoisted_2$12 = ["innerHTML"];
352438
352843
  _hoisted_3$9 = { class: "option-grid-ctn" };
352439
352844
  IconGrid_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
@@ -352463,7 +352868,7 @@ function print() { __p += __j.call(arguments, '') }
352463
352868
  emit("select", option);
352464
352869
  };
352465
352870
  return (_ctx, _cache) => {
352466
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$15, [__props.hasNoneIcon ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352871
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$16, [__props.hasNoneIcon ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352467
352872
  key: 0,
352468
352873
  class: "none-option",
352469
352874
  role: "menuitem",
@@ -352558,7 +352963,7 @@ function print() { __p += __j.call(arguments, '') }
352558
352963
  makeColorOption("#A91DFF", "neon purple")
352559
352964
  ]
352560
352965
  ];
352561
- _hoisted_1$14 = [
352966
+ _hoisted_1$15 = [
352562
352967
  "data-cols",
352563
352968
  "data-rows",
352564
352969
  "onKeydown",
@@ -352675,7 +353080,7 @@ function print() { __p += __j.call(arguments, '') }
352675
353080
  cols: n,
352676
353081
  rows: i3
352677
353082
  }), ["stop", "prevent"])
352678
- }, null, 40, _hoisted_1$14);
353083
+ }, null, 40, _hoisted_1$15);
352679
353084
  }), 64))], 64);
352680
353085
  }), 64))], 32), exports_vue.createElementVNode("div", {
352681
353086
  class: "toolbar-table-grid-value",
@@ -352684,7 +353089,7 @@ function print() { __p += __j.call(arguments, '') }
352684
353089
  };
352685
353090
  }
352686
353091
  }, [["__scopeId", "data-v-168b91ce"]]);
352687
- _hoisted_1$13 = { class: "toolbar-table-actions" };
353092
+ _hoisted_1$14 = { class: "toolbar-table-actions" };
352688
353093
  _hoisted_2$10 = [
352689
353094
  "onClick",
352690
353095
  "data-item",
@@ -352703,7 +353108,7 @@ function print() { __p += __j.call(arguments, '') }
352703
353108
  emit("select", { command: item.command });
352704
353109
  };
352705
353110
  return (_ctx, _cache) => {
352706
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$13, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.options, (option) => {
353111
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$14, [(exports_vue.openBlock(true), exports_vue.createElementBlock(exports_vue.Fragment, null, exports_vue.renderList(__props.options, (option) => {
352707
353112
  return exports_vue.openBlock(), exports_vue.createElementBlock("div", {
352708
353113
  class: exports_vue.normalizeClass(["toolbar-table-actions__item", { "toolbar-table-actions__item--border": option.bottomBorder }]),
352709
353114
  onClick: ($event) => handleClick$1(option),
@@ -352718,7 +353123,7 @@ function print() { __p += __j.call(arguments, '') }
352718
353123
  };
352719
353124
  }
352720
353125
  }, [["__scopeId", "data-v-652015c8"]]);
352721
- _hoisted_1$12 = { class: "search-input-ctn" };
353126
+ _hoisted_1$13 = { class: "search-input-ctn" };
352722
353127
  _hoisted_2$9 = { class: "sd-row" };
352723
353128
  _hoisted_3$7 = ["onKeydown"];
352724
353129
  SearchInput_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
@@ -352732,7 +353137,7 @@ function print() { __p += __j.call(arguments, '') }
352732
353137
  emit("submit", { value: searchValue.value });
352733
353138
  };
352734
353139
  return (_ctx, _cache) => {
352735
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$12, [exports_vue.createElementVNode("div", _hoisted_2$9, [exports_vue.withDirectives(exports_vue.createElementVNode("input", {
353140
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$13, [exports_vue.createElementVNode("div", _hoisted_2$9, [exports_vue.withDirectives(exports_vue.createElementVNode("input", {
352736
353141
  ref: __props.searchRef,
352737
353142
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
352738
353143
  class: "search-input",
@@ -352876,7 +353281,7 @@ function print() { __p += __j.call(arguments, '') }
352876
353281
  HEADLESS_TOOLBAR_COMMANDS = [...new Set([...Object.values(HEADLESS_ITEM_MAP), ...TABLE_ACTION_COMMAND_IDS])];
352877
353282
  NON_HEADLESS_EXECUTE_ITEM_NAMES = new Set(["link"]);
352878
353283
  HEADLESS_EXECUTE_ITEMS = new Set(Object.keys(HEADLESS_ITEM_MAP).filter((itemName) => !NON_HEADLESS_EXECUTE_ITEM_NAMES.has(itemName)));
352879
- _hoisted_1$11 = { class: "sd-toolbar-icon" };
353284
+ _hoisted_1$12 = { class: "sd-toolbar-icon" };
352880
353285
  _hoisted_2$8 = ["innerHTML"];
352881
353286
  ToolbarButtonIcon_default = /* @__PURE__ */ __plugin_vue_export_helper_default({
352882
353287
  __name: "ToolbarButtonIcon",
@@ -352906,7 +353311,7 @@ function print() { __p += __j.call(arguments, '') }
352906
353311
  return ["color", "highlight"].includes(props.name);
352907
353312
  });
352908
353313
  return (_ctx, _cache) => {
352909
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$11, [exports_vue.createElementVNode("div", {
353314
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$12, [exports_vue.createElementVNode("div", {
352910
353315
  class: exports_vue.normalizeClass(["sd-toolbar-icon__icon", [`sd-toolbar-icon__icon--${props.name}`]]),
352911
353316
  innerHTML: __props.icon
352912
353317
  }, null, 10, _hoisted_2$8), hasColorBar.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", {
@@ -352917,7 +353322,7 @@ function print() { __p += __j.call(arguments, '') }
352917
353322
  };
352918
353323
  }
352919
353324
  }, [["__scopeId", "data-v-521c3d93"]]);
352920
- _hoisted_1$10 = ["role", "aria-label"];
353325
+ _hoisted_1$11 = ["role", "aria-label"];
352921
353326
  _hoisted_2$7 = ["data-item"];
352922
353327
  _hoisted_3$6 = ["data-item"];
352923
353328
  _hoisted_4$5 = {
@@ -353168,11 +353573,11 @@ function print() { __p += __j.call(arguments, '') }
353168
353573
  }, null, 12, _hoisted_13)) : exports_vue.createCommentVNode("", true)
353169
353574
  ], 64)),
353170
353575
  exports_vue.createElementVNode("div", _hoisted_14, exports_vue.toDisplayString(`${exports_vue.unref(attributes).ariaLabel} ${exports_vue.unref(active) ? "selected" : "unset"}`), 1)
353171
- ], 10, _hoisted_2$7)], 46, _hoisted_1$10);
353576
+ ], 10, _hoisted_2$7)], 46, _hoisted_1$11);
353172
353577
  };
353173
353578
  }
353174
353579
  }, [["__scopeId", "data-v-2caa0057"]]);
353175
- _hoisted_1$9 = {
353580
+ _hoisted_1$10 = {
353176
353581
  class: "toolbar-separator",
353177
353582
  role: "separator",
353178
353583
  "aria-label": "Toolbar separator"
@@ -353192,14 +353597,14 @@ function print() { __p += __j.call(arguments, '') }
353192
353597
  return "var(--sd-ui-border, #dbdbdb)";
353193
353598
  };
353194
353599
  return (_ctx, _cache) => {
353195
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$9, [exports_vue.createElementVNode("div", {
353600
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$10, [exports_vue.createElementVNode("div", {
353196
353601
  class: "separator-inner",
353197
353602
  style: exports_vue.normalizeStyle({ backgroundColor: getSeparatorColor() })
353198
353603
  }, null, 4)]);
353199
353604
  };
353200
353605
  }
353201
353606
  }, [["__scopeId", "data-v-d027f7fc"]]);
353202
- _hoisted_1$8 = { class: "overflow-menu" };
353607
+ _hoisted_1$9 = { class: "overflow-menu" };
353203
353608
  _hoisted_2$6 = { class: "overflow-menu-trigger" };
353204
353609
  _hoisted_3$5 = {
353205
353610
  key: 0,
@@ -353253,7 +353658,7 @@ function print() { __p += __j.call(arguments, '') }
353253
353658
  document.removeEventListener("keydown", handleKeyDown$1, true);
353254
353659
  });
353255
353660
  return (_ctx, _cache) => {
353256
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$8, [exports_vue.createElementVNode("div", _hoisted_2$6, [exports_vue.createVNode(ToolbarButton_default, {
353661
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$9, [exports_vue.createElementVNode("div", _hoisted_2$6, [exports_vue.createVNode(ToolbarButton_default, {
353257
353662
  "toolbar-item": overflowToolbarItem.value,
353258
353663
  onButtonClick: toggleOverflowMenu
353259
353664
  }, null, 8, ["toolbar-item"])]), isOverflowMenuOpened.value ? (exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_3$5, [exports_vue.createVNode(ButtonGroup_default, {
@@ -353266,7 +353671,7 @@ function print() { __p += __j.call(arguments, '') }
353266
353671
  };
353267
353672
  }
353268
353673
  }, [["__scopeId", "data-v-35b48dff"]]);
353269
- _hoisted_1$7 = { class: "toolbar-dropdown" };
353674
+ _hoisted_1$8 = { class: "toolbar-dropdown" };
353270
353675
  _hoisted_2$5 = ["onClick"];
353271
353676
  _hoisted_3$4 = {
353272
353677
  key: 0,
@@ -353620,7 +354025,7 @@ function print() { __p += __j.call(arguments, '') }
353620
354025
  window.removeEventListener("scroll", updateMenuPosition, true);
353621
354026
  });
353622
354027
  return (_ctx, _cache) => {
353623
- return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$7, [exports_vue.createElementVNode("div", {
354028
+ return exports_vue.openBlock(), exports_vue.createElementBlock("div", _hoisted_1$8, [exports_vue.createElementVNode("div", {
353624
354029
  ref_key: "triggerRef",
353625
354030
  ref: triggerRef,
353626
354031
  class: "toolbar-dropdown-trigger",
@@ -353662,7 +354067,7 @@ function print() { __p += __j.call(arguments, '') }
353662
354067
  };
353663
354068
  }
353664
354069
  }, [["__scopeId", "data-v-69732782"]]);
353665
- _hoisted_1$6 = [
354070
+ _hoisted_1$7 = [
353666
354071
  "value",
353667
354072
  "disabled",
353668
354073
  "aria-label",
@@ -354090,7 +354495,7 @@ function print() { __p += __j.call(arguments, '') }
354090
354495
  onKeydown,
354091
354496
  onCompositionstart: _cache[0] || (_cache[0] = ($event) => isComposing.value = true),
354092
354497
  onCompositionend: onCompositionEnd
354093
- }, null, 44, _hoisted_1$6)], 32),
354498
+ }, null, 44, _hoisted_1$7)], 32),
354094
354499
  exports_vue.createElementVNode("button", {
354095
354500
  type: "button",
354096
354501
  class: "sd-font-combobox__caret sd-toolbar-split-field__caret",
@@ -354346,7 +354751,7 @@ function print() { __p += __j.call(arguments, '') }
354346
354751
  };
354347
354752
  }
354348
354753
  }), [["__scopeId", "data-v-f0925f67"]]);
354349
- _hoisted_1$5 = ["data-toolbar-position"];
354754
+ _hoisted_1$6 = ["data-toolbar-position"];
354350
354755
  _hoisted_2$3 = [
354351
354756
  "onKeydown",
354352
354757
  "tabindex",
@@ -354907,7 +355312,7 @@ function print() { __p += __j.call(arguments, '') }
354907
355312
  "overflow-items"
354908
355313
  ])) : exports_vue.createCommentVNode("", true)
354909
355314
  ], 42, _hoisted_2$3);
354910
- }), 128))], 44, _hoisted_1$5);
355315
+ }), 128))], 44, _hoisted_1$6);
354911
355316
  };
354912
355317
  }
354913
355318
  }, [["__scopeId", "data-v-181bd035"]]);
@@ -359951,6 +360356,13 @@ function print() { __p += __j.call(arguments, '') }
359951
360356
  .${DOM_CLASS_NAMES.INLINE_IMAGE_CLIP_WRAPPER}.superdoc-image-selected {
359952
360357
  outline-offset: 2px;
359953
360358
  }
360359
+
360360
+ .superdoc-textbox-selected {
360361
+ outline: 2px solid #4a90e2;
360362
+ outline-offset: 2px;
360363
+ border-radius: 2px;
360364
+ box-shadow: 0 0 0 1px rgba(74, 144, 226, 0.35);
360365
+ }
359954
360366
  `;
359955
360367
  init_dist5();
359956
360368
  globalValidationStats = new ValidationStatsCollector;
@@ -364324,13 +364736,15 @@ function print() { __p += __j.call(arguments, '') }
364324
364736
  });
364325
364737
  },
364326
364738
  onSurfaceTransaction: ({ sourceEditor, surface, headerId, sectionType, transaction, duration }) => {
364327
- if ((transaction && typeof transaction === "object" ? transaction : null)?.docChanged && headerId) {
364328
- this.#invalidateTrackedChangesForStory({
364329
- kind: "story",
364330
- storyType: "headerFooterPart",
364331
- refId: headerId
364332
- });
364333
- this.#headerFooterSession?.invalidateLayoutForRefs([headerId]);
364739
+ if ((transaction && typeof transaction === "object" ? transaction : null)?.docChanged) {
364740
+ if (headerId) {
364741
+ this.#invalidateTrackedChangesForStory({
364742
+ kind: "story",
364743
+ storyType: "headerFooterPart",
364744
+ refId: headerId
364745
+ });
364746
+ this.#headerFooterSession?.invalidateLayoutForRefs([headerId]);
364747
+ }
364334
364748
  this.#flowBlockCache.setHasExternalChanges?.(true);
364335
364749
  this.#pendingDocChange = true;
364336
364750
  this.#selectionSync.onLayoutStart();
@@ -367997,11 +368411,11 @@ function print() { __p += __j.call(arguments, '') }
367997
368411
  ]);
367998
368412
  });
367999
368413
 
368000
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-Bi5_b_W1.es.js
368414
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-NCPalg_h.es.js
368001
368415
  var DEFAULT_TEXT_ALIGN_OPTIONS, DEFAULT_LINE_HEIGHT_OPTIONS, DEFAULT_ZOOM_OPTIONS, DEFAULT_DOCUMENT_MODE_OPTIONS, DEFAULT_FONT_SIZE_OPTIONS, headlessToolbarConstants, 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, FONT_SIZE_OPTIONS;
368002
- var init_create_super_doc_ui_Bi5_b_W1_es = __esm(() => {
368003
- init_SuperConverter_Bdmhv7BA_es();
368004
- init_create_headless_toolbar_VA4azb5D_es();
368416
+ var init_create_super_doc_ui_NCPalg_h_es = __esm(() => {
368417
+ init_SuperConverter_Du0apG1R_es();
368418
+ init_create_headless_toolbar_BNcguDpP_es();
368005
368419
  DEFAULT_TEXT_ALIGN_OPTIONS = [
368006
368420
  {
368007
368421
  label: "Left",
@@ -368279,9 +368693,6 @@ var init_create_super_doc_ui_Bi5_b_W1_es = __esm(() => {
368279
368693
  }));
368280
368694
  });
368281
368695
 
368282
- // ../../packages/superdoc/dist/chunks/ui-CGB3qmy3.es.js
368283
- var init_ui_CGB3qmy3_es = () => {};
368284
-
368285
368696
  // ../../packages/superdoc/dist/chunks/zipper-BxRAi0-5.es.js
368286
368697
  var import_jszip_min3;
368287
368698
  var init_zipper_BxRAi0_5_es = __esm(() => {
@@ -368292,16 +368703,16 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
368292
368703
 
368293
368704
  // ../../packages/superdoc/dist/super-editor.es.js
368294
368705
  var init_super_editor_es = __esm(() => {
368295
- init_src_C3y2aHWQ_es();
368296
- init_SuperConverter_Bdmhv7BA_es();
368706
+ init_src_bGJhSgx__es();
368707
+ init_SuperConverter_Du0apG1R_es();
368297
368708
  init_jszip_C49i9kUs_es();
368298
368709
  init_xml_js_CqGKpaft_es();
368299
- init_create_headless_toolbar_VA4azb5D_es();
368710
+ init_create_headless_toolbar_BNcguDpP_es();
368300
368711
  init_constants_D9qj59G2_es();
368301
368712
  init_unified_BDuVPlMu_es();
368302
368713
  init_DocxZipper_BzS208BW_es();
368303
- init_create_super_doc_ui_Bi5_b_W1_es();
368304
- init_ui_CGB3qmy3_es();
368714
+ init_ui_BMYSpkne_es();
368715
+ init_create_super_doc_ui_NCPalg_h_es();
368305
368716
  init_eventemitter3_UwU_CLPU_es();
368306
368717
  init_errors_C_DoKMoN_es();
368307
368718
  init_zipper_BxRAi0_5_es();
@@ -428092,7 +428503,10 @@ async function tryRunLegacyCompatCommand(argv, rest, io) {
428092
428503
  }
428093
428504
  function assertV1Opened(opened, label2) {
428094
428505
  if (opened.runtime !== "v1") {
428095
- throw new CliError("RUNTIME_V2_UNAVAILABLE", `${label2}: this command is not available in the v2 runtime.`, { runtime: opened.runtime, command: label2 });
428506
+ throw new CliError("RUNTIME_V2_UNAVAILABLE", `${label2}: this command is not available in the v2 runtime.`, {
428507
+ runtime: opened.runtime,
428508
+ command: label2
428509
+ });
428096
428510
  }
428097
428511
  return opened;
428098
428512
  }