@superdoc-dev/cli 0.2.0-next.81 → 0.2.0-next.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3258 -703
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -1054,7 +1054,7 @@ function readOperation(options = {}) {
|
|
|
1054
1054
|
idempotency: options.idempotency ?? "idempotent",
|
|
1055
1055
|
supportsDryRun: false,
|
|
1056
1056
|
supportsTrackedMode: false,
|
|
1057
|
-
possibleFailureCodes: NONE_FAILURES,
|
|
1057
|
+
possibleFailureCodes: options.possibleFailureCodes ?? NONE_FAILURES,
|
|
1058
1058
|
throws: {
|
|
1059
1059
|
preApply: options.throws ?? NONE_THROWS,
|
|
1060
1060
|
postApplyForbidden: true
|
|
@@ -2184,6 +2184,176 @@ var init_operation_definitions = __esm(() => {
|
|
|
2184
2184
|
referenceDocPath: "lists/convert-to-text.mdx",
|
|
2185
2185
|
referenceGroup: "lists"
|
|
2186
2186
|
},
|
|
2187
|
+
"lists.applyTemplate": {
|
|
2188
|
+
memberPath: "lists.applyTemplate",
|
|
2189
|
+
description: "Apply a captured ListTemplate to the target list, optionally filtered to specific levels.",
|
|
2190
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if all levels already match.",
|
|
2191
|
+
requiresDocumentContext: true,
|
|
2192
|
+
metadata: mutationOperation({
|
|
2193
|
+
idempotency: "conditional",
|
|
2194
|
+
supportsDryRun: true,
|
|
2195
|
+
supportsTrackedMode: false,
|
|
2196
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "INVALID_INPUT"],
|
|
2197
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET", "INVALID_INPUT"]
|
|
2198
|
+
}),
|
|
2199
|
+
referenceDocPath: "lists/apply-template.mdx",
|
|
2200
|
+
referenceGroup: "lists"
|
|
2201
|
+
},
|
|
2202
|
+
"lists.applyPreset": {
|
|
2203
|
+
memberPath: "lists.applyPreset",
|
|
2204
|
+
description: "Apply a built-in list formatting preset to the target list.",
|
|
2205
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if all levels already match the preset.",
|
|
2206
|
+
requiresDocumentContext: true,
|
|
2207
|
+
metadata: mutationOperation({
|
|
2208
|
+
idempotency: "conditional",
|
|
2209
|
+
supportsDryRun: true,
|
|
2210
|
+
supportsTrackedMode: false,
|
|
2211
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "INVALID_INPUT"],
|
|
2212
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET", "INVALID_INPUT"]
|
|
2213
|
+
}),
|
|
2214
|
+
referenceDocPath: "lists/apply-preset.mdx",
|
|
2215
|
+
referenceGroup: "lists"
|
|
2216
|
+
},
|
|
2217
|
+
"lists.captureTemplate": {
|
|
2218
|
+
memberPath: "lists.captureTemplate",
|
|
2219
|
+
description: "Capture the formatting of a list as a reusable ListTemplate.",
|
|
2220
|
+
expectedResult: "Returns a ListsCaptureTemplateResult containing the captured template.",
|
|
2221
|
+
requiresDocumentContext: true,
|
|
2222
|
+
metadata: readOperation({
|
|
2223
|
+
idempotency: "idempotent",
|
|
2224
|
+
throws: ["TARGET_NOT_FOUND", "INVALID_TARGET", "INVALID_INPUT"],
|
|
2225
|
+
possibleFailureCodes: ["INVALID_TARGET", "INVALID_INPUT", "LEVEL_OUT_OF_RANGE"]
|
|
2226
|
+
}),
|
|
2227
|
+
referenceDocPath: "lists/capture-template.mdx",
|
|
2228
|
+
referenceGroup: "lists"
|
|
2229
|
+
},
|
|
2230
|
+
"lists.setLevelNumbering": {
|
|
2231
|
+
memberPath: "lists.setLevelNumbering",
|
|
2232
|
+
description: "Set the numbering format, pattern, and optional start value for a specific list level.",
|
|
2233
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the level already matches.",
|
|
2234
|
+
requiresDocumentContext: true,
|
|
2235
|
+
metadata: mutationOperation({
|
|
2236
|
+
idempotency: "conditional",
|
|
2237
|
+
supportsDryRun: true,
|
|
2238
|
+
supportsTrackedMode: false,
|
|
2239
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "LEVEL_NOT_FOUND"],
|
|
2240
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET"]
|
|
2241
|
+
}),
|
|
2242
|
+
referenceDocPath: "lists/set-level-numbering.mdx",
|
|
2243
|
+
referenceGroup: "lists"
|
|
2244
|
+
},
|
|
2245
|
+
"lists.setLevelBullet": {
|
|
2246
|
+
memberPath: "lists.setLevelBullet",
|
|
2247
|
+
description: "Set the bullet marker text for a specific list level.",
|
|
2248
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the marker already matches.",
|
|
2249
|
+
requiresDocumentContext: true,
|
|
2250
|
+
metadata: mutationOperation({
|
|
2251
|
+
idempotency: "conditional",
|
|
2252
|
+
supportsDryRun: true,
|
|
2253
|
+
supportsTrackedMode: false,
|
|
2254
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "LEVEL_NOT_FOUND"],
|
|
2255
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET"]
|
|
2256
|
+
}),
|
|
2257
|
+
referenceDocPath: "lists/set-level-bullet.mdx",
|
|
2258
|
+
referenceGroup: "lists"
|
|
2259
|
+
},
|
|
2260
|
+
"lists.setLevelPictureBullet": {
|
|
2261
|
+
memberPath: "lists.setLevelPictureBullet",
|
|
2262
|
+
description: "Set a picture bullet for a specific list level by its OOXML lvlPicBulletId.",
|
|
2263
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the picture bullet already matches.",
|
|
2264
|
+
requiresDocumentContext: true,
|
|
2265
|
+
metadata: mutationOperation({
|
|
2266
|
+
idempotency: "conditional",
|
|
2267
|
+
supportsDryRun: true,
|
|
2268
|
+
supportsTrackedMode: false,
|
|
2269
|
+
possibleFailureCodes: [
|
|
2270
|
+
"NO_OP",
|
|
2271
|
+
"INVALID_TARGET",
|
|
2272
|
+
"LEVEL_OUT_OF_RANGE",
|
|
2273
|
+
"LEVEL_NOT_FOUND",
|
|
2274
|
+
"INVALID_INPUT",
|
|
2275
|
+
"CAPABILITY_UNAVAILABLE"
|
|
2276
|
+
],
|
|
2277
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET", "CAPABILITY_UNAVAILABLE"]
|
|
2278
|
+
}),
|
|
2279
|
+
referenceDocPath: "lists/set-level-picture-bullet.mdx",
|
|
2280
|
+
referenceGroup: "lists"
|
|
2281
|
+
},
|
|
2282
|
+
"lists.setLevelAlignment": {
|
|
2283
|
+
memberPath: "lists.setLevelAlignment",
|
|
2284
|
+
description: "Set the marker alignment (left, center, right) for a specific list level.",
|
|
2285
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the alignment already matches.",
|
|
2286
|
+
requiresDocumentContext: true,
|
|
2287
|
+
metadata: mutationOperation({
|
|
2288
|
+
idempotency: "conditional",
|
|
2289
|
+
supportsDryRun: true,
|
|
2290
|
+
supportsTrackedMode: false,
|
|
2291
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "LEVEL_NOT_FOUND"],
|
|
2292
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET"]
|
|
2293
|
+
}),
|
|
2294
|
+
referenceDocPath: "lists/set-level-alignment.mdx",
|
|
2295
|
+
referenceGroup: "lists"
|
|
2296
|
+
},
|
|
2297
|
+
"lists.setLevelIndents": {
|
|
2298
|
+
memberPath: "lists.setLevelIndents",
|
|
2299
|
+
description: "Set the paragraph indentation values (left, hanging, firstLine) for a specific list level.",
|
|
2300
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if all indent values already match.",
|
|
2301
|
+
requiresDocumentContext: true,
|
|
2302
|
+
metadata: mutationOperation({
|
|
2303
|
+
idempotency: "conditional",
|
|
2304
|
+
supportsDryRun: true,
|
|
2305
|
+
supportsTrackedMode: false,
|
|
2306
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "LEVEL_NOT_FOUND", "INVALID_INPUT"],
|
|
2307
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET", "INVALID_INPUT"]
|
|
2308
|
+
}),
|
|
2309
|
+
referenceDocPath: "lists/set-level-indents.mdx",
|
|
2310
|
+
referenceGroup: "lists"
|
|
2311
|
+
},
|
|
2312
|
+
"lists.setLevelTrailingCharacter": {
|
|
2313
|
+
memberPath: "lists.setLevelTrailingCharacter",
|
|
2314
|
+
description: "Set the trailing character (tab, space, nothing) after the marker for a specific list level.",
|
|
2315
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the trailing character already matches.",
|
|
2316
|
+
requiresDocumentContext: true,
|
|
2317
|
+
metadata: mutationOperation({
|
|
2318
|
+
idempotency: "conditional",
|
|
2319
|
+
supportsDryRun: true,
|
|
2320
|
+
supportsTrackedMode: false,
|
|
2321
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "LEVEL_NOT_FOUND"],
|
|
2322
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET"]
|
|
2323
|
+
}),
|
|
2324
|
+
referenceDocPath: "lists/set-level-trailing-character.mdx",
|
|
2325
|
+
referenceGroup: "lists"
|
|
2326
|
+
},
|
|
2327
|
+
"lists.setLevelMarkerFont": {
|
|
2328
|
+
memberPath: "lists.setLevelMarkerFont",
|
|
2329
|
+
description: "Set the font family used for the marker character at a specific list level.",
|
|
2330
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the font already matches.",
|
|
2331
|
+
requiresDocumentContext: true,
|
|
2332
|
+
metadata: mutationOperation({
|
|
2333
|
+
idempotency: "conditional",
|
|
2334
|
+
supportsDryRun: true,
|
|
2335
|
+
supportsTrackedMode: false,
|
|
2336
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE", "LEVEL_NOT_FOUND"],
|
|
2337
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET"]
|
|
2338
|
+
}),
|
|
2339
|
+
referenceDocPath: "lists/set-level-marker-font.mdx",
|
|
2340
|
+
referenceGroup: "lists"
|
|
2341
|
+
},
|
|
2342
|
+
"lists.clearLevelOverrides": {
|
|
2343
|
+
memberPath: "lists.clearLevelOverrides",
|
|
2344
|
+
description: "Remove instance-level overrides for a specific list level, restoring abstract definition values.",
|
|
2345
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if no override exists.",
|
|
2346
|
+
requiresDocumentContext: true,
|
|
2347
|
+
metadata: mutationOperation({
|
|
2348
|
+
idempotency: "conditional",
|
|
2349
|
+
supportsDryRun: true,
|
|
2350
|
+
supportsTrackedMode: false,
|
|
2351
|
+
possibleFailureCodes: ["NO_OP", "INVALID_TARGET", "LEVEL_OUT_OF_RANGE"],
|
|
2352
|
+
throws: [...T_NOT_FOUND_CAPABLE, "INVALID_TARGET"]
|
|
2353
|
+
}),
|
|
2354
|
+
referenceDocPath: "lists/clear-level-overrides.mdx",
|
|
2355
|
+
referenceGroup: "lists"
|
|
2356
|
+
},
|
|
2187
2357
|
"comments.create": {
|
|
2188
2358
|
memberPath: "comments.create",
|
|
2189
2359
|
description: "Create a new comment thread (or reply when parentCommentId is given).",
|
|
@@ -6226,6 +6396,178 @@ var init_schemas = __esm(() => {
|
|
|
6226
6396
|
success: objectSchema({ success: { const: true }, paragraph: ref("ParagraphAddress") }, ["success", "paragraph"]),
|
|
6227
6397
|
failure: listsFailureSchemaFor("lists.convertToText")
|
|
6228
6398
|
},
|
|
6399
|
+
"lists.applyTemplate": {
|
|
6400
|
+
input: objectSchema({
|
|
6401
|
+
target: listItemAddressSchema,
|
|
6402
|
+
template: objectSchema({
|
|
6403
|
+
version: { const: 1 },
|
|
6404
|
+
levels: arraySchema(objectSchema({
|
|
6405
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6406
|
+
numFmt: { type: "string" },
|
|
6407
|
+
lvlText: { type: "string" },
|
|
6408
|
+
start: { type: "integer" },
|
|
6409
|
+
alignment: { enum: ["left", "center", "right"] },
|
|
6410
|
+
indents: objectSchema({
|
|
6411
|
+
left: { type: "integer" },
|
|
6412
|
+
hanging: { type: "integer" },
|
|
6413
|
+
firstLine: { type: "integer" }
|
|
6414
|
+
}),
|
|
6415
|
+
trailingCharacter: { enum: ["tab", "space", "nothing"] },
|
|
6416
|
+
markerFont: { type: "string" },
|
|
6417
|
+
pictureBulletId: { type: "integer" }
|
|
6418
|
+
}, ["level"]))
|
|
6419
|
+
}, ["version", "levels"]),
|
|
6420
|
+
levels: arraySchema({ type: "integer", minimum: 0, maximum: 8 })
|
|
6421
|
+
}, ["target", "template"]),
|
|
6422
|
+
output: listsMutateItemResultSchemaFor("lists.applyTemplate"),
|
|
6423
|
+
success: listsMutateItemSuccessSchema,
|
|
6424
|
+
failure: listsFailureSchemaFor("lists.applyTemplate")
|
|
6425
|
+
},
|
|
6426
|
+
"lists.applyPreset": {
|
|
6427
|
+
input: objectSchema({
|
|
6428
|
+
target: listItemAddressSchema,
|
|
6429
|
+
preset: {
|
|
6430
|
+
enum: [
|
|
6431
|
+
"decimal",
|
|
6432
|
+
"decimalParenthesis",
|
|
6433
|
+
"lowerLetter",
|
|
6434
|
+
"upperLetter",
|
|
6435
|
+
"lowerRoman",
|
|
6436
|
+
"upperRoman",
|
|
6437
|
+
"disc",
|
|
6438
|
+
"circle",
|
|
6439
|
+
"square",
|
|
6440
|
+
"dash"
|
|
6441
|
+
]
|
|
6442
|
+
},
|
|
6443
|
+
levels: arraySchema({ type: "integer", minimum: 0, maximum: 8 })
|
|
6444
|
+
}, ["target", "preset"]),
|
|
6445
|
+
output: listsMutateItemResultSchemaFor("lists.applyPreset"),
|
|
6446
|
+
success: listsMutateItemSuccessSchema,
|
|
6447
|
+
failure: listsFailureSchemaFor("lists.applyPreset")
|
|
6448
|
+
},
|
|
6449
|
+
"lists.captureTemplate": (() => {
|
|
6450
|
+
const successSchema = objectSchema({
|
|
6451
|
+
success: { const: true },
|
|
6452
|
+
template: objectSchema({
|
|
6453
|
+
version: { const: 1 },
|
|
6454
|
+
levels: arraySchema(objectSchema({
|
|
6455
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6456
|
+
numFmt: { type: "string" },
|
|
6457
|
+
lvlText: { type: "string" },
|
|
6458
|
+
start: { type: "integer" },
|
|
6459
|
+
alignment: { enum: ["left", "center", "right"] },
|
|
6460
|
+
indents: objectSchema({
|
|
6461
|
+
left: { type: "integer" },
|
|
6462
|
+
hanging: { type: "integer" },
|
|
6463
|
+
firstLine: { type: "integer" }
|
|
6464
|
+
}),
|
|
6465
|
+
trailingCharacter: { enum: ["tab", "space", "nothing"] },
|
|
6466
|
+
markerFont: { type: "string" },
|
|
6467
|
+
pictureBulletId: { type: "integer" }
|
|
6468
|
+
}, ["level"]))
|
|
6469
|
+
}, ["version", "levels"])
|
|
6470
|
+
}, ["success", "template"]);
|
|
6471
|
+
return {
|
|
6472
|
+
input: objectSchema({
|
|
6473
|
+
target: listItemAddressSchema,
|
|
6474
|
+
levels: arraySchema({ type: "integer", minimum: 0, maximum: 8 })
|
|
6475
|
+
}, ["target"]),
|
|
6476
|
+
output: { oneOf: [successSchema, listsFailureSchemaFor("lists.captureTemplate")] },
|
|
6477
|
+
success: successSchema,
|
|
6478
|
+
failure: listsFailureSchemaFor("lists.captureTemplate")
|
|
6479
|
+
};
|
|
6480
|
+
})(),
|
|
6481
|
+
"lists.setLevelNumbering": {
|
|
6482
|
+
input: objectSchema({
|
|
6483
|
+
target: listItemAddressSchema,
|
|
6484
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6485
|
+
numFmt: { type: "string" },
|
|
6486
|
+
lvlText: { type: "string" },
|
|
6487
|
+
start: { type: "integer" }
|
|
6488
|
+
}, ["target", "level", "numFmt", "lvlText"]),
|
|
6489
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelNumbering"),
|
|
6490
|
+
success: listsMutateItemSuccessSchema,
|
|
6491
|
+
failure: listsFailureSchemaFor("lists.setLevelNumbering")
|
|
6492
|
+
},
|
|
6493
|
+
"lists.setLevelBullet": {
|
|
6494
|
+
input: objectSchema({
|
|
6495
|
+
target: listItemAddressSchema,
|
|
6496
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6497
|
+
markerText: { type: "string" }
|
|
6498
|
+
}, ["target", "level", "markerText"]),
|
|
6499
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelBullet"),
|
|
6500
|
+
success: listsMutateItemSuccessSchema,
|
|
6501
|
+
failure: listsFailureSchemaFor("lists.setLevelBullet")
|
|
6502
|
+
},
|
|
6503
|
+
"lists.setLevelPictureBullet": {
|
|
6504
|
+
input: objectSchema({
|
|
6505
|
+
target: listItemAddressSchema,
|
|
6506
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6507
|
+
pictureBulletId: { type: "integer" }
|
|
6508
|
+
}, ["target", "level", "pictureBulletId"]),
|
|
6509
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelPictureBullet"),
|
|
6510
|
+
success: listsMutateItemSuccessSchema,
|
|
6511
|
+
failure: listsFailureSchemaFor("lists.setLevelPictureBullet")
|
|
6512
|
+
},
|
|
6513
|
+
"lists.setLevelAlignment": {
|
|
6514
|
+
input: objectSchema({
|
|
6515
|
+
target: listItemAddressSchema,
|
|
6516
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6517
|
+
alignment: { enum: ["left", "center", "right"] }
|
|
6518
|
+
}, ["target", "level", "alignment"]),
|
|
6519
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelAlignment"),
|
|
6520
|
+
success: listsMutateItemSuccessSchema,
|
|
6521
|
+
failure: listsFailureSchemaFor("lists.setLevelAlignment")
|
|
6522
|
+
},
|
|
6523
|
+
"lists.setLevelIndents": {
|
|
6524
|
+
input: {
|
|
6525
|
+
type: "object",
|
|
6526
|
+
properties: {
|
|
6527
|
+
target: listItemAddressSchema,
|
|
6528
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6529
|
+
left: { type: "integer" },
|
|
6530
|
+
hanging: { type: "integer" },
|
|
6531
|
+
firstLine: { type: "integer" }
|
|
6532
|
+
},
|
|
6533
|
+
required: ["target", "level"],
|
|
6534
|
+
additionalProperties: false,
|
|
6535
|
+
anyOf: [{ required: ["left"] }, { required: ["hanging"] }, { required: ["firstLine"] }],
|
|
6536
|
+
not: { required: ["hanging", "firstLine"] }
|
|
6537
|
+
},
|
|
6538
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelIndents"),
|
|
6539
|
+
success: listsMutateItemSuccessSchema,
|
|
6540
|
+
failure: listsFailureSchemaFor("lists.setLevelIndents")
|
|
6541
|
+
},
|
|
6542
|
+
"lists.setLevelTrailingCharacter": {
|
|
6543
|
+
input: objectSchema({
|
|
6544
|
+
target: listItemAddressSchema,
|
|
6545
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6546
|
+
trailingCharacter: { enum: ["tab", "space", "nothing"] }
|
|
6547
|
+
}, ["target", "level", "trailingCharacter"]),
|
|
6548
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelTrailingCharacter"),
|
|
6549
|
+
success: listsMutateItemSuccessSchema,
|
|
6550
|
+
failure: listsFailureSchemaFor("lists.setLevelTrailingCharacter")
|
|
6551
|
+
},
|
|
6552
|
+
"lists.setLevelMarkerFont": {
|
|
6553
|
+
input: objectSchema({
|
|
6554
|
+
target: listItemAddressSchema,
|
|
6555
|
+
level: { type: "integer", minimum: 0, maximum: 8 },
|
|
6556
|
+
fontFamily: { type: "string" }
|
|
6557
|
+
}, ["target", "level", "fontFamily"]),
|
|
6558
|
+
output: listsMutateItemResultSchemaFor("lists.setLevelMarkerFont"),
|
|
6559
|
+
success: listsMutateItemSuccessSchema,
|
|
6560
|
+
failure: listsFailureSchemaFor("lists.setLevelMarkerFont")
|
|
6561
|
+
},
|
|
6562
|
+
"lists.clearLevelOverrides": {
|
|
6563
|
+
input: objectSchema({
|
|
6564
|
+
target: listItemAddressSchema,
|
|
6565
|
+
level: { type: "integer", minimum: 0, maximum: 8 }
|
|
6566
|
+
}, ["target", "level"]),
|
|
6567
|
+
output: listsMutateItemResultSchemaFor("lists.clearLevelOverrides"),
|
|
6568
|
+
success: listsMutateItemSuccessSchema,
|
|
6569
|
+
failure: listsFailureSchemaFor("lists.clearLevelOverrides")
|
|
6570
|
+
},
|
|
6229
6571
|
"comments.create": {
|
|
6230
6572
|
input: objectSchema({
|
|
6231
6573
|
text: { type: "string" },
|
|
@@ -8045,6 +8387,50 @@ function executeListsConvertToText(adapter, input, options) {
|
|
|
8045
8387
|
validateListTarget(input, "lists.convertToText");
|
|
8046
8388
|
return adapter.convertToText(input, normalizeMutationOptions(options));
|
|
8047
8389
|
}
|
|
8390
|
+
function executeListsApplyTemplate(adapter, input, options) {
|
|
8391
|
+
validateListTarget(input, "lists.applyTemplate");
|
|
8392
|
+
return adapter.applyTemplate(input, normalizeMutationOptions(options));
|
|
8393
|
+
}
|
|
8394
|
+
function executeListsApplyPreset(adapter, input, options) {
|
|
8395
|
+
validateListTarget(input, "lists.applyPreset");
|
|
8396
|
+
return adapter.applyPreset(input, normalizeMutationOptions(options));
|
|
8397
|
+
}
|
|
8398
|
+
function executeListsCaptureTemplate(adapter, input) {
|
|
8399
|
+
validateListTarget(input, "lists.captureTemplate");
|
|
8400
|
+
return adapter.captureTemplate(input);
|
|
8401
|
+
}
|
|
8402
|
+
function executeListsSetLevelNumbering(adapter, input, options) {
|
|
8403
|
+
validateListTarget(input, "lists.setLevelNumbering");
|
|
8404
|
+
return adapter.setLevelNumbering(input, normalizeMutationOptions(options));
|
|
8405
|
+
}
|
|
8406
|
+
function executeListsSetLevelBullet(adapter, input, options) {
|
|
8407
|
+
validateListTarget(input, "lists.setLevelBullet");
|
|
8408
|
+
return adapter.setLevelBullet(input, normalizeMutationOptions(options));
|
|
8409
|
+
}
|
|
8410
|
+
function executeListsSetLevelPictureBullet(adapter, input, options) {
|
|
8411
|
+
validateListTarget(input, "lists.setLevelPictureBullet");
|
|
8412
|
+
return adapter.setLevelPictureBullet(input, normalizeMutationOptions(options));
|
|
8413
|
+
}
|
|
8414
|
+
function executeListsSetLevelAlignment(adapter, input, options) {
|
|
8415
|
+
validateListTarget(input, "lists.setLevelAlignment");
|
|
8416
|
+
return adapter.setLevelAlignment(input, normalizeMutationOptions(options));
|
|
8417
|
+
}
|
|
8418
|
+
function executeListsSetLevelIndents(adapter, input, options) {
|
|
8419
|
+
validateListTarget(input, "lists.setLevelIndents");
|
|
8420
|
+
return adapter.setLevelIndents(input, normalizeMutationOptions(options));
|
|
8421
|
+
}
|
|
8422
|
+
function executeListsSetLevelTrailingCharacter(adapter, input, options) {
|
|
8423
|
+
validateListTarget(input, "lists.setLevelTrailingCharacter");
|
|
8424
|
+
return adapter.setLevelTrailingCharacter(input, normalizeMutationOptions(options));
|
|
8425
|
+
}
|
|
8426
|
+
function executeListsSetLevelMarkerFont(adapter, input, options) {
|
|
8427
|
+
validateListTarget(input, "lists.setLevelMarkerFont");
|
|
8428
|
+
return adapter.setLevelMarkerFont(input, normalizeMutationOptions(options));
|
|
8429
|
+
}
|
|
8430
|
+
function executeListsClearLevelOverrides(adapter, input, options) {
|
|
8431
|
+
validateListTarget(input, "lists.clearLevelOverrides");
|
|
8432
|
+
return adapter.clearLevelOverrides(input, normalizeMutationOptions(options));
|
|
8433
|
+
}
|
|
8048
8434
|
var init_lists = __esm(() => {
|
|
8049
8435
|
init_errors2();
|
|
8050
8436
|
});
|
|
@@ -8378,6 +8764,17 @@ function buildDispatchTable(api) {
|
|
|
8378
8764
|
"lists.canContinuePrevious": (input) => api.lists.canContinuePrevious(input),
|
|
8379
8765
|
"lists.setLevelRestart": (input, options) => api.lists.setLevelRestart(input, options),
|
|
8380
8766
|
"lists.convertToText": (input, options) => api.lists.convertToText(input, options),
|
|
8767
|
+
"lists.applyTemplate": (input, options) => api.lists.applyTemplate(input, options),
|
|
8768
|
+
"lists.applyPreset": (input, options) => api.lists.applyPreset(input, options),
|
|
8769
|
+
"lists.captureTemplate": (input) => api.lists.captureTemplate(input),
|
|
8770
|
+
"lists.setLevelNumbering": (input, options) => api.lists.setLevelNumbering(input, options),
|
|
8771
|
+
"lists.setLevelBullet": (input, options) => api.lists.setLevelBullet(input, options),
|
|
8772
|
+
"lists.setLevelPictureBullet": (input, options) => api.lists.setLevelPictureBullet(input, options),
|
|
8773
|
+
"lists.setLevelAlignment": (input, options) => api.lists.setLevelAlignment(input, options),
|
|
8774
|
+
"lists.setLevelIndents": (input, options) => api.lists.setLevelIndents(input, options),
|
|
8775
|
+
"lists.setLevelTrailingCharacter": (input, options) => api.lists.setLevelTrailingCharacter(input, options),
|
|
8776
|
+
"lists.setLevelMarkerFont": (input, options) => api.lists.setLevelMarkerFont(input, options),
|
|
8777
|
+
"lists.clearLevelOverrides": (input, options) => api.lists.clearLevelOverrides(input, options),
|
|
8381
8778
|
"sections.list": (input) => api.sections.list(input),
|
|
8382
8779
|
"sections.get": (input) => api.sections.get(input),
|
|
8383
8780
|
"sections.setBreakType": (input, options) => api.sections.setBreakType(input, options),
|
|
@@ -9390,6 +9787,46 @@ function createDocumentApi(adapters) {
|
|
|
9390
9787
|
},
|
|
9391
9788
|
convertToText(input, options) {
|
|
9392
9789
|
return executeListsConvertToText(adapters.lists, input, options);
|
|
9790
|
+
},
|
|
9791
|
+
applyTemplate(input, options) {
|
|
9792
|
+
return executeListsApplyTemplate(adapters.lists, input, options);
|
|
9793
|
+
},
|
|
9794
|
+
applyPreset(input, options) {
|
|
9795
|
+
return executeListsApplyPreset(adapters.lists, input, options);
|
|
9796
|
+
},
|
|
9797
|
+
captureTemplate(input) {
|
|
9798
|
+
return executeListsCaptureTemplate(adapters.lists, input);
|
|
9799
|
+
},
|
|
9800
|
+
setLevelNumbering(input, options) {
|
|
9801
|
+
return executeListsSetLevelNumbering(adapters.lists, input, options);
|
|
9802
|
+
},
|
|
9803
|
+
setLevelBullet(input, options) {
|
|
9804
|
+
return executeListsSetLevelBullet(adapters.lists, input, options);
|
|
9805
|
+
},
|
|
9806
|
+
setLevelPictureBullet(input, options) {
|
|
9807
|
+
return executeListsSetLevelPictureBullet(adapters.lists, input, options);
|
|
9808
|
+
},
|
|
9809
|
+
setLevelAlignment(input, options) {
|
|
9810
|
+
return executeListsSetLevelAlignment(adapters.lists, input, options);
|
|
9811
|
+
},
|
|
9812
|
+
setLevelIndents(input, options) {
|
|
9813
|
+
return executeListsSetLevelIndents(adapters.lists, input, options);
|
|
9814
|
+
},
|
|
9815
|
+
setLevelTrailingCharacter(input, options) {
|
|
9816
|
+
return executeListsSetLevelTrailingCharacter(adapters.lists, input, options);
|
|
9817
|
+
},
|
|
9818
|
+
setLevelMarkerFont(input, options) {
|
|
9819
|
+
return executeListsSetLevelMarkerFont(adapters.lists, input, options);
|
|
9820
|
+
},
|
|
9821
|
+
clearLevelOverrides(input, options) {
|
|
9822
|
+
return executeListsClearLevelOverrides(adapters.lists, input, options);
|
|
9823
|
+
},
|
|
9824
|
+
setType(input, options) {
|
|
9825
|
+
const presetMap = {
|
|
9826
|
+
ordered: "decimal",
|
|
9827
|
+
bullet: "disc"
|
|
9828
|
+
};
|
|
9829
|
+
return executeListsApplyPreset(adapters.lists, { target: input.target, preset: presetMap[input.kind] }, options);
|
|
9393
9830
|
}
|
|
9394
9831
|
},
|
|
9395
9832
|
sections: {
|
|
@@ -10387,6 +10824,17 @@ var init_operation_hints = __esm(() => {
|
|
|
10387
10824
|
"lists.continuePrevious": "continued previous list",
|
|
10388
10825
|
"lists.canContinuePrevious": "checked continue feasibility",
|
|
10389
10826
|
"lists.setLevelRestart": "set level restart",
|
|
10827
|
+
"lists.applyTemplate": "applied list template",
|
|
10828
|
+
"lists.applyPreset": "applied list preset",
|
|
10829
|
+
"lists.captureTemplate": "captured list template",
|
|
10830
|
+
"lists.setLevelNumbering": "set level numbering",
|
|
10831
|
+
"lists.setLevelBullet": "set level bullet",
|
|
10832
|
+
"lists.setLevelPictureBullet": "set level picture bullet",
|
|
10833
|
+
"lists.setLevelAlignment": "set level alignment",
|
|
10834
|
+
"lists.setLevelIndents": "set level indents",
|
|
10835
|
+
"lists.setLevelTrailingCharacter": "set level trailing character",
|
|
10836
|
+
"lists.setLevelMarkerFont": "set level marker font",
|
|
10837
|
+
"lists.clearLevelOverrides": "cleared level overrides",
|
|
10390
10838
|
"lists.convertToText": "converted list to text",
|
|
10391
10839
|
"comments.create": "created comment",
|
|
10392
10840
|
"comments.patch": "patched comment",
|
|
@@ -10506,6 +10954,17 @@ var init_operation_hints = __esm(() => {
|
|
|
10506
10954
|
"lists.continuePrevious": "listsMutationResult",
|
|
10507
10955
|
"lists.canContinuePrevious": "plain",
|
|
10508
10956
|
"lists.setLevelRestart": "listsMutationResult",
|
|
10957
|
+
"lists.applyTemplate": "listsMutationResult",
|
|
10958
|
+
"lists.applyPreset": "listsMutationResult",
|
|
10959
|
+
"lists.captureTemplate": "plain",
|
|
10960
|
+
"lists.setLevelNumbering": "listsMutationResult",
|
|
10961
|
+
"lists.setLevelBullet": "listsMutationResult",
|
|
10962
|
+
"lists.setLevelPictureBullet": "listsMutationResult",
|
|
10963
|
+
"lists.setLevelAlignment": "listsMutationResult",
|
|
10964
|
+
"lists.setLevelIndents": "listsMutationResult",
|
|
10965
|
+
"lists.setLevelTrailingCharacter": "listsMutationResult",
|
|
10966
|
+
"lists.setLevelMarkerFont": "listsMutationResult",
|
|
10967
|
+
"lists.clearLevelOverrides": "listsMutationResult",
|
|
10509
10968
|
"lists.convertToText": "listsMutationResult",
|
|
10510
10969
|
"comments.create": "commentReceipt",
|
|
10511
10970
|
"comments.patch": "commentReceipt",
|
|
@@ -10625,6 +11084,17 @@ var init_operation_hints = __esm(() => {
|
|
|
10625
11084
|
"lists.continuePrevious": "result",
|
|
10626
11085
|
"lists.canContinuePrevious": "result",
|
|
10627
11086
|
"lists.setLevelRestart": "result",
|
|
11087
|
+
"lists.applyTemplate": "result",
|
|
11088
|
+
"lists.applyPreset": "result",
|
|
11089
|
+
"lists.captureTemplate": "result",
|
|
11090
|
+
"lists.setLevelNumbering": "result",
|
|
11091
|
+
"lists.setLevelBullet": "result",
|
|
11092
|
+
"lists.setLevelPictureBullet": "result",
|
|
11093
|
+
"lists.setLevelAlignment": "result",
|
|
11094
|
+
"lists.setLevelIndents": "result",
|
|
11095
|
+
"lists.setLevelTrailingCharacter": "result",
|
|
11096
|
+
"lists.setLevelMarkerFont": "result",
|
|
11097
|
+
"lists.clearLevelOverrides": "result",
|
|
10628
11098
|
"lists.convertToText": "result",
|
|
10629
11099
|
"comments.create": "receipt",
|
|
10630
11100
|
"comments.patch": "receipt",
|
|
@@ -10751,6 +11221,17 @@ var init_operation_hints = __esm(() => {
|
|
|
10751
11221
|
"lists.continuePrevious": "lists",
|
|
10752
11222
|
"lists.canContinuePrevious": "lists",
|
|
10753
11223
|
"lists.setLevelRestart": "lists",
|
|
11224
|
+
"lists.applyTemplate": "lists",
|
|
11225
|
+
"lists.applyPreset": "lists",
|
|
11226
|
+
"lists.captureTemplate": "lists",
|
|
11227
|
+
"lists.setLevelNumbering": "lists",
|
|
11228
|
+
"lists.setLevelBullet": "lists",
|
|
11229
|
+
"lists.setLevelPictureBullet": "lists",
|
|
11230
|
+
"lists.setLevelAlignment": "lists",
|
|
11231
|
+
"lists.setLevelIndents": "lists",
|
|
11232
|
+
"lists.setLevelTrailingCharacter": "lists",
|
|
11233
|
+
"lists.setLevelMarkerFont": "lists",
|
|
11234
|
+
"lists.clearLevelOverrides": "lists",
|
|
10754
11235
|
"lists.convertToText": "lists",
|
|
10755
11236
|
"comments.create": "comments",
|
|
10756
11237
|
"comments.patch": "comments",
|
|
@@ -31834,7 +32315,7 @@ var init_remark_gfm_z_sDF4ss_es = __esm(() => {
|
|
|
31834
32315
|
emptyOptions2 = {};
|
|
31835
32316
|
});
|
|
31836
32317
|
|
|
31837
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
32318
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-CejXSSGL.es.js
|
|
31838
32319
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
31839
32320
|
const fieldValue = extension$1.config[field];
|
|
31840
32321
|
if (typeof fieldValue === "function")
|
|
@@ -32914,7 +33395,7 @@ function readOperation2(options = {}) {
|
|
|
32914
33395
|
idempotency: options.idempotency ?? "idempotent",
|
|
32915
33396
|
supportsDryRun: false,
|
|
32916
33397
|
supportsTrackedMode: false,
|
|
32917
|
-
possibleFailureCodes: NONE_FAILURES2,
|
|
33398
|
+
possibleFailureCodes: options.possibleFailureCodes ?? NONE_FAILURES2,
|
|
32918
33399
|
throws: {
|
|
32919
33400
|
preApply: options.throws ?? NONE_THROWS2,
|
|
32920
33401
|
postApplyForbidden: true
|
|
@@ -34168,6 +34649,50 @@ function executeListsConvertToText2(adapter, input, options) {
|
|
|
34168
34649
|
validateListTarget2(input, "lists.convertToText");
|
|
34169
34650
|
return adapter.convertToText(input, normalizeMutationOptions2(options));
|
|
34170
34651
|
}
|
|
34652
|
+
function executeListsApplyTemplate2(adapter, input, options) {
|
|
34653
|
+
validateListTarget2(input, "lists.applyTemplate");
|
|
34654
|
+
return adapter.applyTemplate(input, normalizeMutationOptions2(options));
|
|
34655
|
+
}
|
|
34656
|
+
function executeListsApplyPreset2(adapter, input, options) {
|
|
34657
|
+
validateListTarget2(input, "lists.applyPreset");
|
|
34658
|
+
return adapter.applyPreset(input, normalizeMutationOptions2(options));
|
|
34659
|
+
}
|
|
34660
|
+
function executeListsCaptureTemplate2(adapter, input) {
|
|
34661
|
+
validateListTarget2(input, "lists.captureTemplate");
|
|
34662
|
+
return adapter.captureTemplate(input);
|
|
34663
|
+
}
|
|
34664
|
+
function executeListsSetLevelNumbering2(adapter, input, options) {
|
|
34665
|
+
validateListTarget2(input, "lists.setLevelNumbering");
|
|
34666
|
+
return adapter.setLevelNumbering(input, normalizeMutationOptions2(options));
|
|
34667
|
+
}
|
|
34668
|
+
function executeListsSetLevelBullet2(adapter, input, options) {
|
|
34669
|
+
validateListTarget2(input, "lists.setLevelBullet");
|
|
34670
|
+
return adapter.setLevelBullet(input, normalizeMutationOptions2(options));
|
|
34671
|
+
}
|
|
34672
|
+
function executeListsSetLevelPictureBullet2(adapter, input, options) {
|
|
34673
|
+
validateListTarget2(input, "lists.setLevelPictureBullet");
|
|
34674
|
+
return adapter.setLevelPictureBullet(input, normalizeMutationOptions2(options));
|
|
34675
|
+
}
|
|
34676
|
+
function executeListsSetLevelAlignment2(adapter, input, options) {
|
|
34677
|
+
validateListTarget2(input, "lists.setLevelAlignment");
|
|
34678
|
+
return adapter.setLevelAlignment(input, normalizeMutationOptions2(options));
|
|
34679
|
+
}
|
|
34680
|
+
function executeListsSetLevelIndents2(adapter, input, options) {
|
|
34681
|
+
validateListTarget2(input, "lists.setLevelIndents");
|
|
34682
|
+
return adapter.setLevelIndents(input, normalizeMutationOptions2(options));
|
|
34683
|
+
}
|
|
34684
|
+
function executeListsSetLevelTrailingCharacter2(adapter, input, options) {
|
|
34685
|
+
validateListTarget2(input, "lists.setLevelTrailingCharacter");
|
|
34686
|
+
return adapter.setLevelTrailingCharacter(input, normalizeMutationOptions2(options));
|
|
34687
|
+
}
|
|
34688
|
+
function executeListsSetLevelMarkerFont2(adapter, input, options) {
|
|
34689
|
+
validateListTarget2(input, "lists.setLevelMarkerFont");
|
|
34690
|
+
return adapter.setLevelMarkerFont(input, normalizeMutationOptions2(options));
|
|
34691
|
+
}
|
|
34692
|
+
function executeListsClearLevelOverrides2(adapter, input, options) {
|
|
34693
|
+
validateListTarget2(input, "lists.clearLevelOverrides");
|
|
34694
|
+
return adapter.clearLevelOverrides(input, normalizeMutationOptions2(options));
|
|
34695
|
+
}
|
|
34171
34696
|
function validateReplaceInput2(input) {
|
|
34172
34697
|
if (!isRecord3(input))
|
|
34173
34698
|
throw new DocumentApiValidationError2("INVALID_TARGET", "Replace input must be a non-null object.");
|
|
@@ -34451,6 +34976,17 @@ function buildDispatchTable2(api) {
|
|
|
34451
34976
|
"lists.canContinuePrevious": (input) => api.lists.canContinuePrevious(input),
|
|
34452
34977
|
"lists.setLevelRestart": (input, options) => api.lists.setLevelRestart(input, options),
|
|
34453
34978
|
"lists.convertToText": (input, options) => api.lists.convertToText(input, options),
|
|
34979
|
+
"lists.applyTemplate": (input, options) => api.lists.applyTemplate(input, options),
|
|
34980
|
+
"lists.applyPreset": (input, options) => api.lists.applyPreset(input, options),
|
|
34981
|
+
"lists.captureTemplate": (input) => api.lists.captureTemplate(input),
|
|
34982
|
+
"lists.setLevelNumbering": (input, options) => api.lists.setLevelNumbering(input, options),
|
|
34983
|
+
"lists.setLevelBullet": (input, options) => api.lists.setLevelBullet(input, options),
|
|
34984
|
+
"lists.setLevelPictureBullet": (input, options) => api.lists.setLevelPictureBullet(input, options),
|
|
34985
|
+
"lists.setLevelAlignment": (input, options) => api.lists.setLevelAlignment(input, options),
|
|
34986
|
+
"lists.setLevelIndents": (input, options) => api.lists.setLevelIndents(input, options),
|
|
34987
|
+
"lists.setLevelTrailingCharacter": (input, options) => api.lists.setLevelTrailingCharacter(input, options),
|
|
34988
|
+
"lists.setLevelMarkerFont": (input, options) => api.lists.setLevelMarkerFont(input, options),
|
|
34989
|
+
"lists.clearLevelOverrides": (input, options) => api.lists.clearLevelOverrides(input, options),
|
|
34454
34990
|
"sections.list": (input) => api.sections.list(input),
|
|
34455
34991
|
"sections.get": (input) => api.sections.get(input),
|
|
34456
34992
|
"sections.setBreakType": (input, options) => api.sections.setBreakType(input, options),
|
|
@@ -35339,6 +35875,48 @@ function createDocumentApi2(adapters) {
|
|
|
35339
35875
|
},
|
|
35340
35876
|
convertToText(input, options) {
|
|
35341
35877
|
return executeListsConvertToText2(adapters.lists, input, options);
|
|
35878
|
+
},
|
|
35879
|
+
applyTemplate(input, options) {
|
|
35880
|
+
return executeListsApplyTemplate2(adapters.lists, input, options);
|
|
35881
|
+
},
|
|
35882
|
+
applyPreset(input, options) {
|
|
35883
|
+
return executeListsApplyPreset2(adapters.lists, input, options);
|
|
35884
|
+
},
|
|
35885
|
+
captureTemplate(input) {
|
|
35886
|
+
return executeListsCaptureTemplate2(adapters.lists, input);
|
|
35887
|
+
},
|
|
35888
|
+
setLevelNumbering(input, options) {
|
|
35889
|
+
return executeListsSetLevelNumbering2(adapters.lists, input, options);
|
|
35890
|
+
},
|
|
35891
|
+
setLevelBullet(input, options) {
|
|
35892
|
+
return executeListsSetLevelBullet2(adapters.lists, input, options);
|
|
35893
|
+
},
|
|
35894
|
+
setLevelPictureBullet(input, options) {
|
|
35895
|
+
return executeListsSetLevelPictureBullet2(adapters.lists, input, options);
|
|
35896
|
+
},
|
|
35897
|
+
setLevelAlignment(input, options) {
|
|
35898
|
+
return executeListsSetLevelAlignment2(adapters.lists, input, options);
|
|
35899
|
+
},
|
|
35900
|
+
setLevelIndents(input, options) {
|
|
35901
|
+
return executeListsSetLevelIndents2(adapters.lists, input, options);
|
|
35902
|
+
},
|
|
35903
|
+
setLevelTrailingCharacter(input, options) {
|
|
35904
|
+
return executeListsSetLevelTrailingCharacter2(adapters.lists, input, options);
|
|
35905
|
+
},
|
|
35906
|
+
setLevelMarkerFont(input, options) {
|
|
35907
|
+
return executeListsSetLevelMarkerFont2(adapters.lists, input, options);
|
|
35908
|
+
},
|
|
35909
|
+
clearLevelOverrides(input, options) {
|
|
35910
|
+
return executeListsClearLevelOverrides2(adapters.lists, input, options);
|
|
35911
|
+
},
|
|
35912
|
+
setType(input, options) {
|
|
35913
|
+
return executeListsApplyPreset2(adapters.lists, {
|
|
35914
|
+
target: input.target,
|
|
35915
|
+
preset: {
|
|
35916
|
+
ordered: "decimal",
|
|
35917
|
+
bullet: "disc"
|
|
35918
|
+
}[input.kind]
|
|
35919
|
+
}, options);
|
|
35342
35920
|
}
|
|
35343
35921
|
},
|
|
35344
35922
|
sections: {
|
|
@@ -63134,7 +63712,7 @@ var isRegExp = (value) => {
|
|
|
63134
63712
|
state.kern = kernNode.attributes["w:val"];
|
|
63135
63713
|
}
|
|
63136
63714
|
}, SuperConverter;
|
|
63137
|
-
var
|
|
63715
|
+
var init_SuperConverter_CejXSSGL_es = __esm(() => {
|
|
63138
63716
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
63139
63717
|
init_jszip_ChlR43oI_es();
|
|
63140
63718
|
init_xml_js_DLE8mr0n_es();
|
|
@@ -67079,6 +67657,245 @@ var init_SuperConverter_Bo_KNppf_es = __esm(() => {
|
|
|
67079
67657
|
referenceDocPath: "lists/convert-to-text.mdx",
|
|
67080
67658
|
referenceGroup: "lists"
|
|
67081
67659
|
},
|
|
67660
|
+
"lists.applyTemplate": {
|
|
67661
|
+
memberPath: "lists.applyTemplate",
|
|
67662
|
+
description: "Apply a captured ListTemplate to the target list, optionally filtered to specific levels.",
|
|
67663
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if all levels already match.",
|
|
67664
|
+
requiresDocumentContext: true,
|
|
67665
|
+
metadata: mutationOperation2({
|
|
67666
|
+
idempotency: "conditional",
|
|
67667
|
+
supportsDryRun: true,
|
|
67668
|
+
supportsTrackedMode: false,
|
|
67669
|
+
possibleFailureCodes: [
|
|
67670
|
+
"NO_OP",
|
|
67671
|
+
"INVALID_TARGET",
|
|
67672
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67673
|
+
"INVALID_INPUT"
|
|
67674
|
+
],
|
|
67675
|
+
throws: [
|
|
67676
|
+
...T_NOT_FOUND_CAPABLE2,
|
|
67677
|
+
"INVALID_TARGET",
|
|
67678
|
+
"INVALID_INPUT"
|
|
67679
|
+
]
|
|
67680
|
+
}),
|
|
67681
|
+
referenceDocPath: "lists/apply-template.mdx",
|
|
67682
|
+
referenceGroup: "lists"
|
|
67683
|
+
},
|
|
67684
|
+
"lists.applyPreset": {
|
|
67685
|
+
memberPath: "lists.applyPreset",
|
|
67686
|
+
description: "Apply a built-in list formatting preset to the target list.",
|
|
67687
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if all levels already match the preset.",
|
|
67688
|
+
requiresDocumentContext: true,
|
|
67689
|
+
metadata: mutationOperation2({
|
|
67690
|
+
idempotency: "conditional",
|
|
67691
|
+
supportsDryRun: true,
|
|
67692
|
+
supportsTrackedMode: false,
|
|
67693
|
+
possibleFailureCodes: [
|
|
67694
|
+
"NO_OP",
|
|
67695
|
+
"INVALID_TARGET",
|
|
67696
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67697
|
+
"INVALID_INPUT"
|
|
67698
|
+
],
|
|
67699
|
+
throws: [
|
|
67700
|
+
...T_NOT_FOUND_CAPABLE2,
|
|
67701
|
+
"INVALID_TARGET",
|
|
67702
|
+
"INVALID_INPUT"
|
|
67703
|
+
]
|
|
67704
|
+
}),
|
|
67705
|
+
referenceDocPath: "lists/apply-preset.mdx",
|
|
67706
|
+
referenceGroup: "lists"
|
|
67707
|
+
},
|
|
67708
|
+
"lists.captureTemplate": {
|
|
67709
|
+
memberPath: "lists.captureTemplate",
|
|
67710
|
+
description: "Capture the formatting of a list as a reusable ListTemplate.",
|
|
67711
|
+
expectedResult: "Returns a ListsCaptureTemplateResult containing the captured template.",
|
|
67712
|
+
requiresDocumentContext: true,
|
|
67713
|
+
metadata: readOperation2({
|
|
67714
|
+
idempotency: "idempotent",
|
|
67715
|
+
throws: [
|
|
67716
|
+
"TARGET_NOT_FOUND",
|
|
67717
|
+
"INVALID_TARGET",
|
|
67718
|
+
"INVALID_INPUT"
|
|
67719
|
+
],
|
|
67720
|
+
possibleFailureCodes: [
|
|
67721
|
+
"INVALID_TARGET",
|
|
67722
|
+
"INVALID_INPUT",
|
|
67723
|
+
"LEVEL_OUT_OF_RANGE"
|
|
67724
|
+
]
|
|
67725
|
+
}),
|
|
67726
|
+
referenceDocPath: "lists/capture-template.mdx",
|
|
67727
|
+
referenceGroup: "lists"
|
|
67728
|
+
},
|
|
67729
|
+
"lists.setLevelNumbering": {
|
|
67730
|
+
memberPath: "lists.setLevelNumbering",
|
|
67731
|
+
description: "Set the numbering format, pattern, and optional start value for a specific list level.",
|
|
67732
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the level already matches.",
|
|
67733
|
+
requiresDocumentContext: true,
|
|
67734
|
+
metadata: mutationOperation2({
|
|
67735
|
+
idempotency: "conditional",
|
|
67736
|
+
supportsDryRun: true,
|
|
67737
|
+
supportsTrackedMode: false,
|
|
67738
|
+
possibleFailureCodes: [
|
|
67739
|
+
"NO_OP",
|
|
67740
|
+
"INVALID_TARGET",
|
|
67741
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67742
|
+
"LEVEL_NOT_FOUND"
|
|
67743
|
+
],
|
|
67744
|
+
throws: [...T_NOT_FOUND_CAPABLE2, "INVALID_TARGET"]
|
|
67745
|
+
}),
|
|
67746
|
+
referenceDocPath: "lists/set-level-numbering.mdx",
|
|
67747
|
+
referenceGroup: "lists"
|
|
67748
|
+
},
|
|
67749
|
+
"lists.setLevelBullet": {
|
|
67750
|
+
memberPath: "lists.setLevelBullet",
|
|
67751
|
+
description: "Set the bullet marker text for a specific list level.",
|
|
67752
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the marker already matches.",
|
|
67753
|
+
requiresDocumentContext: true,
|
|
67754
|
+
metadata: mutationOperation2({
|
|
67755
|
+
idempotency: "conditional",
|
|
67756
|
+
supportsDryRun: true,
|
|
67757
|
+
supportsTrackedMode: false,
|
|
67758
|
+
possibleFailureCodes: [
|
|
67759
|
+
"NO_OP",
|
|
67760
|
+
"INVALID_TARGET",
|
|
67761
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67762
|
+
"LEVEL_NOT_FOUND"
|
|
67763
|
+
],
|
|
67764
|
+
throws: [...T_NOT_FOUND_CAPABLE2, "INVALID_TARGET"]
|
|
67765
|
+
}),
|
|
67766
|
+
referenceDocPath: "lists/set-level-bullet.mdx",
|
|
67767
|
+
referenceGroup: "lists"
|
|
67768
|
+
},
|
|
67769
|
+
"lists.setLevelPictureBullet": {
|
|
67770
|
+
memberPath: "lists.setLevelPictureBullet",
|
|
67771
|
+
description: "Set a picture bullet for a specific list level by its OOXML lvlPicBulletId.",
|
|
67772
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the picture bullet already matches.",
|
|
67773
|
+
requiresDocumentContext: true,
|
|
67774
|
+
metadata: mutationOperation2({
|
|
67775
|
+
idempotency: "conditional",
|
|
67776
|
+
supportsDryRun: true,
|
|
67777
|
+
supportsTrackedMode: false,
|
|
67778
|
+
possibleFailureCodes: [
|
|
67779
|
+
"NO_OP",
|
|
67780
|
+
"INVALID_TARGET",
|
|
67781
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67782
|
+
"LEVEL_NOT_FOUND",
|
|
67783
|
+
"INVALID_INPUT",
|
|
67784
|
+
"CAPABILITY_UNAVAILABLE"
|
|
67785
|
+
],
|
|
67786
|
+
throws: [
|
|
67787
|
+
...T_NOT_FOUND_CAPABLE2,
|
|
67788
|
+
"INVALID_TARGET",
|
|
67789
|
+
"CAPABILITY_UNAVAILABLE"
|
|
67790
|
+
]
|
|
67791
|
+
}),
|
|
67792
|
+
referenceDocPath: "lists/set-level-picture-bullet.mdx",
|
|
67793
|
+
referenceGroup: "lists"
|
|
67794
|
+
},
|
|
67795
|
+
"lists.setLevelAlignment": {
|
|
67796
|
+
memberPath: "lists.setLevelAlignment",
|
|
67797
|
+
description: "Set the marker alignment (left, center, right) for a specific list level.",
|
|
67798
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the alignment already matches.",
|
|
67799
|
+
requiresDocumentContext: true,
|
|
67800
|
+
metadata: mutationOperation2({
|
|
67801
|
+
idempotency: "conditional",
|
|
67802
|
+
supportsDryRun: true,
|
|
67803
|
+
supportsTrackedMode: false,
|
|
67804
|
+
possibleFailureCodes: [
|
|
67805
|
+
"NO_OP",
|
|
67806
|
+
"INVALID_TARGET",
|
|
67807
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67808
|
+
"LEVEL_NOT_FOUND"
|
|
67809
|
+
],
|
|
67810
|
+
throws: [...T_NOT_FOUND_CAPABLE2, "INVALID_TARGET"]
|
|
67811
|
+
}),
|
|
67812
|
+
referenceDocPath: "lists/set-level-alignment.mdx",
|
|
67813
|
+
referenceGroup: "lists"
|
|
67814
|
+
},
|
|
67815
|
+
"lists.setLevelIndents": {
|
|
67816
|
+
memberPath: "lists.setLevelIndents",
|
|
67817
|
+
description: "Set the paragraph indentation values (left, hanging, firstLine) for a specific list level.",
|
|
67818
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if all indent values already match.",
|
|
67819
|
+
requiresDocumentContext: true,
|
|
67820
|
+
metadata: mutationOperation2({
|
|
67821
|
+
idempotency: "conditional",
|
|
67822
|
+
supportsDryRun: true,
|
|
67823
|
+
supportsTrackedMode: false,
|
|
67824
|
+
possibleFailureCodes: [
|
|
67825
|
+
"NO_OP",
|
|
67826
|
+
"INVALID_TARGET",
|
|
67827
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67828
|
+
"LEVEL_NOT_FOUND",
|
|
67829
|
+
"INVALID_INPUT"
|
|
67830
|
+
],
|
|
67831
|
+
throws: [
|
|
67832
|
+
...T_NOT_FOUND_CAPABLE2,
|
|
67833
|
+
"INVALID_TARGET",
|
|
67834
|
+
"INVALID_INPUT"
|
|
67835
|
+
]
|
|
67836
|
+
}),
|
|
67837
|
+
referenceDocPath: "lists/set-level-indents.mdx",
|
|
67838
|
+
referenceGroup: "lists"
|
|
67839
|
+
},
|
|
67840
|
+
"lists.setLevelTrailingCharacter": {
|
|
67841
|
+
memberPath: "lists.setLevelTrailingCharacter",
|
|
67842
|
+
description: "Set the trailing character (tab, space, nothing) after the marker for a specific list level.",
|
|
67843
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the trailing character already matches.",
|
|
67844
|
+
requiresDocumentContext: true,
|
|
67845
|
+
metadata: mutationOperation2({
|
|
67846
|
+
idempotency: "conditional",
|
|
67847
|
+
supportsDryRun: true,
|
|
67848
|
+
supportsTrackedMode: false,
|
|
67849
|
+
possibleFailureCodes: [
|
|
67850
|
+
"NO_OP",
|
|
67851
|
+
"INVALID_TARGET",
|
|
67852
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67853
|
+
"LEVEL_NOT_FOUND"
|
|
67854
|
+
],
|
|
67855
|
+
throws: [...T_NOT_FOUND_CAPABLE2, "INVALID_TARGET"]
|
|
67856
|
+
}),
|
|
67857
|
+
referenceDocPath: "lists/set-level-trailing-character.mdx",
|
|
67858
|
+
referenceGroup: "lists"
|
|
67859
|
+
},
|
|
67860
|
+
"lists.setLevelMarkerFont": {
|
|
67861
|
+
memberPath: "lists.setLevelMarkerFont",
|
|
67862
|
+
description: "Set the font family used for the marker character at a specific list level.",
|
|
67863
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if the font already matches.",
|
|
67864
|
+
requiresDocumentContext: true,
|
|
67865
|
+
metadata: mutationOperation2({
|
|
67866
|
+
idempotency: "conditional",
|
|
67867
|
+
supportsDryRun: true,
|
|
67868
|
+
supportsTrackedMode: false,
|
|
67869
|
+
possibleFailureCodes: [
|
|
67870
|
+
"NO_OP",
|
|
67871
|
+
"INVALID_TARGET",
|
|
67872
|
+
"LEVEL_OUT_OF_RANGE",
|
|
67873
|
+
"LEVEL_NOT_FOUND"
|
|
67874
|
+
],
|
|
67875
|
+
throws: [...T_NOT_FOUND_CAPABLE2, "INVALID_TARGET"]
|
|
67876
|
+
}),
|
|
67877
|
+
referenceDocPath: "lists/set-level-marker-font.mdx",
|
|
67878
|
+
referenceGroup: "lists"
|
|
67879
|
+
},
|
|
67880
|
+
"lists.clearLevelOverrides": {
|
|
67881
|
+
memberPath: "lists.clearLevelOverrides",
|
|
67882
|
+
description: "Remove instance-level overrides for a specific list level, restoring abstract definition values.",
|
|
67883
|
+
expectedResult: "Returns a ListsMutateItemResult receipt; reports NO_OP if no override exists.",
|
|
67884
|
+
requiresDocumentContext: true,
|
|
67885
|
+
metadata: mutationOperation2({
|
|
67886
|
+
idempotency: "conditional",
|
|
67887
|
+
supportsDryRun: true,
|
|
67888
|
+
supportsTrackedMode: false,
|
|
67889
|
+
possibleFailureCodes: [
|
|
67890
|
+
"NO_OP",
|
|
67891
|
+
"INVALID_TARGET",
|
|
67892
|
+
"LEVEL_OUT_OF_RANGE"
|
|
67893
|
+
],
|
|
67894
|
+
throws: [...T_NOT_FOUND_CAPABLE2, "INVALID_TARGET"]
|
|
67895
|
+
}),
|
|
67896
|
+
referenceDocPath: "lists/clear-level-overrides.mdx",
|
|
67897
|
+
referenceGroup: "lists"
|
|
67898
|
+
},
|
|
67082
67899
|
"comments.create": {
|
|
67083
67900
|
memberPath: "comments.create",
|
|
67084
67901
|
description: "Create a new comment thread (or reply when parentCommentId is given).",
|
|
@@ -70604,6 +71421,199 @@ var init_SuperConverter_Bo_KNppf_es = __esm(() => {
|
|
|
70604
71421
|
success: { const: true },
|
|
70605
71422
|
paragraph: ref2("ParagraphAddress")
|
|
70606
71423
|
}, ["success", "paragraph"]), listsFailureSchemaFor2("lists.convertToText"), objectSchema2({
|
|
71424
|
+
target: listItemAddressSchema2,
|
|
71425
|
+
template: objectSchema2({
|
|
71426
|
+
version: { const: 1 },
|
|
71427
|
+
levels: arraySchema2(objectSchema2({
|
|
71428
|
+
level: {
|
|
71429
|
+
type: "integer",
|
|
71430
|
+
minimum: 0,
|
|
71431
|
+
maximum: 8
|
|
71432
|
+
},
|
|
71433
|
+
numFmt: { type: "string" },
|
|
71434
|
+
lvlText: { type: "string" },
|
|
71435
|
+
start: { type: "integer" },
|
|
71436
|
+
alignment: { enum: [
|
|
71437
|
+
"left",
|
|
71438
|
+
"center",
|
|
71439
|
+
"right"
|
|
71440
|
+
] },
|
|
71441
|
+
indents: objectSchema2({
|
|
71442
|
+
left: { type: "integer" },
|
|
71443
|
+
hanging: { type: "integer" },
|
|
71444
|
+
firstLine: { type: "integer" }
|
|
71445
|
+
}),
|
|
71446
|
+
trailingCharacter: { enum: [
|
|
71447
|
+
"tab",
|
|
71448
|
+
"space",
|
|
71449
|
+
"nothing"
|
|
71450
|
+
] },
|
|
71451
|
+
markerFont: { type: "string" },
|
|
71452
|
+
pictureBulletId: { type: "integer" }
|
|
71453
|
+
}, ["level"]))
|
|
71454
|
+
}, ["version", "levels"]),
|
|
71455
|
+
levels: arraySchema2({
|
|
71456
|
+
type: "integer",
|
|
71457
|
+
minimum: 0,
|
|
71458
|
+
maximum: 8
|
|
71459
|
+
})
|
|
71460
|
+
}, ["target", "template"]), listsMutateItemResultSchemaFor2("lists.applyTemplate"), listsFailureSchemaFor2("lists.applyTemplate"), objectSchema2({
|
|
71461
|
+
target: listItemAddressSchema2,
|
|
71462
|
+
preset: { enum: [
|
|
71463
|
+
"decimal",
|
|
71464
|
+
"decimalParenthesis",
|
|
71465
|
+
"lowerLetter",
|
|
71466
|
+
"upperLetter",
|
|
71467
|
+
"lowerRoman",
|
|
71468
|
+
"upperRoman",
|
|
71469
|
+
"disc",
|
|
71470
|
+
"circle",
|
|
71471
|
+
"square",
|
|
71472
|
+
"dash"
|
|
71473
|
+
] },
|
|
71474
|
+
levels: arraySchema2({
|
|
71475
|
+
type: "integer",
|
|
71476
|
+
minimum: 0,
|
|
71477
|
+
maximum: 8
|
|
71478
|
+
})
|
|
71479
|
+
}, ["target", "preset"]), listsMutateItemResultSchemaFor2("lists.applyPreset"), listsFailureSchemaFor2("lists.applyPreset"), (() => {
|
|
71480
|
+
const successSchema = objectSchema2({
|
|
71481
|
+
success: { const: true },
|
|
71482
|
+
template: objectSchema2({
|
|
71483
|
+
version: { const: 1 },
|
|
71484
|
+
levels: arraySchema2(objectSchema2({
|
|
71485
|
+
level: {
|
|
71486
|
+
type: "integer",
|
|
71487
|
+
minimum: 0,
|
|
71488
|
+
maximum: 8
|
|
71489
|
+
},
|
|
71490
|
+
numFmt: { type: "string" },
|
|
71491
|
+
lvlText: { type: "string" },
|
|
71492
|
+
start: { type: "integer" },
|
|
71493
|
+
alignment: { enum: [
|
|
71494
|
+
"left",
|
|
71495
|
+
"center",
|
|
71496
|
+
"right"
|
|
71497
|
+
] },
|
|
71498
|
+
indents: objectSchema2({
|
|
71499
|
+
left: { type: "integer" },
|
|
71500
|
+
hanging: { type: "integer" },
|
|
71501
|
+
firstLine: { type: "integer" }
|
|
71502
|
+
}),
|
|
71503
|
+
trailingCharacter: { enum: [
|
|
71504
|
+
"tab",
|
|
71505
|
+
"space",
|
|
71506
|
+
"nothing"
|
|
71507
|
+
] },
|
|
71508
|
+
markerFont: { type: "string" },
|
|
71509
|
+
pictureBulletId: { type: "integer" }
|
|
71510
|
+
}, ["level"]))
|
|
71511
|
+
}, ["version", "levels"])
|
|
71512
|
+
}, ["success", "template"]);
|
|
71513
|
+
return {
|
|
71514
|
+
input: objectSchema2({
|
|
71515
|
+
target: listItemAddressSchema2,
|
|
71516
|
+
levels: arraySchema2({
|
|
71517
|
+
type: "integer",
|
|
71518
|
+
minimum: 0,
|
|
71519
|
+
maximum: 8
|
|
71520
|
+
})
|
|
71521
|
+
}, ["target"]),
|
|
71522
|
+
output: { oneOf: [successSchema, listsFailureSchemaFor2("lists.captureTemplate")] },
|
|
71523
|
+
success: successSchema,
|
|
71524
|
+
failure: listsFailureSchemaFor2("lists.captureTemplate")
|
|
71525
|
+
};
|
|
71526
|
+
})(), objectSchema2({
|
|
71527
|
+
target: listItemAddressSchema2,
|
|
71528
|
+
level: {
|
|
71529
|
+
type: "integer",
|
|
71530
|
+
minimum: 0,
|
|
71531
|
+
maximum: 8
|
|
71532
|
+
},
|
|
71533
|
+
numFmt: { type: "string" },
|
|
71534
|
+
lvlText: { type: "string" },
|
|
71535
|
+
start: { type: "integer" }
|
|
71536
|
+
}, [
|
|
71537
|
+
"target",
|
|
71538
|
+
"level",
|
|
71539
|
+
"numFmt",
|
|
71540
|
+
"lvlText"
|
|
71541
|
+
]), listsMutateItemResultSchemaFor2("lists.setLevelNumbering"), listsFailureSchemaFor2("lists.setLevelNumbering"), objectSchema2({
|
|
71542
|
+
target: listItemAddressSchema2,
|
|
71543
|
+
level: {
|
|
71544
|
+
type: "integer",
|
|
71545
|
+
minimum: 0,
|
|
71546
|
+
maximum: 8
|
|
71547
|
+
},
|
|
71548
|
+
markerText: { type: "string" }
|
|
71549
|
+
}, [
|
|
71550
|
+
"target",
|
|
71551
|
+
"level",
|
|
71552
|
+
"markerText"
|
|
71553
|
+
]), listsMutateItemResultSchemaFor2("lists.setLevelBullet"), listsFailureSchemaFor2("lists.setLevelBullet"), objectSchema2({
|
|
71554
|
+
target: listItemAddressSchema2,
|
|
71555
|
+
level: {
|
|
71556
|
+
type: "integer",
|
|
71557
|
+
minimum: 0,
|
|
71558
|
+
maximum: 8
|
|
71559
|
+
},
|
|
71560
|
+
pictureBulletId: { type: "integer" }
|
|
71561
|
+
}, [
|
|
71562
|
+
"target",
|
|
71563
|
+
"level",
|
|
71564
|
+
"pictureBulletId"
|
|
71565
|
+
]), listsMutateItemResultSchemaFor2("lists.setLevelPictureBullet"), listsFailureSchemaFor2("lists.setLevelPictureBullet"), objectSchema2({
|
|
71566
|
+
target: listItemAddressSchema2,
|
|
71567
|
+
level: {
|
|
71568
|
+
type: "integer",
|
|
71569
|
+
minimum: 0,
|
|
71570
|
+
maximum: 8
|
|
71571
|
+
},
|
|
71572
|
+
alignment: { enum: [
|
|
71573
|
+
"left",
|
|
71574
|
+
"center",
|
|
71575
|
+
"right"
|
|
71576
|
+
] }
|
|
71577
|
+
}, [
|
|
71578
|
+
"target",
|
|
71579
|
+
"level",
|
|
71580
|
+
"alignment"
|
|
71581
|
+
]), listsMutateItemResultSchemaFor2("lists.setLevelAlignment"), listsFailureSchemaFor2("lists.setLevelAlignment"), listsMutateItemResultSchemaFor2("lists.setLevelIndents"), listsFailureSchemaFor2("lists.setLevelIndents"), objectSchema2({
|
|
71582
|
+
target: listItemAddressSchema2,
|
|
71583
|
+
level: {
|
|
71584
|
+
type: "integer",
|
|
71585
|
+
minimum: 0,
|
|
71586
|
+
maximum: 8
|
|
71587
|
+
},
|
|
71588
|
+
trailingCharacter: { enum: [
|
|
71589
|
+
"tab",
|
|
71590
|
+
"space",
|
|
71591
|
+
"nothing"
|
|
71592
|
+
] }
|
|
71593
|
+
}, [
|
|
71594
|
+
"target",
|
|
71595
|
+
"level",
|
|
71596
|
+
"trailingCharacter"
|
|
71597
|
+
]), listsMutateItemResultSchemaFor2("lists.setLevelTrailingCharacter"), listsFailureSchemaFor2("lists.setLevelTrailingCharacter"), objectSchema2({
|
|
71598
|
+
target: listItemAddressSchema2,
|
|
71599
|
+
level: {
|
|
71600
|
+
type: "integer",
|
|
71601
|
+
minimum: 0,
|
|
71602
|
+
maximum: 8
|
|
71603
|
+
},
|
|
71604
|
+
fontFamily: { type: "string" }
|
|
71605
|
+
}, [
|
|
71606
|
+
"target",
|
|
71607
|
+
"level",
|
|
71608
|
+
"fontFamily"
|
|
71609
|
+
]), listsMutateItemResultSchemaFor2("lists.setLevelMarkerFont"), listsFailureSchemaFor2("lists.setLevelMarkerFont"), objectSchema2({
|
|
71610
|
+
target: listItemAddressSchema2,
|
|
71611
|
+
level: {
|
|
71612
|
+
type: "integer",
|
|
71613
|
+
minimum: 0,
|
|
71614
|
+
maximum: 8
|
|
71615
|
+
}
|
|
71616
|
+
}, ["target", "level"]), listsMutateItemResultSchemaFor2("lists.clearLevelOverrides"), listsFailureSchemaFor2("lists.clearLevelOverrides"), objectSchema2({
|
|
70607
71617
|
text: { type: "string" },
|
|
70608
71618
|
target: textAddressSchema2,
|
|
70609
71619
|
parentCommentId: { type: "string" }
|
|
@@ -118788,9 +119798,9 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
|
|
|
118788
119798
|
init_remark_gfm_z_sDF4ss_es();
|
|
118789
119799
|
});
|
|
118790
119800
|
|
|
118791
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
118792
|
-
var
|
|
118793
|
-
__export(
|
|
119801
|
+
// ../../packages/superdoc/dist/chunks/src-B8PRu6_u.es.js
|
|
119802
|
+
var exports_src_B8PRu6_u_es = {};
|
|
119803
|
+
__export(exports_src_B8PRu6_u_es, {
|
|
118794
119804
|
zt: () => defineMark,
|
|
118795
119805
|
z: () => cM,
|
|
118796
119806
|
yt: () => removeAwarenessStates,
|
|
@@ -132757,7 +133767,7 @@ function resolveListItem(editor, address2) {
|
|
|
132757
133767
|
});
|
|
132758
133768
|
return projectListItemCandidate(editor, matches2[0]);
|
|
132759
133769
|
}
|
|
132760
|
-
function toListsFailure(code$1, message, details) {
|
|
133770
|
+
function toListsFailure$1(code$1, message, details) {
|
|
132761
133771
|
return {
|
|
132762
133772
|
success: false,
|
|
132763
133773
|
failure: {
|
|
@@ -132767,7 +133777,7 @@ function toListsFailure(code$1, message, details) {
|
|
|
132767
133777
|
}
|
|
132768
133778
|
};
|
|
132769
133779
|
}
|
|
132770
|
-
function dispatchEditorTransaction$
|
|
133780
|
+
function dispatchEditorTransaction$2(editor, tr) {
|
|
132771
133781
|
if (typeof editor.dispatch === "function") {
|
|
132772
133782
|
editor.dispatch(tr);
|
|
132773
133783
|
return;
|
|
@@ -132804,23 +133814,23 @@ function resolveInsertedListItem(editor, sdBlockId) {
|
|
|
132804
133814
|
function withListTarget(editor, input2) {
|
|
132805
133815
|
return resolveListItem(editor, input2.target);
|
|
132806
133816
|
}
|
|
132807
|
-
function hasLevelOverride(editor, numId, level) {
|
|
133817
|
+
function hasLevelOverride$1(editor, numId, level) {
|
|
132808
133818
|
const definition3 = editor.converter?.numbering?.definitions?.[numId];
|
|
132809
133819
|
const ilvl = String(level);
|
|
132810
133820
|
return definition3?.elements?.some((element3) => element3.name === "w:lvlOverride" && element3.attributes?.["w:ilvl"] === ilvl) ?? false;
|
|
132811
133821
|
}
|
|
132812
133822
|
function executeSetLevel(editor, target, newLevel, options) {
|
|
132813
133823
|
if (target.numId == null)
|
|
132814
|
-
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: target.address });
|
|
133824
|
+
return toListsFailure$1("INVALID_TARGET", "Target must have numbering metadata.", { target: target.address });
|
|
132815
133825
|
if (newLevel < 0 || newLevel > 8)
|
|
132816
|
-
return toListsFailure("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level: newLevel });
|
|
133826
|
+
return toListsFailure$1("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level: newLevel });
|
|
132817
133827
|
if (target.level === newLevel)
|
|
132818
|
-
return toListsFailure("NO_OP", "Item is already at the requested level.", {
|
|
133828
|
+
return toListsFailure$1("NO_OP", "Item is already at the requested level.", {
|
|
132819
133829
|
target: target.address,
|
|
132820
133830
|
level: newLevel
|
|
132821
133831
|
});
|
|
132822
133832
|
if (!ListHelpers.hasListDefinition(editor, target.numId, newLevel))
|
|
132823
|
-
return toListsFailure("LEVEL_OUT_OF_RANGE", "Target level is not defined in the active numbering definition.", {
|
|
133833
|
+
return toListsFailure$1("LEVEL_OUT_OF_RANGE", "Target level is not defined in the active numbering definition.", {
|
|
132824
133834
|
target: target.address,
|
|
132825
133835
|
level: newLevel
|
|
132826
133836
|
});
|
|
@@ -132835,11 +133845,11 @@ function executeSetLevel(editor, target, newLevel, options) {
|
|
|
132835
133845
|
numId: target.numId,
|
|
132836
133846
|
ilvl: newLevel
|
|
132837
133847
|
}, target.candidate.node, target.candidate.pos, editor, tr);
|
|
132838
|
-
dispatchEditorTransaction$
|
|
133848
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
132839
133849
|
clearIndexCache(editor);
|
|
132840
133850
|
return true;
|
|
132841
133851
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
132842
|
-
return toListsFailure("INVALID_TARGET", "Level change could not be applied.", {
|
|
133852
|
+
return toListsFailure$1("INVALID_TARGET", "Level change could not be applied.", {
|
|
132843
133853
|
target: target.address,
|
|
132844
133854
|
level: newLevel
|
|
132845
133855
|
});
|
|
@@ -132905,7 +133915,7 @@ function listsInsertWrapper(editor, input2, options) {
|
|
|
132905
133915
|
}
|
|
132906
133916
|
return didApply;
|
|
132907
133917
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
132908
|
-
return toListsFailure("INVALID_TARGET", "List item insertion could not be applied at the requested target.", {
|
|
133918
|
+
return toListsFailure$1("INVALID_TARGET", "List item insertion could not be applied at the requested target.", {
|
|
132909
133919
|
target: input2.target,
|
|
132910
133920
|
position: input2.position
|
|
132911
133921
|
});
|
|
@@ -132951,24 +133961,24 @@ function listsOutdentWrapper(editor, input2, options) {
|
|
|
132951
133961
|
const target = withListTarget(editor, input2);
|
|
132952
133962
|
const currentLevel = target.level ?? 0;
|
|
132953
133963
|
if (currentLevel <= 0)
|
|
132954
|
-
return toListsFailure("NO_OP", "List item is already at level 0.", { target: input2.target });
|
|
133964
|
+
return toListsFailure$1("NO_OP", "List item is already at level 0.", { target: input2.target });
|
|
132955
133965
|
return executeSetLevel(editor, target, currentLevel - 1, options);
|
|
132956
133966
|
}
|
|
132957
133967
|
function listsCreateWrapper(editor, input2, options) {
|
|
132958
133968
|
rejectTrackedMode("lists.create", options);
|
|
132959
133969
|
const raw = input2;
|
|
132960
133970
|
if (input2.mode === "empty" && raw.at == null)
|
|
132961
|
-
return toListsFailure("INVALID_TARGET", 'Mode "empty" requires an "at" field.', { mode: "empty" });
|
|
133971
|
+
return toListsFailure$1("INVALID_TARGET", 'Mode "empty" requires an "at" field.', { mode: "empty" });
|
|
132962
133972
|
if (input2.mode === "fromParagraphs" && raw.target == null)
|
|
132963
|
-
return toListsFailure("INVALID_TARGET", 'Mode "fromParagraphs" requires a "target" field.', { mode: "fromParagraphs" });
|
|
133973
|
+
return toListsFailure$1("INVALID_TARGET", 'Mode "fromParagraphs" requires a "target" field.', { mode: "fromParagraphs" });
|
|
132964
133974
|
const level = input2.level ?? 0;
|
|
132965
133975
|
if (level < 0 || level > 8)
|
|
132966
|
-
return toListsFailure("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level });
|
|
133976
|
+
return toListsFailure$1("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level });
|
|
132967
133977
|
const listType = input2.kind === "ordered" ? "orderedList" : "bulletList";
|
|
132968
133978
|
if (input2.mode === "empty") {
|
|
132969
133979
|
const block = resolveBlock(editor, input2.at.nodeId);
|
|
132970
133980
|
if (block.nodeType === "listItem")
|
|
132971
|
-
return toListsFailure("INVALID_TARGET", "Target paragraph is already a list item.", { target: input2.at });
|
|
133981
|
+
return toListsFailure$1("INVALID_TARGET", "Target paragraph is already a list item.", { target: input2.at });
|
|
132972
133982
|
if (options?.dryRun)
|
|
132973
133983
|
return {
|
|
132974
133984
|
success: true,
|
|
@@ -132992,11 +134002,11 @@ function listsCreateWrapper(editor, input2, options) {
|
|
|
132992
134002
|
numId: numId$1,
|
|
132993
134003
|
ilvl: level
|
|
132994
134004
|
}, block.node, block.pos, editor, tr);
|
|
132995
|
-
dispatchEditorTransaction$
|
|
134005
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
132996
134006
|
clearIndexCache(editor);
|
|
132997
134007
|
return true;
|
|
132998
134008
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
132999
|
-
return toListsFailure("INVALID_TARGET", "List creation could not be applied.", { mode: input2.mode });
|
|
134009
|
+
return toListsFailure$1("INVALID_TARGET", "List creation could not be applied.", { mode: input2.mode });
|
|
133000
134010
|
return {
|
|
133001
134011
|
success: true,
|
|
133002
134012
|
listId: `${numId$1}:${block.nodeId}`,
|
|
@@ -133009,10 +134019,10 @@ function listsCreateWrapper(editor, input2, options) {
|
|
|
133009
134019
|
}
|
|
133010
134020
|
const targets = isBlockRange(input2.target) ? resolveBlocksInRange(editor, input2.target.from.nodeId, input2.target.to.nodeId) : [resolveBlock(editor, input2.target.nodeId)];
|
|
133011
134021
|
if (targets.length === 0)
|
|
133012
|
-
return toListsFailure("INVALID_TARGET", "No paragraphs found in the specified range.", { target: input2.target });
|
|
134022
|
+
return toListsFailure$1("INVALID_TARGET", "No paragraphs found in the specified range.", { target: input2.target });
|
|
133013
134023
|
const alreadyListItem = targets.find((t) => t.nodeType === "listItem");
|
|
133014
134024
|
if (alreadyListItem)
|
|
133015
|
-
return toListsFailure("INVALID_TARGET", "One or more target paragraphs are already list items.", { nodeId: alreadyListItem.nodeId });
|
|
134025
|
+
return toListsFailure$1("INVALID_TARGET", "One or more target paragraphs are already list items.", { nodeId: alreadyListItem.nodeId });
|
|
133016
134026
|
if (options?.dryRun)
|
|
133017
134027
|
return {
|
|
133018
134028
|
success: true,
|
|
@@ -133037,11 +134047,11 @@ function listsCreateWrapper(editor, input2, options) {
|
|
|
133037
134047
|
numId,
|
|
133038
134048
|
ilvl: level
|
|
133039
134049
|
}, block.node, block.pos, editor, tr);
|
|
133040
|
-
dispatchEditorTransaction$
|
|
134050
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133041
134051
|
clearIndexCache(editor);
|
|
133042
134052
|
return true;
|
|
133043
134053
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133044
|
-
return toListsFailure("INVALID_TARGET", "List creation could not be applied.", { mode: input2.mode });
|
|
134054
|
+
return toListsFailure$1("INVALID_TARGET", "List creation could not be applied.", { mode: input2.mode });
|
|
133045
134055
|
return {
|
|
133046
134056
|
success: true,
|
|
133047
134057
|
listId: `${numId}:${targets[0].nodeId}`,
|
|
@@ -133056,15 +134066,15 @@ function listsAttachWrapper(editor, input2, options) {
|
|
|
133056
134066
|
rejectTrackedMode("lists.attach", options);
|
|
133057
134067
|
const attachTo = resolveListItem(editor, input2.attachTo);
|
|
133058
134068
|
if (attachTo.numId == null)
|
|
133059
|
-
return toListsFailure("INVALID_TARGET", "attachTo target must be a list item with numbering metadata.", { attachTo: input2.attachTo });
|
|
134069
|
+
return toListsFailure$1("INVALID_TARGET", "attachTo target must be a list item with numbering metadata.", { attachTo: input2.attachTo });
|
|
133060
134070
|
const numId = attachTo.numId;
|
|
133061
134071
|
const level = input2.level ?? attachTo.level ?? 0;
|
|
133062
134072
|
const targets = isBlockRange(input2.target) ? resolveBlocksInRange(editor, input2.target.from.nodeId, input2.target.to.nodeId) : [resolveBlock(editor, input2.target.nodeId)];
|
|
133063
134073
|
if (targets.length === 0)
|
|
133064
|
-
return toListsFailure("INVALID_TARGET", "No paragraphs found in the specified target.", { target: input2.target });
|
|
134074
|
+
return toListsFailure$1("INVALID_TARGET", "No paragraphs found in the specified target.", { target: input2.target });
|
|
133065
134075
|
const alreadyListItem = targets.find((t) => t.nodeType === "listItem");
|
|
133066
134076
|
if (alreadyListItem)
|
|
133067
|
-
return toListsFailure("INVALID_TARGET", "Target paragraphs are already list items.", { nodeId: alreadyListItem.nodeId });
|
|
134077
|
+
return toListsFailure$1("INVALID_TARGET", "Target paragraphs are already list items.", { nodeId: alreadyListItem.nodeId });
|
|
133068
134078
|
if (options?.dryRun)
|
|
133069
134079
|
return {
|
|
133070
134080
|
success: true,
|
|
@@ -133081,11 +134091,11 @@ function listsAttachWrapper(editor, input2, options) {
|
|
|
133081
134091
|
numId,
|
|
133082
134092
|
ilvl: level
|
|
133083
134093
|
}, block.node, block.pos, editor, tr);
|
|
133084
|
-
dispatchEditorTransaction$
|
|
134094
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133085
134095
|
clearIndexCache(editor);
|
|
133086
134096
|
return true;
|
|
133087
134097
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133088
|
-
return toListsFailure("INVALID_TARGET", "List attachment could not be applied.", { target: input2.target });
|
|
134098
|
+
return toListsFailure$1("INVALID_TARGET", "List attachment could not be applied.", { target: input2.target });
|
|
133089
134099
|
return {
|
|
133090
134100
|
success: true,
|
|
133091
134101
|
item: {
|
|
@@ -133110,11 +134120,11 @@ function listsDetachWrapper(editor, input2, options) {
|
|
|
133110
134120
|
if (executeDomainCommand(editor, () => {
|
|
133111
134121
|
const { tr } = editor.state;
|
|
133112
134122
|
updateNumberingProperties(null, target.candidate.node, target.candidate.pos, editor, tr);
|
|
133113
|
-
dispatchEditorTransaction$
|
|
134123
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133114
134124
|
clearIndexCache(editor);
|
|
133115
134125
|
return true;
|
|
133116
134126
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133117
|
-
return toListsFailure("INVALID_TARGET", "List detach could not be applied.", { target: input2.target });
|
|
134127
|
+
return toListsFailure$1("INVALID_TARGET", "List detach could not be applied.", { target: input2.target });
|
|
133118
134128
|
return {
|
|
133119
134129
|
success: true,
|
|
133120
134130
|
paragraph: {
|
|
@@ -133128,10 +134138,10 @@ function listsJoinWrapper(editor, input2, options) {
|
|
|
133128
134138
|
rejectTrackedMode("lists.join", options);
|
|
133129
134139
|
const target = resolveListItem(editor, input2.target);
|
|
133130
134140
|
if (target.numId == null)
|
|
133131
|
-
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
134141
|
+
return toListsFailure$1("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
133132
134142
|
const canJoinResult = evaluateCanJoin(editor, target, input2.direction);
|
|
133133
134143
|
if (!canJoinResult.canJoin)
|
|
133134
|
-
return toListsFailure(canJoinResult.reason, `Cannot join: ${canJoinResult.reason}`, {
|
|
134144
|
+
return toListsFailure$1(canJoinResult.reason, `Cannot join: ${canJoinResult.reason}`, {
|
|
133135
134145
|
target: input2.target,
|
|
133136
134146
|
direction: input2.direction
|
|
133137
134147
|
});
|
|
@@ -133163,11 +134173,11 @@ function listsJoinWrapper(editor, input2, options) {
|
|
|
133163
134173
|
ilvl: currentLevel
|
|
133164
134174
|
}, item.candidate.node, item.candidate.pos, editor, tr);
|
|
133165
134175
|
}
|
|
133166
|
-
dispatchEditorTransaction$
|
|
134176
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133167
134177
|
clearIndexCache(editor);
|
|
133168
134178
|
return true;
|
|
133169
134179
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133170
|
-
return toListsFailure("INVALID_TARGET", "List join could not be applied.", {
|
|
134180
|
+
return toListsFailure$1("INVALID_TARGET", "List join could not be applied.", {
|
|
133171
134181
|
target: input2.target,
|
|
133172
134182
|
direction: input2.direction
|
|
133173
134183
|
});
|
|
@@ -133180,13 +134190,13 @@ function listsSeparateWrapper(editor, input2, options) {
|
|
|
133180
134190
|
rejectTrackedMode("lists.separate", options);
|
|
133181
134191
|
const target = resolveListItem(editor, input2.target);
|
|
133182
134192
|
if (target.numId == null)
|
|
133183
|
-
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
134193
|
+
return toListsFailure$1("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
133184
134194
|
if (isFirstInSequence(editor, target))
|
|
133185
|
-
return toListsFailure("NO_OP", "Target is already the first item in its sequence.", { target: input2.target });
|
|
134195
|
+
return toListsFailure$1("NO_OP", "Target is already the first item in its sequence.", { target: input2.target });
|
|
133186
134196
|
const copyOverrides = input2.copyOverrides !== false;
|
|
133187
134197
|
const abstractNumId = getAbstractNumId(editor, target.numId);
|
|
133188
134198
|
if (abstractNumId == null)
|
|
133189
|
-
return toListsFailure("INVALID_TARGET", "Could not resolve abstract definition for target.", { target: input2.target });
|
|
134199
|
+
return toListsFailure$1("INVALID_TARGET", "Could not resolve abstract definition for target.", { target: input2.target });
|
|
133190
134200
|
const itemsToReassign = getSequenceFromTarget(editor, target);
|
|
133191
134201
|
if (options?.dryRun)
|
|
133192
134202
|
return {
|
|
@@ -133205,11 +134215,11 @@ function listsSeparateWrapper(editor, input2, options) {
|
|
|
133205
134215
|
ilvl: currentLevel
|
|
133206
134216
|
}, item.candidate.node, item.candidate.pos, editor, tr);
|
|
133207
134217
|
}
|
|
133208
|
-
dispatchEditorTransaction$
|
|
134218
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133209
134219
|
clearIndexCache(editor);
|
|
133210
134220
|
return true;
|
|
133211
134221
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133212
|
-
return toListsFailure("INVALID_TARGET", "List separation could not be applied.", { target: input2.target });
|
|
134222
|
+
return toListsFailure$1("INVALID_TARGET", "List separation could not be applied.", { target: input2.target });
|
|
133213
134223
|
return {
|
|
133214
134224
|
success: true,
|
|
133215
134225
|
listId: `${newNumId}:${target.address.nodeId}`,
|
|
@@ -133224,7 +134234,7 @@ function listsSetValueWrapper(editor, input2, options) {
|
|
|
133224
134234
|
rejectTrackedMode("lists.setValue", options);
|
|
133225
134235
|
const target = resolveListItem(editor, input2.target);
|
|
133226
134236
|
if (target.numId == null)
|
|
133227
|
-
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
134237
|
+
return toListsFailure$1("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
133228
134238
|
const level = target.level ?? 0;
|
|
133229
134239
|
if (options?.dryRun)
|
|
133230
134240
|
return {
|
|
@@ -133232,14 +134242,14 @@ function listsSetValueWrapper(editor, input2, options) {
|
|
|
133232
134242
|
item: target.address
|
|
133233
134243
|
};
|
|
133234
134244
|
if (input2.value === null) {
|
|
133235
|
-
if (!hasLevelOverride(editor, target.numId, level))
|
|
133236
|
-
return toListsFailure("NO_OP", "No startOverride to remove.", { target: input2.target });
|
|
134245
|
+
if (!hasLevelOverride$1(editor, target.numId, level))
|
|
134246
|
+
return toListsFailure$1("NO_OP", "No startOverride to remove.", { target: input2.target });
|
|
133237
134247
|
if (executeDomainCommand(editor, () => {
|
|
133238
134248
|
ListHelpers.removeLvlOverride(editor, target.numId, level);
|
|
133239
|
-
dispatchEditorTransaction$
|
|
134249
|
+
dispatchEditorTransaction$2(editor, editor.state.tr);
|
|
133240
134250
|
return true;
|
|
133241
134251
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133242
|
-
return toListsFailure("NO_OP", "No startOverride to remove.", { target: input2.target });
|
|
134252
|
+
return toListsFailure$1("NO_OP", "No startOverride to remove.", { target: input2.target });
|
|
133243
134253
|
return {
|
|
133244
134254
|
success: true,
|
|
133245
134255
|
item: target.address
|
|
@@ -133248,10 +134258,10 @@ function listsSetValueWrapper(editor, input2, options) {
|
|
|
133248
134258
|
if (isFirstInSequence(editor, target)) {
|
|
133249
134259
|
if (executeDomainCommand(editor, () => {
|
|
133250
134260
|
ListHelpers.setLvlOverride(editor, target.numId, level, { startOverride: input2.value });
|
|
133251
|
-
dispatchEditorTransaction$
|
|
134261
|
+
dispatchEditorTransaction$2(editor, editor.state.tr);
|
|
133252
134262
|
return true;
|
|
133253
134263
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133254
|
-
return toListsFailure("INVALID_TARGET", "setValue could not be applied.", { target: input2.target });
|
|
134264
|
+
return toListsFailure$1("INVALID_TARGET", "setValue could not be applied.", { target: input2.target });
|
|
133255
134265
|
return {
|
|
133256
134266
|
success: true,
|
|
133257
134267
|
item: target.address
|
|
@@ -133259,7 +134269,7 @@ function listsSetValueWrapper(editor, input2, options) {
|
|
|
133259
134269
|
}
|
|
133260
134270
|
const abstractNumId = getAbstractNumId(editor, target.numId);
|
|
133261
134271
|
if (abstractNumId == null)
|
|
133262
|
-
return toListsFailure("INVALID_TARGET", "Could not resolve abstract definition for target.", { target: input2.target });
|
|
134272
|
+
return toListsFailure$1("INVALID_TARGET", "Could not resolve abstract definition for target.", { target: input2.target });
|
|
133263
134273
|
const itemsToReassign = getSequenceFromTarget(editor, target);
|
|
133264
134274
|
if (executeDomainCommand(editor, () => {
|
|
133265
134275
|
const { numId: newNumId } = ListHelpers.createNumDefinition(editor, abstractNumId, { copyOverridesFrom: target.numId });
|
|
@@ -133270,11 +134280,11 @@ function listsSetValueWrapper(editor, input2, options) {
|
|
|
133270
134280
|
numId: newNumId,
|
|
133271
134281
|
ilvl: item.level ?? 0
|
|
133272
134282
|
}, item.candidate.node, item.candidate.pos, editor, tr);
|
|
133273
|
-
dispatchEditorTransaction$
|
|
134283
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133274
134284
|
clearIndexCache(editor);
|
|
133275
134285
|
return true;
|
|
133276
134286
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133277
|
-
return toListsFailure("INVALID_TARGET", "setValue could not be applied.", { target: input2.target });
|
|
134287
|
+
return toListsFailure$1("INVALID_TARGET", "setValue could not be applied.", { target: input2.target });
|
|
133278
134288
|
return {
|
|
133279
134289
|
success: true,
|
|
133280
134290
|
item: target.address
|
|
@@ -133284,10 +134294,10 @@ function listsContinuePreviousWrapper(editor, input2, options) {
|
|
|
133284
134294
|
rejectTrackedMode("lists.continuePrevious", options);
|
|
133285
134295
|
const target = resolveListItem(editor, input2.target);
|
|
133286
134296
|
if (target.numId == null)
|
|
133287
|
-
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
134297
|
+
return toListsFailure$1("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
133288
134298
|
const canContinue = evaluateCanContinuePrevious(editor, target);
|
|
133289
134299
|
if (!canContinue.canContinue)
|
|
133290
|
-
return toListsFailure({
|
|
134300
|
+
return toListsFailure$1({
|
|
133291
134301
|
NO_PREVIOUS_LIST: "NO_COMPATIBLE_PREVIOUS",
|
|
133292
134302
|
INCOMPATIBLE_DEFINITIONS: "NO_COMPATIBLE_PREVIOUS",
|
|
133293
134303
|
ALREADY_CONTINUOUS: "ALREADY_CONTINUOUS"
|
|
@@ -133310,11 +134320,11 @@ function listsContinuePreviousWrapper(editor, input2, options) {
|
|
|
133310
134320
|
ilvl: currentLevel
|
|
133311
134321
|
}, item.candidate.node, item.candidate.pos, editor, tr);
|
|
133312
134322
|
}
|
|
133313
|
-
dispatchEditorTransaction$
|
|
134323
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133314
134324
|
clearIndexCache(editor);
|
|
133315
134325
|
return true;
|
|
133316
134326
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133317
|
-
return toListsFailure("INVALID_TARGET", "continuePrevious could not be applied.", { target: input2.target });
|
|
134327
|
+
return toListsFailure$1("INVALID_TARGET", "continuePrevious could not be applied.", { target: input2.target });
|
|
133318
134328
|
return {
|
|
133319
134329
|
success: true,
|
|
133320
134330
|
item: target.address
|
|
@@ -133324,9 +134334,9 @@ function listsSetLevelRestartWrapper(editor, input2, options) {
|
|
|
133324
134334
|
rejectTrackedMode("lists.setLevelRestart", options);
|
|
133325
134335
|
const target = resolveListItem(editor, input2.target);
|
|
133326
134336
|
if (target.numId == null)
|
|
133327
|
-
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
134337
|
+
return toListsFailure$1("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
133328
134338
|
if (input2.level < 0 || input2.level > 8)
|
|
133329
|
-
return toListsFailure("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level: input2.level });
|
|
134339
|
+
return toListsFailure$1("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level: input2.level });
|
|
133330
134340
|
if (options?.dryRun)
|
|
133331
134341
|
return {
|
|
133332
134342
|
success: true,
|
|
@@ -133342,10 +134352,10 @@ function listsSetLevelRestartWrapper(editor, input2, options) {
|
|
|
133342
134352
|
return false;
|
|
133343
134353
|
ListHelpers.setLvlRestartOnAbstract(editor, abstractNumId, input2.level, input2.restartAfterLevel);
|
|
133344
134354
|
}
|
|
133345
|
-
dispatchEditorTransaction$
|
|
134355
|
+
dispatchEditorTransaction$2(editor, editor.state.tr);
|
|
133346
134356
|
return true;
|
|
133347
134357
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133348
|
-
return toListsFailure("INVALID_TARGET", "setLevelRestart could not be applied.", { target: input2.target });
|
|
134358
|
+
return toListsFailure$1("INVALID_TARGET", "setLevelRestart could not be applied.", { target: input2.target });
|
|
133349
134359
|
return {
|
|
133350
134360
|
success: true,
|
|
133351
134361
|
item: target.address
|
|
@@ -133371,11 +134381,11 @@ function listsConvertToTextWrapper(editor, input2, options) {
|
|
|
133371
134381
|
tr.insertText(target.marker, startPos);
|
|
133372
134382
|
}
|
|
133373
134383
|
updateNumberingProperties(null, target.candidate.node, target.candidate.pos, editor, tr);
|
|
133374
|
-
dispatchEditorTransaction$
|
|
134384
|
+
dispatchEditorTransaction$2(editor, tr);
|
|
133375
134385
|
clearIndexCache(editor);
|
|
133376
134386
|
return true;
|
|
133377
134387
|
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
133378
|
-
return toListsFailure("INVALID_TARGET", "convertToText could not be applied.", { target: input2.target });
|
|
134388
|
+
return toListsFailure$1("INVALID_TARGET", "convertToText could not be applied.", { target: input2.target });
|
|
133379
134389
|
return {
|
|
133380
134390
|
success: true,
|
|
133381
134391
|
paragraph: {
|
|
@@ -133385,6 +134395,682 @@ function listsConvertToTextWrapper(editor, input2, options) {
|
|
|
133385
134395
|
}
|
|
133386
134396
|
};
|
|
133387
134397
|
}
|
|
134398
|
+
function findLevelElement(abstract, ilvl) {
|
|
134399
|
+
const ilvlStr = String(ilvl);
|
|
134400
|
+
return abstract.elements?.find((el) => el.name === "w:lvl" && el.attributes?.["w:ilvl"] === ilvlStr);
|
|
134401
|
+
}
|
|
134402
|
+
function readChildAttr(parent, elementName) {
|
|
134403
|
+
return parent.elements?.find((el) => el.name === elementName)?.attributes?.["w:val"];
|
|
134404
|
+
}
|
|
134405
|
+
function setChildAttr(parent, elementName, value) {
|
|
134406
|
+
if (!parent.elements)
|
|
134407
|
+
parent.elements = [];
|
|
134408
|
+
const existing = parent.elements.find((el) => el.name === elementName);
|
|
134409
|
+
if (existing) {
|
|
134410
|
+
if (existing.attributes?.["w:val"] === value)
|
|
134411
|
+
return false;
|
|
134412
|
+
if (!existing.attributes)
|
|
134413
|
+
existing.attributes = {};
|
|
134414
|
+
existing.attributes["w:val"] = value;
|
|
134415
|
+
return true;
|
|
134416
|
+
}
|
|
134417
|
+
parent.elements.push({
|
|
134418
|
+
type: "element",
|
|
134419
|
+
name: elementName,
|
|
134420
|
+
attributes: { "w:val": value }
|
|
134421
|
+
});
|
|
134422
|
+
return true;
|
|
134423
|
+
}
|
|
134424
|
+
function findOrCreateChild(parent, elementName) {
|
|
134425
|
+
if (!parent.elements)
|
|
134426
|
+
parent.elements = [];
|
|
134427
|
+
let child = parent.elements.find((el) => el.name === elementName);
|
|
134428
|
+
if (!child) {
|
|
134429
|
+
child = {
|
|
134430
|
+
type: "element",
|
|
134431
|
+
name: elementName,
|
|
134432
|
+
elements: []
|
|
134433
|
+
};
|
|
134434
|
+
parent.elements.push(child);
|
|
134435
|
+
}
|
|
134436
|
+
if (!child.elements)
|
|
134437
|
+
child.elements = [];
|
|
134438
|
+
return child;
|
|
134439
|
+
}
|
|
134440
|
+
function syncAbstractAndEmit(editor, abstractNumId, abstract) {
|
|
134441
|
+
const numbering = editor.converter.numbering;
|
|
134442
|
+
numbering.abstracts[abstractNumId] = abstract;
|
|
134443
|
+
editor.converter.numbering = { ...numbering };
|
|
134444
|
+
const translated = { ...editor.converter.translatedNumbering || {} };
|
|
134445
|
+
if (!translated.abstracts)
|
|
134446
|
+
translated.abstracts = {};
|
|
134447
|
+
translated.abstracts[abstractNumId] = translator$28.encode({ nodes: [abstract] });
|
|
134448
|
+
editor.converter.translatedNumbering = translated;
|
|
134449
|
+
const definitions = numbering.definitions || {};
|
|
134450
|
+
for (const [, numDef] of Object.entries(definitions)) {
|
|
134451
|
+
const absId = numDef?.elements?.find((el) => el.name === "w:abstractNumId")?.attributes?.["w:val"];
|
|
134452
|
+
if (absId != null && Number(absId) === abstractNumId)
|
|
134453
|
+
editor.emit("list-definitions-change", {
|
|
134454
|
+
change: {
|
|
134455
|
+
numDef,
|
|
134456
|
+
editor
|
|
134457
|
+
},
|
|
134458
|
+
numbering: editor.converter.numbering,
|
|
134459
|
+
editor
|
|
134460
|
+
});
|
|
134461
|
+
}
|
|
134462
|
+
}
|
|
134463
|
+
function resolveAbstractLevel(editor, abstractNumId, ilvl) {
|
|
134464
|
+
const abstract = editor.converter.numbering?.abstracts?.[abstractNumId];
|
|
134465
|
+
if (!abstract)
|
|
134466
|
+
return null;
|
|
134467
|
+
const lvlEl = findLevelElement(abstract, ilvl);
|
|
134468
|
+
if (!lvlEl)
|
|
134469
|
+
return null;
|
|
134470
|
+
return {
|
|
134471
|
+
abstract,
|
|
134472
|
+
lvlEl
|
|
134473
|
+
};
|
|
134474
|
+
}
|
|
134475
|
+
function hasLevel(editor, abstractNumId, ilvl) {
|
|
134476
|
+
return resolveAbstractLevel(editor, abstractNumId, ilvl) != null;
|
|
134477
|
+
}
|
|
134478
|
+
function readLevelProperties(lvlEl, ilvl) {
|
|
134479
|
+
const props = { level: ilvl };
|
|
134480
|
+
const numFmt = readChildAttr(lvlEl, "w:numFmt");
|
|
134481
|
+
if (numFmt != null)
|
|
134482
|
+
props.numFmt = numFmt;
|
|
134483
|
+
const lvlText = readChildAttr(lvlEl, "w:lvlText");
|
|
134484
|
+
if (lvlText != null)
|
|
134485
|
+
props.lvlText = lvlText;
|
|
134486
|
+
const startVal = readChildAttr(lvlEl, "w:start");
|
|
134487
|
+
if (startVal != null)
|
|
134488
|
+
props.start = Number(startVal);
|
|
134489
|
+
const alignment$1 = readChildAttr(lvlEl, "w:lvlJc");
|
|
134490
|
+
if (alignment$1 != null)
|
|
134491
|
+
props.alignment = alignment$1;
|
|
134492
|
+
const suff = readChildAttr(lvlEl, "w:suff");
|
|
134493
|
+
if (suff != null)
|
|
134494
|
+
props.trailingCharacter = suff;
|
|
134495
|
+
const picBulletId = readChildAttr(lvlEl, "w:lvlPicBulletId");
|
|
134496
|
+
if (picBulletId != null)
|
|
134497
|
+
props.pictureBulletId = Number(picBulletId);
|
|
134498
|
+
const ind = lvlEl.elements?.find((el) => el.name === "w:pPr")?.elements?.find((el) => el.name === "w:ind");
|
|
134499
|
+
if (ind?.attributes) {
|
|
134500
|
+
const indents = {};
|
|
134501
|
+
if (ind.attributes["w:left"] != null)
|
|
134502
|
+
indents.left = Number(ind.attributes["w:left"]);
|
|
134503
|
+
if (ind.attributes["w:hanging"] != null)
|
|
134504
|
+
indents.hanging = Number(ind.attributes["w:hanging"]);
|
|
134505
|
+
if (ind.attributes["w:firstLine"] != null)
|
|
134506
|
+
indents.firstLine = Number(ind.attributes["w:firstLine"]);
|
|
134507
|
+
if (Object.keys(indents).length > 0)
|
|
134508
|
+
props.indents = indents;
|
|
134509
|
+
}
|
|
134510
|
+
const rFonts = lvlEl.elements?.find((el) => el.name === "w:rPr")?.elements?.find((el) => el.name === "w:rFonts");
|
|
134511
|
+
if (rFonts?.attributes?.["w:ascii"])
|
|
134512
|
+
props.markerFont = rFonts.attributes["w:ascii"];
|
|
134513
|
+
return props;
|
|
134514
|
+
}
|
|
134515
|
+
function mutateLevelNumberingFormat(lvlEl, { numFmt, lvlText, start: start$1 }) {
|
|
134516
|
+
let changed = false;
|
|
134517
|
+
changed = setChildAttr(lvlEl, "w:numFmt", numFmt) || changed;
|
|
134518
|
+
changed = setChildAttr(lvlEl, "w:lvlText", lvlText) || changed;
|
|
134519
|
+
if (start$1 != null)
|
|
134520
|
+
changed = setChildAttr(lvlEl, "w:start", String(start$1)) || changed;
|
|
134521
|
+
return changed;
|
|
134522
|
+
}
|
|
134523
|
+
function mutateLevelBulletMarker(lvlEl, markerText) {
|
|
134524
|
+
let changed = false;
|
|
134525
|
+
changed = setChildAttr(lvlEl, "w:numFmt", "bullet") || changed;
|
|
134526
|
+
changed = setChildAttr(lvlEl, "w:lvlText", markerText) || changed;
|
|
134527
|
+
return changed;
|
|
134528
|
+
}
|
|
134529
|
+
function mutateLevelPictureBulletId(lvlEl, pictureBulletId) {
|
|
134530
|
+
return setChildAttr(lvlEl, "w:lvlPicBulletId", String(pictureBulletId));
|
|
134531
|
+
}
|
|
134532
|
+
function mutateLevelAlignment(lvlEl, alignment$1) {
|
|
134533
|
+
return setChildAttr(lvlEl, "w:lvlJc", alignment$1);
|
|
134534
|
+
}
|
|
134535
|
+
function mutateLevelIndents(lvlEl, indents) {
|
|
134536
|
+
const ind = findOrCreateChild(findOrCreateChild(lvlEl, "w:pPr"), "w:ind");
|
|
134537
|
+
if (!ind.attributes)
|
|
134538
|
+
ind.attributes = {};
|
|
134539
|
+
let changed = false;
|
|
134540
|
+
if (indents.left != null) {
|
|
134541
|
+
const newVal = String(indents.left);
|
|
134542
|
+
if (ind.attributes["w:left"] !== newVal) {
|
|
134543
|
+
ind.attributes["w:left"] = newVal;
|
|
134544
|
+
changed = true;
|
|
134545
|
+
}
|
|
134546
|
+
}
|
|
134547
|
+
if (indents.hanging != null) {
|
|
134548
|
+
const newVal = String(indents.hanging);
|
|
134549
|
+
if (ind.attributes["w:hanging"] !== newVal) {
|
|
134550
|
+
ind.attributes["w:hanging"] = newVal;
|
|
134551
|
+
changed = true;
|
|
134552
|
+
}
|
|
134553
|
+
if (ind.attributes["w:firstLine"] != null) {
|
|
134554
|
+
delete ind.attributes["w:firstLine"];
|
|
134555
|
+
changed = true;
|
|
134556
|
+
}
|
|
134557
|
+
}
|
|
134558
|
+
if (indents.firstLine != null) {
|
|
134559
|
+
const newVal = String(indents.firstLine);
|
|
134560
|
+
if (ind.attributes["w:firstLine"] !== newVal) {
|
|
134561
|
+
ind.attributes["w:firstLine"] = newVal;
|
|
134562
|
+
changed = true;
|
|
134563
|
+
}
|
|
134564
|
+
if (ind.attributes["w:hanging"] != null) {
|
|
134565
|
+
delete ind.attributes["w:hanging"];
|
|
134566
|
+
changed = true;
|
|
134567
|
+
}
|
|
134568
|
+
}
|
|
134569
|
+
return changed;
|
|
134570
|
+
}
|
|
134571
|
+
function mutateLevelTrailingCharacter(lvlEl, trailingCharacter) {
|
|
134572
|
+
return setChildAttr(lvlEl, "w:suff", trailingCharacter);
|
|
134573
|
+
}
|
|
134574
|
+
function mutateLevelMarkerFont(lvlEl, fontFamily$1) {
|
|
134575
|
+
const rPr = findOrCreateChild(lvlEl, "w:rPr");
|
|
134576
|
+
const rFonts = rPr.elements.find((el) => el.name === "w:rFonts");
|
|
134577
|
+
if (rFonts) {
|
|
134578
|
+
const attrs = rFonts.attributes || {};
|
|
134579
|
+
if (attrs["w:ascii"] === fontFamily$1 && attrs["w:hAnsi"] === fontFamily$1 && attrs["w:eastAsia"] === fontFamily$1 && attrs["w:cs"] === fontFamily$1)
|
|
134580
|
+
return false;
|
|
134581
|
+
rFonts.attributes = {
|
|
134582
|
+
...rFonts.attributes,
|
|
134583
|
+
"w:ascii": fontFamily$1,
|
|
134584
|
+
"w:hAnsi": fontFamily$1,
|
|
134585
|
+
"w:eastAsia": fontFamily$1,
|
|
134586
|
+
"w:cs": fontFamily$1
|
|
134587
|
+
};
|
|
134588
|
+
return true;
|
|
134589
|
+
}
|
|
134590
|
+
rPr.elements.push({
|
|
134591
|
+
type: "element",
|
|
134592
|
+
name: "w:rFonts",
|
|
134593
|
+
attributes: {
|
|
134594
|
+
"w:ascii": fontFamily$1,
|
|
134595
|
+
"w:hAnsi": fontFamily$1,
|
|
134596
|
+
"w:eastAsia": fontFamily$1,
|
|
134597
|
+
"w:cs": fontFamily$1
|
|
134598
|
+
}
|
|
134599
|
+
});
|
|
134600
|
+
return true;
|
|
134601
|
+
}
|
|
134602
|
+
function setLevelNumberingFormat(editor, abstractNumId, ilvl, params$1) {
|
|
134603
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134604
|
+
if (!resolved)
|
|
134605
|
+
return false;
|
|
134606
|
+
const changed = mutateLevelNumberingFormat(resolved.lvlEl, params$1);
|
|
134607
|
+
if (changed)
|
|
134608
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134609
|
+
return changed;
|
|
134610
|
+
}
|
|
134611
|
+
function setLevelBulletMarker(editor, abstractNumId, ilvl, markerText) {
|
|
134612
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134613
|
+
if (!resolved)
|
|
134614
|
+
return false;
|
|
134615
|
+
const changed = mutateLevelBulletMarker(resolved.lvlEl, markerText);
|
|
134616
|
+
if (changed)
|
|
134617
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134618
|
+
return changed;
|
|
134619
|
+
}
|
|
134620
|
+
function setLevelPictureBulletId(editor, abstractNumId, ilvl, pictureBulletId) {
|
|
134621
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134622
|
+
if (!resolved)
|
|
134623
|
+
return false;
|
|
134624
|
+
const changed = mutateLevelPictureBulletId(resolved.lvlEl, pictureBulletId);
|
|
134625
|
+
if (changed)
|
|
134626
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134627
|
+
return changed;
|
|
134628
|
+
}
|
|
134629
|
+
function setLevelAlignment(editor, abstractNumId, ilvl, alignment$1) {
|
|
134630
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134631
|
+
if (!resolved)
|
|
134632
|
+
return false;
|
|
134633
|
+
const changed = mutateLevelAlignment(resolved.lvlEl, alignment$1);
|
|
134634
|
+
if (changed)
|
|
134635
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134636
|
+
return changed;
|
|
134637
|
+
}
|
|
134638
|
+
function setLevelIndents(editor, abstractNumId, ilvl, indents) {
|
|
134639
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134640
|
+
if (!resolved)
|
|
134641
|
+
return false;
|
|
134642
|
+
const changed = mutateLevelIndents(resolved.lvlEl, indents);
|
|
134643
|
+
if (changed)
|
|
134644
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134645
|
+
return changed;
|
|
134646
|
+
}
|
|
134647
|
+
function setLevelTrailingCharacter(editor, abstractNumId, ilvl, trailingCharacter) {
|
|
134648
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134649
|
+
if (!resolved)
|
|
134650
|
+
return false;
|
|
134651
|
+
const changed = mutateLevelTrailingCharacter(resolved.lvlEl, trailingCharacter);
|
|
134652
|
+
if (changed)
|
|
134653
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134654
|
+
return changed;
|
|
134655
|
+
}
|
|
134656
|
+
function setLevelMarkerFont(editor, abstractNumId, ilvl, fontFamily$1) {
|
|
134657
|
+
const resolved = resolveAbstractLevel(editor, abstractNumId, ilvl);
|
|
134658
|
+
if (!resolved)
|
|
134659
|
+
return false;
|
|
134660
|
+
const changed = mutateLevelMarkerFont(resolved.lvlEl, fontFamily$1);
|
|
134661
|
+
if (changed)
|
|
134662
|
+
syncAbstractAndEmit(editor, abstractNumId, resolved.abstract);
|
|
134663
|
+
return changed;
|
|
134664
|
+
}
|
|
134665
|
+
function hasLevelOverride(editor, numId, ilvl) {
|
|
134666
|
+
const numDef = editor.converter.numbering?.definitions?.[numId];
|
|
134667
|
+
if (!numDef?.elements)
|
|
134668
|
+
return false;
|
|
134669
|
+
const ilvlStr = String(ilvl);
|
|
134670
|
+
return numDef.elements.some((el) => el.name === "w:lvlOverride" && el.attributes?.["w:ilvl"] === ilvlStr);
|
|
134671
|
+
}
|
|
134672
|
+
function clearLevelOverride(editor, numId, ilvl) {
|
|
134673
|
+
if (!hasLevelOverride(editor, numId, ilvl))
|
|
134674
|
+
return false;
|
|
134675
|
+
removeLvlOverride(editor, numId, ilvl);
|
|
134676
|
+
return true;
|
|
134677
|
+
}
|
|
134678
|
+
function captureTemplate(editor, abstractNumId, levels) {
|
|
134679
|
+
const abstract = editor.converter.numbering?.abstracts?.[abstractNumId];
|
|
134680
|
+
if (!abstract?.elements)
|
|
134681
|
+
return null;
|
|
134682
|
+
const lvlElements = abstract.elements.filter((el) => el.name === "w:lvl");
|
|
134683
|
+
const captured = [];
|
|
134684
|
+
for (const lvlEl of lvlElements) {
|
|
134685
|
+
const ilvl = Number(lvlEl.attributes?.["w:ilvl"]);
|
|
134686
|
+
if (levels && !levels.includes(ilvl))
|
|
134687
|
+
continue;
|
|
134688
|
+
captured.push(readLevelProperties(lvlEl, ilvl));
|
|
134689
|
+
}
|
|
134690
|
+
captured.sort((a2, b$1) => a2.level - b$1.level);
|
|
134691
|
+
return {
|
|
134692
|
+
version: 1,
|
|
134693
|
+
levels: captured
|
|
134694
|
+
};
|
|
134695
|
+
}
|
|
134696
|
+
function applyTemplateToAbstract(editor, abstractNumId, template, levels) {
|
|
134697
|
+
const abstract = editor.converter.numbering?.abstracts?.[abstractNumId];
|
|
134698
|
+
if (!abstract?.elements)
|
|
134699
|
+
return {
|
|
134700
|
+
changed: false,
|
|
134701
|
+
error: "ABSTRACT_NOT_FOUND"
|
|
134702
|
+
};
|
|
134703
|
+
const templateByLevel = /* @__PURE__ */ new Map;
|
|
134704
|
+
for (const entry of template.levels)
|
|
134705
|
+
templateByLevel.set(entry.level, entry);
|
|
134706
|
+
const targetLevels = levels ?? template.levels.map((l) => l.level);
|
|
134707
|
+
for (const ilvl of targetLevels)
|
|
134708
|
+
if (!templateByLevel.has(ilvl))
|
|
134709
|
+
return {
|
|
134710
|
+
changed: false,
|
|
134711
|
+
error: "LEVEL_NOT_IN_TEMPLATE"
|
|
134712
|
+
};
|
|
134713
|
+
for (const ilvl of targetLevels)
|
|
134714
|
+
if (!findLevelElement(abstract, ilvl))
|
|
134715
|
+
return {
|
|
134716
|
+
changed: false,
|
|
134717
|
+
error: "LEVEL_NOT_IN_ABSTRACT"
|
|
134718
|
+
};
|
|
134719
|
+
let anyChanged = false;
|
|
134720
|
+
for (const ilvl of targetLevels) {
|
|
134721
|
+
const entry = templateByLevel.get(ilvl);
|
|
134722
|
+
const lvlEl = findLevelElement(abstract, ilvl);
|
|
134723
|
+
if (entry.numFmt != null || entry.lvlText != null) {
|
|
134724
|
+
const fmtParams = {};
|
|
134725
|
+
if (entry.numFmt != null)
|
|
134726
|
+
fmtParams.numFmt = entry.numFmt;
|
|
134727
|
+
if (entry.lvlText != null)
|
|
134728
|
+
fmtParams.lvlText = entry.lvlText;
|
|
134729
|
+
if (entry.start != null)
|
|
134730
|
+
fmtParams.start = entry.start;
|
|
134731
|
+
if (fmtParams.numFmt != null && fmtParams.lvlText != null)
|
|
134732
|
+
anyChanged = mutateLevelNumberingFormat(lvlEl, fmtParams) || anyChanged;
|
|
134733
|
+
else {
|
|
134734
|
+
if (fmtParams.numFmt != null)
|
|
134735
|
+
anyChanged = setChildAttr(lvlEl, "w:numFmt", fmtParams.numFmt) || anyChanged;
|
|
134736
|
+
if (fmtParams.lvlText != null)
|
|
134737
|
+
anyChanged = setChildAttr(lvlEl, "w:lvlText", fmtParams.lvlText) || anyChanged;
|
|
134738
|
+
if (fmtParams.start != null)
|
|
134739
|
+
anyChanged = setChildAttr(lvlEl, "w:start", String(fmtParams.start)) || anyChanged;
|
|
134740
|
+
}
|
|
134741
|
+
} else if (entry.start != null)
|
|
134742
|
+
anyChanged = setChildAttr(lvlEl, "w:start", String(entry.start)) || anyChanged;
|
|
134743
|
+
if (entry.alignment != null)
|
|
134744
|
+
anyChanged = mutateLevelAlignment(lvlEl, entry.alignment) || anyChanged;
|
|
134745
|
+
if (entry.indents != null)
|
|
134746
|
+
anyChanged = mutateLevelIndents(lvlEl, entry.indents) || anyChanged;
|
|
134747
|
+
if (entry.trailingCharacter != null)
|
|
134748
|
+
anyChanged = mutateLevelTrailingCharacter(lvlEl, entry.trailingCharacter) || anyChanged;
|
|
134749
|
+
if (entry.markerFont != null)
|
|
134750
|
+
anyChanged = mutateLevelMarkerFont(lvlEl, entry.markerFont) || anyChanged;
|
|
134751
|
+
if (entry.pictureBulletId != null)
|
|
134752
|
+
anyChanged = mutateLevelPictureBulletId(lvlEl, entry.pictureBulletId) || anyChanged;
|
|
134753
|
+
}
|
|
134754
|
+
if (anyChanged)
|
|
134755
|
+
syncAbstractAndEmit(editor, abstractNumId, abstract);
|
|
134756
|
+
return { changed: anyChanged };
|
|
134757
|
+
}
|
|
134758
|
+
function buildOrderedPresetTemplate(config2) {
|
|
134759
|
+
const levels = [];
|
|
134760
|
+
for (let ilvl = 0;ilvl <= 8; ilvl++)
|
|
134761
|
+
levels.push({
|
|
134762
|
+
level: ilvl,
|
|
134763
|
+
numFmt: config2.numFmt,
|
|
134764
|
+
lvlText: `%${ilvl + 1}${config2.lvlTextSuffix}`,
|
|
134765
|
+
start: 1,
|
|
134766
|
+
alignment: "left",
|
|
134767
|
+
indents: {
|
|
134768
|
+
left: INDENT_PER_LEVEL_TWIPS * (ilvl + 1),
|
|
134769
|
+
hanging: HANGING_INDENT_TWIPS
|
|
134770
|
+
}
|
|
134771
|
+
});
|
|
134772
|
+
return {
|
|
134773
|
+
version: 1,
|
|
134774
|
+
levels
|
|
134775
|
+
};
|
|
134776
|
+
}
|
|
134777
|
+
function buildBulletPresetTemplate(config2) {
|
|
134778
|
+
const levels = [];
|
|
134779
|
+
for (let ilvl = 0;ilvl <= 8; ilvl++)
|
|
134780
|
+
levels.push({
|
|
134781
|
+
level: ilvl,
|
|
134782
|
+
numFmt: "bullet",
|
|
134783
|
+
lvlText: config2.markerText,
|
|
134784
|
+
start: 1,
|
|
134785
|
+
alignment: "left",
|
|
134786
|
+
markerFont: config2.fontFamily,
|
|
134787
|
+
indents: {
|
|
134788
|
+
left: INDENT_PER_LEVEL_TWIPS * (ilvl + 1),
|
|
134789
|
+
hanging: HANGING_INDENT_TWIPS
|
|
134790
|
+
}
|
|
134791
|
+
});
|
|
134792
|
+
return {
|
|
134793
|
+
version: 1,
|
|
134794
|
+
levels
|
|
134795
|
+
};
|
|
134796
|
+
}
|
|
134797
|
+
function getPresetTemplate(presetId) {
|
|
134798
|
+
return PRESET_TEMPLATES[presetId];
|
|
134799
|
+
}
|
|
134800
|
+
function toListsFailure(code$1, message, details) {
|
|
134801
|
+
return {
|
|
134802
|
+
success: false,
|
|
134803
|
+
failure: {
|
|
134804
|
+
code: code$1,
|
|
134805
|
+
message,
|
|
134806
|
+
details
|
|
134807
|
+
}
|
|
134808
|
+
};
|
|
134809
|
+
}
|
|
134810
|
+
function dispatchEditorTransaction$1(editor, tr) {
|
|
134811
|
+
if (typeof editor.dispatch === "function") {
|
|
134812
|
+
editor.dispatch(tr);
|
|
134813
|
+
return;
|
|
134814
|
+
}
|
|
134815
|
+
if (typeof editor.view?.dispatch === "function")
|
|
134816
|
+
editor.view.dispatch(tr);
|
|
134817
|
+
}
|
|
134818
|
+
function validateLevel(level) {
|
|
134819
|
+
if (level < 0 || level > 8)
|
|
134820
|
+
return toListsFailure("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level });
|
|
134821
|
+
return null;
|
|
134822
|
+
}
|
|
134823
|
+
function validateLevelsArray(levels) {
|
|
134824
|
+
if (!levels)
|
|
134825
|
+
return null;
|
|
134826
|
+
for (const lvl of levels)
|
|
134827
|
+
if (lvl < 0 || lvl > 8)
|
|
134828
|
+
return toListsFailure("LEVEL_OUT_OF_RANGE", "Each level must be between 0 and 8.", { level: lvl });
|
|
134829
|
+
if (new Set(levels).size !== levels.length)
|
|
134830
|
+
return toListsFailure("INVALID_INPUT", "levels must contain unique values.", { levels });
|
|
134831
|
+
for (let i$1 = 1;i$1 < levels.length; i$1++)
|
|
134832
|
+
if (levels[i$1] <= levels[i$1 - 1])
|
|
134833
|
+
return toListsFailure("INVALID_INPUT", "levels must be sorted in ascending order.", { levels });
|
|
134834
|
+
return null;
|
|
134835
|
+
}
|
|
134836
|
+
function preflightTemplateLevels(template, levels, target) {
|
|
134837
|
+
const templateLevelSet = new Set(template.levels.map((l) => l.level));
|
|
134838
|
+
const targetLevels = levels ?? template.levels.map((l) => l.level);
|
|
134839
|
+
for (const ilvl of targetLevels)
|
|
134840
|
+
if (!templateLevelSet.has(ilvl))
|
|
134841
|
+
return toListsFailure("INVALID_INPUT", "Requested level does not exist in the template.", { target });
|
|
134842
|
+
return null;
|
|
134843
|
+
}
|
|
134844
|
+
function toApplyTemplateError(error, target) {
|
|
134845
|
+
switch (error) {
|
|
134846
|
+
case "ABSTRACT_NOT_FOUND":
|
|
134847
|
+
return toListsFailure("INVALID_TARGET", "Abstract numbering definition not found.", { target });
|
|
134848
|
+
case "LEVEL_NOT_IN_TEMPLATE":
|
|
134849
|
+
return toListsFailure("INVALID_INPUT", "Requested level does not exist in the template.", { target });
|
|
134850
|
+
case "LEVEL_NOT_IN_ABSTRACT":
|
|
134851
|
+
return toListsFailure("INVALID_TARGET", "Requested level does not exist in the abstract definition.", { target });
|
|
134852
|
+
default:
|
|
134853
|
+
return toListsFailure("INVALID_INPUT", `Template application failed: ${error}.`, { target });
|
|
134854
|
+
}
|
|
134855
|
+
}
|
|
134856
|
+
function resolveTargetAbstract(editor, target) {
|
|
134857
|
+
const resolved = resolveListItem(editor, target);
|
|
134858
|
+
if (resolved.numId == null)
|
|
134859
|
+
return {
|
|
134860
|
+
ok: false,
|
|
134861
|
+
failure: toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target })
|
|
134862
|
+
};
|
|
134863
|
+
const abstractNumId = getAbstractNumId(editor, resolved.numId);
|
|
134864
|
+
if (abstractNumId == null)
|
|
134865
|
+
return {
|
|
134866
|
+
ok: false,
|
|
134867
|
+
failure: toListsFailure("INVALID_TARGET", "Could not resolve abstract definition for target.", { target })
|
|
134868
|
+
};
|
|
134869
|
+
return {
|
|
134870
|
+
ok: true,
|
|
134871
|
+
resolved,
|
|
134872
|
+
abstractNumId,
|
|
134873
|
+
numId: resolved.numId
|
|
134874
|
+
};
|
|
134875
|
+
}
|
|
134876
|
+
function executeSingleLevelMutation(editor, operationId, target, level, options, mutate) {
|
|
134877
|
+
rejectTrackedMode(operationId, options);
|
|
134878
|
+
const levelError = validateLevel(level);
|
|
134879
|
+
if (levelError)
|
|
134880
|
+
return levelError;
|
|
134881
|
+
const targetResult = resolveTargetAbstract(editor, target);
|
|
134882
|
+
if (!targetResult.ok)
|
|
134883
|
+
return targetResult.failure;
|
|
134884
|
+
if (!LevelFormattingHelpers.hasLevel(editor, targetResult.abstractNumId, level))
|
|
134885
|
+
return toListsFailure("LEVEL_NOT_FOUND", `Level ${level} does not exist in the abstract definition.`, {
|
|
134886
|
+
target,
|
|
134887
|
+
level
|
|
134888
|
+
});
|
|
134889
|
+
if (options?.dryRun)
|
|
134890
|
+
return {
|
|
134891
|
+
success: true,
|
|
134892
|
+
item: targetResult.resolved.address
|
|
134893
|
+
};
|
|
134894
|
+
if (executeDomainCommand(editor, () => {
|
|
134895
|
+
if (!mutate(targetResult.abstractNumId, level))
|
|
134896
|
+
return false;
|
|
134897
|
+
dispatchEditorTransaction$1(editor, editor.state.tr);
|
|
134898
|
+
return true;
|
|
134899
|
+
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
134900
|
+
return toListsFailure("NO_OP", `${operationId}: values already match.`, { target });
|
|
134901
|
+
return {
|
|
134902
|
+
success: true,
|
|
134903
|
+
item: targetResult.resolved.address
|
|
134904
|
+
};
|
|
134905
|
+
}
|
|
134906
|
+
function listsApplyTemplateWrapper(editor, input2, options) {
|
|
134907
|
+
rejectTrackedMode("lists.applyTemplate", options);
|
|
134908
|
+
if (input2.template.version !== 1)
|
|
134909
|
+
return toListsFailure("INVALID_INPUT", "Unsupported template version.", { version: input2.template.version });
|
|
134910
|
+
const levelsError = validateLevelsArray(input2.levels);
|
|
134911
|
+
if (levelsError)
|
|
134912
|
+
return levelsError;
|
|
134913
|
+
const targetResult = resolveTargetAbstract(editor, input2.target);
|
|
134914
|
+
if (!targetResult.ok)
|
|
134915
|
+
return targetResult.failure;
|
|
134916
|
+
const preflightError = preflightTemplateLevels(input2.template, input2.levels, input2.target);
|
|
134917
|
+
if (preflightError)
|
|
134918
|
+
return preflightError;
|
|
134919
|
+
if (options?.dryRun)
|
|
134920
|
+
return {
|
|
134921
|
+
success: true,
|
|
134922
|
+
item: targetResult.resolved.address
|
|
134923
|
+
};
|
|
134924
|
+
let applyError;
|
|
134925
|
+
const receipt2 = executeDomainCommand(editor, () => {
|
|
134926
|
+
const result = LevelFormattingHelpers.applyTemplateToAbstract(editor, targetResult.abstractNumId, input2.template, input2.levels);
|
|
134927
|
+
if (result.error) {
|
|
134928
|
+
applyError = result.error;
|
|
134929
|
+
return false;
|
|
134930
|
+
}
|
|
134931
|
+
if (!result.changed)
|
|
134932
|
+
return false;
|
|
134933
|
+
dispatchEditorTransaction$1(editor, editor.state.tr);
|
|
134934
|
+
return true;
|
|
134935
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
134936
|
+
if (applyError)
|
|
134937
|
+
return toApplyTemplateError(applyError, input2.target);
|
|
134938
|
+
if (receipt2.steps[0]?.effect !== "changed")
|
|
134939
|
+
return toListsFailure("NO_OP", "All template levels already match.", { target: input2.target });
|
|
134940
|
+
return {
|
|
134941
|
+
success: true,
|
|
134942
|
+
item: targetResult.resolved.address
|
|
134943
|
+
};
|
|
134944
|
+
}
|
|
134945
|
+
function listsApplyPresetWrapper(editor, input2, options) {
|
|
134946
|
+
rejectTrackedMode("lists.applyPreset", options);
|
|
134947
|
+
const template = LevelFormattingHelpers.getPresetTemplate(input2.preset);
|
|
134948
|
+
if (!template)
|
|
134949
|
+
return toListsFailure("INVALID_INPUT", `Unknown preset: ${input2.preset}.`, { preset: input2.preset });
|
|
134950
|
+
const levelsError = validateLevelsArray(input2.levels);
|
|
134951
|
+
if (levelsError)
|
|
134952
|
+
return levelsError;
|
|
134953
|
+
const targetResult = resolveTargetAbstract(editor, input2.target);
|
|
134954
|
+
if (!targetResult.ok)
|
|
134955
|
+
return targetResult.failure;
|
|
134956
|
+
const preflightError = preflightTemplateLevels(template, input2.levels, input2.target);
|
|
134957
|
+
if (preflightError)
|
|
134958
|
+
return preflightError;
|
|
134959
|
+
if (options?.dryRun)
|
|
134960
|
+
return {
|
|
134961
|
+
success: true,
|
|
134962
|
+
item: targetResult.resolved.address
|
|
134963
|
+
};
|
|
134964
|
+
let applyError;
|
|
134965
|
+
const receipt2 = executeDomainCommand(editor, () => {
|
|
134966
|
+
const result = LevelFormattingHelpers.applyTemplateToAbstract(editor, targetResult.abstractNumId, template, input2.levels);
|
|
134967
|
+
if (result.error) {
|
|
134968
|
+
applyError = result.error;
|
|
134969
|
+
return false;
|
|
134970
|
+
}
|
|
134971
|
+
if (!result.changed)
|
|
134972
|
+
return false;
|
|
134973
|
+
dispatchEditorTransaction$1(editor, editor.state.tr);
|
|
134974
|
+
return true;
|
|
134975
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
134976
|
+
if (applyError)
|
|
134977
|
+
return toApplyTemplateError(applyError, input2.target);
|
|
134978
|
+
if (receipt2.steps[0]?.effect !== "changed")
|
|
134979
|
+
return toListsFailure("NO_OP", "All preset levels already match.", { target: input2.target });
|
|
134980
|
+
return {
|
|
134981
|
+
success: true,
|
|
134982
|
+
item: targetResult.resolved.address
|
|
134983
|
+
};
|
|
134984
|
+
}
|
|
134985
|
+
function listsCaptureTemplateWrapper(editor, input2) {
|
|
134986
|
+
const levelsError = validateLevelsArray(input2.levels);
|
|
134987
|
+
if (levelsError)
|
|
134988
|
+
return levelsError;
|
|
134989
|
+
const targetResult = resolveTargetAbstract(editor, input2.target);
|
|
134990
|
+
if (!targetResult.ok)
|
|
134991
|
+
return targetResult.failure;
|
|
134992
|
+
const template = LevelFormattingHelpers.captureTemplate(editor, targetResult.abstractNumId, input2.levels);
|
|
134993
|
+
if (!template)
|
|
134994
|
+
return toListsFailure("INVALID_TARGET", "Could not capture template from target.", { target: input2.target });
|
|
134995
|
+
return {
|
|
134996
|
+
success: true,
|
|
134997
|
+
template
|
|
134998
|
+
};
|
|
134999
|
+
}
|
|
135000
|
+
function listsSetLevelNumberingWrapper(editor, input2, options) {
|
|
135001
|
+
return executeSingleLevelMutation(editor, "lists.setLevelNumbering", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers.setLevelNumberingFormat(editor, abstractNumId, ilvl, {
|
|
135002
|
+
numFmt: input2.numFmt,
|
|
135003
|
+
lvlText: input2.lvlText,
|
|
135004
|
+
start: input2.start
|
|
135005
|
+
}));
|
|
135006
|
+
}
|
|
135007
|
+
function listsSetLevelBulletWrapper(editor, input2, options) {
|
|
135008
|
+
return executeSingleLevelMutation(editor, "lists.setLevelBullet", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers.setLevelBulletMarker(editor, abstractNumId, ilvl, input2.markerText));
|
|
135009
|
+
}
|
|
135010
|
+
function listsSetLevelPictureBulletWrapper(editor, input2, options) {
|
|
135011
|
+
rejectTrackedMode("lists.setLevelPictureBullet", options);
|
|
135012
|
+
const converter = editor.converter;
|
|
135013
|
+
if (converter?.convertedXml && !converter.convertedXml["word/numbering.xml"])
|
|
135014
|
+
return toListsFailure("CAPABILITY_UNAVAILABLE", "Picture bullets require a numbering definition (word/numbering.xml).", { target: input2.target });
|
|
135015
|
+
return executeSingleLevelMutation(editor, "lists.setLevelPictureBullet", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers.setLevelPictureBulletId(editor, abstractNumId, ilvl, input2.pictureBulletId));
|
|
135016
|
+
}
|
|
135017
|
+
function listsSetLevelAlignmentWrapper(editor, input2, options) {
|
|
135018
|
+
return executeSingleLevelMutation(editor, "lists.setLevelAlignment", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers.setLevelAlignment(editor, abstractNumId, ilvl, input2.alignment));
|
|
135019
|
+
}
|
|
135020
|
+
function listsSetLevelIndentsWrapper(editor, input2, options) {
|
|
135021
|
+
const hasLeft = input2.left != null;
|
|
135022
|
+
const hasHanging = input2.hanging != null;
|
|
135023
|
+
const hasFirstLine = input2.firstLine != null;
|
|
135024
|
+
if (!hasLeft && !hasHanging && !hasFirstLine)
|
|
135025
|
+
return toListsFailure("INVALID_INPUT", "At least one indent property is required.", {});
|
|
135026
|
+
if (hasHanging && hasFirstLine)
|
|
135027
|
+
return toListsFailure("INVALID_INPUT", "hanging and firstLine are mutually exclusive.", {});
|
|
135028
|
+
return executeSingleLevelMutation(editor, "lists.setLevelIndents", input2.target, input2.level, options, (abstractNumId, ilvl) => {
|
|
135029
|
+
const indents = {};
|
|
135030
|
+
if (hasLeft)
|
|
135031
|
+
indents.left = input2.left;
|
|
135032
|
+
if (hasHanging)
|
|
135033
|
+
indents.hanging = input2.hanging;
|
|
135034
|
+
if (hasFirstLine)
|
|
135035
|
+
indents.firstLine = input2.firstLine;
|
|
135036
|
+
return LevelFormattingHelpers.setLevelIndents(editor, abstractNumId, ilvl, indents);
|
|
135037
|
+
});
|
|
135038
|
+
}
|
|
135039
|
+
function listsSetLevelTrailingCharacterWrapper(editor, input2, options) {
|
|
135040
|
+
return executeSingleLevelMutation(editor, "lists.setLevelTrailingCharacter", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers.setLevelTrailingCharacter(editor, abstractNumId, ilvl, input2.trailingCharacter));
|
|
135041
|
+
}
|
|
135042
|
+
function listsSetLevelMarkerFontWrapper(editor, input2, options) {
|
|
135043
|
+
return executeSingleLevelMutation(editor, "lists.setLevelMarkerFont", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers.setLevelMarkerFont(editor, abstractNumId, ilvl, input2.fontFamily));
|
|
135044
|
+
}
|
|
135045
|
+
function listsClearLevelOverridesWrapper(editor, input2, options) {
|
|
135046
|
+
rejectTrackedMode("lists.clearLevelOverrides", options);
|
|
135047
|
+
const levelError = validateLevel(input2.level);
|
|
135048
|
+
if (levelError)
|
|
135049
|
+
return levelError;
|
|
135050
|
+
const resolved = resolveListItem(editor, input2.target);
|
|
135051
|
+
if (resolved.numId == null)
|
|
135052
|
+
return toListsFailure("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
135053
|
+
if (options?.dryRun)
|
|
135054
|
+
return {
|
|
135055
|
+
success: true,
|
|
135056
|
+
item: resolved.address
|
|
135057
|
+
};
|
|
135058
|
+
if (!LevelFormattingHelpers.hasLevelOverride(editor, resolved.numId, input2.level))
|
|
135059
|
+
return toListsFailure("NO_OP", "No override exists for this level.", {
|
|
135060
|
+
target: input2.target,
|
|
135061
|
+
level: input2.level
|
|
135062
|
+
});
|
|
135063
|
+
if (executeDomainCommand(editor, () => {
|
|
135064
|
+
LevelFormattingHelpers.clearLevelOverride(editor, resolved.numId, input2.level);
|
|
135065
|
+
dispatchEditorTransaction$1(editor, editor.state.tr);
|
|
135066
|
+
return true;
|
|
135067
|
+
}, { expectedRevision: options?.expectedRevision }).steps[0]?.effect !== "changed")
|
|
135068
|
+
return toListsFailure("NO_OP", "clearLevelOverrides could not be applied.", { target: input2.target });
|
|
135069
|
+
return {
|
|
135070
|
+
success: true,
|
|
135071
|
+
item: resolved.address
|
|
135072
|
+
};
|
|
135073
|
+
}
|
|
133388
135074
|
function previewPlan(editor, input2) {
|
|
133389
135075
|
checkRevision(editor, input2.expectedRevision);
|
|
133390
135076
|
if (!input2.steps?.length)
|
|
@@ -140696,7 +142382,18 @@ function assembleDocumentApiAdapters(editor) {
|
|
|
140696
142382
|
continuePrevious: (input2, options) => listsContinuePreviousWrapper(editor, input2, options),
|
|
140697
142383
|
canContinuePrevious: (input2) => listsCanContinuePreviousWrapper(editor, input2),
|
|
140698
142384
|
setLevelRestart: (input2, options) => listsSetLevelRestartWrapper(editor, input2, options),
|
|
140699
|
-
convertToText: (input2, options) => listsConvertToTextWrapper(editor, input2, options)
|
|
142385
|
+
convertToText: (input2, options) => listsConvertToTextWrapper(editor, input2, options),
|
|
142386
|
+
applyTemplate: (input2, options) => listsApplyTemplateWrapper(editor, input2, options),
|
|
142387
|
+
applyPreset: (input2, options) => listsApplyPresetWrapper(editor, input2, options),
|
|
142388
|
+
captureTemplate: (input2) => listsCaptureTemplateWrapper(editor, input2),
|
|
142389
|
+
setLevelNumbering: (input2, options) => listsSetLevelNumberingWrapper(editor, input2, options),
|
|
142390
|
+
setLevelBullet: (input2, options) => listsSetLevelBulletWrapper(editor, input2, options),
|
|
142391
|
+
setLevelPictureBullet: (input2, options) => listsSetLevelPictureBulletWrapper(editor, input2, options),
|
|
142392
|
+
setLevelAlignment: (input2, options) => listsSetLevelAlignmentWrapper(editor, input2, options),
|
|
142393
|
+
setLevelIndents: (input2, options) => listsSetLevelIndentsWrapper(editor, input2, options),
|
|
142394
|
+
setLevelTrailingCharacter: (input2, options) => listsSetLevelTrailingCharacterWrapper(editor, input2, options),
|
|
142395
|
+
setLevelMarkerFont: (input2, options) => listsSetLevelMarkerFontWrapper(editor, input2, options),
|
|
142396
|
+
clearLevelOverrides: (input2, options) => listsClearLevelOverridesWrapper(editor, input2, options)
|
|
140700
142397
|
},
|
|
140701
142398
|
sections: {
|
|
140702
142399
|
list: (query2) => sectionsListAdapter(editor, query2),
|
|
@@ -141729,6 +143426,28 @@ function computeWrapExclusion(image2, lineY, lineHeight$1) {
|
|
|
141729
143426
|
return null;
|
|
141730
143427
|
}
|
|
141731
143428
|
}
|
|
143429
|
+
function mapWordFamilyFallback(wordFamily) {
|
|
143430
|
+
if (!wordFamily)
|
|
143431
|
+
return DEFAULT_GENERIC_FALLBACK2;
|
|
143432
|
+
return FONT_FAMILY_FALLBACKS2[wordFamily.toLowerCase()] || "sans-serif";
|
|
143433
|
+
}
|
|
143434
|
+
function toCssFontFamily(fontName, options = {}) {
|
|
143435
|
+
if (!fontName || typeof fontName !== "string")
|
|
143436
|
+
return fontName;
|
|
143437
|
+
let trimmed = fontName.trim();
|
|
143438
|
+
if (!trimmed || trimmed.includes(","))
|
|
143439
|
+
return trimmed;
|
|
143440
|
+
if (trimmed.includes(";"))
|
|
143441
|
+
trimmed = splitOutsideQuotes(trimmed, ";").join(", ");
|
|
143442
|
+
const { fallback, wordFamily } = options;
|
|
143443
|
+
const fallbackParts = normalizeParts(fallback ?? (wordFamily ? mapWordFamilyFallback(wordFamily) : undefined) ?? "sans-serif");
|
|
143444
|
+
if (fallbackParts.length === 0)
|
|
143445
|
+
return trimmed;
|
|
143446
|
+
const normalizedName = trimmed.toLowerCase();
|
|
143447
|
+
if (fallbackParts.some((part) => part.toLowerCase() === normalizedName))
|
|
143448
|
+
return fallbackParts.join(", ");
|
|
143449
|
+
return [trimmed, ...fallbackParts].join(", ");
|
|
143450
|
+
}
|
|
141732
143451
|
function U() {
|
|
141733
143452
|
if (typeof DOMParser < "u")
|
|
141734
143453
|
return new DOMParser;
|
|
@@ -142145,6 +143864,318 @@ function k0(t) {
|
|
|
142145
143864
|
${o}
|
|
142146
143865
|
</svg>`;
|
|
142147
143866
|
}
|
|
143867
|
+
function assertPmPositions(run2, context) {
|
|
143868
|
+
const hasPmStart = run2.pmStart != null;
|
|
143869
|
+
const hasPmEnd = run2.pmEnd != null;
|
|
143870
|
+
globalValidationStats.record(hasPmStart, hasPmEnd);
|
|
143871
|
+
if (!isDevelopment())
|
|
143872
|
+
return;
|
|
143873
|
+
if (!hasPmStart || !hasPmEnd) {
|
|
143874
|
+
const textPreview = run2.text ? run2.text.substring(0, 20) + (run2.text.length > 20 ? "..." : "") : "(no text)";
|
|
143875
|
+
console.warn(`[PmPositionValidation] Missing PM positions in ${context}:`, {
|
|
143876
|
+
hasPmStart,
|
|
143877
|
+
hasPmEnd,
|
|
143878
|
+
textPreview,
|
|
143879
|
+
fallback: "Will use PM DOM coordinates for cursor positioning"
|
|
143880
|
+
});
|
|
143881
|
+
}
|
|
143882
|
+
}
|
|
143883
|
+
function assertFragmentPmPositions(fragment, _context) {
|
|
143884
|
+
const hasPmStart = fragment.pmStart != null;
|
|
143885
|
+
const hasPmEnd = fragment.pmEnd != null;
|
|
143886
|
+
globalValidationStats.record(hasPmStart, hasPmEnd);
|
|
143887
|
+
}
|
|
143888
|
+
function generateRulerDefinition(config2) {
|
|
143889
|
+
const ppi = config2.ppi ?? DEFAULT_PPI;
|
|
143890
|
+
const heightPx = config2.heightPx ?? DEFAULT_RULER_HEIGHT;
|
|
143891
|
+
const { pageSize, pageMargins } = config2;
|
|
143892
|
+
if (!Number.isFinite(ppi) || ppi <= 0)
|
|
143893
|
+
throw new Error(`Invalid PPI: ${ppi}. Must be a positive finite number.`);
|
|
143894
|
+
if (!Number.isFinite(pageSize.width) || pageSize.width <= 0)
|
|
143895
|
+
throw new Error(`Invalid page width: ${pageSize.width}. Must be a positive finite number.`);
|
|
143896
|
+
if (!Number.isFinite(pageSize.height) || pageSize.height <= 0)
|
|
143897
|
+
throw new Error(`Invalid page height: ${pageSize.height}. Must be a positive finite number.`);
|
|
143898
|
+
if (!Number.isFinite(pageMargins.left) || pageMargins.left < 0)
|
|
143899
|
+
throw new Error(`Invalid left margin: ${pageMargins.left}. Must be a non-negative finite number.`);
|
|
143900
|
+
if (!Number.isFinite(pageMargins.right) || pageMargins.right < 0)
|
|
143901
|
+
throw new Error(`Invalid right margin: ${pageMargins.right}. Must be a non-negative finite number.`);
|
|
143902
|
+
if (pageMargins.left + pageMargins.right >= pageSize.width)
|
|
143903
|
+
throw new Error(`Invalid margins: left (${pageMargins.left}) + right (${pageMargins.right}) must be less than page width (${pageSize.width}).`);
|
|
143904
|
+
const widthPx = pageSize.width * ppi;
|
|
143905
|
+
const ticks = [];
|
|
143906
|
+
let currentX = 0;
|
|
143907
|
+
for (let inch = 0;inch < pageSize.width; inch++) {
|
|
143908
|
+
const remaining = pageSize.width - inch;
|
|
143909
|
+
ticks.push({
|
|
143910
|
+
size: "main",
|
|
143911
|
+
height: "20%",
|
|
143912
|
+
label: inch,
|
|
143913
|
+
x: currentX
|
|
143914
|
+
});
|
|
143915
|
+
currentX += TICK_SPACING_PX;
|
|
143916
|
+
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
143917
|
+
ticks.push({
|
|
143918
|
+
size: "eighth",
|
|
143919
|
+
height: "10%",
|
|
143920
|
+
x: currentX
|
|
143921
|
+
});
|
|
143922
|
+
currentX += TICK_SPACING_PX;
|
|
143923
|
+
}
|
|
143924
|
+
ticks.push({
|
|
143925
|
+
size: "half",
|
|
143926
|
+
height: "40%",
|
|
143927
|
+
x: currentX
|
|
143928
|
+
});
|
|
143929
|
+
currentX += TICK_SPACING_PX;
|
|
143930
|
+
if (remaining <= 0.5)
|
|
143931
|
+
break;
|
|
143932
|
+
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
143933
|
+
ticks.push({
|
|
143934
|
+
size: "eighth",
|
|
143935
|
+
height: "10%",
|
|
143936
|
+
x: currentX
|
|
143937
|
+
});
|
|
143938
|
+
currentX += TICK_SPACING_PX;
|
|
143939
|
+
}
|
|
143940
|
+
}
|
|
143941
|
+
return {
|
|
143942
|
+
widthPx,
|
|
143943
|
+
heightPx,
|
|
143944
|
+
ticks,
|
|
143945
|
+
leftMarginPx: pageMargins.left * ppi,
|
|
143946
|
+
rightMarginPx: widthPx - pageMargins.right * ppi,
|
|
143947
|
+
pageWidthInches: pageSize.width
|
|
143948
|
+
};
|
|
143949
|
+
}
|
|
143950
|
+
function calculateMarginFromHandle(handleX, side, pageWidthPx, ppi = DEFAULT_PPI) {
|
|
143951
|
+
if (side === "left")
|
|
143952
|
+
return handleX / ppi;
|
|
143953
|
+
else
|
|
143954
|
+
return (pageWidthPx - handleX) / ppi;
|
|
143955
|
+
}
|
|
143956
|
+
function clampHandlePosition(handleX, side, otherHandleX, pageWidthPx, minContentWidthPx = 200) {
|
|
143957
|
+
if (!Number.isFinite(handleX))
|
|
143958
|
+
throw new Error(`Invalid handleX: ${handleX}. Must be a finite number.`);
|
|
143959
|
+
if (!Number.isFinite(otherHandleX))
|
|
143960
|
+
throw new Error(`Invalid otherHandleX: ${otherHandleX}. Must be a finite number.`);
|
|
143961
|
+
if (!Number.isFinite(pageWidthPx))
|
|
143962
|
+
throw new Error(`Invalid pageWidthPx: ${pageWidthPx}. Must be a finite number.`);
|
|
143963
|
+
if (!Number.isFinite(minContentWidthPx))
|
|
143964
|
+
throw new Error(`Invalid minContentWidthPx: ${minContentWidthPx}. Must be a finite number.`);
|
|
143965
|
+
if (side === "left") {
|
|
143966
|
+
const min$2 = 0;
|
|
143967
|
+
const max$2 = otherHandleX - minContentWidthPx;
|
|
143968
|
+
return Math.max(min$2, Math.min(max$2, handleX));
|
|
143969
|
+
} else {
|
|
143970
|
+
const min$2 = otherHandleX + minContentWidthPx;
|
|
143971
|
+
const max$2 = pageWidthPx;
|
|
143972
|
+
return Math.max(min$2, Math.min(max$2, handleX));
|
|
143973
|
+
}
|
|
143974
|
+
}
|
|
143975
|
+
function generateRulerDefinitionFromPx(config2) {
|
|
143976
|
+
const ppi = config2.ppi ?? DEFAULT_PPI;
|
|
143977
|
+
const heightPx = config2.heightPx ?? DEFAULT_RULER_HEIGHT;
|
|
143978
|
+
const { pageWidthPx, leftMarginPx, rightMarginPx } = config2;
|
|
143979
|
+
if (!Number.isFinite(ppi) || ppi <= 0)
|
|
143980
|
+
throw new Error(`Invalid PPI: ${ppi}. Must be a positive finite number.`);
|
|
143981
|
+
if (!Number.isFinite(pageWidthPx) || pageWidthPx <= 0)
|
|
143982
|
+
throw new Error(`Invalid page width: ${pageWidthPx}px. Must be a positive finite number.`);
|
|
143983
|
+
if (!Number.isFinite(config2.pageHeightPx) || config2.pageHeightPx <= 0)
|
|
143984
|
+
throw new Error(`Invalid page height: ${config2.pageHeightPx}px. Must be a positive finite number.`);
|
|
143985
|
+
if (!Number.isFinite(leftMarginPx) || leftMarginPx < 0)
|
|
143986
|
+
throw new Error(`Invalid left margin: ${leftMarginPx}px. Must be a non-negative finite number.`);
|
|
143987
|
+
if (!Number.isFinite(rightMarginPx) || rightMarginPx < 0)
|
|
143988
|
+
throw new Error(`Invalid right margin: ${rightMarginPx}px. Must be a non-negative finite number.`);
|
|
143989
|
+
if (leftMarginPx + rightMarginPx >= pageWidthPx)
|
|
143990
|
+
throw new Error(`Invalid margins: left (${leftMarginPx}px) + right (${rightMarginPx}px) must be less than page width (${pageWidthPx}px).`);
|
|
143991
|
+
const pageWidthInches = pageWidthPx / ppi;
|
|
143992
|
+
const ticks = [];
|
|
143993
|
+
let currentX = 0;
|
|
143994
|
+
for (let inch = 0;inch < pageWidthInches; inch++) {
|
|
143995
|
+
const remaining = pageWidthInches - inch;
|
|
143996
|
+
ticks.push({
|
|
143997
|
+
size: "main",
|
|
143998
|
+
height: "20%",
|
|
143999
|
+
label: inch,
|
|
144000
|
+
x: currentX
|
|
144001
|
+
});
|
|
144002
|
+
currentX += TICK_SPACING_PX;
|
|
144003
|
+
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
144004
|
+
ticks.push({
|
|
144005
|
+
size: "eighth",
|
|
144006
|
+
height: "10%",
|
|
144007
|
+
x: currentX
|
|
144008
|
+
});
|
|
144009
|
+
currentX += TICK_SPACING_PX;
|
|
144010
|
+
}
|
|
144011
|
+
ticks.push({
|
|
144012
|
+
size: "half",
|
|
144013
|
+
height: "40%",
|
|
144014
|
+
x: currentX
|
|
144015
|
+
});
|
|
144016
|
+
currentX += TICK_SPACING_PX;
|
|
144017
|
+
if (remaining <= 0.5)
|
|
144018
|
+
break;
|
|
144019
|
+
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
144020
|
+
ticks.push({
|
|
144021
|
+
size: "eighth",
|
|
144022
|
+
height: "10%",
|
|
144023
|
+
x: currentX
|
|
144024
|
+
});
|
|
144025
|
+
currentX += TICK_SPACING_PX;
|
|
144026
|
+
}
|
|
144027
|
+
}
|
|
144028
|
+
return {
|
|
144029
|
+
widthPx: pageWidthPx,
|
|
144030
|
+
heightPx,
|
|
144031
|
+
ticks,
|
|
144032
|
+
leftMarginPx,
|
|
144033
|
+
rightMarginPx: pageWidthPx - rightMarginPx,
|
|
144034
|
+
pageWidthInches
|
|
144035
|
+
};
|
|
144036
|
+
}
|
|
144037
|
+
function createRulerElement(options) {
|
|
144038
|
+
const { definition: definition3, doc: doc$2, interactive = false } = options;
|
|
144039
|
+
if (!Number.isFinite(definition3.widthPx) || definition3.widthPx <= 0) {
|
|
144040
|
+
console.warn(`[createRulerElement] Invalid ruler width: ${definition3.widthPx}px. Using minimum width of 1px.`);
|
|
144041
|
+
definition3.widthPx = Math.max(1, definition3.widthPx || 1);
|
|
144042
|
+
}
|
|
144043
|
+
if (!definition3.ticks || definition3.ticks.length === 0)
|
|
144044
|
+
console.warn("[createRulerElement] Ruler definition has no ticks. Ruler will be empty.");
|
|
144045
|
+
const ruler = doc$2.createElement("div");
|
|
144046
|
+
ruler.className = RULER_CLASS_NAMES.ruler;
|
|
144047
|
+
ruler.style.cssText = `
|
|
144048
|
+
position: relative;
|
|
144049
|
+
width: ${definition3.widthPx}px;
|
|
144050
|
+
height: ${definition3.heightPx}px;
|
|
144051
|
+
display: flex;
|
|
144052
|
+
align-items: flex-end;
|
|
144053
|
+
box-sizing: border-box;
|
|
144054
|
+
user-select: none;
|
|
144055
|
+
pointer-events: ${interactive ? "auto" : "none"};
|
|
144056
|
+
`;
|
|
144057
|
+
for (const tick of definition3.ticks) {
|
|
144058
|
+
const tickEl = createTickElement(tick, doc$2);
|
|
144059
|
+
ruler.appendChild(tickEl);
|
|
144060
|
+
}
|
|
144061
|
+
if (interactive) {
|
|
144062
|
+
const leftHandle = createHandleElement("left", definition3.leftMarginPx, doc$2, options);
|
|
144063
|
+
const rightHandle = createHandleElement("right", definition3.rightMarginPx, doc$2, options);
|
|
144064
|
+
ruler.appendChild(leftHandle);
|
|
144065
|
+
ruler.appendChild(rightHandle);
|
|
144066
|
+
}
|
|
144067
|
+
return ruler;
|
|
144068
|
+
}
|
|
144069
|
+
function createTickElement(tick, doc$2) {
|
|
144070
|
+
const el = doc$2.createElement("div");
|
|
144071
|
+
const sizeClass = tick.size === "main" ? RULER_CLASS_NAMES.tickMain : tick.size === "half" ? RULER_CLASS_NAMES.tickHalf : RULER_CLASS_NAMES.tickEighth;
|
|
144072
|
+
el.className = `${RULER_CLASS_NAMES.tick} ${sizeClass}`;
|
|
144073
|
+
el.style.cssText = `
|
|
144074
|
+
position: absolute;
|
|
144075
|
+
left: ${tick.x}px;
|
|
144076
|
+
bottom: 0;
|
|
144077
|
+
width: 1px;
|
|
144078
|
+
height: ${tick.height};
|
|
144079
|
+
background-color: #666;
|
|
144080
|
+
pointer-events: none;
|
|
144081
|
+
`;
|
|
144082
|
+
if (tick.label !== undefined) {
|
|
144083
|
+
const label = doc$2.createElement("span");
|
|
144084
|
+
label.className = RULER_CLASS_NAMES.label;
|
|
144085
|
+
label.textContent = String(tick.label);
|
|
144086
|
+
label.style.cssText = `
|
|
144087
|
+
position: absolute;
|
|
144088
|
+
top: -16px;
|
|
144089
|
+
left: -2px;
|
|
144090
|
+
font-size: 10px;
|
|
144091
|
+
color: #666;
|
|
144092
|
+
pointer-events: none;
|
|
144093
|
+
user-select: none;
|
|
144094
|
+
`;
|
|
144095
|
+
el.appendChild(label);
|
|
144096
|
+
}
|
|
144097
|
+
return el;
|
|
144098
|
+
}
|
|
144099
|
+
function createHandleElement(side, x, doc$2, options) {
|
|
144100
|
+
const handle3 = doc$2.createElement("div");
|
|
144101
|
+
const sideClass = side === "left" ? RULER_CLASS_NAMES.handleLeft : RULER_CLASS_NAMES.handleRight;
|
|
144102
|
+
handle3.className = `${RULER_CLASS_NAMES.handle} ${sideClass}`;
|
|
144103
|
+
handle3.dataset.side = side;
|
|
144104
|
+
handle3.style.cssText = `
|
|
144105
|
+
position: absolute;
|
|
144106
|
+
left: ${x}px;
|
|
144107
|
+
top: 0;
|
|
144108
|
+
width: 5px;
|
|
144109
|
+
height: 20px;
|
|
144110
|
+
margin-left: -2px;
|
|
144111
|
+
background-color: #ccc;
|
|
144112
|
+
border-radius: 4px 4px 0 0;
|
|
144113
|
+
cursor: grab;
|
|
144114
|
+
transition: background-color 150ms ease;
|
|
144115
|
+
z-index: 10;
|
|
144116
|
+
`;
|
|
144117
|
+
handle3.addEventListener("mouseenter", () => {
|
|
144118
|
+
if (!handle3.dataset.dragging)
|
|
144119
|
+
handle3.style.backgroundColor = "rgba(37, 99, 235, 0.4)";
|
|
144120
|
+
});
|
|
144121
|
+
handle3.addEventListener("mouseleave", () => {
|
|
144122
|
+
if (!handle3.dataset.dragging)
|
|
144123
|
+
handle3.style.backgroundColor = "#ccc";
|
|
144124
|
+
});
|
|
144125
|
+
if (options.onDragStart || options.onDrag || options.onDragEnd)
|
|
144126
|
+
setupHandleDrag(handle3, side, options);
|
|
144127
|
+
return handle3;
|
|
144128
|
+
}
|
|
144129
|
+
function setupHandleDrag(handle3, side, options) {
|
|
144130
|
+
let offsetX = 0;
|
|
144131
|
+
const onPointerDown = (event) => {
|
|
144132
|
+
event.preventDefault();
|
|
144133
|
+
handle3.dataset.dragging = "true";
|
|
144134
|
+
handle3.style.backgroundColor = "rgba(37, 99, 235, 0.4)";
|
|
144135
|
+
handle3.style.cursor = "grabbing";
|
|
144136
|
+
const rect = handle3.getBoundingClientRect();
|
|
144137
|
+
offsetX = event.clientX - rect.left - rect.width / 2;
|
|
144138
|
+
handle3.setPointerCapture(event.pointerId);
|
|
144139
|
+
options.onDragStart?.(side, event);
|
|
144140
|
+
};
|
|
144141
|
+
const onPointerMove = (event) => {
|
|
144142
|
+
if (handle3.dataset.dragging !== "true")
|
|
144143
|
+
return;
|
|
144144
|
+
const ruler = handle3.parentElement;
|
|
144145
|
+
if (!ruler)
|
|
144146
|
+
return;
|
|
144147
|
+
const rulerRect = ruler.getBoundingClientRect();
|
|
144148
|
+
const newX = event.clientX - rulerRect.left - offsetX;
|
|
144149
|
+
options.onDrag?.(side, newX, event);
|
|
144150
|
+
};
|
|
144151
|
+
const onPointerUp = (event) => {
|
|
144152
|
+
if (handle3.dataset.dragging !== "true")
|
|
144153
|
+
return;
|
|
144154
|
+
handle3.dataset.dragging = "";
|
|
144155
|
+
handle3.style.backgroundColor = "#ccc";
|
|
144156
|
+
handle3.style.cursor = "grab";
|
|
144157
|
+
handle3.releasePointerCapture(event.pointerId);
|
|
144158
|
+
const ruler = handle3.parentElement;
|
|
144159
|
+
if (!ruler)
|
|
144160
|
+
return;
|
|
144161
|
+
const rulerRect = ruler.getBoundingClientRect();
|
|
144162
|
+
const finalX = event.clientX - rulerRect.left - offsetX;
|
|
144163
|
+
options.onDragEnd?.(side, finalX, event);
|
|
144164
|
+
};
|
|
144165
|
+
handle3.addEventListener("pointerdown", onPointerDown);
|
|
144166
|
+
handle3.addEventListener("pointermove", onPointerMove);
|
|
144167
|
+
handle3.addEventListener("pointerup", onPointerUp);
|
|
144168
|
+
handle3.addEventListener("pointercancel", onPointerUp);
|
|
144169
|
+
}
|
|
144170
|
+
function ensureRulerStyles(doc$2) {
|
|
144171
|
+
if (rulerStylesInjected || !doc$2)
|
|
144172
|
+
return;
|
|
144173
|
+
const styleEl = doc$2.createElement("style");
|
|
144174
|
+
styleEl.setAttribute("data-superdoc-ruler-styles", "true");
|
|
144175
|
+
styleEl.textContent = RULER_STYLES;
|
|
144176
|
+
doc$2.head?.appendChild(styleEl);
|
|
144177
|
+
rulerStylesInjected = true;
|
|
144178
|
+
}
|
|
142148
144179
|
function validateHexColor(color2) {
|
|
142149
144180
|
if (typeof color2 !== "string")
|
|
142150
144181
|
return;
|
|
@@ -142328,28 +144359,6 @@ function normalizeRotation(rotation) {
|
|
|
142328
144359
|
function degToRad(degrees) {
|
|
142329
144360
|
return degrees * Math.PI / 180;
|
|
142330
144361
|
}
|
|
142331
|
-
function mapWordFamilyFallback(wordFamily) {
|
|
142332
|
-
if (!wordFamily)
|
|
142333
|
-
return DEFAULT_GENERIC_FALLBACK2;
|
|
142334
|
-
return FONT_FAMILY_FALLBACKS2[wordFamily.toLowerCase()] || "sans-serif";
|
|
142335
|
-
}
|
|
142336
|
-
function toCssFontFamily(fontName, options = {}) {
|
|
142337
|
-
if (!fontName || typeof fontName !== "string")
|
|
142338
|
-
return fontName;
|
|
142339
|
-
let trimmed = fontName.trim();
|
|
142340
|
-
if (!trimmed || trimmed.includes(","))
|
|
142341
|
-
return trimmed;
|
|
142342
|
-
if (trimmed.includes(";"))
|
|
142343
|
-
trimmed = splitOutsideQuotes(trimmed, ";").join(", ");
|
|
142344
|
-
const { fallback, wordFamily } = options;
|
|
142345
|
-
const fallbackParts = normalizeParts(fallback ?? (wordFamily ? mapWordFamilyFallback(wordFamily) : undefined) ?? "sans-serif");
|
|
142346
|
-
if (fallbackParts.length === 0)
|
|
142347
|
-
return trimmed;
|
|
142348
|
-
const normalizedName = trimmed.toLowerCase();
|
|
142349
|
-
if (fallbackParts.some((part) => part.toLowerCase() === normalizedName))
|
|
142350
|
-
return fallbackParts.join(", ");
|
|
142351
|
-
return [trimmed, ...fallbackParts].join(", ");
|
|
142352
|
-
}
|
|
142353
144362
|
function getMeasuredTextWidth(text5, font, letterSpacing, ctx$2) {
|
|
142354
144363
|
if (text5.length > 32000)
|
|
142355
144364
|
text5 = text5.substring(0, 32000);
|
|
@@ -148545,321 +150554,9 @@ function applyParagraphBordersAndShading(paraWrapper, block) {
|
|
|
148545
150554
|
if (shadingFill)
|
|
148546
150555
|
paraWrapper.style.backgroundColor = shadingFill;
|
|
148547
150556
|
}
|
|
148548
|
-
function assertPmPositions(run2, context) {
|
|
148549
|
-
const hasPmStart = run2.pmStart != null;
|
|
148550
|
-
const hasPmEnd = run2.pmEnd != null;
|
|
148551
|
-
globalValidationStats.record(hasPmStart, hasPmEnd);
|
|
148552
|
-
if (!isDevelopment())
|
|
148553
|
-
return;
|
|
148554
|
-
if (!hasPmStart || !hasPmEnd) {
|
|
148555
|
-
const textPreview = run2.text ? run2.text.substring(0, 20) + (run2.text.length > 20 ? "..." : "") : "(no text)";
|
|
148556
|
-
console.warn(`[PmPositionValidation] Missing PM positions in ${context}:`, {
|
|
148557
|
-
hasPmStart,
|
|
148558
|
-
hasPmEnd,
|
|
148559
|
-
textPreview,
|
|
148560
|
-
fallback: "Will use PM DOM coordinates for cursor positioning"
|
|
148561
|
-
});
|
|
148562
|
-
}
|
|
148563
|
-
}
|
|
148564
|
-
function assertFragmentPmPositions(fragment, _context) {
|
|
148565
|
-
const hasPmStart = fragment.pmStart != null;
|
|
148566
|
-
const hasPmEnd = fragment.pmEnd != null;
|
|
148567
|
-
globalValidationStats.record(hasPmStart, hasPmEnd);
|
|
148568
|
-
}
|
|
148569
150557
|
function sdtElementsById(root$1, sdtId) {
|
|
148570
150558
|
return root$1.querySelectorAll(`.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id="${sdtId}"]`);
|
|
148571
150559
|
}
|
|
148572
|
-
function generateRulerDefinition(config2) {
|
|
148573
|
-
const ppi = config2.ppi ?? DEFAULT_PPI;
|
|
148574
|
-
const heightPx = config2.heightPx ?? DEFAULT_RULER_HEIGHT;
|
|
148575
|
-
const { pageSize, pageMargins } = config2;
|
|
148576
|
-
if (!Number.isFinite(ppi) || ppi <= 0)
|
|
148577
|
-
throw new Error(`Invalid PPI: ${ppi}. Must be a positive finite number.`);
|
|
148578
|
-
if (!Number.isFinite(pageSize.width) || pageSize.width <= 0)
|
|
148579
|
-
throw new Error(`Invalid page width: ${pageSize.width}. Must be a positive finite number.`);
|
|
148580
|
-
if (!Number.isFinite(pageSize.height) || pageSize.height <= 0)
|
|
148581
|
-
throw new Error(`Invalid page height: ${pageSize.height}. Must be a positive finite number.`);
|
|
148582
|
-
if (!Number.isFinite(pageMargins.left) || pageMargins.left < 0)
|
|
148583
|
-
throw new Error(`Invalid left margin: ${pageMargins.left}. Must be a non-negative finite number.`);
|
|
148584
|
-
if (!Number.isFinite(pageMargins.right) || pageMargins.right < 0)
|
|
148585
|
-
throw new Error(`Invalid right margin: ${pageMargins.right}. Must be a non-negative finite number.`);
|
|
148586
|
-
if (pageMargins.left + pageMargins.right >= pageSize.width)
|
|
148587
|
-
throw new Error(`Invalid margins: left (${pageMargins.left}) + right (${pageMargins.right}) must be less than page width (${pageSize.width}).`);
|
|
148588
|
-
const widthPx = pageSize.width * ppi;
|
|
148589
|
-
const ticks = [];
|
|
148590
|
-
let currentX = 0;
|
|
148591
|
-
for (let inch = 0;inch < pageSize.width; inch++) {
|
|
148592
|
-
const remaining = pageSize.width - inch;
|
|
148593
|
-
ticks.push({
|
|
148594
|
-
size: "main",
|
|
148595
|
-
height: "20%",
|
|
148596
|
-
label: inch,
|
|
148597
|
-
x: currentX
|
|
148598
|
-
});
|
|
148599
|
-
currentX += TICK_SPACING_PX;
|
|
148600
|
-
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
148601
|
-
ticks.push({
|
|
148602
|
-
size: "eighth",
|
|
148603
|
-
height: "10%",
|
|
148604
|
-
x: currentX
|
|
148605
|
-
});
|
|
148606
|
-
currentX += TICK_SPACING_PX;
|
|
148607
|
-
}
|
|
148608
|
-
ticks.push({
|
|
148609
|
-
size: "half",
|
|
148610
|
-
height: "40%",
|
|
148611
|
-
x: currentX
|
|
148612
|
-
});
|
|
148613
|
-
currentX += TICK_SPACING_PX;
|
|
148614
|
-
if (remaining <= 0.5)
|
|
148615
|
-
break;
|
|
148616
|
-
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
148617
|
-
ticks.push({
|
|
148618
|
-
size: "eighth",
|
|
148619
|
-
height: "10%",
|
|
148620
|
-
x: currentX
|
|
148621
|
-
});
|
|
148622
|
-
currentX += TICK_SPACING_PX;
|
|
148623
|
-
}
|
|
148624
|
-
}
|
|
148625
|
-
return {
|
|
148626
|
-
widthPx,
|
|
148627
|
-
heightPx,
|
|
148628
|
-
ticks,
|
|
148629
|
-
leftMarginPx: pageMargins.left * ppi,
|
|
148630
|
-
rightMarginPx: widthPx - pageMargins.right * ppi,
|
|
148631
|
-
pageWidthInches: pageSize.width
|
|
148632
|
-
};
|
|
148633
|
-
}
|
|
148634
|
-
function calculateMarginFromHandle(handleX, side, pageWidthPx, ppi = DEFAULT_PPI) {
|
|
148635
|
-
if (side === "left")
|
|
148636
|
-
return handleX / ppi;
|
|
148637
|
-
else
|
|
148638
|
-
return (pageWidthPx - handleX) / ppi;
|
|
148639
|
-
}
|
|
148640
|
-
function clampHandlePosition(handleX, side, otherHandleX, pageWidthPx, minContentWidthPx = 200) {
|
|
148641
|
-
if (!Number.isFinite(handleX))
|
|
148642
|
-
throw new Error(`Invalid handleX: ${handleX}. Must be a finite number.`);
|
|
148643
|
-
if (!Number.isFinite(otherHandleX))
|
|
148644
|
-
throw new Error(`Invalid otherHandleX: ${otherHandleX}. Must be a finite number.`);
|
|
148645
|
-
if (!Number.isFinite(pageWidthPx))
|
|
148646
|
-
throw new Error(`Invalid pageWidthPx: ${pageWidthPx}. Must be a finite number.`);
|
|
148647
|
-
if (!Number.isFinite(minContentWidthPx))
|
|
148648
|
-
throw new Error(`Invalid minContentWidthPx: ${minContentWidthPx}. Must be a finite number.`);
|
|
148649
|
-
if (side === "left") {
|
|
148650
|
-
const min$2 = 0;
|
|
148651
|
-
const max$2 = otherHandleX - minContentWidthPx;
|
|
148652
|
-
return Math.max(min$2, Math.min(max$2, handleX));
|
|
148653
|
-
} else {
|
|
148654
|
-
const min$2 = otherHandleX + minContentWidthPx;
|
|
148655
|
-
const max$2 = pageWidthPx;
|
|
148656
|
-
return Math.max(min$2, Math.min(max$2, handleX));
|
|
148657
|
-
}
|
|
148658
|
-
}
|
|
148659
|
-
function generateRulerDefinitionFromPx(config2) {
|
|
148660
|
-
const ppi = config2.ppi ?? DEFAULT_PPI;
|
|
148661
|
-
const heightPx = config2.heightPx ?? DEFAULT_RULER_HEIGHT;
|
|
148662
|
-
const { pageWidthPx, leftMarginPx, rightMarginPx } = config2;
|
|
148663
|
-
if (!Number.isFinite(ppi) || ppi <= 0)
|
|
148664
|
-
throw new Error(`Invalid PPI: ${ppi}. Must be a positive finite number.`);
|
|
148665
|
-
if (!Number.isFinite(pageWidthPx) || pageWidthPx <= 0)
|
|
148666
|
-
throw new Error(`Invalid page width: ${pageWidthPx}px. Must be a positive finite number.`);
|
|
148667
|
-
if (!Number.isFinite(config2.pageHeightPx) || config2.pageHeightPx <= 0)
|
|
148668
|
-
throw new Error(`Invalid page height: ${config2.pageHeightPx}px. Must be a positive finite number.`);
|
|
148669
|
-
if (!Number.isFinite(leftMarginPx) || leftMarginPx < 0)
|
|
148670
|
-
throw new Error(`Invalid left margin: ${leftMarginPx}px. Must be a non-negative finite number.`);
|
|
148671
|
-
if (!Number.isFinite(rightMarginPx) || rightMarginPx < 0)
|
|
148672
|
-
throw new Error(`Invalid right margin: ${rightMarginPx}px. Must be a non-negative finite number.`);
|
|
148673
|
-
if (leftMarginPx + rightMarginPx >= pageWidthPx)
|
|
148674
|
-
throw new Error(`Invalid margins: left (${leftMarginPx}px) + right (${rightMarginPx}px) must be less than page width (${pageWidthPx}px).`);
|
|
148675
|
-
const pageWidthInches = pageWidthPx / ppi;
|
|
148676
|
-
const ticks = [];
|
|
148677
|
-
let currentX = 0;
|
|
148678
|
-
for (let inch = 0;inch < pageWidthInches; inch++) {
|
|
148679
|
-
const remaining = pageWidthInches - inch;
|
|
148680
|
-
ticks.push({
|
|
148681
|
-
size: "main",
|
|
148682
|
-
height: "20%",
|
|
148683
|
-
label: inch,
|
|
148684
|
-
x: currentX
|
|
148685
|
-
});
|
|
148686
|
-
currentX += TICK_SPACING_PX;
|
|
148687
|
-
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
148688
|
-
ticks.push({
|
|
148689
|
-
size: "eighth",
|
|
148690
|
-
height: "10%",
|
|
148691
|
-
x: currentX
|
|
148692
|
-
});
|
|
148693
|
-
currentX += TICK_SPACING_PX;
|
|
148694
|
-
}
|
|
148695
|
-
ticks.push({
|
|
148696
|
-
size: "half",
|
|
148697
|
-
height: "40%",
|
|
148698
|
-
x: currentX
|
|
148699
|
-
});
|
|
148700
|
-
currentX += TICK_SPACING_PX;
|
|
148701
|
-
if (remaining <= 0.5)
|
|
148702
|
-
break;
|
|
148703
|
-
for (let i$1 = 0;i$1 < 3; i$1++) {
|
|
148704
|
-
ticks.push({
|
|
148705
|
-
size: "eighth",
|
|
148706
|
-
height: "10%",
|
|
148707
|
-
x: currentX
|
|
148708
|
-
});
|
|
148709
|
-
currentX += TICK_SPACING_PX;
|
|
148710
|
-
}
|
|
148711
|
-
}
|
|
148712
|
-
return {
|
|
148713
|
-
widthPx: pageWidthPx,
|
|
148714
|
-
heightPx,
|
|
148715
|
-
ticks,
|
|
148716
|
-
leftMarginPx,
|
|
148717
|
-
rightMarginPx: pageWidthPx - rightMarginPx,
|
|
148718
|
-
pageWidthInches
|
|
148719
|
-
};
|
|
148720
|
-
}
|
|
148721
|
-
function createRulerElement(options) {
|
|
148722
|
-
const { definition: definition3, doc: doc$2, interactive = false } = options;
|
|
148723
|
-
if (!Number.isFinite(definition3.widthPx) || definition3.widthPx <= 0) {
|
|
148724
|
-
console.warn(`[createRulerElement] Invalid ruler width: ${definition3.widthPx}px. Using minimum width of 1px.`);
|
|
148725
|
-
definition3.widthPx = Math.max(1, definition3.widthPx || 1);
|
|
148726
|
-
}
|
|
148727
|
-
if (!definition3.ticks || definition3.ticks.length === 0)
|
|
148728
|
-
console.warn("[createRulerElement] Ruler definition has no ticks. Ruler will be empty.");
|
|
148729
|
-
const ruler = doc$2.createElement("div");
|
|
148730
|
-
ruler.className = RULER_CLASS_NAMES.ruler;
|
|
148731
|
-
ruler.style.cssText = `
|
|
148732
|
-
position: relative;
|
|
148733
|
-
width: ${definition3.widthPx}px;
|
|
148734
|
-
height: ${definition3.heightPx}px;
|
|
148735
|
-
display: flex;
|
|
148736
|
-
align-items: flex-end;
|
|
148737
|
-
box-sizing: border-box;
|
|
148738
|
-
user-select: none;
|
|
148739
|
-
pointer-events: ${interactive ? "auto" : "none"};
|
|
148740
|
-
`;
|
|
148741
|
-
for (const tick of definition3.ticks) {
|
|
148742
|
-
const tickEl = createTickElement(tick, doc$2);
|
|
148743
|
-
ruler.appendChild(tickEl);
|
|
148744
|
-
}
|
|
148745
|
-
if (interactive) {
|
|
148746
|
-
const leftHandle = createHandleElement("left", definition3.leftMarginPx, doc$2, options);
|
|
148747
|
-
const rightHandle = createHandleElement("right", definition3.rightMarginPx, doc$2, options);
|
|
148748
|
-
ruler.appendChild(leftHandle);
|
|
148749
|
-
ruler.appendChild(rightHandle);
|
|
148750
|
-
}
|
|
148751
|
-
return ruler;
|
|
148752
|
-
}
|
|
148753
|
-
function createTickElement(tick, doc$2) {
|
|
148754
|
-
const el = doc$2.createElement("div");
|
|
148755
|
-
const sizeClass = tick.size === "main" ? RULER_CLASS_NAMES.tickMain : tick.size === "half" ? RULER_CLASS_NAMES.tickHalf : RULER_CLASS_NAMES.tickEighth;
|
|
148756
|
-
el.className = `${RULER_CLASS_NAMES.tick} ${sizeClass}`;
|
|
148757
|
-
el.style.cssText = `
|
|
148758
|
-
position: absolute;
|
|
148759
|
-
left: ${tick.x}px;
|
|
148760
|
-
bottom: 0;
|
|
148761
|
-
width: 1px;
|
|
148762
|
-
height: ${tick.height};
|
|
148763
|
-
background-color: #666;
|
|
148764
|
-
pointer-events: none;
|
|
148765
|
-
`;
|
|
148766
|
-
if (tick.label !== undefined) {
|
|
148767
|
-
const label = doc$2.createElement("span");
|
|
148768
|
-
label.className = RULER_CLASS_NAMES.label;
|
|
148769
|
-
label.textContent = String(tick.label);
|
|
148770
|
-
label.style.cssText = `
|
|
148771
|
-
position: absolute;
|
|
148772
|
-
top: -16px;
|
|
148773
|
-
left: -2px;
|
|
148774
|
-
font-size: 10px;
|
|
148775
|
-
color: #666;
|
|
148776
|
-
pointer-events: none;
|
|
148777
|
-
user-select: none;
|
|
148778
|
-
`;
|
|
148779
|
-
el.appendChild(label);
|
|
148780
|
-
}
|
|
148781
|
-
return el;
|
|
148782
|
-
}
|
|
148783
|
-
function createHandleElement(side, x, doc$2, options) {
|
|
148784
|
-
const handle3 = doc$2.createElement("div");
|
|
148785
|
-
const sideClass = side === "left" ? RULER_CLASS_NAMES.handleLeft : RULER_CLASS_NAMES.handleRight;
|
|
148786
|
-
handle3.className = `${RULER_CLASS_NAMES.handle} ${sideClass}`;
|
|
148787
|
-
handle3.dataset.side = side;
|
|
148788
|
-
handle3.style.cssText = `
|
|
148789
|
-
position: absolute;
|
|
148790
|
-
left: ${x}px;
|
|
148791
|
-
top: 0;
|
|
148792
|
-
width: 5px;
|
|
148793
|
-
height: 20px;
|
|
148794
|
-
margin-left: -2px;
|
|
148795
|
-
background-color: #ccc;
|
|
148796
|
-
border-radius: 4px 4px 0 0;
|
|
148797
|
-
cursor: grab;
|
|
148798
|
-
transition: background-color 150ms ease;
|
|
148799
|
-
z-index: 10;
|
|
148800
|
-
`;
|
|
148801
|
-
handle3.addEventListener("mouseenter", () => {
|
|
148802
|
-
if (!handle3.dataset.dragging)
|
|
148803
|
-
handle3.style.backgroundColor = "rgba(37, 99, 235, 0.4)";
|
|
148804
|
-
});
|
|
148805
|
-
handle3.addEventListener("mouseleave", () => {
|
|
148806
|
-
if (!handle3.dataset.dragging)
|
|
148807
|
-
handle3.style.backgroundColor = "#ccc";
|
|
148808
|
-
});
|
|
148809
|
-
if (options.onDragStart || options.onDrag || options.onDragEnd)
|
|
148810
|
-
setupHandleDrag(handle3, side, options);
|
|
148811
|
-
return handle3;
|
|
148812
|
-
}
|
|
148813
|
-
function setupHandleDrag(handle3, side, options) {
|
|
148814
|
-
let offsetX = 0;
|
|
148815
|
-
const onPointerDown = (event) => {
|
|
148816
|
-
event.preventDefault();
|
|
148817
|
-
handle3.dataset.dragging = "true";
|
|
148818
|
-
handle3.style.backgroundColor = "rgba(37, 99, 235, 0.4)";
|
|
148819
|
-
handle3.style.cursor = "grabbing";
|
|
148820
|
-
const rect = handle3.getBoundingClientRect();
|
|
148821
|
-
offsetX = event.clientX - rect.left - rect.width / 2;
|
|
148822
|
-
handle3.setPointerCapture(event.pointerId);
|
|
148823
|
-
options.onDragStart?.(side, event);
|
|
148824
|
-
};
|
|
148825
|
-
const onPointerMove = (event) => {
|
|
148826
|
-
if (handle3.dataset.dragging !== "true")
|
|
148827
|
-
return;
|
|
148828
|
-
const ruler = handle3.parentElement;
|
|
148829
|
-
if (!ruler)
|
|
148830
|
-
return;
|
|
148831
|
-
const rulerRect = ruler.getBoundingClientRect();
|
|
148832
|
-
const newX = event.clientX - rulerRect.left - offsetX;
|
|
148833
|
-
options.onDrag?.(side, newX, event);
|
|
148834
|
-
};
|
|
148835
|
-
const onPointerUp = (event) => {
|
|
148836
|
-
if (handle3.dataset.dragging !== "true")
|
|
148837
|
-
return;
|
|
148838
|
-
handle3.dataset.dragging = "";
|
|
148839
|
-
handle3.style.backgroundColor = "#ccc";
|
|
148840
|
-
handle3.style.cursor = "grab";
|
|
148841
|
-
handle3.releasePointerCapture(event.pointerId);
|
|
148842
|
-
const ruler = handle3.parentElement;
|
|
148843
|
-
if (!ruler)
|
|
148844
|
-
return;
|
|
148845
|
-
const rulerRect = ruler.getBoundingClientRect();
|
|
148846
|
-
const finalX = event.clientX - rulerRect.left - offsetX;
|
|
148847
|
-
options.onDragEnd?.(side, finalX, event);
|
|
148848
|
-
};
|
|
148849
|
-
handle3.addEventListener("pointerdown", onPointerDown);
|
|
148850
|
-
handle3.addEventListener("pointermove", onPointerMove);
|
|
148851
|
-
handle3.addEventListener("pointerup", onPointerUp);
|
|
148852
|
-
handle3.addEventListener("pointercancel", onPointerUp);
|
|
148853
|
-
}
|
|
148854
|
-
function ensureRulerStyles(doc$2) {
|
|
148855
|
-
if (rulerStylesInjected || !doc$2)
|
|
148856
|
-
return;
|
|
148857
|
-
const styleEl = doc$2.createElement("style");
|
|
148858
|
-
styleEl.setAttribute("data-superdoc-ruler-styles", "true");
|
|
148859
|
-
styleEl.textContent = RULER_STYLES;
|
|
148860
|
-
doc$2.head?.appendChild(styleEl);
|
|
148861
|
-
rulerStylesInjected = true;
|
|
148862
|
-
}
|
|
148863
150560
|
function isMinimalWordLayout(value) {
|
|
148864
150561
|
if (typeof value !== "object" || value === null)
|
|
148865
150562
|
return false;
|
|
@@ -175450,7 +177147,7 @@ var Node$13 = class Node$14 {
|
|
|
175450
177147
|
console.warn("Failed to initialize developer tools:", error);
|
|
175451
177148
|
}
|
|
175452
177149
|
}
|
|
175453
|
-
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, PlanError, revisionMap, subscribedEditors, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, everSyncedProviders, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", STUB_WHERE, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, DERIVED_ID_LENGTH = 24, groupedCache, SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, CSS_NAMED_COLORS, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN, FOOTER_FILE_PATTERN, HISTORY_UNSAFE_OPS, DEFAULT_LEVEL = 1, SWITCH_PATTERN, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, DEFAULT_MIME_TYPE = "application/octet-stream", simpleHash2 = (str) => {
|
|
177150
|
+
}, BLANK_DOCX_DATA_URI = `data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,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`, LINK_MARK_NAME = "link", COMMENT_MARK_NAME, SUPPORTED_INLINE_TYPES, DocumentApiAdapterError, ALIAS_ELIGIBLE_TYPES, cacheByEditor, OBJECT_REPLACEMENT_CHAR = "", TAB_LEADER_TO_SEPARATOR, SEPARATOR_TO_TAB_LEADER, DEFAULT_TOC_CONFIG, SWITCH_PATTERN$1, SNIPPET_PADDING = 30, DUAL_KIND_TYPES, KNOWN_BLOCK_PM_NODE_TYPES, KNOWN_INLINE_PM_NODE_TYPES, MAX_PATTERN_LENGTH = 1024, PlanError, revisionMap, subscribedEditors, HEADING_STYLE_DEPTH, BULLET_FORMATS, MARK_PRIORITY, remarkProcessor, DEFAULT_UNFLATTEN_LISTS = true, everSyncedProviders, REQUIRED_COMMANDS, VALID_CAPABILITY_REASON_CODES, REQUIRED_HELPERS, SUPPORTED_NON_UNIFORM_STRATEGIES, SUPPORTED_SET_MARKS, REGEX_MAX_PATTERN_LENGTH = 1024, registry, TOGGLE_MARK_SPECS, CORE_MARK_NAMES, METADATA_MARK_NAMES, VALID_CREATE_POSITIONS, REF_HANDLERS, STEP_INTERACTION_MATRIX, MATRIX_EXEMPT_OPS, DEFAULT_INLINE_POLICY, CORE_SET_MARK_KEYS, BOOLEAN_INLINE_MARK_KEYS, TEXT_STYLE_KEYS, PRESERVE_RUN_PROPERTIES_META_KEY = "sdPreserveRunPropertiesKeys", STUB_WHERE, FALLBACK_STORE_KEY = "__documentApiComments", STYLES_PART = "word/styles.xml", PROPERTIES_KEY_BY_CHANNEL, XML_PATH_BY_CHANNEL2, UNDERLINE_API_TO_STORAGE, UNDERLINE_STORAGE_TO_API, HEX_SUBKEYS_BY_PROPERTY, PARAGRAPH_NODE_TYPES, ALIGNMENT_TO_JUSTIFICATION, DERIVED_ID_LENGTH = 24, groupedCache, SUPPORTED_NODE_TYPES, REJECTED_NODE_TYPES, INDENT_PER_LEVEL_TWIPS = 720, HANGING_INDENT_TWIPS = 360, ORDERED_PRESET_CONFIG, BULLET_PRESET_CONFIG, PRESET_TEMPLATES, LevelFormattingHelpers, CSS_NAMED_COLORS, SETTINGS_PART_PATH = "word/settings.xml", POINTS_TO_PIXELS, POINTS_TO_TWIPS = 20, PIXELS_TO_TWIPS, DEFAULT_TABLE_GRID_WIDTH_TWIPS = 1500, TABLE_ADAPTER_DISPATCH, ROW_OPS, TABLE_SCOPED_OPS, registered = false, SectionType, DEFAULT_PARAGRAPH_SECTION_TYPE, DEFAULT_BODY_SECTION_TYPE, TWIPS_PER_INCH$2 = 1440, PX_PER_INCH$2 = 96, DEFAULT_COLUMN_GAP_INCHES = 0.5, DEFAULT_HEADER_FOOTER_MARGIN_PX = 0, LINE_NUMBER_RESTART_VALUES, PAGE_NUMBER_FORMAT_VALUES, SECTION_ORIENTATION_VALUES, SECTION_VERTICAL_ALIGN_VALUES, readSectPrHeaderFooterRefs, PIXELS_PER_INCH$2 = 96, DOCUMENT_RELS_PATH = "word/_rels/document.xml.rels", RELS_XMLNS2 = "http://schemas.openxmlformats.org/package/2006/relationships", HEADER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header", FOOTER_RELATIONSHIP_TYPE2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer", WORDPROCESSINGML_XMLNS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main", OFFICE_DOCUMENT_RELS_XMLNS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships", RELATIONSHIP_ID_PATTERN, HEADER_FILE_PATTERN, FOOTER_FILE_PATTERN, HISTORY_UNSAFE_OPS, DEFAULT_LEVEL = 1, SWITCH_PATTERN, DEFAULT_RIGHT_TAB_POS = 9350, TAB_LEADER_MAP, NO_ENTRIES_PLACEHOLDER, TC_LEVEL_MIN = 1, TC_LEVEL_MAX = 9, DEFAULT_MIME_TYPE = "application/octet-stream", simpleHash2 = (str) => {
|
|
175454
177151
|
let hash$3 = 0;
|
|
175455
177152
|
for (let i$1 = 0;i$1 < str.length; i$1++) {
|
|
175456
177153
|
const char = str.charCodeAt(i$1);
|
|
@@ -177561,7 +179258,194 @@ var Node$13 = class Node$14 {
|
|
|
177561
179258
|
return;
|
|
177562
179259
|
const candidate = run2.pmEnd;
|
|
177563
179260
|
return typeof candidate === "number" ? candidate : undefined;
|
|
177564
|
-
}, engines_exports,
|
|
179261
|
+
}, engines_exports, FONT_FAMILY_FALLBACKS2, DEFAULT_GENERIC_FALLBACK2 = "sans-serif", normalizeParts = (value) => (value || "").split(",").map((part) => part.trim()).filter(Boolean), splitOutsideQuotes = (str, delimiter) => {
|
|
179262
|
+
if (!str.includes('"') && !str.includes("'"))
|
|
179263
|
+
return str.split(delimiter).map((p$12) => p$12.trim()).filter(Boolean);
|
|
179264
|
+
const parts = [];
|
|
179265
|
+
let current = "";
|
|
179266
|
+
let inQuote = false;
|
|
179267
|
+
let quoteChar = null;
|
|
179268
|
+
for (const char of str)
|
|
179269
|
+
if (!inQuote && (char === '"' || char === "'")) {
|
|
179270
|
+
inQuote = true;
|
|
179271
|
+
quoteChar = char;
|
|
179272
|
+
current += char;
|
|
179273
|
+
} else if (inQuote && char === quoteChar) {
|
|
179274
|
+
inQuote = false;
|
|
179275
|
+
quoteChar = null;
|
|
179276
|
+
current += char;
|
|
179277
|
+
} else if (!inQuote && char === delimiter) {
|
|
179278
|
+
if (current.trim())
|
|
179279
|
+
parts.push(current.trim());
|
|
179280
|
+
current = "";
|
|
179281
|
+
} else
|
|
179282
|
+
current += char;
|
|
179283
|
+
if (current.trim())
|
|
179284
|
+
parts.push(current.trim());
|
|
179285
|
+
return parts;
|
|
179286
|
+
}, _, F, X, p3 = "http://schemas.openxmlformats.org/drawingml/2006/main", G, c0, n0 = 100, o0, u0 = (t) => h$1(t, p3, "path").length > 0, M0, r0, DOM_CLASS_NAMES, hashParagraphBorder$1 = (border) => {
|
|
179287
|
+
const parts = [];
|
|
179288
|
+
if (border.style !== undefined)
|
|
179289
|
+
parts.push(`s:${border.style}`);
|
|
179290
|
+
if (border.width !== undefined)
|
|
179291
|
+
parts.push(`w:${border.width}`);
|
|
179292
|
+
if (border.color !== undefined)
|
|
179293
|
+
parts.push(`c:${border.color}`);
|
|
179294
|
+
if (border.space !== undefined)
|
|
179295
|
+
parts.push(`sp:${border.space}`);
|
|
179296
|
+
return parts.join(",");
|
|
179297
|
+
}, hashParagraphBorders$1 = (borders) => {
|
|
179298
|
+
const parts = [];
|
|
179299
|
+
if (borders.top)
|
|
179300
|
+
parts.push(`t:[${hashParagraphBorder$1(borders.top)}]`);
|
|
179301
|
+
if (borders.right)
|
|
179302
|
+
parts.push(`r:[${hashParagraphBorder$1(borders.right)}]`);
|
|
179303
|
+
if (borders.bottom)
|
|
179304
|
+
parts.push(`b:[${hashParagraphBorder$1(borders.bottom)}]`);
|
|
179305
|
+
if (borders.left)
|
|
179306
|
+
parts.push(`l:[${hashParagraphBorder$1(borders.left)}]`);
|
|
179307
|
+
return parts.join(";");
|
|
179308
|
+
}, isNoneBorder$1 = (value) => {
|
|
179309
|
+
return typeof value === "object" && value !== null && "none" in value && value.none === true;
|
|
179310
|
+
}, isBorderSpec$1 = (value) => {
|
|
179311
|
+
return typeof value === "object" && value !== null && !("none" in value);
|
|
179312
|
+
}, hashBorderSpec$1 = (border) => {
|
|
179313
|
+
const parts = [];
|
|
179314
|
+
if (border.style !== undefined)
|
|
179315
|
+
parts.push(`s:${border.style}`);
|
|
179316
|
+
if (border.width !== undefined)
|
|
179317
|
+
parts.push(`w:${border.width}`);
|
|
179318
|
+
if (border.color !== undefined)
|
|
179319
|
+
parts.push(`c:${border.color}`);
|
|
179320
|
+
if (border.space !== undefined)
|
|
179321
|
+
parts.push(`sp:${border.space}`);
|
|
179322
|
+
return parts.join(",");
|
|
179323
|
+
}, hashTableBorderValue$1 = (borderValue) => {
|
|
179324
|
+
if (borderValue === undefined)
|
|
179325
|
+
return "";
|
|
179326
|
+
if (borderValue === null)
|
|
179327
|
+
return "null";
|
|
179328
|
+
if (isNoneBorder$1(borderValue))
|
|
179329
|
+
return "none";
|
|
179330
|
+
if (isBorderSpec$1(borderValue))
|
|
179331
|
+
return hashBorderSpec$1(borderValue);
|
|
179332
|
+
return "";
|
|
179333
|
+
}, hashTableBorders$1 = (borders) => {
|
|
179334
|
+
if (!borders)
|
|
179335
|
+
return "";
|
|
179336
|
+
const parts = [];
|
|
179337
|
+
if (borders.top !== undefined)
|
|
179338
|
+
parts.push(`t:[${hashTableBorderValue$1(borders.top)}]`);
|
|
179339
|
+
if (borders.right !== undefined)
|
|
179340
|
+
parts.push(`r:[${hashTableBorderValue$1(borders.right)}]`);
|
|
179341
|
+
if (borders.bottom !== undefined)
|
|
179342
|
+
parts.push(`b:[${hashTableBorderValue$1(borders.bottom)}]`);
|
|
179343
|
+
if (borders.left !== undefined)
|
|
179344
|
+
parts.push(`l:[${hashTableBorderValue$1(borders.left)}]`);
|
|
179345
|
+
if (borders.insideH !== undefined)
|
|
179346
|
+
parts.push(`ih:[${hashTableBorderValue$1(borders.insideH)}]`);
|
|
179347
|
+
if (borders.insideV !== undefined)
|
|
179348
|
+
parts.push(`iv:[${hashTableBorderValue$1(borders.insideV)}]`);
|
|
179349
|
+
return parts.join(";");
|
|
179350
|
+
}, hashCellBorders$1 = (borders) => {
|
|
179351
|
+
if (!borders)
|
|
179352
|
+
return "";
|
|
179353
|
+
const parts = [];
|
|
179354
|
+
if (borders.top)
|
|
179355
|
+
parts.push(`t:[${hashBorderSpec$1(borders.top)}]`);
|
|
179356
|
+
if (borders.right)
|
|
179357
|
+
parts.push(`r:[${hashBorderSpec$1(borders.right)}]`);
|
|
179358
|
+
if (borders.bottom)
|
|
179359
|
+
parts.push(`b:[${hashBorderSpec$1(borders.bottom)}]`);
|
|
179360
|
+
if (borders.left)
|
|
179361
|
+
parts.push(`l:[${hashBorderSpec$1(borders.left)}]`);
|
|
179362
|
+
return parts.join(";");
|
|
179363
|
+
}, hasStringProp = (run2, prop) => {
|
|
179364
|
+
return prop in run2 && typeof run2[prop] === "string";
|
|
179365
|
+
}, hasNumberProp = (run2, prop) => {
|
|
179366
|
+
return prop in run2 && typeof run2[prop] === "number";
|
|
179367
|
+
}, hasBooleanProp = (run2, prop) => {
|
|
179368
|
+
return prop in run2 && typeof run2[prop] === "boolean";
|
|
179369
|
+
}, getRunStringProp = (run2, prop) => {
|
|
179370
|
+
if (hasStringProp(run2, prop))
|
|
179371
|
+
return run2[prop];
|
|
179372
|
+
return "";
|
|
179373
|
+
}, getRunNumberProp = (run2, prop) => {
|
|
179374
|
+
if (hasNumberProp(run2, prop))
|
|
179375
|
+
return run2[prop];
|
|
179376
|
+
return 0;
|
|
179377
|
+
}, getRunBooleanProp = (run2, prop) => {
|
|
179378
|
+
if (hasBooleanProp(run2, prop))
|
|
179379
|
+
return run2[prop];
|
|
179380
|
+
return false;
|
|
179381
|
+
}, getRunUnderlineStyle = (run2) => {
|
|
179382
|
+
if ("underline" in run2 && typeof run2.underline === "boolean")
|
|
179383
|
+
return run2.underline ? "single" : "";
|
|
179384
|
+
if ("underline" in run2 && run2.underline && typeof run2.underline === "object")
|
|
179385
|
+
return run2.underline.style ?? "";
|
|
179386
|
+
return "";
|
|
179387
|
+
}, getRunUnderlineColor = (run2) => {
|
|
179388
|
+
if ("underline" in run2 && run2.underline && typeof run2.underline === "object")
|
|
179389
|
+
return run2.underline.color ?? "";
|
|
179390
|
+
return "";
|
|
179391
|
+
}, isDevelopment = () => {
|
|
179392
|
+
if (typeof process$1 !== "undefined" && typeof process$1.env !== "undefined")
|
|
179393
|
+
return process$1.env.NODE_ENV === "development";
|
|
179394
|
+
return false;
|
|
179395
|
+
}, ValidationStatsCollector = class {
|
|
179396
|
+
constructor() {
|
|
179397
|
+
this.stats = {
|
|
179398
|
+
totalSpans: 0,
|
|
179399
|
+
validSpans: 0,
|
|
179400
|
+
missingPmStart: 0,
|
|
179401
|
+
missingPmEnd: 0,
|
|
179402
|
+
missingBoth: 0
|
|
179403
|
+
};
|
|
179404
|
+
}
|
|
179405
|
+
record(hasPmStart, hasPmEnd) {
|
|
179406
|
+
this.stats.totalSpans++;
|
|
179407
|
+
if (hasPmStart && hasPmEnd)
|
|
179408
|
+
this.stats.validSpans++;
|
|
179409
|
+
else if (!hasPmStart && !hasPmEnd)
|
|
179410
|
+
this.stats.missingBoth++;
|
|
179411
|
+
else if (!hasPmStart)
|
|
179412
|
+
this.stats.missingPmStart++;
|
|
179413
|
+
else
|
|
179414
|
+
this.stats.missingPmEnd++;
|
|
179415
|
+
}
|
|
179416
|
+
getStats() {
|
|
179417
|
+
return { ...this.stats };
|
|
179418
|
+
}
|
|
179419
|
+
reset() {
|
|
179420
|
+
this.stats = {
|
|
179421
|
+
totalSpans: 0,
|
|
179422
|
+
validSpans: 0,
|
|
179423
|
+
missingPmStart: 0,
|
|
179424
|
+
missingPmEnd: 0,
|
|
179425
|
+
missingBoth: 0
|
|
179426
|
+
};
|
|
179427
|
+
}
|
|
179428
|
+
getCoveragePercent() {
|
|
179429
|
+
if (this.stats.totalSpans === 0)
|
|
179430
|
+
return 100;
|
|
179431
|
+
return this.stats.validSpans / this.stats.totalSpans * 100;
|
|
179432
|
+
}
|
|
179433
|
+
logSummary() {
|
|
179434
|
+
if (!isDevelopment())
|
|
179435
|
+
return;
|
|
179436
|
+
const coverage = this.getCoveragePercent();
|
|
179437
|
+
const s2 = this.stats;
|
|
179438
|
+
if (coverage < 100)
|
|
179439
|
+
console.warn("[PmPositionValidation] PM position coverage:", {
|
|
179440
|
+
coverage: `${coverage.toFixed(1)}%`,
|
|
179441
|
+
totalSpans: s2.totalSpans,
|
|
179442
|
+
validSpans: s2.validSpans,
|
|
179443
|
+
missingPmStart: s2.missingPmStart,
|
|
179444
|
+
missingPmEnd: s2.missingPmEnd,
|
|
179445
|
+
missingBoth: s2.missingBoth
|
|
179446
|
+
});
|
|
179447
|
+
}
|
|
179448
|
+
}, globalValidationStats, DEFAULT_PPI = 96, DEFAULT_RULER_HEIGHT = 25, TICK_SPACING_PX, RULER_CLASS_NAMES, RULER_STYLES, rulerStylesInjected = false, CLASS_NAMES$1, DEFAULT_PAGE_STYLES, containerStyles, containerStylesHorizontal, spreadStyles, pageStyles = (width, height, overrides) => {
|
|
177565
179449
|
const merged = {
|
|
177566
179450
|
...DEFAULT_PAGE_STYLES,
|
|
177567
179451
|
...overrides || {}
|
|
@@ -178118,32 +180002,7 @@ var Node$13 = class Node$14 {
|
|
|
178118
180002
|
styleEl.textContent = NATIVE_SELECTION_STYLES;
|
|
178119
180003
|
doc$2.head?.appendChild(styleEl);
|
|
178120
180004
|
nativeSelectionStylesInjected = true;
|
|
178121
|
-
},
|
|
178122
|
-
if (!str.includes('"') && !str.includes("'"))
|
|
178123
|
-
return str.split(delimiter).map((p$12) => p$12.trim()).filter(Boolean);
|
|
178124
|
-
const parts = [];
|
|
178125
|
-
let current = "";
|
|
178126
|
-
let inQuote = false;
|
|
178127
|
-
let quoteChar = null;
|
|
178128
|
-
for (const char of str)
|
|
178129
|
-
if (!inQuote && (char === '"' || char === "'")) {
|
|
178130
|
-
inQuote = true;
|
|
178131
|
-
quoteChar = char;
|
|
178132
|
-
current += char;
|
|
178133
|
-
} else if (inQuote && char === quoteChar) {
|
|
178134
|
-
inQuote = false;
|
|
178135
|
-
quoteChar = null;
|
|
178136
|
-
current += char;
|
|
178137
|
-
} else if (!inQuote && char === delimiter) {
|
|
178138
|
-
if (current.trim())
|
|
178139
|
-
parts.push(current.trim());
|
|
178140
|
-
current = "";
|
|
178141
|
-
} else
|
|
178142
|
-
current += char;
|
|
178143
|
-
if (current.trim())
|
|
178144
|
-
parts.push(current.trim());
|
|
178145
|
-
return parts;
|
|
178146
|
-
}, maxSize = 5000, cache$2, makeKey = (text5, font, letterSpacing) => {
|
|
180005
|
+
}, gradientIdCounter = 0, EMUS_PER_INCH = 914400, maxSize = 5000, cache$2, makeKey = (text5, font, letterSpacing) => {
|
|
178147
180006
|
return `${text5}|${font}|${letterSpacing || 0}`;
|
|
178148
180007
|
}, fontMetricsCache, MAX_CACHE_SIZE$1 = 1000, METRICS_TEST_STRING = "MHgypbdlÁÉÍ", computeTabStops, measurementConfig, canvasContext = null, DEFAULT_TAB_INTERVAL_TWIPS$2 = 720, TWIPS_PER_PX$1, twipsToPx$2 = (twips) => twips / TWIPS_PER_PX$1, pxToTwips$1 = (px) => Math.round(px * TWIPS_PER_PX$1), DEFAULT_TAB_INTERVAL_PX$1, TAB_EPSILON$1 = 0.1, DEFAULT_DECIMAL_SEPARATOR$1 = ".", ALLOWED_TAB_VALS, FIELD_ANNOTATION_PILL_PADDING = 8, FIELD_ANNOTATION_LINE_HEIGHT_MULTIPLIER = 1.2, FIELD_ANNOTATION_VERTICAL_PADDING = 6, DEFAULT_FIELD_ANNOTATION_FONT_SIZE = 16, DEFAULT_PARAGRAPH_FONT_SIZE = 12, DEFAULT_PARAGRAPH_FONT_FAMILY = "Arial", isValidFontSize = (value) => typeof value === "number" && Number.isFinite(value) && value > 0, normalizeFontSize$1 = (value, fallback = DEFAULT_PARAGRAPH_FONT_SIZE) => {
|
|
178149
180008
|
if (isValidFontSize(value))
|
|
@@ -179559,64 +181418,7 @@ var Node$13 = class Node$14 {
|
|
|
179559
181418
|
y$1 += actualRowHeight + cellSpacingPx;
|
|
179560
181419
|
}
|
|
179561
181420
|
return container;
|
|
179562
|
-
},
|
|
179563
|
-
if (typeof process$1 !== "undefined" && typeof process$1.env !== "undefined")
|
|
179564
|
-
return process$1.env.NODE_ENV === "development";
|
|
179565
|
-
return false;
|
|
179566
|
-
}, ValidationStatsCollector = class {
|
|
179567
|
-
constructor() {
|
|
179568
|
-
this.stats = {
|
|
179569
|
-
totalSpans: 0,
|
|
179570
|
-
validSpans: 0,
|
|
179571
|
-
missingPmStart: 0,
|
|
179572
|
-
missingPmEnd: 0,
|
|
179573
|
-
missingBoth: 0
|
|
179574
|
-
};
|
|
179575
|
-
}
|
|
179576
|
-
record(hasPmStart, hasPmEnd) {
|
|
179577
|
-
this.stats.totalSpans++;
|
|
179578
|
-
if (hasPmStart && hasPmEnd)
|
|
179579
|
-
this.stats.validSpans++;
|
|
179580
|
-
else if (!hasPmStart && !hasPmEnd)
|
|
179581
|
-
this.stats.missingBoth++;
|
|
179582
|
-
else if (!hasPmStart)
|
|
179583
|
-
this.stats.missingPmStart++;
|
|
179584
|
-
else
|
|
179585
|
-
this.stats.missingPmEnd++;
|
|
179586
|
-
}
|
|
179587
|
-
getStats() {
|
|
179588
|
-
return { ...this.stats };
|
|
179589
|
-
}
|
|
179590
|
-
reset() {
|
|
179591
|
-
this.stats = {
|
|
179592
|
-
totalSpans: 0,
|
|
179593
|
-
validSpans: 0,
|
|
179594
|
-
missingPmStart: 0,
|
|
179595
|
-
missingPmEnd: 0,
|
|
179596
|
-
missingBoth: 0
|
|
179597
|
-
};
|
|
179598
|
-
}
|
|
179599
|
-
getCoveragePercent() {
|
|
179600
|
-
if (this.stats.totalSpans === 0)
|
|
179601
|
-
return 100;
|
|
179602
|
-
return this.stats.validSpans / this.stats.totalSpans * 100;
|
|
179603
|
-
}
|
|
179604
|
-
logSummary() {
|
|
179605
|
-
if (!isDevelopment())
|
|
179606
|
-
return;
|
|
179607
|
-
const coverage = this.getCoveragePercent();
|
|
179608
|
-
const s2 = this.stats;
|
|
179609
|
-
if (coverage < 100)
|
|
179610
|
-
console.warn("[PmPositionValidation] PM position coverage:", {
|
|
179611
|
-
coverage: `${coverage.toFixed(1)}%`,
|
|
179612
|
-
totalSpans: s2.totalSpans,
|
|
179613
|
-
validSpans: s2.validSpans,
|
|
179614
|
-
missingPmStart: s2.missingPmStart,
|
|
179615
|
-
missingPmEnd: s2.missingPmEnd,
|
|
179616
|
-
missingBoth: s2.missingBoth
|
|
179617
|
-
});
|
|
179618
|
-
}
|
|
179619
|
-
}, globalValidationStats, SDT_BLOCK_SELECTOR, HOVER_CLASS, SdtGroupedHover = class {
|
|
181421
|
+
}, SDT_BLOCK_SELECTOR, HOVER_CLASS, SdtGroupedHover = class {
|
|
179620
181422
|
constructor() {
|
|
179621
181423
|
this.hoveredSdtId = null;
|
|
179622
181424
|
this.mount = null;
|
|
@@ -179667,111 +181469,6 @@ var Node$13 = class Node$14 {
|
|
|
179667
181469
|
this.onMouseLeave = null;
|
|
179668
181470
|
this.hoveredSdtId = null;
|
|
179669
181471
|
}
|
|
179670
|
-
}, DEFAULT_PPI = 96, DEFAULT_RULER_HEIGHT = 25, TICK_SPACING_PX, RULER_CLASS_NAMES, RULER_STYLES, rulerStylesInjected = false, hashParagraphBorder$1 = (border) => {
|
|
179671
|
-
const parts = [];
|
|
179672
|
-
if (border.style !== undefined)
|
|
179673
|
-
parts.push(`s:${border.style}`);
|
|
179674
|
-
if (border.width !== undefined)
|
|
179675
|
-
parts.push(`w:${border.width}`);
|
|
179676
|
-
if (border.color !== undefined)
|
|
179677
|
-
parts.push(`c:${border.color}`);
|
|
179678
|
-
if (border.space !== undefined)
|
|
179679
|
-
parts.push(`sp:${border.space}`);
|
|
179680
|
-
return parts.join(",");
|
|
179681
|
-
}, hashParagraphBorders$1 = (borders) => {
|
|
179682
|
-
const parts = [];
|
|
179683
|
-
if (borders.top)
|
|
179684
|
-
parts.push(`t:[${hashParagraphBorder$1(borders.top)}]`);
|
|
179685
|
-
if (borders.right)
|
|
179686
|
-
parts.push(`r:[${hashParagraphBorder$1(borders.right)}]`);
|
|
179687
|
-
if (borders.bottom)
|
|
179688
|
-
parts.push(`b:[${hashParagraphBorder$1(borders.bottom)}]`);
|
|
179689
|
-
if (borders.left)
|
|
179690
|
-
parts.push(`l:[${hashParagraphBorder$1(borders.left)}]`);
|
|
179691
|
-
return parts.join(";");
|
|
179692
|
-
}, isNoneBorder$1 = (value) => {
|
|
179693
|
-
return typeof value === "object" && value !== null && "none" in value && value.none === true;
|
|
179694
|
-
}, isBorderSpec$1 = (value) => {
|
|
179695
|
-
return typeof value === "object" && value !== null && !("none" in value);
|
|
179696
|
-
}, hashBorderSpec$1 = (border) => {
|
|
179697
|
-
const parts = [];
|
|
179698
|
-
if (border.style !== undefined)
|
|
179699
|
-
parts.push(`s:${border.style}`);
|
|
179700
|
-
if (border.width !== undefined)
|
|
179701
|
-
parts.push(`w:${border.width}`);
|
|
179702
|
-
if (border.color !== undefined)
|
|
179703
|
-
parts.push(`c:${border.color}`);
|
|
179704
|
-
if (border.space !== undefined)
|
|
179705
|
-
parts.push(`sp:${border.space}`);
|
|
179706
|
-
return parts.join(",");
|
|
179707
|
-
}, hashTableBorderValue$1 = (borderValue) => {
|
|
179708
|
-
if (borderValue === undefined)
|
|
179709
|
-
return "";
|
|
179710
|
-
if (borderValue === null)
|
|
179711
|
-
return "null";
|
|
179712
|
-
if (isNoneBorder$1(borderValue))
|
|
179713
|
-
return "none";
|
|
179714
|
-
if (isBorderSpec$1(borderValue))
|
|
179715
|
-
return hashBorderSpec$1(borderValue);
|
|
179716
|
-
return "";
|
|
179717
|
-
}, hashTableBorders$1 = (borders) => {
|
|
179718
|
-
if (!borders)
|
|
179719
|
-
return "";
|
|
179720
|
-
const parts = [];
|
|
179721
|
-
if (borders.top !== undefined)
|
|
179722
|
-
parts.push(`t:[${hashTableBorderValue$1(borders.top)}]`);
|
|
179723
|
-
if (borders.right !== undefined)
|
|
179724
|
-
parts.push(`r:[${hashTableBorderValue$1(borders.right)}]`);
|
|
179725
|
-
if (borders.bottom !== undefined)
|
|
179726
|
-
parts.push(`b:[${hashTableBorderValue$1(borders.bottom)}]`);
|
|
179727
|
-
if (borders.left !== undefined)
|
|
179728
|
-
parts.push(`l:[${hashTableBorderValue$1(borders.left)}]`);
|
|
179729
|
-
if (borders.insideH !== undefined)
|
|
179730
|
-
parts.push(`ih:[${hashTableBorderValue$1(borders.insideH)}]`);
|
|
179731
|
-
if (borders.insideV !== undefined)
|
|
179732
|
-
parts.push(`iv:[${hashTableBorderValue$1(borders.insideV)}]`);
|
|
179733
|
-
return parts.join(";");
|
|
179734
|
-
}, hashCellBorders$1 = (borders) => {
|
|
179735
|
-
if (!borders)
|
|
179736
|
-
return "";
|
|
179737
|
-
const parts = [];
|
|
179738
|
-
if (borders.top)
|
|
179739
|
-
parts.push(`t:[${hashBorderSpec$1(borders.top)}]`);
|
|
179740
|
-
if (borders.right)
|
|
179741
|
-
parts.push(`r:[${hashBorderSpec$1(borders.right)}]`);
|
|
179742
|
-
if (borders.bottom)
|
|
179743
|
-
parts.push(`b:[${hashBorderSpec$1(borders.bottom)}]`);
|
|
179744
|
-
if (borders.left)
|
|
179745
|
-
parts.push(`l:[${hashBorderSpec$1(borders.left)}]`);
|
|
179746
|
-
return parts.join(";");
|
|
179747
|
-
}, hasStringProp = (run2, prop) => {
|
|
179748
|
-
return prop in run2 && typeof run2[prop] === "string";
|
|
179749
|
-
}, hasNumberProp = (run2, prop) => {
|
|
179750
|
-
return prop in run2 && typeof run2[prop] === "number";
|
|
179751
|
-
}, hasBooleanProp = (run2, prop) => {
|
|
179752
|
-
return prop in run2 && typeof run2[prop] === "boolean";
|
|
179753
|
-
}, getRunStringProp = (run2, prop) => {
|
|
179754
|
-
if (hasStringProp(run2, prop))
|
|
179755
|
-
return run2[prop];
|
|
179756
|
-
return "";
|
|
179757
|
-
}, getRunNumberProp = (run2, prop) => {
|
|
179758
|
-
if (hasNumberProp(run2, prop))
|
|
179759
|
-
return run2[prop];
|
|
179760
|
-
return 0;
|
|
179761
|
-
}, getRunBooleanProp = (run2, prop) => {
|
|
179762
|
-
if (hasBooleanProp(run2, prop))
|
|
179763
|
-
return run2[prop];
|
|
179764
|
-
return false;
|
|
179765
|
-
}, getRunUnderlineStyle = (run2) => {
|
|
179766
|
-
if ("underline" in run2 && typeof run2.underline === "boolean")
|
|
179767
|
-
return run2.underline ? "single" : "";
|
|
179768
|
-
if ("underline" in run2 && run2.underline && typeof run2.underline === "object")
|
|
179769
|
-
return run2.underline.style ?? "";
|
|
179770
|
-
return "";
|
|
179771
|
-
}, getRunUnderlineColor = (run2) => {
|
|
179772
|
-
if ("underline" in run2 && run2.underline && typeof run2.underline === "object")
|
|
179773
|
-
return run2.underline.color ?? "";
|
|
179774
|
-
return "";
|
|
179775
181472
|
}, LIST_MARKER_GAP = 8, DEFAULT_PAGE_HEIGHT_PX = 1056, DEFAULT_VIRTUALIZED_PAGE_GAP = 72, COMMENT_EXTERNAL_COLOR = "#B1124B", COMMENT_INTERNAL_COLOR = "#078383", COMMENT_INACTIVE_ALPHA = "40", COMMENT_ACTIVE_ALPHA = "66", COMMENT_FADED_ALPHA = "20", LINK_DATASET_KEYS, MAX_HREF_LENGTH = 2048, SAFE_ANCHOR_PATTERN, MAX_DATA_URL_LENGTH, VALID_IMAGE_DATA_URL, MAX_RESIZE_MULTIPLIER = 3, FALLBACK_MAX_DIMENSION = 1000, MIN_IMAGE_DIMENSION = 20, AMBIGUOUS_LINK_PATTERNS, linkMetrics, TRACK_CHANGE_BASE_CLASS, TRACK_CHANGE_FOCUSED_CLASS = "track-change-focused", TRACK_CHANGE_MODIFIER_CLASS, LINK_TARGET_SET, normalizeAnchor = (value) => {
|
|
179776
181473
|
if (typeof value !== "string")
|
|
179777
181474
|
return null;
|
|
@@ -194092,9 +195789,9 @@ var Node$13 = class Node$14 {
|
|
|
194092
195789
|
trackedChanges: context.trackedChanges ?? []
|
|
194093
195790
|
});
|
|
194094
195791
|
}, _hoisted_1$6, _hoisted_2$2, _hoisted_3, _hoisted_4, ContextMenu_default, _hoisted_1$5, BasicUpload_default, _hoisted_1$4, MIN_WIDTH = 200, PPI = 96, alignment = "flex-end", Ruler_default, GenericPopover_default, _hoisted_1$3, _hoisted_2$1, RESIZE_HANDLE_WIDTH_PX = 9, RESIZE_HANDLE_HEIGHT_PX = 9, RESIZE_HANDLE_OFFSET_PX = 4, DRAG_OVERLAY_EXTENSION_PX = 1000, MIN_DRAG_OVERLAY_WIDTH_PX = 2000, THROTTLE_INTERVAL_MS = 16, MIN_RESIZE_DELTA_PX = 1, TableResizeOverlay_default, _hoisted_1$2, OVERLAY_EXPANSION_PX = 2000, RESIZE_HANDLE_SIZE_PX = 12, MOUSE_MOVE_THROTTLE_MS = 16, DIMENSION_CHANGE_THRESHOLD_PX = 1, Z_INDEX_OVERLAY = 10, Z_INDEX_HANDLE = 15, Z_INDEX_GUIDELINE = 20, ImageResizeOverlay_default, LINK_CLICK_DEBOUNCE_MS = 300, CURSOR_UPDATE_TIMEOUT_MS = 10, POPOVER_VERTICAL_OFFSET_PX = 15, LinkClickHandler_default, _hoisted_1$1, _hoisted_2, DOCX2 = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", TABLE_RESIZE_HOVER_THRESHOLD = 8, TABLE_RESIZE_THROTTLE_MS = 16, SuperEditor_default, _hoisted_1, SuperInput_default, SlashMenu, Extensions;
|
|
194095
|
-
var
|
|
195792
|
+
var init_src_B8PRu6_u_es = __esm(() => {
|
|
194096
195793
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
194097
|
-
|
|
195794
|
+
init_SuperConverter_CejXSSGL_es();
|
|
194098
195795
|
init_jszip_ChlR43oI_es();
|
|
194099
195796
|
init_uuid_qzgm05fK_es();
|
|
194100
195797
|
init_constants_CMPtQbp7_es();
|
|
@@ -202282,6 +203979,17 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
202282
203979
|
"lists.continuePrevious": [],
|
|
202283
203980
|
"lists.setLevelRestart": [],
|
|
202284
203981
|
"lists.convertToText": [],
|
|
203982
|
+
"lists.applyTemplate": [],
|
|
203983
|
+
"lists.applyPreset": [],
|
|
203984
|
+
"lists.captureTemplate": [],
|
|
203985
|
+
"lists.setLevelNumbering": [],
|
|
203986
|
+
"lists.setLevelBullet": [],
|
|
203987
|
+
"lists.setLevelPictureBullet": [],
|
|
203988
|
+
"lists.setLevelAlignment": [],
|
|
203989
|
+
"lists.setLevelIndents": [],
|
|
203990
|
+
"lists.setLevelTrailingCharacter": [],
|
|
203991
|
+
"lists.setLevelMarkerFont": [],
|
|
203992
|
+
"lists.clearLevelOverrides": [],
|
|
202285
203993
|
"blocks.delete": ["deleteBlockNodeById"],
|
|
202286
203994
|
"comments.create": [
|
|
202287
203995
|
"addComment",
|
|
@@ -202366,7 +204074,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
202366
204074
|
"sections.setOddEvenHeadersFooters": (editor) => Boolean(editor.converter),
|
|
202367
204075
|
"sections.setHeaderFooterRef": (editor) => Boolean(editor.converter),
|
|
202368
204076
|
"tables.setDefaultStyle": (editor) => Boolean(editor.converter),
|
|
202369
|
-
"tables.clearDefaultStyle": (editor) => Boolean(editor.converter)
|
|
204077
|
+
"tables.clearDefaultStyle": (editor) => Boolean(editor.converter),
|
|
204078
|
+
"lists.setLevelPictureBullet": (editor) => {
|
|
204079
|
+
const converter = editor.converter;
|
|
204080
|
+
return Boolean(converter?.convertedXml?.["word/numbering.xml"]);
|
|
204081
|
+
}
|
|
202370
204082
|
};
|
|
202371
204083
|
SUPPORTED_NON_UNIFORM_STRATEGIES = [
|
|
202372
204084
|
"error",
|
|
@@ -202547,6 +204259,73 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
202547
204259
|
groupedCache = /* @__PURE__ */ new WeakMap;
|
|
202548
204260
|
SUPPORTED_NODE_TYPES = new Set(DELETABLE_BLOCK_NODE_TYPES2);
|
|
202549
204261
|
REJECTED_NODE_TYPES = new Set(["tableRow", "tableCell"]);
|
|
204262
|
+
ORDERED_PRESET_CONFIG = {
|
|
204263
|
+
decimal: {
|
|
204264
|
+
numFmt: "decimal",
|
|
204265
|
+
lvlTextSuffix: "."
|
|
204266
|
+
},
|
|
204267
|
+
decimalParenthesis: {
|
|
204268
|
+
numFmt: "decimal",
|
|
204269
|
+
lvlTextSuffix: ")"
|
|
204270
|
+
},
|
|
204271
|
+
lowerLetter: {
|
|
204272
|
+
numFmt: "lowerLetter",
|
|
204273
|
+
lvlTextSuffix: "."
|
|
204274
|
+
},
|
|
204275
|
+
upperLetter: {
|
|
204276
|
+
numFmt: "upperLetter",
|
|
204277
|
+
lvlTextSuffix: "."
|
|
204278
|
+
},
|
|
204279
|
+
lowerRoman: {
|
|
204280
|
+
numFmt: "lowerRoman",
|
|
204281
|
+
lvlTextSuffix: "."
|
|
204282
|
+
},
|
|
204283
|
+
upperRoman: {
|
|
204284
|
+
numFmt: "upperRoman",
|
|
204285
|
+
lvlTextSuffix: "."
|
|
204286
|
+
}
|
|
204287
|
+
};
|
|
204288
|
+
BULLET_PRESET_CONFIG = {
|
|
204289
|
+
disc: {
|
|
204290
|
+
markerText: "•",
|
|
204291
|
+
fontFamily: "Symbol"
|
|
204292
|
+
},
|
|
204293
|
+
circle: {
|
|
204294
|
+
markerText: "o",
|
|
204295
|
+
fontFamily: "Courier New"
|
|
204296
|
+
},
|
|
204297
|
+
square: {
|
|
204298
|
+
markerText: "",
|
|
204299
|
+
fontFamily: "Wingdings"
|
|
204300
|
+
},
|
|
204301
|
+
dash: {
|
|
204302
|
+
markerText: "–",
|
|
204303
|
+
fontFamily: "Calibri"
|
|
204304
|
+
}
|
|
204305
|
+
};
|
|
204306
|
+
PRESET_TEMPLATES = {};
|
|
204307
|
+
for (const [id2, config2] of Object.entries(ORDERED_PRESET_CONFIG))
|
|
204308
|
+
PRESET_TEMPLATES[id2] = buildOrderedPresetTemplate(config2);
|
|
204309
|
+
for (const [id2, config2] of Object.entries(BULLET_PRESET_CONFIG))
|
|
204310
|
+
PRESET_TEMPLATES[id2] = buildBulletPresetTemplate(config2);
|
|
204311
|
+
LevelFormattingHelpers = {
|
|
204312
|
+
readLevelProperties,
|
|
204313
|
+
findLevelElement,
|
|
204314
|
+
hasLevel,
|
|
204315
|
+
setLevelNumberingFormat,
|
|
204316
|
+
setLevelBulletMarker,
|
|
204317
|
+
setLevelPictureBulletId,
|
|
204318
|
+
setLevelAlignment,
|
|
204319
|
+
setLevelIndents,
|
|
204320
|
+
setLevelTrailingCharacter,
|
|
204321
|
+
setLevelMarkerFont,
|
|
204322
|
+
hasLevelOverride,
|
|
204323
|
+
clearLevelOverride,
|
|
204324
|
+
captureTemplate,
|
|
204325
|
+
applyTemplateToAbstract,
|
|
204326
|
+
getPresetTemplate,
|
|
204327
|
+
PRESET_TEMPLATES
|
|
204328
|
+
};
|
|
202550
204329
|
CSS_NAMED_COLORS = {
|
|
202551
204330
|
aliceblue: "#f0f8ff",
|
|
202552
204331
|
antiquewhite: "#faebd7",
|
|
@@ -205327,6 +207106,15 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
205327
207106
|
resolveSpacingIndent: () => resolveSpacingIndent,
|
|
205328
207107
|
scaleWrapPolygon: () => scaleWrapPolygon
|
|
205329
207108
|
}, 1);
|
|
207109
|
+
FONT_FAMILY_FALLBACKS2 = Object.freeze({
|
|
207110
|
+
swiss: "Arial, sans-serif",
|
|
207111
|
+
roman: "Times New Roman, serif",
|
|
207112
|
+
modern: "Courier New, monospace",
|
|
207113
|
+
script: "cursive",
|
|
207114
|
+
decorative: "fantasy",
|
|
207115
|
+
system: "system-ui",
|
|
207116
|
+
auto: "sans-serif"
|
|
207117
|
+
});
|
|
205330
207118
|
init_dist();
|
|
205331
207119
|
_ = {
|
|
205332
207120
|
accentBorderCallout1: {
|
|
@@ -207838,6 +209626,88 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
207838
209626
|
INLINE_IMAGE: "superdoc-inline-image",
|
|
207839
209627
|
INLINE_IMAGE_CLIP_WRAPPER: "superdoc-inline-image-clip-wrapper"
|
|
207840
209628
|
};
|
|
209629
|
+
init_dist();
|
|
209630
|
+
globalValidationStats = new ValidationStatsCollector;
|
|
209631
|
+
TICK_SPACING_PX = DEFAULT_PPI / 8;
|
|
209632
|
+
RULER_CLASS_NAMES = {
|
|
209633
|
+
ruler: "superdoc-ruler",
|
|
209634
|
+
tick: "superdoc-ruler-tick",
|
|
209635
|
+
tickMain: "superdoc-ruler-tick--main",
|
|
209636
|
+
tickHalf: "superdoc-ruler-tick--half",
|
|
209637
|
+
tickEighth: "superdoc-ruler-tick--eighth",
|
|
209638
|
+
label: "superdoc-ruler-label",
|
|
209639
|
+
handle: "superdoc-ruler-handle",
|
|
209640
|
+
handleLeft: "superdoc-ruler-handle--left",
|
|
209641
|
+
handleRight: "superdoc-ruler-handle--right",
|
|
209642
|
+
indicator: "superdoc-ruler-indicator"
|
|
209643
|
+
};
|
|
209644
|
+
RULER_STYLES = `
|
|
209645
|
+
/* Ruler container */
|
|
209646
|
+
.${RULER_CLASS_NAMES.ruler} {
|
|
209647
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
209648
|
+
background-color: transparent;
|
|
209649
|
+
}
|
|
209650
|
+
|
|
209651
|
+
/* Tick marks base styling */
|
|
209652
|
+
.${RULER_CLASS_NAMES.tick} {
|
|
209653
|
+
flex-shrink: 0;
|
|
209654
|
+
}
|
|
209655
|
+
|
|
209656
|
+
/* Handle hover and active states */
|
|
209657
|
+
.${RULER_CLASS_NAMES.handle}:hover {
|
|
209658
|
+
background-color: rgba(37, 99, 235, 0.4) !important;
|
|
209659
|
+
}
|
|
209660
|
+
|
|
209661
|
+
.${RULER_CLASS_NAMES.handle}:active,
|
|
209662
|
+
.${RULER_CLASS_NAMES.handle}[data-dragging="true"] {
|
|
209663
|
+
background-color: rgba(37, 99, 235, 0.6) !important;
|
|
209664
|
+
cursor: grabbing !important;
|
|
209665
|
+
}
|
|
209666
|
+
|
|
209667
|
+
/* Vertical indicator animation */
|
|
209668
|
+
.${RULER_CLASS_NAMES.indicator} {
|
|
209669
|
+
transition: left 16ms linear;
|
|
209670
|
+
}
|
|
209671
|
+
|
|
209672
|
+
/* Print mode: hide rulers */
|
|
209673
|
+
@media print {
|
|
209674
|
+
.${RULER_CLASS_NAMES.ruler} {
|
|
209675
|
+
display: none !important;
|
|
209676
|
+
}
|
|
209677
|
+
}
|
|
209678
|
+
|
|
209679
|
+
/* High contrast mode support */
|
|
209680
|
+
@media (prefers-contrast: high) {
|
|
209681
|
+
.${RULER_CLASS_NAMES.tick} {
|
|
209682
|
+
background-color: #000 !important;
|
|
209683
|
+
}
|
|
209684
|
+
|
|
209685
|
+
.${RULER_CLASS_NAMES.label} {
|
|
209686
|
+
color: #000 !important;
|
|
209687
|
+
}
|
|
209688
|
+
|
|
209689
|
+
.${RULER_CLASS_NAMES.handle} {
|
|
209690
|
+
background-color: #666 !important;
|
|
209691
|
+
border: 1px solid #000;
|
|
209692
|
+
}
|
|
209693
|
+
|
|
209694
|
+
.${RULER_CLASS_NAMES.handle}:hover,
|
|
209695
|
+
.${RULER_CLASS_NAMES.handle}:active {
|
|
209696
|
+
background-color: #0066cc !important;
|
|
209697
|
+
}
|
|
209698
|
+
}
|
|
209699
|
+
|
|
209700
|
+
/* Reduced motion support */
|
|
209701
|
+
@media (prefers-reduced-motion: reduce) {
|
|
209702
|
+
.${RULER_CLASS_NAMES.handle} {
|
|
209703
|
+
transition: none !important;
|
|
209704
|
+
}
|
|
209705
|
+
|
|
209706
|
+
.${RULER_CLASS_NAMES.indicator} {
|
|
209707
|
+
transition: none !important;
|
|
209708
|
+
}
|
|
209709
|
+
}
|
|
209710
|
+
`;
|
|
207841
209711
|
CLASS_NAMES$1 = {
|
|
207842
209712
|
container: "superdoc-layout",
|
|
207843
209713
|
page: "superdoc-page",
|
|
@@ -207919,15 +209789,6 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
207919
209789
|
`;
|
|
207920
209790
|
96 / EMUS_PER_INCH;
|
|
207921
209791
|
EMUS_PER_INCH / 96;
|
|
207922
|
-
FONT_FAMILY_FALLBACKS2 = Object.freeze({
|
|
207923
|
-
swiss: "Arial, sans-serif",
|
|
207924
|
-
roman: "Times New Roman, serif",
|
|
207925
|
-
modern: "Courier New, monospace",
|
|
207926
|
-
script: "cursive",
|
|
207927
|
-
decorative: "fantasy",
|
|
207928
|
-
system: "system-ui",
|
|
207929
|
-
auto: "sans-serif"
|
|
207930
|
-
});
|
|
207931
209792
|
cache$2 = /* @__PURE__ */ new Map;
|
|
207932
209793
|
fontMetricsCache = /* @__PURE__ */ new Map;
|
|
207933
209794
|
({ computeTabStops } = engines_exports);
|
|
@@ -208015,90 +209876,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208015
209876
|
"wave",
|
|
208016
209877
|
"doubleWave"
|
|
208017
209878
|
]);
|
|
208018
|
-
init_dist();
|
|
208019
|
-
globalValidationStats = new ValidationStatsCollector;
|
|
208020
209879
|
SDT_BLOCK_SELECTOR = `.${DOM_CLASS_NAMES.BLOCK_SDT}[data-sdt-id]`;
|
|
208021
209880
|
HOVER_CLASS = DOM_CLASS_NAMES.SDT_HOVER;
|
|
208022
|
-
TICK_SPACING_PX = DEFAULT_PPI / 8;
|
|
208023
|
-
RULER_CLASS_NAMES = {
|
|
208024
|
-
ruler: "superdoc-ruler",
|
|
208025
|
-
tick: "superdoc-ruler-tick",
|
|
208026
|
-
tickMain: "superdoc-ruler-tick--main",
|
|
208027
|
-
tickHalf: "superdoc-ruler-tick--half",
|
|
208028
|
-
tickEighth: "superdoc-ruler-tick--eighth",
|
|
208029
|
-
label: "superdoc-ruler-label",
|
|
208030
|
-
handle: "superdoc-ruler-handle",
|
|
208031
|
-
handleLeft: "superdoc-ruler-handle--left",
|
|
208032
|
-
handleRight: "superdoc-ruler-handle--right",
|
|
208033
|
-
indicator: "superdoc-ruler-indicator"
|
|
208034
|
-
};
|
|
208035
|
-
RULER_STYLES = `
|
|
208036
|
-
/* Ruler container */
|
|
208037
|
-
.${RULER_CLASS_NAMES.ruler} {
|
|
208038
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
208039
|
-
background-color: transparent;
|
|
208040
|
-
}
|
|
208041
|
-
|
|
208042
|
-
/* Tick marks base styling */
|
|
208043
|
-
.${RULER_CLASS_NAMES.tick} {
|
|
208044
|
-
flex-shrink: 0;
|
|
208045
|
-
}
|
|
208046
|
-
|
|
208047
|
-
/* Handle hover and active states */
|
|
208048
|
-
.${RULER_CLASS_NAMES.handle}:hover {
|
|
208049
|
-
background-color: rgba(37, 99, 235, 0.4) !important;
|
|
208050
|
-
}
|
|
208051
|
-
|
|
208052
|
-
.${RULER_CLASS_NAMES.handle}:active,
|
|
208053
|
-
.${RULER_CLASS_NAMES.handle}[data-dragging="true"] {
|
|
208054
|
-
background-color: rgba(37, 99, 235, 0.6) !important;
|
|
208055
|
-
cursor: grabbing !important;
|
|
208056
|
-
}
|
|
208057
|
-
|
|
208058
|
-
/* Vertical indicator animation */
|
|
208059
|
-
.${RULER_CLASS_NAMES.indicator} {
|
|
208060
|
-
transition: left 16ms linear;
|
|
208061
|
-
}
|
|
208062
|
-
|
|
208063
|
-
/* Print mode: hide rulers */
|
|
208064
|
-
@media print {
|
|
208065
|
-
.${RULER_CLASS_NAMES.ruler} {
|
|
208066
|
-
display: none !important;
|
|
208067
|
-
}
|
|
208068
|
-
}
|
|
208069
|
-
|
|
208070
|
-
/* High contrast mode support */
|
|
208071
|
-
@media (prefers-contrast: high) {
|
|
208072
|
-
.${RULER_CLASS_NAMES.tick} {
|
|
208073
|
-
background-color: #000 !important;
|
|
208074
|
-
}
|
|
208075
|
-
|
|
208076
|
-
.${RULER_CLASS_NAMES.label} {
|
|
208077
|
-
color: #000 !important;
|
|
208078
|
-
}
|
|
208079
|
-
|
|
208080
|
-
.${RULER_CLASS_NAMES.handle} {
|
|
208081
|
-
background-color: #666 !important;
|
|
208082
|
-
border: 1px solid #000;
|
|
208083
|
-
}
|
|
208084
|
-
|
|
208085
|
-
.${RULER_CLASS_NAMES.handle}:hover,
|
|
208086
|
-
.${RULER_CLASS_NAMES.handle}:active {
|
|
208087
|
-
background-color: #0066cc !important;
|
|
208088
|
-
}
|
|
208089
|
-
}
|
|
208090
|
-
|
|
208091
|
-
/* Reduced motion support */
|
|
208092
|
-
@media (prefers-reduced-motion: reduce) {
|
|
208093
|
-
.${RULER_CLASS_NAMES.handle} {
|
|
208094
|
-
transition: none !important;
|
|
208095
|
-
}
|
|
208096
|
-
|
|
208097
|
-
.${RULER_CLASS_NAMES.indicator} {
|
|
208098
|
-
transition: none !important;
|
|
208099
|
-
}
|
|
208100
|
-
}
|
|
208101
|
-
`;
|
|
208102
209881
|
init_dist();
|
|
208103
209882
|
LINK_DATASET_KEYS = {
|
|
208104
209883
|
blocked: "linkBlocked",
|
|
@@ -208199,6 +209978,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208199
209978
|
this.onResizeHandler = null;
|
|
208200
209979
|
this.zoomFactor = 1;
|
|
208201
209980
|
this.scrollContainer = null;
|
|
209981
|
+
this.scrollContainerMountOffset = null;
|
|
208202
209982
|
this.sdtHover = new SdtGroupedHover;
|
|
208203
209983
|
this.activeCommentId = null;
|
|
208204
209984
|
this.paintSnapshotBuilder = null;
|
|
@@ -208237,6 +210017,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208237
210017
|
const next2 = typeof zoom === "number" && Number.isFinite(zoom) && zoom > 0 ? zoom : 1;
|
|
208238
210018
|
if (next2 !== this.zoomFactor) {
|
|
208239
210019
|
this.zoomFactor = next2;
|
|
210020
|
+
this.scrollContainerMountOffset = null;
|
|
208240
210021
|
if (this.virtualEnabled && this.mount)
|
|
208241
210022
|
this.updateVirtualWindow();
|
|
208242
210023
|
}
|
|
@@ -208244,6 +210025,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208244
210025
|
setScrollContainer(el) {
|
|
208245
210026
|
if (el !== this.scrollContainer) {
|
|
208246
210027
|
this.scrollContainer = el;
|
|
210028
|
+
this.scrollContainerMountOffset = null;
|
|
208247
210029
|
if (this.virtualEnabled && this.mount)
|
|
208248
210030
|
this.updateVirtualWindow();
|
|
208249
210031
|
}
|
|
@@ -208532,6 +210314,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208532
210314
|
this.virtualPagesEl.style.alignItems = "center";
|
|
208533
210315
|
this.virtualPagesEl.style.width = "100%";
|
|
208534
210316
|
this.virtualPagesEl.style.gap = `${this.virtualGap}px`;
|
|
210317
|
+
this.virtualPagesEl.style.overflowAnchor = "none";
|
|
208535
210318
|
mount$1.appendChild(this.topSpacerEl);
|
|
208536
210319
|
mount$1.appendChild(this.virtualPagesEl);
|
|
208537
210320
|
mount$1.appendChild(this.bottomSpacerEl);
|
|
@@ -208541,6 +210324,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208541
210324
|
element3.style.width = "1px";
|
|
208542
210325
|
element3.style.height = "0px";
|
|
208543
210326
|
element3.style.flex = "0 0 auto";
|
|
210327
|
+
element3.style.overflowAnchor = "none";
|
|
208544
210328
|
element3.setAttribute("data-virtual-spacer", type);
|
|
208545
210329
|
}
|
|
208546
210330
|
bindVirtualizationHandlers(mount$1) {
|
|
@@ -208561,6 +210345,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208561
210345
|
if (this.onResizeHandler)
|
|
208562
210346
|
win.removeEventListener("resize", this.onResizeHandler);
|
|
208563
210347
|
this.onResizeHandler = () => {
|
|
210348
|
+
this.scrollContainerMountOffset = null;
|
|
208564
210349
|
this.updateVirtualWindow();
|
|
208565
210350
|
};
|
|
208566
210351
|
win.addEventListener("resize", this.onResizeHandler);
|
|
@@ -208623,9 +210408,12 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208623
210408
|
if (this.mount.scrollHeight > this.mount.clientHeight + 1)
|
|
208624
210409
|
scrollY = Math.max(0, this.mount.scrollTop - paddingTop);
|
|
208625
210410
|
else if (this.scrollContainer) {
|
|
208626
|
-
|
|
208627
|
-
|
|
208628
|
-
|
|
210411
|
+
if (this.scrollContainerMountOffset == null) {
|
|
210412
|
+
const mountRect = this.mount.getBoundingClientRect();
|
|
210413
|
+
const containerRect = this.scrollContainer.getBoundingClientRect();
|
|
210414
|
+
this.scrollContainerMountOffset = mountRect.top - containerRect.top + this.scrollContainer.scrollTop;
|
|
210415
|
+
}
|
|
210416
|
+
scrollY = Math.max(0, (this.scrollContainer.scrollTop - this.scrollContainerMountOffset) / zoom - paddingTop);
|
|
208629
210417
|
} else {
|
|
208630
210418
|
const rect = this.mount.getBoundingClientRect();
|
|
208631
210419
|
scrollY = Math.max(0, -rect.top / zoom - paddingTop);
|
|
@@ -208982,6 +210770,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
208982
210770
|
this.onScrollHandler = null;
|
|
208983
210771
|
this.onWindowScrollHandler = null;
|
|
208984
210772
|
this.onResizeHandler = null;
|
|
210773
|
+
this.scrollContainerMountOffset = null;
|
|
208985
210774
|
this.sdtHover.destroy();
|
|
208986
210775
|
this.layoutVersion = 0;
|
|
208987
210776
|
this.processedLayoutVersion = -1;
|
|
@@ -225684,8 +227473,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
225684
227473
|
return isObjectLike_default(value) && hasOwnProperty$8.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
|
|
225685
227474
|
};
|
|
225686
227475
|
stubFalse_default = stubFalse;
|
|
225687
|
-
freeExports$2 = typeof
|
|
225688
|
-
freeModule$2 = freeExports$2 && typeof
|
|
227476
|
+
freeExports$2 = typeof exports_src_B8PRu6_u_es == "object" && exports_src_B8PRu6_u_es && !exports_src_B8PRu6_u_es.nodeType && exports_src_B8PRu6_u_es;
|
|
227477
|
+
freeModule$2 = freeExports$2 && typeof module_src_B8PRu6_u_es == "object" && module_src_B8PRu6_u_es && !module_src_B8PRu6_u_es.nodeType && module_src_B8PRu6_u_es;
|
|
225689
227478
|
Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? _root_default.Buffer : undefined;
|
|
225690
227479
|
isBuffer_default = (Buffer$1 ? Buffer$1.isBuffer : undefined) || stubFalse_default;
|
|
225691
227480
|
typedArrayTags = {};
|
|
@@ -225693,8 +227482,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
225693
227482
|
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$2] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
|
|
225694
227483
|
_baseIsTypedArray_default = baseIsTypedArray;
|
|
225695
227484
|
_baseUnary_default = baseUnary;
|
|
225696
|
-
freeExports$1 = typeof
|
|
225697
|
-
freeModule$1 = freeExports$1 && typeof
|
|
227485
|
+
freeExports$1 = typeof exports_src_B8PRu6_u_es == "object" && exports_src_B8PRu6_u_es && !exports_src_B8PRu6_u_es.nodeType && exports_src_B8PRu6_u_es;
|
|
227486
|
+
freeModule$1 = freeExports$1 && typeof module_src_B8PRu6_u_es == "object" && module_src_B8PRu6_u_es && !module_src_B8PRu6_u_es.nodeType && module_src_B8PRu6_u_es;
|
|
225698
227487
|
freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && _freeGlobal_default.process;
|
|
225699
227488
|
_nodeUtil_default = function() {
|
|
225700
227489
|
try {
|
|
@@ -225799,8 +227588,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
225799
227588
|
Stack.prototype.has = _stackHas_default;
|
|
225800
227589
|
Stack.prototype.set = _stackSet_default;
|
|
225801
227590
|
_Stack_default = Stack;
|
|
225802
|
-
freeExports = typeof
|
|
225803
|
-
freeModule = freeExports && typeof
|
|
227591
|
+
freeExports = typeof exports_src_B8PRu6_u_es == "object" && exports_src_B8PRu6_u_es && !exports_src_B8PRu6_u_es.nodeType && exports_src_B8PRu6_u_es;
|
|
227592
|
+
freeModule = freeExports && typeof module_src_B8PRu6_u_es == "object" && module_src_B8PRu6_u_es && !module_src_B8PRu6_u_es.nodeType && module_src_B8PRu6_u_es;
|
|
225804
227593
|
Buffer4 = freeModule && freeModule.exports === freeExports ? _root_default.Buffer : undefined;
|
|
225805
227594
|
allocUnsafe = Buffer4 ? Buffer4.allocUnsafe : undefined;
|
|
225806
227595
|
_cloneBuffer_default = cloneBuffer;
|
|
@@ -233880,8 +235669,8 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
|
|
|
233880
235669
|
|
|
233881
235670
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
233882
235671
|
var init_super_editor_es = __esm(() => {
|
|
233883
|
-
|
|
233884
|
-
|
|
235672
|
+
init_src_B8PRu6_u_es();
|
|
235673
|
+
init_SuperConverter_CejXSSGL_es();
|
|
233885
235674
|
init_jszip_ChlR43oI_es();
|
|
233886
235675
|
init_xml_js_DLE8mr0n_es();
|
|
233887
235676
|
init_constants_CMPtQbp7_es();
|
|
@@ -295649,6 +297438,17 @@ var init_capabilities_adapter = __esm(() => {
|
|
|
295649
297438
|
"lists.continuePrevious": [],
|
|
295650
297439
|
"lists.setLevelRestart": [],
|
|
295651
297440
|
"lists.convertToText": [],
|
|
297441
|
+
"lists.applyTemplate": [],
|
|
297442
|
+
"lists.applyPreset": [],
|
|
297443
|
+
"lists.captureTemplate": [],
|
|
297444
|
+
"lists.setLevelNumbering": [],
|
|
297445
|
+
"lists.setLevelBullet": [],
|
|
297446
|
+
"lists.setLevelPictureBullet": [],
|
|
297447
|
+
"lists.setLevelAlignment": [],
|
|
297448
|
+
"lists.setLevelIndents": [],
|
|
297449
|
+
"lists.setLevelTrailingCharacter": [],
|
|
297450
|
+
"lists.setLevelMarkerFont": [],
|
|
297451
|
+
"lists.clearLevelOverrides": [],
|
|
295652
297452
|
"blocks.delete": ["deleteBlockNodeById"],
|
|
295653
297453
|
"comments.create": ["addComment", "setTextSelection", "addCommentReply"],
|
|
295654
297454
|
"comments.patch": ["editComment", "moveComment", "resolveComment", "setCommentInternal"],
|
|
@@ -295724,7 +297524,11 @@ var init_capabilities_adapter = __esm(() => {
|
|
|
295724
297524
|
"sections.setOddEvenHeadersFooters": (editor) => Boolean(editor.converter),
|
|
295725
297525
|
"sections.setHeaderFooterRef": (editor) => Boolean(editor.converter),
|
|
295726
297526
|
"tables.setDefaultStyle": (editor) => Boolean(editor.converter),
|
|
295727
|
-
"tables.clearDefaultStyle": (editor) => Boolean(editor.converter)
|
|
297527
|
+
"tables.clearDefaultStyle": (editor) => Boolean(editor.converter),
|
|
297528
|
+
"lists.setLevelPictureBullet": (editor) => {
|
|
297529
|
+
const converter = editor.converter;
|
|
297530
|
+
return Boolean(converter?.convertedXml?.["word/numbering.xml"]);
|
|
297531
|
+
}
|
|
295728
297532
|
};
|
|
295729
297533
|
SUPPORTED_NON_UNIFORM_STRATEGIES2 = ["error", "useLeadingRun", "majority", "union"];
|
|
295730
297534
|
SUPPORTED_SET_MARKS2 = ["bold", "italic", "underline", "strike"];
|
|
@@ -301981,6 +303785,723 @@ var init_lists_wrappers = __esm(() => {
|
|
|
301981
303785
|
init_changeListLevel();
|
|
301982
303786
|
});
|
|
301983
303787
|
|
|
303788
|
+
// ../../packages/super-editor/src/core/helpers/list-level-formatting-helpers.js
|
|
303789
|
+
function findLevelElement2(abstract, ilvl) {
|
|
303790
|
+
const ilvlStr = String(ilvl);
|
|
303791
|
+
return abstract.elements?.find((el) => el.name === "w:lvl" && el.attributes?.["w:ilvl"] === ilvlStr);
|
|
303792
|
+
}
|
|
303793
|
+
function readChildAttr2(parent, elementName) {
|
|
303794
|
+
return parent.elements?.find((el) => el.name === elementName)?.attributes?.["w:val"];
|
|
303795
|
+
}
|
|
303796
|
+
function setChildAttr2(parent, elementName, value) {
|
|
303797
|
+
if (!parent.elements)
|
|
303798
|
+
parent.elements = [];
|
|
303799
|
+
const existing = parent.elements.find((el) => el.name === elementName);
|
|
303800
|
+
if (existing) {
|
|
303801
|
+
if (existing.attributes?.["w:val"] === value)
|
|
303802
|
+
return false;
|
|
303803
|
+
if (!existing.attributes)
|
|
303804
|
+
existing.attributes = {};
|
|
303805
|
+
existing.attributes["w:val"] = value;
|
|
303806
|
+
return true;
|
|
303807
|
+
}
|
|
303808
|
+
parent.elements.push({
|
|
303809
|
+
type: "element",
|
|
303810
|
+
name: elementName,
|
|
303811
|
+
attributes: { "w:val": value }
|
|
303812
|
+
});
|
|
303813
|
+
return true;
|
|
303814
|
+
}
|
|
303815
|
+
function findOrCreateChild2(parent, elementName) {
|
|
303816
|
+
if (!parent.elements)
|
|
303817
|
+
parent.elements = [];
|
|
303818
|
+
let child = parent.elements.find((el) => el.name === elementName);
|
|
303819
|
+
if (!child) {
|
|
303820
|
+
child = { type: "element", name: elementName, elements: [] };
|
|
303821
|
+
parent.elements.push(child);
|
|
303822
|
+
}
|
|
303823
|
+
if (!child.elements)
|
|
303824
|
+
child.elements = [];
|
|
303825
|
+
return child;
|
|
303826
|
+
}
|
|
303827
|
+
function syncAbstractAndEmit2(editor, abstractNumId, abstract) {
|
|
303828
|
+
const numbering = editor.converter.numbering;
|
|
303829
|
+
numbering.abstracts[abstractNumId] = abstract;
|
|
303830
|
+
editor.converter.numbering = { ...numbering };
|
|
303831
|
+
const translated = { ...editor.converter.translatedNumbering || {} };
|
|
303832
|
+
if (!translated.abstracts)
|
|
303833
|
+
translated.abstracts = {};
|
|
303834
|
+
translated.abstracts[abstractNumId] = translator182.encode({ nodes: [abstract] });
|
|
303835
|
+
editor.converter.translatedNumbering = translated;
|
|
303836
|
+
const definitions = numbering.definitions || {};
|
|
303837
|
+
for (const [, numDef] of Object.entries(definitions)) {
|
|
303838
|
+
const absId = numDef?.elements?.find((el) => el.name === "w:abstractNumId")?.attributes?.["w:val"];
|
|
303839
|
+
if (absId != null && Number(absId) === abstractNumId) {
|
|
303840
|
+
editor.emit("list-definitions-change", {
|
|
303841
|
+
change: { numDef, editor },
|
|
303842
|
+
numbering: editor.converter.numbering,
|
|
303843
|
+
editor
|
|
303844
|
+
});
|
|
303845
|
+
}
|
|
303846
|
+
}
|
|
303847
|
+
}
|
|
303848
|
+
function resolveAbstractLevel2(editor, abstractNumId, ilvl) {
|
|
303849
|
+
const abstract = editor.converter.numbering?.abstracts?.[abstractNumId];
|
|
303850
|
+
if (!abstract)
|
|
303851
|
+
return null;
|
|
303852
|
+
const lvlEl = findLevelElement2(abstract, ilvl);
|
|
303853
|
+
if (!lvlEl)
|
|
303854
|
+
return null;
|
|
303855
|
+
return { abstract, lvlEl };
|
|
303856
|
+
}
|
|
303857
|
+
function hasLevel2(editor, abstractNumId, ilvl) {
|
|
303858
|
+
return resolveAbstractLevel2(editor, abstractNumId, ilvl) != null;
|
|
303859
|
+
}
|
|
303860
|
+
function readLevelProperties2(lvlEl, ilvl) {
|
|
303861
|
+
const props = { level: ilvl };
|
|
303862
|
+
const numFmt = readChildAttr2(lvlEl, "w:numFmt");
|
|
303863
|
+
if (numFmt != null)
|
|
303864
|
+
props.numFmt = numFmt;
|
|
303865
|
+
const lvlText = readChildAttr2(lvlEl, "w:lvlText");
|
|
303866
|
+
if (lvlText != null)
|
|
303867
|
+
props.lvlText = lvlText;
|
|
303868
|
+
const startVal = readChildAttr2(lvlEl, "w:start");
|
|
303869
|
+
if (startVal != null)
|
|
303870
|
+
props.start = Number(startVal);
|
|
303871
|
+
const alignment2 = readChildAttr2(lvlEl, "w:lvlJc");
|
|
303872
|
+
if (alignment2 != null)
|
|
303873
|
+
props.alignment = alignment2;
|
|
303874
|
+
const suff = readChildAttr2(lvlEl, "w:suff");
|
|
303875
|
+
if (suff != null)
|
|
303876
|
+
props.trailingCharacter = suff;
|
|
303877
|
+
const picBulletId = readChildAttr2(lvlEl, "w:lvlPicBulletId");
|
|
303878
|
+
if (picBulletId != null)
|
|
303879
|
+
props.pictureBulletId = Number(picBulletId);
|
|
303880
|
+
const pPr = lvlEl.elements?.find((el) => el.name === "w:pPr");
|
|
303881
|
+
const ind = pPr?.elements?.find((el) => el.name === "w:ind");
|
|
303882
|
+
if (ind?.attributes) {
|
|
303883
|
+
const indents = {};
|
|
303884
|
+
if (ind.attributes["w:left"] != null)
|
|
303885
|
+
indents.left = Number(ind.attributes["w:left"]);
|
|
303886
|
+
if (ind.attributes["w:hanging"] != null)
|
|
303887
|
+
indents.hanging = Number(ind.attributes["w:hanging"]);
|
|
303888
|
+
if (ind.attributes["w:firstLine"] != null)
|
|
303889
|
+
indents.firstLine = Number(ind.attributes["w:firstLine"]);
|
|
303890
|
+
if (Object.keys(indents).length > 0)
|
|
303891
|
+
props.indents = indents;
|
|
303892
|
+
}
|
|
303893
|
+
const rPr = lvlEl.elements?.find((el) => el.name === "w:rPr");
|
|
303894
|
+
const rFonts = rPr?.elements?.find((el) => el.name === "w:rFonts");
|
|
303895
|
+
if (rFonts?.attributes?.["w:ascii"]) {
|
|
303896
|
+
props.markerFont = rFonts.attributes["w:ascii"];
|
|
303897
|
+
}
|
|
303898
|
+
return props;
|
|
303899
|
+
}
|
|
303900
|
+
function mutateLevelNumberingFormat2(lvlEl, { numFmt, lvlText, start: start2 }) {
|
|
303901
|
+
let changed = false;
|
|
303902
|
+
changed = setChildAttr2(lvlEl, "w:numFmt", numFmt) || changed;
|
|
303903
|
+
changed = setChildAttr2(lvlEl, "w:lvlText", lvlText) || changed;
|
|
303904
|
+
if (start2 != null) {
|
|
303905
|
+
changed = setChildAttr2(lvlEl, "w:start", String(start2)) || changed;
|
|
303906
|
+
}
|
|
303907
|
+
return changed;
|
|
303908
|
+
}
|
|
303909
|
+
function mutateLevelBulletMarker2(lvlEl, markerText) {
|
|
303910
|
+
let changed = false;
|
|
303911
|
+
changed = setChildAttr2(lvlEl, "w:numFmt", "bullet") || changed;
|
|
303912
|
+
changed = setChildAttr2(lvlEl, "w:lvlText", markerText) || changed;
|
|
303913
|
+
return changed;
|
|
303914
|
+
}
|
|
303915
|
+
function mutateLevelPictureBulletId2(lvlEl, pictureBulletId) {
|
|
303916
|
+
return setChildAttr2(lvlEl, "w:lvlPicBulletId", String(pictureBulletId));
|
|
303917
|
+
}
|
|
303918
|
+
function mutateLevelAlignment2(lvlEl, alignment2) {
|
|
303919
|
+
return setChildAttr2(lvlEl, "w:lvlJc", alignment2);
|
|
303920
|
+
}
|
|
303921
|
+
function mutateLevelIndents2(lvlEl, indents) {
|
|
303922
|
+
const pPr = findOrCreateChild2(lvlEl, "w:pPr");
|
|
303923
|
+
const ind = findOrCreateChild2(pPr, "w:ind");
|
|
303924
|
+
if (!ind.attributes)
|
|
303925
|
+
ind.attributes = {};
|
|
303926
|
+
let changed = false;
|
|
303927
|
+
if (indents.left != null) {
|
|
303928
|
+
const newVal = String(indents.left);
|
|
303929
|
+
if (ind.attributes["w:left"] !== newVal) {
|
|
303930
|
+
ind.attributes["w:left"] = newVal;
|
|
303931
|
+
changed = true;
|
|
303932
|
+
}
|
|
303933
|
+
}
|
|
303934
|
+
if (indents.hanging != null) {
|
|
303935
|
+
const newVal = String(indents.hanging);
|
|
303936
|
+
if (ind.attributes["w:hanging"] !== newVal) {
|
|
303937
|
+
ind.attributes["w:hanging"] = newVal;
|
|
303938
|
+
changed = true;
|
|
303939
|
+
}
|
|
303940
|
+
if (ind.attributes["w:firstLine"] != null) {
|
|
303941
|
+
delete ind.attributes["w:firstLine"];
|
|
303942
|
+
changed = true;
|
|
303943
|
+
}
|
|
303944
|
+
}
|
|
303945
|
+
if (indents.firstLine != null) {
|
|
303946
|
+
const newVal = String(indents.firstLine);
|
|
303947
|
+
if (ind.attributes["w:firstLine"] !== newVal) {
|
|
303948
|
+
ind.attributes["w:firstLine"] = newVal;
|
|
303949
|
+
changed = true;
|
|
303950
|
+
}
|
|
303951
|
+
if (ind.attributes["w:hanging"] != null) {
|
|
303952
|
+
delete ind.attributes["w:hanging"];
|
|
303953
|
+
changed = true;
|
|
303954
|
+
}
|
|
303955
|
+
}
|
|
303956
|
+
return changed;
|
|
303957
|
+
}
|
|
303958
|
+
function mutateLevelTrailingCharacter2(lvlEl, trailingCharacter) {
|
|
303959
|
+
return setChildAttr2(lvlEl, "w:suff", trailingCharacter);
|
|
303960
|
+
}
|
|
303961
|
+
function mutateLevelMarkerFont2(lvlEl, fontFamily2) {
|
|
303962
|
+
const rPr = findOrCreateChild2(lvlEl, "w:rPr");
|
|
303963
|
+
const rFonts = rPr.elements.find((el) => el.name === "w:rFonts");
|
|
303964
|
+
if (rFonts) {
|
|
303965
|
+
const attrs = rFonts.attributes || {};
|
|
303966
|
+
if (attrs["w:ascii"] === fontFamily2 && attrs["w:hAnsi"] === fontFamily2 && attrs["w:eastAsia"] === fontFamily2 && attrs["w:cs"] === fontFamily2) {
|
|
303967
|
+
return false;
|
|
303968
|
+
}
|
|
303969
|
+
rFonts.attributes = {
|
|
303970
|
+
...rFonts.attributes,
|
|
303971
|
+
"w:ascii": fontFamily2,
|
|
303972
|
+
"w:hAnsi": fontFamily2,
|
|
303973
|
+
"w:eastAsia": fontFamily2,
|
|
303974
|
+
"w:cs": fontFamily2
|
|
303975
|
+
};
|
|
303976
|
+
return true;
|
|
303977
|
+
}
|
|
303978
|
+
rPr.elements.push({
|
|
303979
|
+
type: "element",
|
|
303980
|
+
name: "w:rFonts",
|
|
303981
|
+
attributes: {
|
|
303982
|
+
"w:ascii": fontFamily2,
|
|
303983
|
+
"w:hAnsi": fontFamily2,
|
|
303984
|
+
"w:eastAsia": fontFamily2,
|
|
303985
|
+
"w:cs": fontFamily2
|
|
303986
|
+
}
|
|
303987
|
+
});
|
|
303988
|
+
return true;
|
|
303989
|
+
}
|
|
303990
|
+
function setLevelNumberingFormat2(editor, abstractNumId, ilvl, params3) {
|
|
303991
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
303992
|
+
if (!resolved)
|
|
303993
|
+
return false;
|
|
303994
|
+
const changed = mutateLevelNumberingFormat2(resolved.lvlEl, params3);
|
|
303995
|
+
if (changed)
|
|
303996
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
303997
|
+
return changed;
|
|
303998
|
+
}
|
|
303999
|
+
function setLevelBulletMarker2(editor, abstractNumId, ilvl, markerText) {
|
|
304000
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
304001
|
+
if (!resolved)
|
|
304002
|
+
return false;
|
|
304003
|
+
const changed = mutateLevelBulletMarker2(resolved.lvlEl, markerText);
|
|
304004
|
+
if (changed)
|
|
304005
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
304006
|
+
return changed;
|
|
304007
|
+
}
|
|
304008
|
+
function setLevelPictureBulletId2(editor, abstractNumId, ilvl, pictureBulletId) {
|
|
304009
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
304010
|
+
if (!resolved)
|
|
304011
|
+
return false;
|
|
304012
|
+
const changed = mutateLevelPictureBulletId2(resolved.lvlEl, pictureBulletId);
|
|
304013
|
+
if (changed)
|
|
304014
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
304015
|
+
return changed;
|
|
304016
|
+
}
|
|
304017
|
+
function setLevelAlignment2(editor, abstractNumId, ilvl, alignment2) {
|
|
304018
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
304019
|
+
if (!resolved)
|
|
304020
|
+
return false;
|
|
304021
|
+
const changed = mutateLevelAlignment2(resolved.lvlEl, alignment2);
|
|
304022
|
+
if (changed)
|
|
304023
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
304024
|
+
return changed;
|
|
304025
|
+
}
|
|
304026
|
+
function setLevelIndents2(editor, abstractNumId, ilvl, indents) {
|
|
304027
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
304028
|
+
if (!resolved)
|
|
304029
|
+
return false;
|
|
304030
|
+
const changed = mutateLevelIndents2(resolved.lvlEl, indents);
|
|
304031
|
+
if (changed)
|
|
304032
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
304033
|
+
return changed;
|
|
304034
|
+
}
|
|
304035
|
+
function setLevelTrailingCharacter2(editor, abstractNumId, ilvl, trailingCharacter) {
|
|
304036
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
304037
|
+
if (!resolved)
|
|
304038
|
+
return false;
|
|
304039
|
+
const changed = mutateLevelTrailingCharacter2(resolved.lvlEl, trailingCharacter);
|
|
304040
|
+
if (changed)
|
|
304041
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
304042
|
+
return changed;
|
|
304043
|
+
}
|
|
304044
|
+
function setLevelMarkerFont2(editor, abstractNumId, ilvl, fontFamily2) {
|
|
304045
|
+
const resolved = resolveAbstractLevel2(editor, abstractNumId, ilvl);
|
|
304046
|
+
if (!resolved)
|
|
304047
|
+
return false;
|
|
304048
|
+
const changed = mutateLevelMarkerFont2(resolved.lvlEl, fontFamily2);
|
|
304049
|
+
if (changed)
|
|
304050
|
+
syncAbstractAndEmit2(editor, abstractNumId, resolved.abstract);
|
|
304051
|
+
return changed;
|
|
304052
|
+
}
|
|
304053
|
+
function hasLevelOverride3(editor, numId, ilvl) {
|
|
304054
|
+
const numDef = editor.converter.numbering?.definitions?.[numId];
|
|
304055
|
+
if (!numDef?.elements)
|
|
304056
|
+
return false;
|
|
304057
|
+
const ilvlStr = String(ilvl);
|
|
304058
|
+
return numDef.elements.some((el) => el.name === "w:lvlOverride" && el.attributes?.["w:ilvl"] === ilvlStr);
|
|
304059
|
+
}
|
|
304060
|
+
function clearLevelOverride2(editor, numId, ilvl) {
|
|
304061
|
+
if (!hasLevelOverride3(editor, numId, ilvl))
|
|
304062
|
+
return false;
|
|
304063
|
+
removeLvlOverride2(editor, numId, ilvl);
|
|
304064
|
+
return true;
|
|
304065
|
+
}
|
|
304066
|
+
function captureTemplate2(editor, abstractNumId, levels) {
|
|
304067
|
+
const abstract = editor.converter.numbering?.abstracts?.[abstractNumId];
|
|
304068
|
+
if (!abstract?.elements)
|
|
304069
|
+
return null;
|
|
304070
|
+
const lvlElements = abstract.elements.filter((el) => el.name === "w:lvl");
|
|
304071
|
+
const captured = [];
|
|
304072
|
+
for (const lvlEl of lvlElements) {
|
|
304073
|
+
const ilvl = Number(lvlEl.attributes?.["w:ilvl"]);
|
|
304074
|
+
if (levels && !levels.includes(ilvl))
|
|
304075
|
+
continue;
|
|
304076
|
+
captured.push(readLevelProperties2(lvlEl, ilvl));
|
|
304077
|
+
}
|
|
304078
|
+
captured.sort((a2, b2) => a2.level - b2.level);
|
|
304079
|
+
return { version: 1, levels: captured };
|
|
304080
|
+
}
|
|
304081
|
+
function applyTemplateToAbstract2(editor, abstractNumId, template, levels) {
|
|
304082
|
+
const abstract = editor.converter.numbering?.abstracts?.[abstractNumId];
|
|
304083
|
+
if (!abstract?.elements)
|
|
304084
|
+
return { changed: false, error: "ABSTRACT_NOT_FOUND" };
|
|
304085
|
+
const templateByLevel = new Map;
|
|
304086
|
+
for (const entry of template.levels) {
|
|
304087
|
+
templateByLevel.set(entry.level, entry);
|
|
304088
|
+
}
|
|
304089
|
+
const targetLevels = levels ?? template.levels.map((l) => l.level);
|
|
304090
|
+
for (const ilvl of targetLevels) {
|
|
304091
|
+
if (!templateByLevel.has(ilvl)) {
|
|
304092
|
+
return { changed: false, error: "LEVEL_NOT_IN_TEMPLATE" };
|
|
304093
|
+
}
|
|
304094
|
+
}
|
|
304095
|
+
for (const ilvl of targetLevels) {
|
|
304096
|
+
if (!findLevelElement2(abstract, ilvl)) {
|
|
304097
|
+
return { changed: false, error: "LEVEL_NOT_IN_ABSTRACT" };
|
|
304098
|
+
}
|
|
304099
|
+
}
|
|
304100
|
+
let anyChanged = false;
|
|
304101
|
+
for (const ilvl of targetLevels) {
|
|
304102
|
+
const entry = templateByLevel.get(ilvl);
|
|
304103
|
+
const lvlEl = findLevelElement2(abstract, ilvl);
|
|
304104
|
+
if (entry.numFmt != null || entry.lvlText != null) {
|
|
304105
|
+
const fmtParams = {};
|
|
304106
|
+
if (entry.numFmt != null)
|
|
304107
|
+
fmtParams.numFmt = entry.numFmt;
|
|
304108
|
+
if (entry.lvlText != null)
|
|
304109
|
+
fmtParams.lvlText = entry.lvlText;
|
|
304110
|
+
if (entry.start != null)
|
|
304111
|
+
fmtParams.start = entry.start;
|
|
304112
|
+
if (fmtParams.numFmt != null && fmtParams.lvlText != null) {
|
|
304113
|
+
anyChanged = mutateLevelNumberingFormat2(lvlEl, fmtParams) || anyChanged;
|
|
304114
|
+
} else {
|
|
304115
|
+
if (fmtParams.numFmt != null)
|
|
304116
|
+
anyChanged = setChildAttr2(lvlEl, "w:numFmt", fmtParams.numFmt) || anyChanged;
|
|
304117
|
+
if (fmtParams.lvlText != null)
|
|
304118
|
+
anyChanged = setChildAttr2(lvlEl, "w:lvlText", fmtParams.lvlText) || anyChanged;
|
|
304119
|
+
if (fmtParams.start != null)
|
|
304120
|
+
anyChanged = setChildAttr2(lvlEl, "w:start", String(fmtParams.start)) || anyChanged;
|
|
304121
|
+
}
|
|
304122
|
+
} else if (entry.start != null) {
|
|
304123
|
+
anyChanged = setChildAttr2(lvlEl, "w:start", String(entry.start)) || anyChanged;
|
|
304124
|
+
}
|
|
304125
|
+
if (entry.alignment != null) {
|
|
304126
|
+
anyChanged = mutateLevelAlignment2(lvlEl, entry.alignment) || anyChanged;
|
|
304127
|
+
}
|
|
304128
|
+
if (entry.indents != null) {
|
|
304129
|
+
anyChanged = mutateLevelIndents2(lvlEl, entry.indents) || anyChanged;
|
|
304130
|
+
}
|
|
304131
|
+
if (entry.trailingCharacter != null) {
|
|
304132
|
+
anyChanged = mutateLevelTrailingCharacter2(lvlEl, entry.trailingCharacter) || anyChanged;
|
|
304133
|
+
}
|
|
304134
|
+
if (entry.markerFont != null) {
|
|
304135
|
+
anyChanged = mutateLevelMarkerFont2(lvlEl, entry.markerFont) || anyChanged;
|
|
304136
|
+
}
|
|
304137
|
+
if (entry.pictureBulletId != null) {
|
|
304138
|
+
anyChanged = mutateLevelPictureBulletId2(lvlEl, entry.pictureBulletId) || anyChanged;
|
|
304139
|
+
}
|
|
304140
|
+
}
|
|
304141
|
+
if (anyChanged) {
|
|
304142
|
+
syncAbstractAndEmit2(editor, abstractNumId, abstract);
|
|
304143
|
+
}
|
|
304144
|
+
return { changed: anyChanged };
|
|
304145
|
+
}
|
|
304146
|
+
function buildOrderedPresetTemplate2(config34) {
|
|
304147
|
+
const levels = [];
|
|
304148
|
+
for (let ilvl = 0;ilvl <= 8; ilvl++) {
|
|
304149
|
+
levels.push({
|
|
304150
|
+
level: ilvl,
|
|
304151
|
+
numFmt: config34.numFmt,
|
|
304152
|
+
lvlText: `%${ilvl + 1}${config34.lvlTextSuffix}`,
|
|
304153
|
+
start: 1,
|
|
304154
|
+
alignment: "left",
|
|
304155
|
+
indents: {
|
|
304156
|
+
left: INDENT_PER_LEVEL_TWIPS2 * (ilvl + 1),
|
|
304157
|
+
hanging: HANGING_INDENT_TWIPS2
|
|
304158
|
+
}
|
|
304159
|
+
});
|
|
304160
|
+
}
|
|
304161
|
+
return { version: 1, levels };
|
|
304162
|
+
}
|
|
304163
|
+
function buildBulletPresetTemplate2(config34) {
|
|
304164
|
+
const levels = [];
|
|
304165
|
+
for (let ilvl = 0;ilvl <= 8; ilvl++) {
|
|
304166
|
+
levels.push({
|
|
304167
|
+
level: ilvl,
|
|
304168
|
+
numFmt: "bullet",
|
|
304169
|
+
lvlText: config34.markerText,
|
|
304170
|
+
start: 1,
|
|
304171
|
+
alignment: "left",
|
|
304172
|
+
markerFont: config34.fontFamily,
|
|
304173
|
+
indents: {
|
|
304174
|
+
left: INDENT_PER_LEVEL_TWIPS2 * (ilvl + 1),
|
|
304175
|
+
hanging: HANGING_INDENT_TWIPS2
|
|
304176
|
+
}
|
|
304177
|
+
});
|
|
304178
|
+
}
|
|
304179
|
+
return { version: 1, levels };
|
|
304180
|
+
}
|
|
304181
|
+
function getPresetTemplate2(presetId) {
|
|
304182
|
+
return PRESET_TEMPLATES2[presetId];
|
|
304183
|
+
}
|
|
304184
|
+
var INDENT_PER_LEVEL_TWIPS2 = 720, HANGING_INDENT_TWIPS2 = 360, ORDERED_PRESET_CONFIG2, BULLET_PRESET_CONFIG2, PRESET_TEMPLATES2, LevelFormattingHelpers2;
|
|
304185
|
+
var init_list_level_formatting_helpers = __esm(() => {
|
|
304186
|
+
init_abstractNum();
|
|
304187
|
+
init_list_numbering_helpers();
|
|
304188
|
+
ORDERED_PRESET_CONFIG2 = {
|
|
304189
|
+
decimal: { numFmt: "decimal", lvlTextSuffix: "." },
|
|
304190
|
+
decimalParenthesis: { numFmt: "decimal", lvlTextSuffix: ")" },
|
|
304191
|
+
lowerLetter: { numFmt: "lowerLetter", lvlTextSuffix: "." },
|
|
304192
|
+
upperLetter: { numFmt: "upperLetter", lvlTextSuffix: "." },
|
|
304193
|
+
lowerRoman: { numFmt: "lowerRoman", lvlTextSuffix: "." },
|
|
304194
|
+
upperRoman: { numFmt: "upperRoman", lvlTextSuffix: "." }
|
|
304195
|
+
};
|
|
304196
|
+
BULLET_PRESET_CONFIG2 = {
|
|
304197
|
+
disc: { markerText: "•", fontFamily: "Symbol" },
|
|
304198
|
+
circle: { markerText: "o", fontFamily: "Courier New" },
|
|
304199
|
+
square: { markerText: "", fontFamily: "Wingdings" },
|
|
304200
|
+
dash: { markerText: "–", fontFamily: "Calibri" }
|
|
304201
|
+
};
|
|
304202
|
+
PRESET_TEMPLATES2 = {};
|
|
304203
|
+
for (const [id2, config34] of Object.entries(ORDERED_PRESET_CONFIG2)) {
|
|
304204
|
+
PRESET_TEMPLATES2[id2] = buildOrderedPresetTemplate2(config34);
|
|
304205
|
+
}
|
|
304206
|
+
for (const [id2, config34] of Object.entries(BULLET_PRESET_CONFIG2)) {
|
|
304207
|
+
PRESET_TEMPLATES2[id2] = buildBulletPresetTemplate2(config34);
|
|
304208
|
+
}
|
|
304209
|
+
LevelFormattingHelpers2 = {
|
|
304210
|
+
readLevelProperties: readLevelProperties2,
|
|
304211
|
+
findLevelElement: findLevelElement2,
|
|
304212
|
+
hasLevel: hasLevel2,
|
|
304213
|
+
setLevelNumberingFormat: setLevelNumberingFormat2,
|
|
304214
|
+
setLevelBulletMarker: setLevelBulletMarker2,
|
|
304215
|
+
setLevelPictureBulletId: setLevelPictureBulletId2,
|
|
304216
|
+
setLevelAlignment: setLevelAlignment2,
|
|
304217
|
+
setLevelIndents: setLevelIndents2,
|
|
304218
|
+
setLevelTrailingCharacter: setLevelTrailingCharacter2,
|
|
304219
|
+
setLevelMarkerFont: setLevelMarkerFont2,
|
|
304220
|
+
hasLevelOverride: hasLevelOverride3,
|
|
304221
|
+
clearLevelOverride: clearLevelOverride2,
|
|
304222
|
+
captureTemplate: captureTemplate2,
|
|
304223
|
+
applyTemplateToAbstract: applyTemplateToAbstract2,
|
|
304224
|
+
getPresetTemplate: getPresetTemplate2,
|
|
304225
|
+
PRESET_TEMPLATES: PRESET_TEMPLATES2
|
|
304226
|
+
};
|
|
304227
|
+
});
|
|
304228
|
+
|
|
304229
|
+
// ../../packages/super-editor/src/document-api-adapters/plan-engine/lists-formatting-wrappers.ts
|
|
304230
|
+
function toListsFailure3(code9, message, details) {
|
|
304231
|
+
return { success: false, failure: { code: code9, message, details } };
|
|
304232
|
+
}
|
|
304233
|
+
function dispatchEditorTransaction3(editor, tr) {
|
|
304234
|
+
if (typeof editor.dispatch === "function") {
|
|
304235
|
+
editor.dispatch(tr);
|
|
304236
|
+
return;
|
|
304237
|
+
}
|
|
304238
|
+
if (typeof editor.view?.dispatch === "function") {
|
|
304239
|
+
editor.view.dispatch(tr);
|
|
304240
|
+
}
|
|
304241
|
+
}
|
|
304242
|
+
function validateLevel2(level) {
|
|
304243
|
+
if (level < 0 || level > 8) {
|
|
304244
|
+
return toListsFailure3("LEVEL_OUT_OF_RANGE", "Level must be between 0 and 8.", { level });
|
|
304245
|
+
}
|
|
304246
|
+
return null;
|
|
304247
|
+
}
|
|
304248
|
+
function validateLevelsArray2(levels) {
|
|
304249
|
+
if (!levels)
|
|
304250
|
+
return null;
|
|
304251
|
+
for (const lvl of levels) {
|
|
304252
|
+
if (lvl < 0 || lvl > 8) {
|
|
304253
|
+
return toListsFailure3("LEVEL_OUT_OF_RANGE", "Each level must be between 0 and 8.", { level: lvl });
|
|
304254
|
+
}
|
|
304255
|
+
}
|
|
304256
|
+
if (new Set(levels).size !== levels.length) {
|
|
304257
|
+
return toListsFailure3("INVALID_INPUT", "levels must contain unique values.", { levels });
|
|
304258
|
+
}
|
|
304259
|
+
for (let i4 = 1;i4 < levels.length; i4++) {
|
|
304260
|
+
if (levels[i4] <= levels[i4 - 1]) {
|
|
304261
|
+
return toListsFailure3("INVALID_INPUT", "levels must be sorted in ascending order.", { levels });
|
|
304262
|
+
}
|
|
304263
|
+
}
|
|
304264
|
+
return null;
|
|
304265
|
+
}
|
|
304266
|
+
function preflightTemplateLevels2(template, levels, target) {
|
|
304267
|
+
const templateLevelSet = new Set(template.levels.map((l) => l.level));
|
|
304268
|
+
const targetLevels = levels ?? template.levels.map((l) => l.level);
|
|
304269
|
+
for (const ilvl of targetLevels) {
|
|
304270
|
+
if (!templateLevelSet.has(ilvl)) {
|
|
304271
|
+
return toListsFailure3("INVALID_INPUT", "Requested level does not exist in the template.", { target });
|
|
304272
|
+
}
|
|
304273
|
+
}
|
|
304274
|
+
return null;
|
|
304275
|
+
}
|
|
304276
|
+
function toApplyTemplateError2(error, target) {
|
|
304277
|
+
switch (error) {
|
|
304278
|
+
case "ABSTRACT_NOT_FOUND":
|
|
304279
|
+
return toListsFailure3("INVALID_TARGET", "Abstract numbering definition not found.", { target });
|
|
304280
|
+
case "LEVEL_NOT_IN_TEMPLATE":
|
|
304281
|
+
return toListsFailure3("INVALID_INPUT", "Requested level does not exist in the template.", { target });
|
|
304282
|
+
case "LEVEL_NOT_IN_ABSTRACT":
|
|
304283
|
+
return toListsFailure3("INVALID_TARGET", "Requested level does not exist in the abstract definition.", { target });
|
|
304284
|
+
default:
|
|
304285
|
+
return toListsFailure3("INVALID_INPUT", `Template application failed: ${error}.`, { target });
|
|
304286
|
+
}
|
|
304287
|
+
}
|
|
304288
|
+
function resolveTargetAbstract2(editor, target) {
|
|
304289
|
+
const resolved = resolveListItem2(editor, target);
|
|
304290
|
+
if (resolved.numId == null) {
|
|
304291
|
+
return {
|
|
304292
|
+
ok: false,
|
|
304293
|
+
failure: toListsFailure3("INVALID_TARGET", "Target must have numbering metadata.", { target })
|
|
304294
|
+
};
|
|
304295
|
+
}
|
|
304296
|
+
const abstractNumId = getAbstractNumId2(editor, resolved.numId);
|
|
304297
|
+
if (abstractNumId == null) {
|
|
304298
|
+
return {
|
|
304299
|
+
ok: false,
|
|
304300
|
+
failure: toListsFailure3("INVALID_TARGET", "Could not resolve abstract definition for target.", { target })
|
|
304301
|
+
};
|
|
304302
|
+
}
|
|
304303
|
+
return { ok: true, resolved, abstractNumId, numId: resolved.numId };
|
|
304304
|
+
}
|
|
304305
|
+
function executeSingleLevelMutation2(editor, operationId, target, level, options, mutate) {
|
|
304306
|
+
rejectTrackedMode2(operationId, options);
|
|
304307
|
+
const levelError = validateLevel2(level);
|
|
304308
|
+
if (levelError)
|
|
304309
|
+
return levelError;
|
|
304310
|
+
const targetResult = resolveTargetAbstract2(editor, target);
|
|
304311
|
+
if (!targetResult.ok)
|
|
304312
|
+
return targetResult.failure;
|
|
304313
|
+
if (!LevelFormattingHelpers2.hasLevel(editor, targetResult.abstractNumId, level)) {
|
|
304314
|
+
return toListsFailure3("LEVEL_NOT_FOUND", `Level ${level} does not exist in the abstract definition.`, {
|
|
304315
|
+
target,
|
|
304316
|
+
level
|
|
304317
|
+
});
|
|
304318
|
+
}
|
|
304319
|
+
if (options?.dryRun) {
|
|
304320
|
+
return { success: true, item: targetResult.resolved.address };
|
|
304321
|
+
}
|
|
304322
|
+
const receipt2 = executeDomainCommand2(editor, () => {
|
|
304323
|
+
const changed = mutate(targetResult.abstractNumId, level);
|
|
304324
|
+
if (!changed)
|
|
304325
|
+
return false;
|
|
304326
|
+
dispatchEditorTransaction3(editor, editor.state.tr);
|
|
304327
|
+
return true;
|
|
304328
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
304329
|
+
if (receipt2.steps[0]?.effect !== "changed") {
|
|
304330
|
+
return toListsFailure3("NO_OP", `${operationId}: values already match.`, { target });
|
|
304331
|
+
}
|
|
304332
|
+
return { success: true, item: targetResult.resolved.address };
|
|
304333
|
+
}
|
|
304334
|
+
function listsApplyTemplateWrapper2(editor, input2, options) {
|
|
304335
|
+
rejectTrackedMode2("lists.applyTemplate", options);
|
|
304336
|
+
if (input2.template.version !== 1) {
|
|
304337
|
+
return toListsFailure3("INVALID_INPUT", "Unsupported template version.", { version: input2.template.version });
|
|
304338
|
+
}
|
|
304339
|
+
const levelsError = validateLevelsArray2(input2.levels);
|
|
304340
|
+
if (levelsError)
|
|
304341
|
+
return levelsError;
|
|
304342
|
+
const targetResult = resolveTargetAbstract2(editor, input2.target);
|
|
304343
|
+
if (!targetResult.ok)
|
|
304344
|
+
return targetResult.failure;
|
|
304345
|
+
const preflightError = preflightTemplateLevels2(input2.template, input2.levels, input2.target);
|
|
304346
|
+
if (preflightError)
|
|
304347
|
+
return preflightError;
|
|
304348
|
+
if (options?.dryRun) {
|
|
304349
|
+
return { success: true, item: targetResult.resolved.address };
|
|
304350
|
+
}
|
|
304351
|
+
let applyError;
|
|
304352
|
+
const receipt2 = executeDomainCommand2(editor, () => {
|
|
304353
|
+
const result = LevelFormattingHelpers2.applyTemplateToAbstract(editor, targetResult.abstractNumId, input2.template, input2.levels);
|
|
304354
|
+
if (result.error) {
|
|
304355
|
+
applyError = result.error;
|
|
304356
|
+
return false;
|
|
304357
|
+
}
|
|
304358
|
+
if (!result.changed)
|
|
304359
|
+
return false;
|
|
304360
|
+
dispatchEditorTransaction3(editor, editor.state.tr);
|
|
304361
|
+
return true;
|
|
304362
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
304363
|
+
if (applyError) {
|
|
304364
|
+
return toApplyTemplateError2(applyError, input2.target);
|
|
304365
|
+
}
|
|
304366
|
+
if (receipt2.steps[0]?.effect !== "changed") {
|
|
304367
|
+
return toListsFailure3("NO_OP", "All template levels already match.", { target: input2.target });
|
|
304368
|
+
}
|
|
304369
|
+
return { success: true, item: targetResult.resolved.address };
|
|
304370
|
+
}
|
|
304371
|
+
function listsApplyPresetWrapper2(editor, input2, options) {
|
|
304372
|
+
rejectTrackedMode2("lists.applyPreset", options);
|
|
304373
|
+
const template = LevelFormattingHelpers2.getPresetTemplate(input2.preset);
|
|
304374
|
+
if (!template) {
|
|
304375
|
+
return toListsFailure3("INVALID_INPUT", `Unknown preset: ${input2.preset}.`, { preset: input2.preset });
|
|
304376
|
+
}
|
|
304377
|
+
const levelsError = validateLevelsArray2(input2.levels);
|
|
304378
|
+
if (levelsError)
|
|
304379
|
+
return levelsError;
|
|
304380
|
+
const targetResult = resolveTargetAbstract2(editor, input2.target);
|
|
304381
|
+
if (!targetResult.ok)
|
|
304382
|
+
return targetResult.failure;
|
|
304383
|
+
const preflightError = preflightTemplateLevels2(template, input2.levels, input2.target);
|
|
304384
|
+
if (preflightError)
|
|
304385
|
+
return preflightError;
|
|
304386
|
+
if (options?.dryRun) {
|
|
304387
|
+
return { success: true, item: targetResult.resolved.address };
|
|
304388
|
+
}
|
|
304389
|
+
let applyError;
|
|
304390
|
+
const receipt2 = executeDomainCommand2(editor, () => {
|
|
304391
|
+
const result = LevelFormattingHelpers2.applyTemplateToAbstract(editor, targetResult.abstractNumId, template, input2.levels);
|
|
304392
|
+
if (result.error) {
|
|
304393
|
+
applyError = result.error;
|
|
304394
|
+
return false;
|
|
304395
|
+
}
|
|
304396
|
+
if (!result.changed)
|
|
304397
|
+
return false;
|
|
304398
|
+
dispatchEditorTransaction3(editor, editor.state.tr);
|
|
304399
|
+
return true;
|
|
304400
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
304401
|
+
if (applyError) {
|
|
304402
|
+
return toApplyTemplateError2(applyError, input2.target);
|
|
304403
|
+
}
|
|
304404
|
+
if (receipt2.steps[0]?.effect !== "changed") {
|
|
304405
|
+
return toListsFailure3("NO_OP", "All preset levels already match.", { target: input2.target });
|
|
304406
|
+
}
|
|
304407
|
+
return { success: true, item: targetResult.resolved.address };
|
|
304408
|
+
}
|
|
304409
|
+
function listsCaptureTemplateWrapper2(editor, input2) {
|
|
304410
|
+
const levelsError = validateLevelsArray2(input2.levels);
|
|
304411
|
+
if (levelsError)
|
|
304412
|
+
return levelsError;
|
|
304413
|
+
const targetResult = resolveTargetAbstract2(editor, input2.target);
|
|
304414
|
+
if (!targetResult.ok)
|
|
304415
|
+
return targetResult.failure;
|
|
304416
|
+
const template = LevelFormattingHelpers2.captureTemplate(editor, targetResult.abstractNumId, input2.levels);
|
|
304417
|
+
if (!template) {
|
|
304418
|
+
return toListsFailure3("INVALID_TARGET", "Could not capture template from target.", { target: input2.target });
|
|
304419
|
+
}
|
|
304420
|
+
return { success: true, template };
|
|
304421
|
+
}
|
|
304422
|
+
function listsSetLevelNumberingWrapper2(editor, input2, options) {
|
|
304423
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelNumbering", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers2.setLevelNumberingFormat(editor, abstractNumId, ilvl, {
|
|
304424
|
+
numFmt: input2.numFmt,
|
|
304425
|
+
lvlText: input2.lvlText,
|
|
304426
|
+
start: input2.start
|
|
304427
|
+
}));
|
|
304428
|
+
}
|
|
304429
|
+
function listsSetLevelBulletWrapper2(editor, input2, options) {
|
|
304430
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelBullet", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers2.setLevelBulletMarker(editor, abstractNumId, ilvl, input2.markerText));
|
|
304431
|
+
}
|
|
304432
|
+
function listsSetLevelPictureBulletWrapper2(editor, input2, options) {
|
|
304433
|
+
rejectTrackedMode2("lists.setLevelPictureBullet", options);
|
|
304434
|
+
const converter = editor.converter;
|
|
304435
|
+
if (converter?.convertedXml && !converter.convertedXml["word/numbering.xml"]) {
|
|
304436
|
+
return toListsFailure3("CAPABILITY_UNAVAILABLE", "Picture bullets require a numbering definition (word/numbering.xml).", {
|
|
304437
|
+
target: input2.target
|
|
304438
|
+
});
|
|
304439
|
+
}
|
|
304440
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelPictureBullet", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers2.setLevelPictureBulletId(editor, abstractNumId, ilvl, input2.pictureBulletId));
|
|
304441
|
+
}
|
|
304442
|
+
function listsSetLevelAlignmentWrapper2(editor, input2, options) {
|
|
304443
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelAlignment", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers2.setLevelAlignment(editor, abstractNumId, ilvl, input2.alignment));
|
|
304444
|
+
}
|
|
304445
|
+
function listsSetLevelIndentsWrapper2(editor, input2, options) {
|
|
304446
|
+
const hasLeft = input2.left != null;
|
|
304447
|
+
const hasHanging = input2.hanging != null;
|
|
304448
|
+
const hasFirstLine = input2.firstLine != null;
|
|
304449
|
+
if (!hasLeft && !hasHanging && !hasFirstLine) {
|
|
304450
|
+
return toListsFailure3("INVALID_INPUT", "At least one indent property is required.", {});
|
|
304451
|
+
}
|
|
304452
|
+
if (hasHanging && hasFirstLine) {
|
|
304453
|
+
return toListsFailure3("INVALID_INPUT", "hanging and firstLine are mutually exclusive.", {});
|
|
304454
|
+
}
|
|
304455
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelIndents", input2.target, input2.level, options, (abstractNumId, ilvl) => {
|
|
304456
|
+
const indents = {};
|
|
304457
|
+
if (hasLeft)
|
|
304458
|
+
indents.left = input2.left;
|
|
304459
|
+
if (hasHanging)
|
|
304460
|
+
indents.hanging = input2.hanging;
|
|
304461
|
+
if (hasFirstLine)
|
|
304462
|
+
indents.firstLine = input2.firstLine;
|
|
304463
|
+
return LevelFormattingHelpers2.setLevelIndents(editor, abstractNumId, ilvl, indents);
|
|
304464
|
+
});
|
|
304465
|
+
}
|
|
304466
|
+
function listsSetLevelTrailingCharacterWrapper2(editor, input2, options) {
|
|
304467
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelTrailingCharacter", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers2.setLevelTrailingCharacter(editor, abstractNumId, ilvl, input2.trailingCharacter));
|
|
304468
|
+
}
|
|
304469
|
+
function listsSetLevelMarkerFontWrapper2(editor, input2, options) {
|
|
304470
|
+
return executeSingleLevelMutation2(editor, "lists.setLevelMarkerFont", input2.target, input2.level, options, (abstractNumId, ilvl) => LevelFormattingHelpers2.setLevelMarkerFont(editor, abstractNumId, ilvl, input2.fontFamily));
|
|
304471
|
+
}
|
|
304472
|
+
function listsClearLevelOverridesWrapper2(editor, input2, options) {
|
|
304473
|
+
rejectTrackedMode2("lists.clearLevelOverrides", options);
|
|
304474
|
+
const levelError = validateLevel2(input2.level);
|
|
304475
|
+
if (levelError)
|
|
304476
|
+
return levelError;
|
|
304477
|
+
const resolved = resolveListItem2(editor, input2.target);
|
|
304478
|
+
if (resolved.numId == null) {
|
|
304479
|
+
return toListsFailure3("INVALID_TARGET", "Target must have numbering metadata.", { target: input2.target });
|
|
304480
|
+
}
|
|
304481
|
+
if (options?.dryRun) {
|
|
304482
|
+
return { success: true, item: resolved.address };
|
|
304483
|
+
}
|
|
304484
|
+
if (!LevelFormattingHelpers2.hasLevelOverride(editor, resolved.numId, input2.level)) {
|
|
304485
|
+
return toListsFailure3("NO_OP", "No override exists for this level.", { target: input2.target, level: input2.level });
|
|
304486
|
+
}
|
|
304487
|
+
const receipt2 = executeDomainCommand2(editor, () => {
|
|
304488
|
+
LevelFormattingHelpers2.clearLevelOverride(editor, resolved.numId, input2.level);
|
|
304489
|
+
dispatchEditorTransaction3(editor, editor.state.tr);
|
|
304490
|
+
return true;
|
|
304491
|
+
}, { expectedRevision: options?.expectedRevision });
|
|
304492
|
+
if (receipt2.steps[0]?.effect !== "changed") {
|
|
304493
|
+
return toListsFailure3("NO_OP", "clearLevelOverrides could not be applied.", { target: input2.target });
|
|
304494
|
+
}
|
|
304495
|
+
return { success: true, item: resolved.address };
|
|
304496
|
+
}
|
|
304497
|
+
var init_lists_formatting_wrappers = __esm(() => {
|
|
304498
|
+
init_mutation_helpers();
|
|
304499
|
+
init_plan_wrappers();
|
|
304500
|
+
init_list_item_resolver();
|
|
304501
|
+
init_list_sequence_helpers();
|
|
304502
|
+
init_list_level_formatting_helpers();
|
|
304503
|
+
});
|
|
304504
|
+
|
|
301984
304505
|
// ../../packages/super-editor/src/document-api-adapters/plan-engine/preview.ts
|
|
301985
304506
|
function previewPlan2(editor, input2) {
|
|
301986
304507
|
checkRevision2(editor, input2.expectedRevision);
|
|
@@ -309196,7 +311717,7 @@ function normalizeTocContent2(content5, editor) {
|
|
|
309196
311717
|
return null;
|
|
309197
311718
|
return content5.map((entry) => entry && typeof entry === "object" && typeof entry.type === "string" ? editor.state.schema.nodeFromJSON(entry) : entry);
|
|
309198
311719
|
}
|
|
309199
|
-
function
|
|
311720
|
+
function dispatchEditorTransaction4(editor, tr) {
|
|
309200
311721
|
if (typeof editor.dispatch === "function") {
|
|
309201
311722
|
editor.dispatch(tr);
|
|
309202
311723
|
return;
|
|
@@ -309312,7 +311833,7 @@ function tocConfigureWrapper2(editor, input2, options) {
|
|
|
309312
311833
|
const to = resolved.pos + resolved.node.nodeSize - 1;
|
|
309313
311834
|
tr.replaceWith(from4, to, normalizeTocContent2(nextContent, editor) ?? []);
|
|
309314
311835
|
}
|
|
309315
|
-
|
|
311836
|
+
dispatchEditorTransaction4(editor, tr);
|
|
309316
311837
|
return true;
|
|
309317
311838
|
} catch {
|
|
309318
311839
|
return false;
|
|
@@ -309353,7 +311874,7 @@ function tocUpdateAll2(editor, input2, options) {
|
|
|
309353
311874
|
const from4 = resolved.pos + 1;
|
|
309354
311875
|
const to = resolved.pos + resolved.node.nodeSize - 1;
|
|
309355
311876
|
tr.replaceWith(from4, to, normalizeTocContent2(content5, editor) ?? []);
|
|
309356
|
-
|
|
311877
|
+
dispatchEditorTransaction4(editor, tr);
|
|
309357
311878
|
return true;
|
|
309358
311879
|
} catch {
|
|
309359
311880
|
return false;
|
|
@@ -309403,7 +311924,7 @@ function tocUpdatePageNumbers2(editor, input2, options) {
|
|
|
309403
311924
|
const from4 = resolved.pos + 1;
|
|
309404
311925
|
const to = resolved.pos + resolved.node.nodeSize - 1;
|
|
309405
311926
|
tr.replaceWith(from4, to, normalizeTocContent2(updatedContent, editor) ?? []);
|
|
309406
|
-
|
|
311927
|
+
dispatchEditorTransaction4(editor, tr);
|
|
309407
311928
|
return true;
|
|
309408
311929
|
} catch {
|
|
309409
311930
|
return false;
|
|
@@ -309462,7 +311983,7 @@ function tocRemoveWrapper2(editor, input2, options) {
|
|
|
309462
311983
|
try {
|
|
309463
311984
|
const { tr } = editor.state;
|
|
309464
311985
|
tr.delete(resolved.pos, resolved.pos + resolved.node.nodeSize);
|
|
309465
|
-
|
|
311986
|
+
dispatchEditorTransaction4(editor, tr);
|
|
309466
311987
|
return true;
|
|
309467
311988
|
} catch {
|
|
309468
311989
|
return false;
|
|
@@ -309512,7 +312033,7 @@ function createTableOfContentsWrapper2(editor, input2, options) {
|
|
|
309512
312033
|
try {
|
|
309513
312034
|
const { tr } = editor.state;
|
|
309514
312035
|
tr.insert(pos, tocNode);
|
|
309515
|
-
|
|
312036
|
+
dispatchEditorTransaction4(editor, tr);
|
|
309516
312037
|
return true;
|
|
309517
312038
|
} catch (error) {
|
|
309518
312039
|
if (error instanceof RangeError)
|
|
@@ -310479,7 +313000,18 @@ function assembleDocumentApiAdapters2(editor) {
|
|
|
310479
313000
|
continuePrevious: (input2, options) => listsContinuePreviousWrapper2(editor, input2, options),
|
|
310480
313001
|
canContinuePrevious: (input2) => listsCanContinuePreviousWrapper2(editor, input2),
|
|
310481
313002
|
setLevelRestart: (input2, options) => listsSetLevelRestartWrapper2(editor, input2, options),
|
|
310482
|
-
convertToText: (input2, options) => listsConvertToTextWrapper2(editor, input2, options)
|
|
313003
|
+
convertToText: (input2, options) => listsConvertToTextWrapper2(editor, input2, options),
|
|
313004
|
+
applyTemplate: (input2, options) => listsApplyTemplateWrapper2(editor, input2, options),
|
|
313005
|
+
applyPreset: (input2, options) => listsApplyPresetWrapper2(editor, input2, options),
|
|
313006
|
+
captureTemplate: (input2) => listsCaptureTemplateWrapper2(editor, input2),
|
|
313007
|
+
setLevelNumbering: (input2, options) => listsSetLevelNumberingWrapper2(editor, input2, options),
|
|
313008
|
+
setLevelBullet: (input2, options) => listsSetLevelBulletWrapper2(editor, input2, options),
|
|
313009
|
+
setLevelPictureBullet: (input2, options) => listsSetLevelPictureBulletWrapper2(editor, input2, options),
|
|
313010
|
+
setLevelAlignment: (input2, options) => listsSetLevelAlignmentWrapper2(editor, input2, options),
|
|
313011
|
+
setLevelIndents: (input2, options) => listsSetLevelIndentsWrapper2(editor, input2, options),
|
|
313012
|
+
setLevelTrailingCharacter: (input2, options) => listsSetLevelTrailingCharacterWrapper2(editor, input2, options),
|
|
313013
|
+
setLevelMarkerFont: (input2, options) => listsSetLevelMarkerFontWrapper2(editor, input2, options),
|
|
313014
|
+
clearLevelOverrides: (input2, options) => listsClearLevelOverridesWrapper2(editor, input2, options)
|
|
310483
313015
|
},
|
|
310484
313016
|
sections: {
|
|
310485
313017
|
list: (query2) => sectionsListAdapter3(editor, query2),
|
|
@@ -310597,6 +313129,7 @@ var init_assemble_adapters = __esm(() => {
|
|
|
310597
313129
|
init_create_wrappers();
|
|
310598
313130
|
init_blocks_wrappers();
|
|
310599
313131
|
init_lists_wrappers();
|
|
313132
|
+
init_lists_formatting_wrappers();
|
|
310600
313133
|
init_executor();
|
|
310601
313134
|
init_preview();
|
|
310602
313135
|
init_query_match_adapter();
|
|
@@ -365504,6 +368037,17 @@ var init_invoke_input = __esm(() => {
|
|
|
365504
368037
|
"lists.continuePrevious": "input",
|
|
365505
368038
|
"lists.canContinuePrevious": "input",
|
|
365506
368039
|
"lists.setLevelRestart": "input",
|
|
368040
|
+
"lists.applyTemplate": "input",
|
|
368041
|
+
"lists.applyPreset": "input",
|
|
368042
|
+
"lists.captureTemplate": "input",
|
|
368043
|
+
"lists.setLevelNumbering": "input",
|
|
368044
|
+
"lists.setLevelBullet": "input",
|
|
368045
|
+
"lists.setLevelPictureBullet": "input",
|
|
368046
|
+
"lists.setLevelAlignment": "input",
|
|
368047
|
+
"lists.setLevelIndents": "input",
|
|
368048
|
+
"lists.setLevelTrailingCharacter": "input",
|
|
368049
|
+
"lists.setLevelMarkerFont": "input",
|
|
368050
|
+
"lists.clearLevelOverrides": "input",
|
|
365507
368051
|
"lists.convertToText": "input",
|
|
365508
368052
|
"create.paragraph": "input",
|
|
365509
368053
|
"create.heading": "input"
|
|
@@ -366682,6 +369226,17 @@ var init_operation_params = __esm(() => {
|
|
|
366682
369226
|
...LIST_TARGET_FLAT_PARAMS
|
|
366683
369227
|
],
|
|
366684
369228
|
"doc.lists.setLevelRestart": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369229
|
+
"doc.lists.applyTemplate": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369230
|
+
"doc.lists.applyPreset": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369231
|
+
"doc.lists.captureTemplate": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369232
|
+
"doc.lists.setLevelNumbering": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369233
|
+
"doc.lists.setLevelBullet": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369234
|
+
"doc.lists.setLevelPictureBullet": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369235
|
+
"doc.lists.setLevelAlignment": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369236
|
+
"doc.lists.setLevelIndents": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369237
|
+
"doc.lists.setLevelTrailingCharacter": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369238
|
+
"doc.lists.setLevelMarkerFont": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
369239
|
+
"doc.lists.clearLevelOverrides": [{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" }],
|
|
366685
369240
|
"doc.lists.convertToText": [
|
|
366686
369241
|
{ name: "input", kind: "jsonFlag", flag: "input-json", type: "json" },
|
|
366687
369242
|
...LIST_TARGET_FLAT_PARAMS
|