oasis-editor 0.0.171 → 0.0.173

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.
@@ -2863,7 +2863,7 @@ function OasisEditorAppLazy(props = {}) {
2863
2863
  onCleanup(() => {
2864
2864
  cancelled = true;
2865
2865
  });
2866
- import("./OasisEditorApp-Dit2WRPL.js").then((m) => {
2866
+ import("./OasisEditorApp-DAON1Lo9.js").then((m) => {
2867
2867
  cancelled = true;
2868
2868
  setProgress(1);
2869
2869
  setTimeout(() => setApp(() => m.OasisEditorApp), 180);
@@ -4928,8 +4928,8 @@ function createOasisEditorClient() {
4928
4928
  let dirty = false;
4929
4929
  let version2 = 0;
4930
4930
  const idempotent = /* @__PURE__ */ new Map();
4931
- const ready = new Promise((resolve, reject) => {
4932
- resolveReady = resolve;
4931
+ const ready = new Promise((resolve2, reject) => {
4932
+ resolveReady = resolve2;
4933
4933
  rejectReady = reject;
4934
4934
  });
4935
4935
  const emit = (event, payload) => {
@@ -16474,15 +16474,15 @@ async function cachePdfFaces(family, stylesheetUrl) {
16474
16474
  }
16475
16475
  }
16476
16476
  function loadStylesheet(url) {
16477
- return new Promise((resolve) => {
16477
+ return new Promise((resolve2) => {
16478
16478
  const link = document.createElement("link");
16479
16479
  link.rel = "stylesheet";
16480
16480
  link.href = url;
16481
16481
  link.crossOrigin = "anonymous";
16482
- link.onload = () => resolve(link);
16482
+ link.onload = () => resolve2(link);
16483
16483
  link.onerror = () => {
16484
16484
  link.remove();
16485
- resolve(null);
16485
+ resolve2(null);
16486
16486
  };
16487
16487
  document.head.append(link);
16488
16488
  });
@@ -36072,7 +36072,7 @@ function parseStyleIdProperty(parent, localName) {
36072
36072
  async function yieldToEventLoop(every, counter2) {
36073
36073
  if (counter2 > 0 && counter2 % every === 0) {
36074
36074
  await new Promise(
36075
- (resolve) => setTimeout(resolve, 0)
36075
+ (resolve2) => setTimeout(resolve2, 0)
36076
36076
  );
36077
36077
  }
36078
36078
  }
@@ -47985,7 +47985,7 @@ async function importDocxInWorker(buffer, options = {}) {
47985
47985
  }
47986
47986
  const requestId = nextRequestId;
47987
47987
  nextRequestId += 1;
47988
- return new Promise((resolve, reject) => {
47988
+ return new Promise((resolve2, reject) => {
47989
47989
  const worker = new Worker(
47990
47990
  new URL(
47991
47991
  /* @vite-ignore */
@@ -48019,7 +48019,7 @@ async function importDocxInWorker(buffer, options = {}) {
48019
48019
  }
48020
48020
  cleanup();
48021
48021
  if (message.type === "done") {
48022
- resolve(message.document);
48022
+ resolve2(message.document);
48023
48023
  } else {
48024
48024
  reject(new Error(message.error));
48025
48025
  }
@@ -51902,6 +51902,677 @@ function DialogFooter(props) {
51902
51902
  return _el$;
51903
51903
  })();
51904
51904
  }
51905
+ function cloneBlock(block) {
51906
+ switch (block.type) {
51907
+ case "paragraph":
51908
+ return {
51909
+ ...block,
51910
+ runs: block.runs.map(cloneRun),
51911
+ style: block.style ? { ...block.style } : void 0,
51912
+ list: block.list ? { ...block.list } : void 0
51913
+ };
51914
+ case "table":
51915
+ return {
51916
+ ...block,
51917
+ style: block.style ? {
51918
+ ...block.style,
51919
+ defaultCellMargins: block.style.defaultCellMargins ? { ...block.style.defaultCellMargins } : void 0,
51920
+ floating: block.style.floating ? { ...block.style.floating } : void 0,
51921
+ revision: block.style.revision ? {
51922
+ ...block.style.revision,
51923
+ previous: { ...block.style.revision.previous }
51924
+ } : void 0
51925
+ } : void 0,
51926
+ gridRevision: block.gridRevision ? {
51927
+ ...block.gridRevision,
51928
+ previous: [...block.gridRevision.previous]
51929
+ } : void 0,
51930
+ rows: block.rows.map((row) => ({
51931
+ ...row,
51932
+ conditionalStyle: row.conditionalStyle ? { ...row.conditionalStyle } : void 0,
51933
+ style: row.style ? {
51934
+ ...row.style,
51935
+ revision: row.style.revision ? { ...row.style.revision } : void 0,
51936
+ propertyRevision: row.style.propertyRevision ? {
51937
+ ...row.style.propertyRevision,
51938
+ previous: { ...row.style.propertyRevision.previous }
51939
+ } : void 0
51940
+ } : void 0,
51941
+ cells: row.cells.map((cell) => ({
51942
+ ...cell,
51943
+ conditionalStyle: cell.conditionalStyle ? { ...cell.conditionalStyle } : void 0,
51944
+ mergeRevisionState: cell.mergeRevisionState ? {
51945
+ ...cell.mergeRevisionState,
51946
+ previousCells: cell.mergeRevisionState.previousCells.map(
51947
+ (previousCell) => ({
51948
+ ...previousCell,
51949
+ mergeRevisionState: void 0,
51950
+ style: previousCell.style ? { ...previousCell.style } : void 0,
51951
+ blocks: previousCell.blocks.map(cloneBlock)
51952
+ })
51953
+ )
51954
+ } : void 0,
51955
+ colSpan: cell.colSpan ?? void 0,
51956
+ rowSpan: cell.rowSpan ?? void 0,
51957
+ vMerge: cell.vMerge ?? void 0,
51958
+ style: cell.style ? {
51959
+ ...cell.style,
51960
+ revision: cell.style.revision ? { ...cell.style.revision } : void 0,
51961
+ propertyRevision: cell.style.propertyRevision ? {
51962
+ ...cell.style.propertyRevision,
51963
+ previous: {
51964
+ ...cell.style.propertyRevision.previous
51965
+ }
51966
+ } : void 0
51967
+ } : void 0,
51968
+ blocks: cell.blocks.map(cloneBlock)
51969
+ }))
51970
+ }))
51971
+ };
51972
+ default:
51973
+ return assertNever(block, "block");
51974
+ }
51975
+ }
51976
+ function cloneSection(section) {
51977
+ var _a2, _b2, _c, _d, _e, _f;
51978
+ return {
51979
+ ...section,
51980
+ blocks: section.blocks.map(cloneBlock),
51981
+ header: (_a2 = section.header) == null ? void 0 : _a2.map(cloneBlock),
51982
+ firstPageHeader: (_b2 = section.firstPageHeader) == null ? void 0 : _b2.map(cloneBlock),
51983
+ evenPageHeader: (_c = section.evenPageHeader) == null ? void 0 : _c.map(cloneBlock),
51984
+ footer: (_d = section.footer) == null ? void 0 : _d.map(cloneBlock),
51985
+ firstPageFooter: (_e = section.firstPageFooter) == null ? void 0 : _e.map(cloneBlock),
51986
+ evenPageFooter: (_f = section.evenPageFooter) == null ? void 0 : _f.map(cloneBlock)
51987
+ };
51988
+ }
51989
+ function cloneFootnote(footnote) {
51990
+ return {
51991
+ ...footnote,
51992
+ blocks: footnote.blocks.map(cloneBlock)
51993
+ };
51994
+ }
51995
+ function cloneFootnotes(footnotes) {
51996
+ var _a2, _b2;
51997
+ if (!footnotes) return void 0;
51998
+ const nextItems = {};
51999
+ for (const [id, footnote] of Object.entries(footnotes.items)) {
52000
+ nextItems[id] = cloneFootnote(footnote);
52001
+ }
52002
+ return {
52003
+ items: nextItems,
52004
+ settings: footnotes.settings ? { ...footnotes.settings } : void 0,
52005
+ separator: (_a2 = footnotes.separator) == null ? void 0 : _a2.map(cloneBlock),
52006
+ continuationSeparator: (_b2 = footnotes.continuationSeparator) == null ? void 0 : _b2.map(cloneBlock)
52007
+ };
52008
+ }
52009
+ function cloneEndnote(endnote) {
52010
+ return {
52011
+ ...endnote,
52012
+ blocks: endnote.blocks.map(cloneBlock)
52013
+ };
52014
+ }
52015
+ function cloneEndnotes(endnotes) {
52016
+ var _a2, _b2;
52017
+ if (!endnotes) return void 0;
52018
+ const nextItems = {};
52019
+ for (const [id, endnote] of Object.entries(endnotes.items)) {
52020
+ nextItems[id] = cloneEndnote(endnote);
52021
+ }
52022
+ return {
52023
+ items: nextItems,
52024
+ settings: endnotes.settings ? { ...endnotes.settings } : void 0,
52025
+ separator: (_a2 = endnotes.separator) == null ? void 0 : _a2.map(cloneBlock),
52026
+ continuationSeparator: (_b2 = endnotes.continuationSeparator) == null ? void 0 : _b2.map(cloneBlock)
52027
+ };
52028
+ }
52029
+ function cloneEditorState(source) {
52030
+ var _a2;
52031
+ return {
52032
+ ...source,
52033
+ document: {
52034
+ ...source.document,
52035
+ sections: (_a2 = source.document.sections) == null ? void 0 : _a2.map(cloneSection),
52036
+ footnotes: cloneFootnotes(source.document.footnotes),
52037
+ endnotes: cloneEndnotes(source.document.endnotes)
52038
+ },
52039
+ selection: {
52040
+ anchor: { ...source.selection.anchor },
52041
+ focus: { ...source.selection.focus }
52042
+ },
52043
+ activeSectionIndex: source.activeSectionIndex ?? 0,
52044
+ activeZone: source.activeZone ?? "main",
52045
+ activeFootnoteId: source.activeFootnoteId
52046
+ };
52047
+ }
52048
+ function matchesRevision(context2, revisionId) {
52049
+ return context2.revisionId === void 0 || context2.revisionId === revisionId;
52050
+ }
52051
+ function markMatched(context2) {
52052
+ context2.matched = true;
52053
+ }
52054
+ function markResolved(context2, revisionId) {
52055
+ context2.matched = true;
52056
+ context2.changed = true;
52057
+ context2.resolvedRevisionIds.add(revisionId);
52058
+ }
52059
+ function pushIssue(context2, issue) {
52060
+ context2.matched = true;
52061
+ const key = `${issue.kind}:${issue.revisionId ?? ""}:${issue.path}`;
52062
+ if (context2.unresolvedKeys.has(key)) return;
52063
+ context2.unresolvedKeys.add(key);
52064
+ context2.unresolved.push(issue);
52065
+ }
52066
+ function stripTextPropertyRevision(style2) {
52067
+ const next = cloneStyle(style2);
52068
+ if (!next) return void 0;
52069
+ delete next.propertyRevision;
52070
+ return Object.keys(next).length > 0 ? next : void 0;
52071
+ }
52072
+ function stripParagraphPropertyRevision(style2) {
52073
+ const next = cloneParagraphStyle(style2);
52074
+ if (!next) return void 0;
52075
+ delete next.propertyRevision;
52076
+ return Object.keys(next).length > 0 ? next : void 0;
52077
+ }
52078
+ function resolveTextStyle(style2, path, context2) {
52079
+ const revision = style2 == null ? void 0 : style2.propertyRevision;
52080
+ if (!revision || !matchesRevision(context2, revision.id)) return style2;
52081
+ markResolved(context2, revision.id);
52082
+ if (context2.action === "accept") {
52083
+ return stripTextPropertyRevision(style2);
52084
+ }
52085
+ return stripTextPropertyRevision(revision.previous);
52086
+ }
52087
+ function resolveParagraphStyle(style2, path, context2) {
52088
+ const revision = style2 == null ? void 0 : style2.propertyRevision;
52089
+ if (!revision || !matchesRevision(context2, revision.id)) return style2;
52090
+ markResolved(context2, revision.id);
52091
+ if (context2.action === "accept") {
52092
+ return stripParagraphPropertyRevision(style2);
52093
+ }
52094
+ return stripParagraphPropertyRevision(revision.previous);
52095
+ }
52096
+ function resolveTableStyle(style2, path, context2) {
52097
+ const revision = style2 == null ? void 0 : style2.revision;
52098
+ if (!revision || !matchesRevision(context2, revision.id)) return style2;
52099
+ markResolved(context2, revision.id);
52100
+ const next = structuredClone(
52101
+ context2.action === "accept" ? style2 : revision.previous
52102
+ );
52103
+ delete next.revision;
52104
+ return next;
52105
+ }
52106
+ function resolveRowPropertyStyle(style2, path, context2) {
52107
+ const revision = style2 == null ? void 0 : style2.propertyRevision;
52108
+ if (!revision || !matchesRevision(context2, revision.id)) return style2;
52109
+ markResolved(context2, revision.id);
52110
+ const structuralRevision = style2.revision ? structuredClone(style2.revision) : void 0;
52111
+ const next = structuredClone(
52112
+ context2.action === "accept" ? style2 : revision.previous
52113
+ );
52114
+ delete next.propertyRevision;
52115
+ if (structuralRevision) next.revision = structuralRevision;
52116
+ return next;
52117
+ }
52118
+ function resolveCellPropertyStyle(style2, path, context2) {
52119
+ const revision = style2 == null ? void 0 : style2.propertyRevision;
52120
+ if (!revision || !matchesRevision(context2, revision.id)) return style2;
52121
+ markResolved(context2, revision.id);
52122
+ const structuralRevision = style2.revision ? structuredClone(style2.revision) : void 0;
52123
+ const next = structuredClone(
52124
+ context2.action === "accept" ? style2 : revision.previous
52125
+ );
52126
+ delete next.propertyRevision;
52127
+ if (structuralRevision) next.revision = structuralRevision;
52128
+ return next;
52129
+ }
52130
+ function shouldKeepRun(run, path, context2) {
52131
+ const revision = run.revision;
52132
+ if (!revision || !matchesRevision(context2, revision.id)) return true;
52133
+ markResolved(context2, revision.id);
52134
+ return context2.action === "accept" ? revision.type === "insert" : revision.type === "delete";
52135
+ }
52136
+ function resolveRun(run, path, context2) {
52137
+ if (run.revisionRangeMarker && matchesRevision(context2, run.revisionRangeMarker.id)) {
52138
+ markResolved(context2, run.revisionRangeMarker.id);
52139
+ return null;
52140
+ }
52141
+ if (!shouldKeepRun(run, path, context2)) return null;
52142
+ let next = run;
52143
+ if (run.revision && matchesRevision(context2, run.revision.id)) {
52144
+ next = { ...next, revision: void 0 };
52145
+ }
52146
+ const styles = resolveTextStyle(next.styles, `${path}.styles`, context2);
52147
+ if (styles !== next.styles) {
52148
+ next = { ...next, styles };
52149
+ }
52150
+ if (next.kind === "textBox") {
52151
+ const blocks = transformBlocks(
52152
+ next.textBox.blocks,
52153
+ `${path}.textBox.blocks`,
52154
+ context2
52155
+ );
52156
+ if (blocks !== next.textBox.blocks) {
52157
+ next = {
52158
+ ...next,
52159
+ textBox: { ...next.textBox, blocks }
52160
+ };
52161
+ }
52162
+ }
52163
+ return next;
52164
+ }
52165
+ function transformParagraph(paragraph, path, context2) {
52166
+ const nextRuns = [];
52167
+ const segments = [];
52168
+ let oldCursor = 0;
52169
+ let newCursor = 0;
52170
+ for (let index = 0; index < paragraph.runs.length; index += 1) {
52171
+ const run = paragraph.runs[index];
52172
+ const nextRun = resolveRun(run, `${path}.runs[${index}]`, context2);
52173
+ const length = run.text.length;
52174
+ segments.push({
52175
+ oldStart: oldCursor,
52176
+ oldEnd: oldCursor + length,
52177
+ newStart: newCursor,
52178
+ kept: nextRun !== null
52179
+ });
52180
+ oldCursor += length;
52181
+ if (nextRun) {
52182
+ nextRuns.push(nextRun);
52183
+ newCursor += nextRun.text.length;
52184
+ }
52185
+ }
52186
+ if (oldCursor !== newCursor) {
52187
+ context2.paragraphOffsetTransforms.set(paragraph.id, {
52188
+ segments,
52189
+ oldLength: oldCursor,
52190
+ newLength: newCursor
52191
+ });
52192
+ }
52193
+ let next = nextRuns.length === paragraph.runs.length && nextRuns.every((run, index) => run === paragraph.runs[index]) ? paragraph : { ...paragraph, runs: nextRuns };
52194
+ const style2 = resolveParagraphStyle(next.style, `${path}.style`, context2);
52195
+ if (style2 !== next.style) next = { ...next, style: style2 };
52196
+ const numberingRevision = next.numberingRevision;
52197
+ if (numberingRevision && matchesRevision(context2, numberingRevision.id)) {
52198
+ markMatched(context2);
52199
+ if (context2.action === "accept") {
52200
+ markResolved(context2, numberingRevision.id);
52201
+ next = { ...next, numberingRevision: void 0 };
52202
+ } else {
52203
+ pushIssue(context2, {
52204
+ kind: "numbering-original-unavailable",
52205
+ revisionId: numberingRevision.id,
52206
+ path: `${path}.numberingRevision`,
52207
+ message: "w:numberingChange only stores the previous rendered-number cache; it cannot reconstruct the previous numId/ilvl safely."
52208
+ });
52209
+ }
52210
+ }
52211
+ return next;
52212
+ }
52213
+ function rawRevisionId(xml) {
52214
+ var _a2;
52215
+ return (_a2 = /\bw:id\s*=\s*["']([^"']+)["']/.exec(xml)) == null ? void 0 : _a2[1];
52216
+ }
52217
+ function resolveRowStructuralRevision(row, path, context2) {
52218
+ var _a2;
52219
+ const revision = (_a2 = row.style) == null ? void 0 : _a2.revision;
52220
+ if (!revision || !matchesRevision(context2, revision.id)) return row;
52221
+ markMatched(context2);
52222
+ const requiresRemoval = context2.action === "accept" && revision.type === "delete" || context2.action === "reject" && revision.type === "insert";
52223
+ if (requiresRemoval) {
52224
+ pushIssue(context2, {
52225
+ kind: "structural-removal-unavailable",
52226
+ revisionId: revision.id,
52227
+ path,
52228
+ message: "Resolving this row revision would remove a table subtree; anchor-safe subtree removal is not implemented yet."
52229
+ });
52230
+ return row;
52231
+ }
52232
+ if (context2.action === "reject" && revision.type === "merge") {
52233
+ pushIssue(context2, {
52234
+ kind: "cell-merge-original-unavailable",
52235
+ revisionId: revision.id,
52236
+ path,
52237
+ message: "The original table structure for this merge revision is not reconstructed by the core resolver yet."
52238
+ });
52239
+ return row;
52240
+ }
52241
+ markResolved(context2, revision.id);
52242
+ return {
52243
+ ...row,
52244
+ style: row.style ? { ...row.style, revision: void 0 } : row.style
52245
+ };
52246
+ }
52247
+ function resolveCellStructuralRevision(cell, path, context2) {
52248
+ var _a2;
52249
+ const revision = (_a2 = cell.style) == null ? void 0 : _a2.revision;
52250
+ const mergeStateMatches = cell.mergeRevisionState && matchesRevision(context2, cell.mergeRevisionState.revisionId);
52251
+ if (revision && matchesRevision(context2, revision.id)) {
52252
+ markMatched(context2);
52253
+ const requiresRemoval = context2.action === "accept" && revision.type === "delete" || context2.action === "reject" && revision.type === "insert";
52254
+ if (requiresRemoval) {
52255
+ pushIssue(context2, {
52256
+ kind: "structural-removal-unavailable",
52257
+ revisionId: revision.id,
52258
+ path,
52259
+ message: "Resolving this cell revision would remove a table subtree; anchor-safe subtree removal is not implemented yet."
52260
+ });
52261
+ return cell;
52262
+ }
52263
+ if (context2.action === "reject" && revision.type === "merge") {
52264
+ pushIssue(context2, {
52265
+ kind: "cell-merge-original-unavailable",
52266
+ revisionId: revision.id,
52267
+ path,
52268
+ message: "The original cell grid for this merge revision is preserved but not reconstructed by the core resolver yet."
52269
+ });
52270
+ return cell;
52271
+ }
52272
+ markResolved(context2, revision.id);
52273
+ return {
52274
+ ...cell,
52275
+ style: cell.style ? { ...cell.style, revision: void 0 } : cell.style,
52276
+ ...revision.type === "merge" ? { mergeRevisionState: void 0 } : {}
52277
+ };
52278
+ }
52279
+ if (mergeStateMatches) {
52280
+ const revisionId = cell.mergeRevisionState.revisionId;
52281
+ markMatched(context2);
52282
+ if (context2.action === "accept") {
52283
+ markResolved(context2, revisionId);
52284
+ return { ...cell, mergeRevisionState: void 0 };
52285
+ }
52286
+ pushIssue(context2, {
52287
+ kind: "cell-merge-original-unavailable",
52288
+ revisionId,
52289
+ path: `${path}.mergeRevisionState`,
52290
+ message: "The original cell grid is preserved but cannot yet be spliced back into the live table safely."
52291
+ });
52292
+ }
52293
+ return cell;
52294
+ }
52295
+ function transformCell(cell, path, context2) {
52296
+ let next = resolveCellStructuralRevision(cell, path, context2);
52297
+ const style2 = resolveCellPropertyStyle(next.style, `${path}.style`, context2);
52298
+ if (style2 !== next.style) next = { ...next, style: style2 };
52299
+ const blocks = transformBlocks(next.blocks, `${path}.blocks`, context2);
52300
+ if (blocks !== next.blocks) next = { ...next, blocks };
52301
+ return next;
52302
+ }
52303
+ function transformRow(row, path, context2) {
52304
+ let next = resolveRowStructuralRevision(row, path, context2);
52305
+ const style2 = resolveRowPropertyStyle(next.style, `${path}.style`, context2);
52306
+ if (style2 !== next.style) next = { ...next, style: style2 };
52307
+ if (next.tblPrExChangeXml) {
52308
+ const revisionId = rawRevisionId(next.tblPrExChangeXml);
52309
+ if (revisionId && matchesRevision(context2, revisionId)) {
52310
+ markMatched(context2);
52311
+ if (context2.action === "accept") {
52312
+ markResolved(context2, revisionId);
52313
+ next = { ...next, tblPrExChangeXml: void 0 };
52314
+ } else {
52315
+ pushIssue(context2, {
52316
+ kind: "table-property-exception-original-unavailable",
52317
+ revisionId,
52318
+ path: `${path}.tblPrExChangeXml`,
52319
+ message: "w:tblPrExChange is still preservation-only; its previous properties are not semantically decoded yet."
52320
+ });
52321
+ }
52322
+ }
52323
+ }
52324
+ const cells = next.cells.map(
52325
+ (cell, index) => transformCell(cell, `${path}.cells[${index}]`, context2)
52326
+ );
52327
+ if (cells.some((cell, index) => cell !== next.cells[index])) {
52328
+ next = { ...next, cells };
52329
+ }
52330
+ return next;
52331
+ }
52332
+ function transformTable(table, path, context2) {
52333
+ let next = table;
52334
+ const style2 = resolveTableStyle(next.style, `${path}.style`, context2);
52335
+ if (style2 !== next.style) next = { ...next, style: style2 };
52336
+ const gridRevision = next.gridRevision;
52337
+ if (gridRevision && matchesRevision(context2, gridRevision.id)) {
52338
+ markResolved(context2, gridRevision.id);
52339
+ if (context2.action === "accept") {
52340
+ next = { ...next, gridRevision: void 0 };
52341
+ } else {
52342
+ next = {
52343
+ ...next,
52344
+ gridCols: [...gridRevision.previous],
52345
+ gridRevision: void 0
52346
+ };
52347
+ }
52348
+ }
52349
+ const rows = next.rows.map(
52350
+ (row, index) => transformRow(row, `${path}.rows[${index}]`, context2)
52351
+ );
52352
+ if (rows.some((row, index) => row !== next.rows[index])) {
52353
+ next = { ...next, rows };
52354
+ }
52355
+ return next;
52356
+ }
52357
+ function transformBlocks(blocks, path, context2) {
52358
+ let changed = false;
52359
+ const next = blocks.map((block, index) => {
52360
+ const blockPath = `${path}[${index}]`;
52361
+ const transformed = block.type === "paragraph" ? transformParagraph(block, blockPath, context2) : transformTable(block, blockPath, context2);
52362
+ if (transformed !== block) changed = true;
52363
+ return transformed;
52364
+ });
52365
+ return changed ? next : blocks;
52366
+ }
52367
+ const SECTION_STORY_KEYS = [
52368
+ "header",
52369
+ "firstPageHeader",
52370
+ "evenPageHeader",
52371
+ "footer",
52372
+ "firstPageFooter",
52373
+ "evenPageFooter"
52374
+ ];
52375
+ function applySectionPropertyRevisions(sections, context2) {
52376
+ for (let index = 0; index < sections.length; index += 1) {
52377
+ const section = sections[index];
52378
+ const revision = section.propertyRevision;
52379
+ if (!revision || !matchesRevision(context2, revision.id)) continue;
52380
+ markResolved(context2, revision.id);
52381
+ if (context2.action === "accept") {
52382
+ sections[index] = { ...section, propertyRevision: void 0 };
52383
+ continue;
52384
+ }
52385
+ const previous = structuredClone(revision.previous);
52386
+ sections[index] = {
52387
+ ...section,
52388
+ pageSettings: previous.pageSettings,
52389
+ pageBorder: previous.pageBorder,
52390
+ pageNumbering: previous.pageNumbering,
52391
+ verticalAlignment: previous.verticalAlignment,
52392
+ bidi: previous.bidi,
52393
+ propertyRevision: void 0
52394
+ };
52395
+ const nextSection = sections[index + 1];
52396
+ if (nextSection) {
52397
+ sections[index + 1] = {
52398
+ ...nextSection,
52399
+ breakType: previous.nextBreakType
52400
+ };
52401
+ }
52402
+ }
52403
+ }
52404
+ function transformSectionStories(sections, context2) {
52405
+ for (let index = 0; index < sections.length; index += 1) {
52406
+ let section = sections[index];
52407
+ const blocks = transformBlocks(
52408
+ section.blocks,
52409
+ `sections[${index}].blocks`,
52410
+ context2
52411
+ );
52412
+ if (blocks !== section.blocks) section = { ...section, blocks };
52413
+ for (const key of SECTION_STORY_KEYS) {
52414
+ const story = section[key];
52415
+ if (!story) continue;
52416
+ const nextStory = transformBlocks(
52417
+ story,
52418
+ `sections[${index}].${key}`,
52419
+ context2
52420
+ );
52421
+ if (nextStory !== story) section = { ...section, [key]: nextStory };
52422
+ }
52423
+ sections[index] = section;
52424
+ }
52425
+ }
52426
+ function transformNoteStories(document2, context2) {
52427
+ if (document2.footnotes) {
52428
+ for (const [id, note] of Object.entries(document2.footnotes.items)) {
52429
+ note.blocks = transformBlocks(
52430
+ note.blocks,
52431
+ `footnotes.items[${JSON.stringify(id)}].blocks`,
52432
+ context2
52433
+ );
52434
+ }
52435
+ if (document2.footnotes.separator) {
52436
+ document2.footnotes.separator = transformBlocks(
52437
+ document2.footnotes.separator,
52438
+ "footnotes.separator",
52439
+ context2
52440
+ );
52441
+ }
52442
+ if (document2.footnotes.continuationSeparator) {
52443
+ document2.footnotes.continuationSeparator = transformBlocks(
52444
+ document2.footnotes.continuationSeparator,
52445
+ "footnotes.continuationSeparator",
52446
+ context2
52447
+ );
52448
+ }
52449
+ }
52450
+ if (document2.endnotes) {
52451
+ for (const [id, note] of Object.entries(document2.endnotes.items)) {
52452
+ note.blocks = transformBlocks(
52453
+ note.blocks,
52454
+ `endnotes.items[${JSON.stringify(id)}].blocks`,
52455
+ context2
52456
+ );
52457
+ }
52458
+ if (document2.endnotes.separator) {
52459
+ document2.endnotes.separator = transformBlocks(
52460
+ document2.endnotes.separator,
52461
+ "endnotes.separator",
52462
+ context2
52463
+ );
52464
+ }
52465
+ if (document2.endnotes.continuationSeparator) {
52466
+ document2.endnotes.continuationSeparator = transformBlocks(
52467
+ document2.endnotes.continuationSeparator,
52468
+ "endnotes.continuationSeparator",
52469
+ context2
52470
+ );
52471
+ }
52472
+ }
52473
+ }
52474
+ function mapParagraphOffset(transform2, offset) {
52475
+ const clamped = Math.max(0, Math.min(offset, transform2.oldLength));
52476
+ for (const segment of transform2.segments) {
52477
+ if (clamped > segment.oldEnd) continue;
52478
+ if (!segment.kept) return segment.newStart;
52479
+ return segment.newStart + Math.max(0, clamped - segment.oldStart);
52480
+ }
52481
+ return transform2.newLength;
52482
+ }
52483
+ function transformAnchor(anchor, transforms) {
52484
+ if (!anchor) return void 0;
52485
+ const transform2 = transforms.get(anchor.paragraphId);
52486
+ if (!transform2) return anchor;
52487
+ const offset = mapParagraphOffset(transform2, anchor.offset);
52488
+ return offset === anchor.offset ? anchor : { ...anchor, offset };
52489
+ }
52490
+ function transformBookmarks(document2, transforms) {
52491
+ if (!document2.bookmarks || transforms.size === 0) return;
52492
+ let changed = false;
52493
+ const items = { ...document2.bookmarks.items };
52494
+ for (const id of document2.bookmarks.order) {
52495
+ const bookmark = document2.bookmarks.items[id];
52496
+ if (!bookmark) continue;
52497
+ const start = transformAnchor(bookmark.start, transforms);
52498
+ const end = transformAnchor(bookmark.end, transforms);
52499
+ if (start !== bookmark.start || end !== bookmark.end) {
52500
+ items[id] = { ...bookmark, start, end };
52501
+ changed = true;
52502
+ }
52503
+ }
52504
+ if (changed) document2.bookmarks = { ...document2.bookmarks, items };
52505
+ }
52506
+ function transformComments(comments, transforms) {
52507
+ if (!comments || transforms.size === 0) return comments;
52508
+ let changed = false;
52509
+ const items = { ...comments.items };
52510
+ for (const id of comments.order) {
52511
+ const comment = comments.items[id];
52512
+ if (!comment) continue;
52513
+ const start = transformAnchor(comment.start, transforms);
52514
+ const end = transformAnchor(comment.end, transforms);
52515
+ if (start !== comment.start || end !== comment.end) {
52516
+ items[id] = { ...comment, start, end };
52517
+ changed = true;
52518
+ }
52519
+ }
52520
+ return changed ? { ...comments, items } : comments;
52521
+ }
52522
+ function resolve(document2, action, revisionId) {
52523
+ const context2 = {
52524
+ action,
52525
+ revisionId,
52526
+ changed: false,
52527
+ matched: false,
52528
+ resolvedRevisionIds: /* @__PURE__ */ new Set(),
52529
+ unresolved: [],
52530
+ unresolvedKeys: /* @__PURE__ */ new Set(),
52531
+ paragraphOffsetTransforms: /* @__PURE__ */ new Map()
52532
+ };
52533
+ const sections = getDocumentSectionsCanonical(document2).map(cloneSection);
52534
+ const next = {
52535
+ ...document2,
52536
+ sections,
52537
+ footnotes: cloneFootnotes(document2.footnotes),
52538
+ endnotes: cloneEndnotes(document2.endnotes)
52539
+ };
52540
+ transformSectionStories(sections, context2);
52541
+ transformNoteStories(next, context2);
52542
+ applySectionPropertyRevisions(sections, context2);
52543
+ transformBookmarks(next, context2.paragraphOffsetTransforms);
52544
+ next.comments = transformComments(
52545
+ next.comments,
52546
+ context2.paragraphOffsetTransforms
52547
+ );
52548
+ if (revisionId !== void 0 && !context2.matched) {
52549
+ context2.unresolved.push({
52550
+ kind: "revision-not-found",
52551
+ revisionId,
52552
+ path: "document",
52553
+ message: `Tracked revision ${revisionId} was not found in the modeled document.`
52554
+ });
52555
+ }
52556
+ return {
52557
+ document: context2.changed ? next : document2,
52558
+ changed: context2.changed,
52559
+ complete: context2.unresolved.length === 0,
52560
+ resolvedRevisionIds: [...context2.resolvedRevisionIds],
52561
+ unresolved: context2.unresolved
52562
+ };
52563
+ }
52564
+ function resolveAllTrackedRevisions(document2, action) {
52565
+ return resolve(document2, action);
52566
+ }
52567
+ function resolveTrackedRevision(document2, revisionId, action) {
52568
+ return resolve(document2, action, revisionId);
52569
+ }
52570
+ function projectTrackedRevisions(document2, view) {
52571
+ return resolveAllTrackedRevisions(
52572
+ document2,
52573
+ view === "final" ? "accept" : "reject"
52574
+ );
52575
+ }
51905
52576
  const MAX_ORDER = Number.MAX_SAFE_INTEGER;
51906
52577
  class ToolbarRegistryImpl {
51907
52578
  constructor() {
@@ -56108,13 +56779,13 @@ const OASIS_MENU_ITEMS = {
56108
56779
  };
56109
56780
  export {
56110
56781
  findParagraphTablePathLocation as $,
56111
- cloneStyle as A,
56112
- createEditorStyledRun as B,
56113
- cloneParagraphList as C,
56114
- cloneParagraph as D,
56782
+ createEditorStyledRun as A,
56783
+ cloneParagraphList as B,
56784
+ cloneParagraph as C,
56785
+ getParagraphLength as D,
56115
56786
  EMPTY_PROJECTION_CONTEXT as E,
56116
56787
  FOOTNOTE_MARKER_GUTTER_PX as F,
56117
- getParagraphLength as G,
56788
+ cloneRun as G,
56118
56789
  getActiveZone as H,
56119
56790
  getActiveSectionIndex as I,
56120
56791
  getParagraphs as J,
@@ -56201,7 +56872,7 @@ export {
56201
56872
  createEffect as ay,
56202
56873
  TextField as az,
56203
56874
  getPageBodyTop as b,
56204
- resolveTextAlignmentBaselineOffset as b$,
56875
+ TEXT_BASELINE_RATIO as b$,
56205
56876
  serializeLinearMath as b0,
56206
56877
  parseLinearMath as b1,
56207
56878
  Text$1 as b2,
@@ -56220,25 +56891,25 @@ export {
56220
56891
  getTextBoxFloatingGeometry as bF,
56221
56892
  getPresetPathSegments as bG,
56222
56893
  buildListLabels as bH,
56223
- lineDashPatternPt as bI,
56224
- DEFAULT_FONT_SIZE_PX as bJ,
56225
- resolveGradientAxis as bK,
56226
- isDoubleUnderlineStyle as bL,
56227
- isWavyUnderlineStyle as bM,
56228
- underlineStyleLineWidthPx as bN,
56229
- WAVY_UNDERLINE_WAVELENGTH_PX as bO,
56230
- WAVY_UNDERLINE_AMPLITUDE_PX as bP,
56231
- DOUBLE_UNDERLINE_OFFSET_PX as bQ,
56232
- underlineStyleDashArray as bR,
56233
- resolveEffectiveParagraphStyle as bS,
56234
- EMPHASIS_GLYPH as bT,
56235
- parseHexColorToRgb255 as bU,
56236
- rgb255ToHex as bV,
56237
- getImageFloatingGeometry as bW,
56238
- resolveEffectiveTextStyleForParagraph as bX,
56239
- textStyleToFontSizePt as bY,
56240
- mathDisplayText as bZ,
56241
- TEXT_BASELINE_RATIO as b_,
56894
+ assertNever as bI,
56895
+ lineDashPatternPt as bJ,
56896
+ DEFAULT_FONT_SIZE_PX as bK,
56897
+ resolveGradientAxis as bL,
56898
+ isDoubleUnderlineStyle as bM,
56899
+ isWavyUnderlineStyle as bN,
56900
+ underlineStyleLineWidthPx as bO,
56901
+ WAVY_UNDERLINE_WAVELENGTH_PX as bP,
56902
+ WAVY_UNDERLINE_AMPLITUDE_PX as bQ,
56903
+ DOUBLE_UNDERLINE_OFFSET_PX as bR,
56904
+ underlineStyleDashArray as bS,
56905
+ resolveEffectiveParagraphStyle as bT,
56906
+ EMPHASIS_GLYPH as bU,
56907
+ parseHexColorToRgb255 as bV,
56908
+ rgb255ToHex as bW,
56909
+ getImageFloatingGeometry as bX,
56910
+ resolveEffectiveTextStyleForParagraph as bY,
56911
+ textStyleToFontSizePt as bZ,
56912
+ mathDisplayText as b_,
56242
56913
  OasisBrandMark as ba,
56243
56914
  setPreciseFontPreference as bb,
56244
56915
  setWelcomeSeen as bc,
@@ -56266,159 +56937,165 @@ export {
56266
56937
  mergeTableRowPropertiesXmlSource as by,
56267
56938
  mergeTablePropertiesXmlSource as bz,
56268
56939
  getPageContentWidth as c,
56269
- createSectionBoundaryParagraph as c$,
56270
- resolveRenderedTextChar as c0,
56271
- resolveOpenTypeFeatureTags as c1,
56272
- isLowercaseSmallCapsChar as c2,
56273
- resolveDecorationLineY as c3,
56274
- DOUBLE_STRIKE_OFFSET_PX as c4,
56275
- resolveListLabel as c5,
56276
- getListLabelInset as c6,
56277
- getAlignedListLabelInset as c7,
56278
- getParagraphBorderInsets as c8,
56279
- buildSegmentTable as c9,
56280
- updateImageCaptionParagraph as cA,
56281
- createImageCaptionParagraph as cB,
56282
- renumberImageCaptionParagraphs as cC,
56283
- getCaptionSelectionOffset as cD,
56284
- PX_PER_CM as cE,
56285
- getDocumentPageSettings as cF,
56286
- getTableCellContentWidthForParagraph as cG,
56287
- layoutMetricsEpoch as cH,
56288
- bumpLayoutMetricsEpoch as cI,
56289
- createCanvasLayoutSnapshotProvider as cJ,
56290
- on as cK,
56291
- debounce as cL,
56292
- unwrap as cM,
56293
- perfTimer as cN,
56294
- prepareDocumentFonts as cO,
56295
- getRunTextBox as cP,
56296
- EMU_PER_PX as cQ,
56297
- createEditorDocument as cR,
56298
- resolveResizedDimensions as cS,
56299
- axisSignForDirection as cT,
56300
- clamp as cU,
56301
- MIN_RESIZE_SIZE_PX as cV,
56302
- resolveTextBoxRenderHeight as cW,
56303
- getToolbarStyleState as cX,
56304
- VERTICAL_HIT_WEIGHT as cY,
56305
- getCachedCanvasImage as cZ,
56306
- measureParagraphMinContentWidthPx as c_,
56307
- buildCanvasTableLayout as ca,
56308
- resolveCanvasTableWidth as cb,
56309
- resolveFloatingTableRect as cc,
56310
- paragraphBetweenBorderMatches as cd,
56311
- normalizeFamily as ce,
56312
- ROBOTO_FONT_FILES as cf,
56313
- loadFontAsset as cg,
56314
- getRemotePdfFontFaces as ch,
56315
- OFFICE_COMPAT_FONT_FAMILIES as ci,
56316
- BinaryReader as cj,
56317
- buildSfnt as ck,
56318
- defaultFontDecoderRegistry as cl,
56319
- SfntFontProgram as cm,
56320
- zlibSync as cn,
56321
- renumberImageCaptionsInDocument as co,
56322
- collectPdfFontFamilies as cp,
56323
- outlineFrom as cq,
56324
- getPageHeaderZoneTop as cr,
56325
- getPageColumnRects as cs,
56326
- findFootnoteReference as ct,
56327
- resolveImporterForFile as cu,
56328
- roundTo as cv,
56329
- getDocumentParagraphsCanonical as cw,
56330
- getDocumentParagraphs as cx,
56331
- getImageCaptionText as cy,
56332
- isImageCaptionParagraph as cz,
56940
+ VERTICAL_HIT_WEIGHT as c$,
56941
+ resolveTextAlignmentBaselineOffset as c0,
56942
+ resolveRenderedTextChar as c1,
56943
+ resolveOpenTypeFeatureTags as c2,
56944
+ isLowercaseSmallCapsChar as c3,
56945
+ resolveDecorationLineY as c4,
56946
+ DOUBLE_STRIKE_OFFSET_PX as c5,
56947
+ resolveListLabel as c6,
56948
+ getListLabelInset as c7,
56949
+ getAlignedListLabelInset as c8,
56950
+ getParagraphBorderInsets as c9,
56951
+ isImageCaptionParagraph as cA,
56952
+ updateImageCaptionParagraph as cB,
56953
+ createImageCaptionParagraph as cC,
56954
+ renumberImageCaptionParagraphs as cD,
56955
+ getCaptionSelectionOffset as cE,
56956
+ PX_PER_CM as cF,
56957
+ getDocumentPageSettings as cG,
56958
+ getTableCellContentWidthForParagraph as cH,
56959
+ layoutMetricsEpoch as cI,
56960
+ bumpLayoutMetricsEpoch as cJ,
56961
+ createCanvasLayoutSnapshotProvider as cK,
56962
+ on as cL,
56963
+ debounce as cM,
56964
+ unwrap as cN,
56965
+ cloneSection as cO,
56966
+ perfTimer as cP,
56967
+ prepareDocumentFonts as cQ,
56968
+ getRunTextBox as cR,
56969
+ EMU_PER_PX as cS,
56970
+ createEditorDocument as cT,
56971
+ cloneBlock as cU,
56972
+ resolveResizedDimensions as cV,
56973
+ axisSignForDirection as cW,
56974
+ clamp as cX,
56975
+ MIN_RESIZE_SIZE_PX as cY,
56976
+ resolveTextBoxRenderHeight as cZ,
56977
+ getToolbarStyleState as c_,
56978
+ buildSegmentTable as ca,
56979
+ buildCanvasTableLayout as cb,
56980
+ resolveCanvasTableWidth as cc,
56981
+ resolveFloatingTableRect as cd,
56982
+ paragraphBetweenBorderMatches as ce,
56983
+ normalizeFamily as cf,
56984
+ ROBOTO_FONT_FILES as cg,
56985
+ loadFontAsset as ch,
56986
+ getRemotePdfFontFaces as ci,
56987
+ OFFICE_COMPAT_FONT_FAMILIES as cj,
56988
+ BinaryReader as ck,
56989
+ buildSfnt as cl,
56990
+ defaultFontDecoderRegistry as cm,
56991
+ SfntFontProgram as cn,
56992
+ zlibSync as co,
56993
+ renumberImageCaptionsInDocument as cp,
56994
+ collectPdfFontFamilies as cq,
56995
+ outlineFrom as cr,
56996
+ getPageHeaderZoneTop as cs,
56997
+ getPageColumnRects as ct,
56998
+ findFootnoteReference as cu,
56999
+ resolveImporterForFile as cv,
57000
+ roundTo as cw,
57001
+ getDocumentParagraphsCanonical as cx,
57002
+ getDocumentParagraphs as cy,
57003
+ getImageCaptionText as cz,
56333
57004
  domTextMeasurer as d,
56334
- PluginCollection as d$,
56335
- normalizePageSettings as d0,
56336
- DEFAULT_EDITOR_PAGE_SETTINGS as d1,
56337
- markStart as d2,
56338
- markEnd as d3,
56339
- getParagraphEntries as d4,
56340
- getParagraphById as d5,
56341
- createEditorFootnote as d6,
56342
- createFootnoteReferenceRun as d7,
56343
- renumberFootnotes as d8,
56344
- iterateFootnoteReferenceRuns as d9,
56345
- applyStoredPreciseFontPreference as dA,
56346
- getWelcomeSeen as dB,
56347
- isLocalFontAccessSupported as dC,
56348
- EDITOR_SCROLL_PADDING_PX as dD,
56349
- Toolbar as dE,
56350
- OasisEditorLoading as dF,
56351
- I18nProvider as dG,
56352
- createTranslator as dH,
56353
- registerDomStatsSurface as dI,
56354
- createEditorLogger as dJ,
56355
- ActionRow as dK,
56356
- ColorPicker as dL,
56357
- CommandRegistry as dM,
56358
- DEFAULT_PALETTE as dN,
56359
- DialogFooter as dO,
56360
- EDITOR_SCHEMA_VERSION as dP,
56361
- FieldRow as dQ,
56362
- FloatingActionButton as dR,
56363
- GridPicker as dS,
56364
- Heading as dT,
56365
- IconButton as dU,
56366
- Menu as dV,
56367
- OASIS_BUILTIN_COMMANDS as dW,
56368
- OASIS_MENU_ITEMS as dX,
56369
- OASIS_TOOLBAR_ITEMS as dY,
56370
- OasisEditorAppLazy as dZ,
56371
- OasisEditorContainer as d_,
56372
- preciseFontModeVersion as da,
56373
- isPreciseFontModeEnabled as db,
56374
- getRunFieldChar as dc,
56375
- getRunFieldInstruction as dd,
56376
- getHeadingLevel as de,
56377
- createEditorRun as df,
56378
- TWIPS_PER_INCH as dg,
56379
- PX_PER_INCH as dh,
56380
- togglePreciseFontMode as di,
56381
- nextFontSizePt as dj,
56382
- previousFontSizePt as dk,
56383
- fontSizePtToPx as dl,
56384
- resolveNamedTextStyle as dm,
56385
- resolveNamedTableStyle as dn,
56386
- resolveEffectiveTableStyle as dp,
56387
- createDefaultToolbarPreset as dq,
56388
- MenuRegistry as dr,
56389
- createToolbarRegistry as ds,
56390
- Editor as dt,
56391
- resolveCommandRef as du,
56392
- commandRefName as dv,
56393
- createOasisEditorClient as dw,
56394
- createEditorZoom as dx,
56395
- startLongTaskObserver as dy,
56396
- installGlobalReport as dz,
57005
+ OASIS_TOOLBAR_ITEMS as d$,
57006
+ getCachedCanvasImage as d0,
57007
+ measureParagraphMinContentWidthPx as d1,
57008
+ createSectionBoundaryParagraph as d2,
57009
+ normalizePageSettings as d3,
57010
+ DEFAULT_EDITOR_PAGE_SETTINGS as d4,
57011
+ markStart as d5,
57012
+ markEnd as d6,
57013
+ getParagraphEntries as d7,
57014
+ getParagraphById as d8,
57015
+ createEditorFootnote as d9,
57016
+ createEditorZoom as dA,
57017
+ startLongTaskObserver as dB,
57018
+ installGlobalReport as dC,
57019
+ applyStoredPreciseFontPreference as dD,
57020
+ getWelcomeSeen as dE,
57021
+ isLocalFontAccessSupported as dF,
57022
+ EDITOR_SCROLL_PADDING_PX as dG,
57023
+ Toolbar as dH,
57024
+ OasisEditorLoading as dI,
57025
+ I18nProvider as dJ,
57026
+ createTranslator as dK,
57027
+ registerDomStatsSurface as dL,
57028
+ createEditorLogger as dM,
57029
+ ActionRow as dN,
57030
+ ColorPicker as dO,
57031
+ CommandRegistry as dP,
57032
+ DEFAULT_PALETTE as dQ,
57033
+ DialogFooter as dR,
57034
+ EDITOR_SCHEMA_VERSION as dS,
57035
+ FieldRow as dT,
57036
+ FloatingActionButton as dU,
57037
+ GridPicker as dV,
57038
+ Heading as dW,
57039
+ IconButton as dX,
57040
+ Menu as dY,
57041
+ OASIS_BUILTIN_COMMANDS as dZ,
57042
+ OASIS_MENU_ITEMS as d_,
57043
+ createFootnoteReferenceRun as da,
57044
+ renumberFootnotes as db,
57045
+ iterateFootnoteReferenceRuns as dc,
57046
+ preciseFontModeVersion as dd,
57047
+ isPreciseFontModeEnabled as de,
57048
+ getRunFieldChar as df,
57049
+ getRunFieldInstruction as dg,
57050
+ getHeadingLevel as dh,
57051
+ createEditorRun as di,
57052
+ TWIPS_PER_INCH as dj,
57053
+ PX_PER_INCH as dk,
57054
+ togglePreciseFontMode as dl,
57055
+ nextFontSizePt as dm,
57056
+ previousFontSizePt as dn,
57057
+ fontSizePtToPx as dp,
57058
+ resolveNamedTextStyle as dq,
57059
+ resolveNamedTableStyle as dr,
57060
+ resolveEffectiveTableStyle as ds,
57061
+ createDefaultToolbarPreset as dt,
57062
+ MenuRegistry as du,
57063
+ createToolbarRegistry as dv,
57064
+ Editor as dw,
57065
+ resolveCommandRef as dx,
57066
+ commandRefName as dy,
57067
+ createOasisEditorClient as dz,
56397
57068
  estimateTableBlockHeight as e,
56398
- Popover as e0,
56399
- RIBBON_TABS as e1,
56400
- Select as e2,
56401
- Separator as e3,
56402
- SidePanel as e4,
56403
- SidePanelBody as e5,
56404
- SidePanelFooter as e6,
56405
- SidePanelHeader as e7,
56406
- SplitButton as e8,
56407
- StyleGallery as e9,
56408
- Button$1 as ea,
56409
- buildRibbonTabDefinitions as eb,
56410
- cloneDocument as ec,
56411
- createDocument as ed,
56412
- createEditorCommandBus as ee,
56413
- createHeading as ef,
56414
- createOasisEditor as eg,
56415
- createOasisEditorContainer as eh,
56416
- createParagraph as ei,
56417
- createTable as ej,
56418
- mount as ek,
56419
- normalizeDocument as el,
56420
- registerToolbarRenderer as em,
56421
- validateDocument as en,
57069
+ OasisEditorAppLazy as e0,
57070
+ OasisEditorContainer as e1,
57071
+ PluginCollection as e2,
57072
+ Popover as e3,
57073
+ RIBBON_TABS as e4,
57074
+ Select as e5,
57075
+ Separator as e6,
57076
+ SidePanel as e7,
57077
+ SidePanelBody as e8,
57078
+ SidePanelFooter as e9,
57079
+ SidePanelHeader as ea,
57080
+ SplitButton as eb,
57081
+ StyleGallery as ec,
57082
+ Button$1 as ed,
57083
+ buildRibbonTabDefinitions as ee,
57084
+ cloneDocument as ef,
57085
+ createDocument as eg,
57086
+ createEditorCommandBus as eh,
57087
+ createHeading as ei,
57088
+ createOasisEditor as ej,
57089
+ createOasisEditorContainer as ek,
57090
+ createParagraph as el,
57091
+ createTable as em,
57092
+ mount as en,
57093
+ normalizeDocument as eo,
57094
+ projectTrackedRevisions as ep,
57095
+ registerToolbarRenderer as eq,
57096
+ resolveAllTrackedRevisions as er,
57097
+ resolveTrackedRevision as es,
57098
+ validateDocument as et,
56422
57099
  getParagraphText as f,
56423
57100
  getProjectedParagraphBlockHeight as g,
56424
57101
  getBlockParagraphs as h,
@@ -56430,14 +57107,14 @@ export {
56430
57107
  getRunField as n,
56431
57108
  projectBlocksLayout as o,
56432
57109
  projectParagraphLayout as p,
56433
- assertNever as q,
56434
- cloneRun as r,
56435
- createSignal as s,
56436
- createEditorStateFromDocument as t,
56437
- createInitialEditorState as u,
56438
- fontSizePxToPt as v,
56439
- probeLocalFontFamilies as w,
56440
- createEditorParagraphFromRuns as x,
56441
- isInlineObjectRun as y,
56442
- stylesEqual as z
57110
+ createSignal as q,
57111
+ cloneEditorState as r,
57112
+ createEditorStateFromDocument as s,
57113
+ createInitialEditorState as t,
57114
+ fontSizePxToPt as u,
57115
+ probeLocalFontFamilies as v,
57116
+ createEditorParagraphFromRuns as w,
57117
+ isInlineObjectRun as x,
57118
+ stylesEqual as y,
57119
+ cloneStyle as z
56443
57120
  };