@rowsncolumns/rnc-engine 1.2.14 → 1.2.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAQvD,OAAO,EAAE,SAAS,EAAuB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5E,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,wFAAwF;IACxF,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,kBAAkB,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACvD,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACjD,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACzC;;;;;OAKG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAmCD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,QAAQ,SAAkB,EAC1B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAqDzB;AAyBD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,OAAO,CAAC,SAAS,CAAC,CAUpB;AAED;yCACyC;AACzC,wBAAsB,SAAS,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,OAAO,CAAC,SAAS,CAAC,CAKpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,IAAI,CA0CN;AA6CD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,GAAE,aAAa,GAAG;IACvB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,OAAO,CAAC,SAAS,CAAC,CAoBpB;AAsFD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;iGACiG;AACjG,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpE"}
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/io.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,SAAS,EACV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAQvD,OAAO,EAAE,SAAS,EAAuB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5E,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,wFAAwF;IACxF,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,kBAAkB,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACvD,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACjD,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACzC;;;;;OAKG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAmCD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,QAAQ,SAAkB,EAC1B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAsDzB;AA0BD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,OAAO,CAAC,SAAS,CAAC,CAUpB;AAED;yCACyC;AACzC,wBAAsB,SAAS,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACtE,OAAO,CAAC,SAAS,CAAC,CAKpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,cAAc,GACrB,IAAI,CA0CN;AA+CD;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,GAAE,aAAa,GAAG;IACvB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,GACL,OAAO,CAAC,SAAS,CAAC,CAqBpB;AAsFD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;iGACiG;AACjG,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpE"}
package/dist/esm/io.js CHANGED
@@ -1,4 +1,8 @@
1
- import { WorkBook, createExcelFile, createODSFile, createRowDataFromCSVString, } from "@rowsncolumns/toolkit";
1
+ // The toolkit is loaded on first use, not at module evaluation: its import workers ride along
2
+ // with the parser modules, and a static import put them in every host bundle whether or not the
3
+ // host ever imported a file (rowsncolumns/spreadsheet#1126). Hosts that never call these helpers
4
+ // pay nothing; the first call fetches the chunk.
5
+ const toolkit = () => import("@rowsncolumns/toolkit");
2
6
  import { RncEngine } from "./index";
3
7
  const PROCESS_CHUNK_ROWS = 1000;
4
8
  /**
@@ -40,6 +44,7 @@ function resolveSharedStrings(sheetData, sharedStrings) {
40
44
  * resolved inline to their value via {@link resolveSharedStrings}, since the engine has no SST table.
41
45
  */
42
46
  export async function parseWorkbook(buffer, fileName = "workbook.xlsx", options = {}) {
47
+ const { WorkBook } = await toolkit();
43
48
  const workbook = new WorkBook();
44
49
  await workbook.load(buffer, fileName);
45
50
  try {
@@ -224,6 +229,7 @@ export async function importCsv(csv, options = {}) {
224
229
  // The toolkit's CSV parser emits 0-INDEXED rows AND columns (`rowData[i].values[j]` for the cell at
225
230
  // row i / col j, both starting at 0). The engine's grid is 1-INDEXED with array index 0 reserved, so
226
231
  // shift both axes up by one before loading (CSV row 0 → engine row 1, column 0 → engine column 1).
232
+ const { createRowDataFromCSVString } = await toolkit();
227
233
  const rowData = await createRowDataFromCSVString(csv, true, options.locale);
228
234
  const sheetData = { [sheetId]: toOneIndexed(rowData) };
229
235
  const engine = options.engine ?? (await RncEngine.create());
@@ -301,12 +307,14 @@ function readEngineForExport(engine, bandRows = 5000) {
301
307
  */
302
308
  export async function exportXlsx(engine, options = {}) {
303
309
  const input = readEngineForExport(engine, options.bandRows);
310
+ const { createExcelFile } = await toolkit();
304
311
  return createExcelFile(input);
305
312
  }
306
313
  /** Export the engine's contents to an ODS file (a `Uint8Array`) via the toolkit's `createODSFile`
307
314
  * (which returns a raw `ArrayBuffer` — wrapped here so both exporters return a `Uint8Array`). */
308
315
  export async function exportOds(engine, options = {}) {
309
316
  const input = readEngineForExport(engine, options.bandRows);
317
+ const { createODSFile } = await toolkit();
310
318
  return new Uint8Array(await createODSFile(input));
311
319
  }
312
320
  /**
@@ -59,6 +59,16 @@ export interface ViewportRange {
59
59
  columnStopIndex: number;
60
60
  }
61
61
  export interface UseEngineSpreadsheetOptions {
62
+ /** Preloaded web fonts, comma separated (`"Arial, Calibri"`); the formula font is always included. */
63
+ fonts?: string;
64
+ /**
65
+ * Whether the grid may fetch web fonts from Google Fonts. Turn off for strict-CSP or
66
+ * offline hosts; `onRequestFonts` routes every font request through the host instead
67
+ * (rowsncolumns/spreadsheet#1125). Default `true`.
68
+ */
69
+ loadWebFonts?: boolean;
70
+ /** Host font loader: receives `Family:weight` specs, resolves when they are usable. */
71
+ onRequestFonts?: (fonts: string[]) => Promise<void | undefined>;
62
72
  /** Sheets to register up-front. Their `title` names the engine sheet; they also seed the render
63
73
  * state so dimension/merge deltas have a sheet to land on. */
64
74
  sheets: Sheet[];
@@ -330,6 +340,7 @@ export interface EngineSpreadsheet extends EngineRenderState, EngineSpreadsheetH
330
340
  zoomScale: SS["zoomScale"];
331
341
  isDarkMode: SS["isDarkMode"];
332
342
  namedCellStyles: SS["namedCellStyles"];
343
+ defaultCellFormat: SS["defaultCellFormat"];
333
344
  bandedRanges: SS["bandedRanges"];
334
345
  /** Gallery live preview: paint `preview`'s style over its table in `bandedRanges` (UI state, no command). */
335
346
  onPreviewTableStyle: SS["onPreviewTableStyle"];
@@ -1 +1 @@
1
- {"version":3,"file":"use-engine-core.d.ts","sourceRoot":"","sources":["../../src/use-engine-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAI1B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,KAAK,yBAAyB,EAG9B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAMf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAuBL,KAAK,mBAAmB,EAIzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAIxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,iBAAiB,EAQvB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,YAAY,EAIjB,KAAK,YAAY,EACjB,SAAS,EACT,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AAYjB,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C;;uFAEuF;AACvF,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjD;;;mCAGmC;AACnC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB;;;gGAG4F;IAC5F,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;oEAKoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,CAAC,EAAE,qBAAqB,KAC5B,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAExE;;;2FAG2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AA2TD,MAAM,WAAW,2BAA2B;IAC1C;kEAC8D;IAC9D,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,uGAAuG;IACvG,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B;;2CAEuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;0EAKsE;IACtE,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;uGAGmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrD;;;4EAGwE;IACxE,YAAY,CAAC,EAAE,MAAM,qBAAqB,CAAC;IAC3C;6FACyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;8GAM0G;IAC1G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;yCAIqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACjC;;;;4BAIwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;gDAI4C;IAC5C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;qFAKiF;IACjF,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,MAAM,KACZ;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACzE;;;;4BAIwB;IACxB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACvD;;;kGAG8F;IAC9F,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,aAAa,GAAG,IAAI,KACnC,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;6CAGyC;IACzC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;6EAEyE;IACzE,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;sGAEsG;AACtG,KAAK,4BAA4B,GAAG,IAAI,CACtC,EAAE,EAGA,mBAAmB,GACnB,sBAAsB,GACtB,iBAAiB,GACjB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,uBAAuB,GACvB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAGhB,+BAA+B,GAC/B,0CAA0C,GAC1C,yBAAyB,GACzB,oCAAoC,GACpC,+BAA+B,GAC/B,YAAY,GACZ,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,wBAAwB,GACxB,sBAAsB,GACtB,+BAA+B,GAC/B,oBAAoB,GACpB,iBAAiB,GACjB,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,6BAA6B,CAChC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,iBACf,SAAQ,iBAAiB,EACvB,yBAAyB,EACzB,4BAA4B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B,6FAA6F;IAC7F;kHAC8G;IAC9G,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,GAAG,SAAS,CAAC;IAC1D;;mFAE+E;IAC/E,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB;;;;yFAIqF;IACrF,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC,wGAAwG;IACxG,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;qGACiG;IACjG,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB;;mCAE+B;IAC/B,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC;;;wBAGoB;IACpB,eAAe,EAAE,CACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAEnD;QACE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;KAClC,GACD,SAAS,CAAC;IACd;6FACyF;IACzF,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7B;8FAC0F;IAC1F,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAGzC,WAAW,EAAE,CACX,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,eAAe,KACvB,IAAI,CAAC;IACV,aAAa,EAAE,CACb,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,eAAe,KACvB,IAAI,CAAC;IACV;8FAC0F;IAC1F,kBAAkB,EAAE,CAClB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,eAAe,KACpB,MAAM,GAAG,SAAS,CAAC;IACxB,iCAAiC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAGzE,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7C,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC/B,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7C;yEACqE;IACrE,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC;;kEAE8D;IAC9D,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,sCAAsC;IACtC,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;;yDAEqD;IACrD,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KACxC,IAAI,CAAC;IACV;mGAC+F;IAC/F,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAKzE,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACnE;;4EAEwE;IACxE,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EAAE,EAC3B,iBAAiB,CAAC,EAAE,OAAO,KACxB,IAAI,CAAC;IACV;;;;sEAIkE;IAClE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAEpD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,QAAQ,GAAG,SAAS,CAAC;IAC1B,2FAA2F;IAC3F,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,CAAC;IACxB,oGAAoG;IACpG,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,CAAC;IACxB,sFAAsF;IACtF,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3C,qFAAqF;IACrF,yBAAyB,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpB;mFAC+E;IAC/E,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,UAAU,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,CAAC;IACxB,wGAAwG;IACxG,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7E,mFAAmF;IACnF,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAElE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,6FAA6F;IAC7F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,8FAA8F;IAC9F,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D;;;;OAIG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,SAAS,GAAG,SAAS,CAAC;IAC/E;;;OAGG;IACH,wBAAwB,EAAE,CACxB,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,yBAAyB,GAAG,IAAI,KACvD,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C;;;;OAIG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KACvE,eAAe,EAAE,CAAC;IACvB,gGAAgG;IAChG,wBAAwB,EAAE,CACxB,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,yBAAyB,GAAG,IAAI,KACvD,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC;;;OAGG;IACH,wBAAwB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK;QACpD,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;KACxD,CAAC;IAEF,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,2BAA2B,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC;IAC/D,oBAAoB,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;IACjD,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IACnC,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7C,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,sBAAsB,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACrD,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,qBAAqB,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACnD,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IACnC,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC3B,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7B,eAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACvC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC,6GAA6G;IAC7G,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAGrB,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,yGAAyG;IACzG,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+EAA+E;IAC/E,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,+EAA+E;IAC/E,6BAA6B,EAAE,EAAE,CAAC,+BAA+B,CAAC,CAAC;CACpE;AAOD;;kFAEkF;AAClF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,2BAA2B,GACnC,iBAAiB,CAooGnB"}
1
+ {"version":3,"file":"use-engine-core.d.ts","sourceRoot":"","sources":["../../src/use-engine-core.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  // real `getPrecedents`/`getDependents` results, which the engine now backs with actual graph data.
3
3
  import { CellNode, CellRangeNode, isCellCoordinate, isCellNode, makeKey, } from "@rowsncolumns/dag";
4
4
  import { DEFAULT_ACTIVE_CELL, DEFAULT_ARRAY, defaultSpreadsheetTheme, getBandedCells, getInitialActiveSheetId, ICON_SET_COLORS, ICON_SET_GLYPHS, useFocusEmbedOrChart, useFonts, useGetSheetDimensions, useSetTableAutoExpansion, useSetCalculatedColumnFill, } from "@rowsncolumns/spreadsheet";
5
- import { applyAdvancedFilterPlan, applySubtotalPlan, CellXfsRegistry, collectPaintMerges, generateDataFromClipboard, getBandedCellFormat, layerBandedFormat, paintSourceForActiveCell, pickFormula, pickValue, planAdvancedFilter, planSubtotals, resolvePasteSpecialOptions, SharedStringRegistry, spreadMergeAnchorFormats, tilePaintMerges, transpose, useOnCopy, previewTableStyle, useOnTraceDependentsPrecedents, useShowError, CIRCULAR_REFERENCE_WARNING_TITLE, CircularReferenceTracker, formatCircularReferenceWarning, } from "@rowsncolumns/spreadsheet-state";
5
+ import { applyAdvancedFilterPlan, applySubtotalPlan, CellXfsRegistry, collectPaintMerges, generateDataFromClipboard, getBandedCellFormat, layerBandedFormat, paintSourceForActiveCell, pickFormula, pickValue, planAdvancedFilter, planSubtotals, resolvePasteSpecialOptions, SharedStringRegistry, spreadMergeAnchorFormats, tilePaintMerges, transpose, useOnCopy, previewTableStyle, useOnTraceDependentsPrecedents, useShowError, CIRCULAR_REFERENCE_WARNING_TITLE, CircularReferenceTracker, formatCircularReferenceWarning, getDefaultCellFormat, } from "@rowsncolumns/spreadsheet-state";
6
6
  import { getFormulaLocale, normalizeExternalUrl, resolveDefaultHorizontalAlignment, } from "@rowsncolumns/utils";
7
7
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
8
8
  import { createCommandHandlers, rejectionDialog, } from "./command-handlers";
@@ -387,14 +387,19 @@ export function useEngineCore(options) {
387
387
  // repeatable single action), replayed onto the current target by `onRepeatFormatting`. Recorded in
388
388
  // `onCommand` so toolbar formatting (which goes straight through the pure handlers) is captured too.
389
389
  const lastFormattingRef = useRef(null);
390
- // Load default fonts
391
- useFonts();
390
+ // Load default fonts (the formula editor's Inconsolata) — unless the host opted out.
391
+ useFonts(options.fonts, {
392
+ loadWebFonts: options.loadWebFonts,
393
+ onRequestFonts: options.onRequestFonts,
394
+ });
392
395
  // The engine owns the DOCUMENT undo/redo; the hook keeps a PARALLEL view-state stack (cursor /
393
396
  // selection / active sheet) so undo also restores where the user was — kept in lockstep with the
394
397
  // engine via its undo-stack DEPTH. `viewRef` mirrors the current view for reading inside callbacks
395
398
  // (avoids stale closures); the stacks hold the view as it was BEFORE each recorded edit.
396
399
  const viewRef = useRef({
397
- activeSheetId: getInitialActiveSheetId(options.sheets) ?? options.sheets[0]?.sheetId ?? 1,
400
+ activeSheetId: getInitialActiveSheetId(options.sheets) ??
401
+ options.sheets[0]?.sheetId ??
402
+ 1,
398
403
  activeCell: DEFAULT_ACTIVE_CELL,
399
404
  selections: DEFAULT_ARRAY,
400
405
  });
@@ -626,7 +631,7 @@ export function useEngineCore(options) {
626
631
  signal: controller.signal,
627
632
  });
628
633
  if (result instanceof Promise) {
629
- return result
634
+ return (result
630
635
  .then((ev) => {
631
636
  if (ev)
632
637
  push(ev);
@@ -639,7 +644,7 @@ export function useEngineCore(options) {
639
644
  name: "#ERROR!",
640
645
  message: "Custom function failed",
641
646
  },
642
- }));
647
+ })));
643
648
  }
644
649
  if (result)
645
650
  push(result);
@@ -811,7 +816,9 @@ export function useEngineCore(options) {
811
816
  }
812
817
  lastUndoDepth.current = engine.undoDepth();
813
818
  // Excel selects a freshly inserted chart; a batch ends up on the last one it inserted.
814
- for (const member of command.command === "batch" ? command.commands : [command]) {
819
+ for (const member of command.command === "batch"
820
+ ? command.commands
821
+ : [command]) {
815
822
  if (member.command === "create-chart") {
816
823
  focusEmbedOrChart(member.spec.chartId);
817
824
  }
@@ -825,7 +832,13 @@ export function useEngineCore(options) {
825
832
  }
826
833
  // Handed back so the command handlers can surface an engine refusal (`commit.rejections`).
827
834
  return commit;
828
- }, [retireStreamPreviewForCommand, showError, focusEmbedOrChart, setTableAutoExpansion, setCalculatedColumnFill]);
835
+ }, [
836
+ retireStreamPreviewForCommand,
837
+ showError,
838
+ focusEmbedOrChart,
839
+ setTableAutoExpansion,
840
+ setCalculatedColumnFill,
841
+ ]);
829
842
  const batchHistory = useCallback((action) => {
830
843
  if (batchCommandsRef.current) {
831
844
  return action();
@@ -888,7 +901,8 @@ export function useEngineCore(options) {
888
901
  const icons = res.icons.map(({ iconSet, iconId }) => ({
889
902
  iconSet,
890
903
  iconId,
891
- glyph: ICON_SET_GLYPHS[iconSet]?.[iconId] ?? "",
904
+ glyph: ICON_SET_GLYPHS[iconSet]?.[iconId] ??
905
+ "",
892
906
  color: ICON_SET_COLORS[iconSet]?.[iconId],
893
907
  }));
894
908
  return {
@@ -1644,8 +1658,14 @@ export function useEngineCore(options) {
1644
1658
  onCommand({ command: "delete-data-validation", ruleId: rule.id });
1645
1659
  }, [onCommand]);
1646
1660
  // Clear the engine's undo/redo history (the document is unchanged) + reset the toolbar flags.
1661
+ // The parallel cursor stack goes with it: a snapshot kept past the clear would restore a
1662
+ // cursor from history that no longer exists, and a stale `lastUndoDepth` would stop new edits
1663
+ // from recording one until the engine depth caught up (rowsncolumns/spreadsheet#1126).
1647
1664
  const onClearHistory = useCallback(() => {
1648
1665
  engineRef.current?.clearHistory();
1666
+ viewUndo.current = [];
1667
+ viewRedo.current = [];
1668
+ lastUndoDepth.current = engineRef.current?.undoDepth() ?? 0;
1649
1669
  setHist({ canUndo: false, canRedo: false });
1650
1670
  }, []);
1651
1671
  // Streaming batch writes — the AI/agent write path, with the reference hook's exact public
@@ -1716,11 +1736,11 @@ export function useEngineCore(options) {
1716
1736
  ? ue.bv
1717
1737
  ? "TRUE"
1718
1738
  : "FALSE"
1719
- : (ue?.sv ??
1739
+ : ue?.sv ??
1720
1740
  cell.formula ??
1721
1741
  (cell.number != null
1722
1742
  ? String(cell.number)
1723
- : cell.formatted || null)));
1743
+ : cell.formatted || null));
1724
1744
  if (s != null)
1725
1745
  existingUe.set(`${cell.rowIndex},${cell.columnIndex}`, s);
1726
1746
  }
@@ -1744,7 +1764,7 @@ export function useEngineCore(options) {
1744
1764
  const colCount = Math.min(row.length, range.endColumnIndex - range.startColumnIndex + 1);
1745
1765
  const cursor = disableDeltaUpdates
1746
1766
  ? 0
1747
- : (rowCursorByIndex.get(i) ?? 0);
1767
+ : rowCursorByIndex.get(i) ?? 0;
1748
1768
  let lastNonEmptyIndex = -1;
1749
1769
  for (let j = 0; j < colCount; j++) {
1750
1770
  const cellInput = row[j];
@@ -1850,12 +1870,7 @@ export function useEngineCore(options) {
1850
1870
  onStreamEndRef.current?.(streamId);
1851
1871
  }
1852
1872
  })();
1853
- }, [
1854
- onCommand,
1855
- clearStreamPreview,
1856
- publishStreamPreview,
1857
- committedFvAt,
1858
- ]);
1873
+ }, [onCommand, clearStreamPreview, publishStreamPreview, committedFvAt]);
1859
1874
  // Derived dimensions of the active sheet (folded metadata + seeded counts) — O(1) via the map. In
1860
1875
  // windowed mode the grid's scroll extent is MAX(seeded, engine data extent) so it scrolls the full
1861
1876
  // sheet (`getSheetRowCount`/`getSheetColumnCount` apply the same max).
@@ -1870,6 +1885,8 @@ export function useEngineCore(options) {
1870
1885
  // while `sheets`/`activeSheetId` are unchanged.
1871
1886
  const rowMetadata = useMemo(() => activeSheet?.rowMetadata ?? [], [activeSheet]);
1872
1887
  const columnMetadata = useMemo(() => activeSheet?.columnMetadata ?? [], [activeSheet]);
1888
+ // The workbook default cell format — Excel's `Normal` style (#1117).
1889
+ const defaultCellFormat = useMemo(() => getDefaultCellFormat(options.namedCellStyles), [options.namedCellStyles]);
1873
1890
  const merges = useMemo(() => activeSheet?.merges ?? [], [activeSheet]);
1874
1891
  // The full command-emitting handler surface — every `on*` is a thin shim turning UI-shaped args
1875
1892
  // into a `commands.ts` command (the engine owns ALL execution). Built once: `onCommand` is a stable
@@ -1879,10 +1896,14 @@ export function useEngineCore(options) {
1879
1896
  getCustomAutofillLists: () => customAutofillListsRef.current,
1880
1897
  getAutoExpandTables: () => autoExpandTablesRef.current,
1881
1898
  getAutoCalculatedColumns: () => autoCalculatedColumnsRef.current,
1882
- getActiveCell: (sheetId) => viewRef.current.activeSheetId === sheetId ? viewRef.current.activeCell : undefined,
1899
+ getActiveCell: (sheetId) => viewRef.current.activeSheetId === sheetId
1900
+ ? viewRef.current.activeCell
1901
+ : undefined,
1883
1902
  // `onInsertImage` replacing a floating picture needs the embed it edits (`update-embed`
1884
1903
  // carries the whole object); the engine's lossless facet is the source of truth.
1885
- getEmbed: (embedId) => engineRef.current?.documentFacets().embeds.find((embed) => embed.embedId === embedId),
1904
+ getEmbed: (embedId) => engineRef.current
1905
+ ?.documentFacets()
1906
+ .embeds.find((embed) => embed.embedId === embedId),
1886
1907
  getSheetDimensions: () => getSheetDimensions?.(),
1887
1908
  }), [onCommand, getSheetDimensions]);
1888
1909
  // Data tools composed over the streamed commands. The planners need the WHOLE list range (a
@@ -2041,7 +2062,12 @@ export function useEngineCore(options) {
2041
2062
  const merges = collectPaintMerges(sheetMerges(sheetId), range);
2042
2063
  // Excel keeps a merged area's style on every constituent cell; the grid paints the anchor's.
2043
2064
  spreadMergeAnchorFormats(grid, merges);
2044
- return { formats: grid, merges, rows: grid.length, cols: grid[0]?.length ?? 0 };
2065
+ return {
2066
+ formats: grid,
2067
+ merges,
2068
+ rows: grid.length,
2069
+ cols: grid[0]?.length ?? 0,
2070
+ };
2045
2071
  }, [getEffectiveFormat, paintBandedCells, sheetMerges]);
2046
2072
  // Replace the target's merges with the pattern's, tiled with the pattern's period — one
2047
2073
  // `unmerge-cells` over the target, then a `merge-cells` per tiled merge. (The store also accepts
@@ -2062,7 +2088,10 @@ export function useEngineCore(options) {
2062
2088
  onCommand({
2063
2089
  command: "merge-cells",
2064
2090
  sheetId,
2065
- activeCell: { rowIndex: range.startRowIndex, columnIndex: range.startColumnIndex },
2091
+ activeCell: {
2092
+ rowIndex: range.startRowIndex,
2093
+ columnIndex: range.startColumnIndex,
2094
+ },
2066
2095
  selections: [{ range }],
2067
2096
  });
2068
2097
  }
@@ -2096,7 +2125,10 @@ export function useEngineCore(options) {
2096
2125
  onCommand({
2097
2126
  command: "change-formatting",
2098
2127
  sheetId,
2099
- activeCell: { rowIndex: range.startRowIndex, columnIndex: range.startColumnIndex },
2128
+ activeCell: {
2129
+ rowIndex: range.startRowIndex,
2130
+ columnIndex: range.startColumnIndex,
2131
+ },
2100
2132
  selections: [{ range }],
2101
2133
  cellFormat: grid,
2102
2134
  options: { replace: true },
@@ -2185,7 +2217,9 @@ export function useEngineCore(options) {
2185
2217
  cellFormat: captured.formats,
2186
2218
  options: { replace: true },
2187
2219
  });
2188
- applyPaintMerges(targetSheetRange.sheetId, activeCell, captured, [targetSheetRange]);
2220
+ applyPaintMerges(targetSheetRange.sheetId, activeCell, captured, [
2221
+ targetSheetRange,
2222
+ ]);
2189
2223
  }, [capturePattern, applyPaintMerges, onCommand]);
2190
2224
  // Following a hyperlink: external URLs open a new tab (the only browser-safe action here); an
2191
2225
  // internal reference (`Sheet1!A1:B5`) NAVIGATES — switch to the target sheet, then move the cursor
@@ -2263,7 +2297,8 @@ export function useEngineCore(options) {
2263
2297
  const bandedRanges = useMemo(() => {
2264
2298
  const tableBands = (tables ?? [])
2265
2299
  .filter((t) => t.sheetId === activeSheetId)
2266
- .map((t) => tableStylePreview?.sheetId === t.sheetId && tableStylePreview.tableId === t.id
2300
+ .map((t) => tableStylePreview?.sheetId === t.sheetId &&
2301
+ tableStylePreview.tableId === t.id
2267
2302
  ? previewTableStyle(t, tableStylePreview)
2268
2303
  : t)
2269
2304
  .filter((t) => t.bandedRange != null)
@@ -2359,7 +2394,10 @@ export function useEngineCore(options) {
2359
2394
  // still reads `=B1*2`) and only repoints references INTO the moved block — the engine does
2360
2395
  // that remap (`repoint_formulas_into_moved_block`), so the clipboard parse must not
2361
2396
  // relativize cut formulas the way it does copied ones.
2362
- const parsed = await generateDataFromClipboard(e, pasteActiveCell, destinationSheetId, getSheetName(destinationSheetId), true, initial.current.locale, undefined, undefined, undefined, { relocateFormulas: !isCutOperation, imageViewport: getSheetDimensions?.() });
2397
+ const parsed = await generateDataFromClipboard(e, pasteActiveCell, destinationSheetId, getSheetName(destinationSheetId), true, initial.current.locale, undefined, undefined, undefined, {
2398
+ relocateFormulas: !isCutOperation,
2399
+ imageViewport: getSheetDimensions?.(),
2400
+ });
2363
2401
  // Pasted image FILES arrive as floating pictures anchored at the active cell (Excel /
2364
2402
  // Google Sheets Ctrl+V of a picture) — the same lossless `create-embed` the Insert → Image
2365
2403
  // dialog emits, one undo entry for all of them, the first one selected like a new chart.
@@ -2442,7 +2480,11 @@ export function useEngineCore(options) {
2442
2480
  // Skip blanks: the engine leaves a `skip` cell untouched (the snapshot is only read by
2443
2481
  // an engine build predating `skip`, which writes it back instead of clearing).
2444
2482
  if (isSkippedPasteCell(cell)) {
2445
- return { skip: true, value: null, ...(toPasteCell(cell.fallback) ?? {}) };
2483
+ return {
2484
+ skip: true,
2485
+ value: null,
2486
+ ...(toPasteCell(cell.fallback) ?? {}),
2487
+ };
2446
2488
  }
2447
2489
  const pasteCell = toPasteCell(cell);
2448
2490
  const note = noteAt(i, j);
@@ -2458,7 +2500,9 @@ export function useEngineCore(options) {
2458
2500
  ? { sheetId: sourceSheetId, range: from }
2459
2501
  : null,
2460
2502
  formatOnly,
2461
- ...(autoExpandTablesRef.current === false ? { autoExpandTables: false } : {}),
2503
+ ...(autoExpandTablesRef.current === false
2504
+ ? { autoExpandTables: false }
2505
+ : {}),
2462
2506
  ...(autoCalculatedColumnsRef.current === false
2463
2507
  ? { autoCalculatedColumns: false }
2464
2508
  : {}),
@@ -2520,6 +2564,7 @@ export function useEngineCore(options) {
2520
2564
  columnMetadata,
2521
2565
  merges,
2522
2566
  namedCellStyles: options.namedCellStyles,
2567
+ defaultCellFormat,
2523
2568
  getCellData,
2524
2569
  getFormattedValue,
2525
2570
  getUserEnteredValue,
@@ -2670,6 +2715,7 @@ export function useEngineCore(options) {
2670
2715
  columnMetadata,
2671
2716
  merges,
2672
2717
  options.namedCellStyles,
2718
+ defaultCellFormat,
2673
2719
  getCellData,
2674
2720
  getFormattedValue,
2675
2721
  getUserEnteredValue,
@@ -321,42 +321,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
321
321
 
322
322
  export interface InitOutput {
323
323
  readonly memory: WebAssembly.Memory;
324
- readonly __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
325
- readonly collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
326
- readonly collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
327
- readonly collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
328
- readonly collabspreadsheetengine_canRedo: (a: number) => number;
329
- readonly collabspreadsheetengine_canUndo: (a: number) => number;
330
- readonly collabspreadsheetengine_clearHistory: (a: number) => void;
331
- readonly collabspreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
332
- readonly collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
333
- readonly collabspreadsheetengine_documentFacets: (a: number) => [number, number];
334
- readonly collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
335
- readonly collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
336
- readonly collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
337
- readonly collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
338
- readonly collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
339
- readonly collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
340
- readonly collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
341
- readonly collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
342
- readonly collabspreadsheetengine_new: () => number;
343
- readonly collabspreadsheetengine_newWithClientId: (a: number) => number;
344
- readonly collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
345
- readonly collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
346
- readonly collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
347
- readonly collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
348
- readonly collabspreadsheetengine_redoDepth: (a: number) => number;
349
- readonly collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
350
- readonly collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
351
- readonly collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
352
- readonly collabspreadsheetengine_sheetIds: (a: number) => [number, number];
353
- readonly collabspreadsheetengine_sheets: (a: number) => [number, number];
354
- readonly collabspreadsheetengine_streamBegin: (a: number) => void;
355
- readonly collabspreadsheetengine_streamEnd: (a: number) => void;
356
- readonly collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
357
- readonly collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
358
- readonly collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
359
- readonly collabspreadsheetengine_undoDepth: (a: number) => number;
360
324
  readonly __wbg_spreadsheetengine_free: (a: number, b: number) => void;
361
325
  readonly spreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
362
326
  readonly spreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
@@ -396,6 +360,42 @@ export interface InitOutput {
396
360
  readonly spreadsheetengine_undo: (a: number) => [number, number, number, number];
397
361
  readonly spreadsheetengine_undoDepth: (a: number) => number;
398
362
  readonly spreadsheetengine_wasmMemoryBytes: (a: number) => number;
363
+ readonly __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
364
+ readonly collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
365
+ readonly collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
366
+ readonly collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
367
+ readonly collabspreadsheetengine_canRedo: (a: number) => number;
368
+ readonly collabspreadsheetengine_canUndo: (a: number) => number;
369
+ readonly collabspreadsheetengine_clearHistory: (a: number) => void;
370
+ readonly collabspreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
371
+ readonly collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
372
+ readonly collabspreadsheetengine_documentFacets: (a: number) => [number, number];
373
+ readonly collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
374
+ readonly collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
375
+ readonly collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
376
+ readonly collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
377
+ readonly collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
378
+ readonly collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
379
+ readonly collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
380
+ readonly collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
381
+ readonly collabspreadsheetengine_new: () => number;
382
+ readonly collabspreadsheetengine_newWithClientId: (a: number) => number;
383
+ readonly collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
384
+ readonly collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
385
+ readonly collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
386
+ readonly collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
387
+ readonly collabspreadsheetengine_redoDepth: (a: number) => number;
388
+ readonly collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
389
+ readonly collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
390
+ readonly collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
391
+ readonly collabspreadsheetengine_sheetIds: (a: number) => [number, number];
392
+ readonly collabspreadsheetengine_sheets: (a: number) => [number, number];
393
+ readonly collabspreadsheetengine_streamBegin: (a: number) => void;
394
+ readonly collabspreadsheetengine_streamEnd: (a: number) => void;
395
+ readonly collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
396
+ readonly collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
397
+ readonly collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
398
+ readonly collabspreadsheetengine_undoDepth: (a: number) => number;
399
399
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
400
400
  readonly __wbindgen_exn_store: (a: number) => void;
401
401
  readonly __externref_table_alloc: () => number;
Binary file
@@ -1,42 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
5
- export const collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
6
- export const collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
7
- export const collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
8
- export const collabspreadsheetengine_canRedo: (a: number) => number;
9
- export const collabspreadsheetengine_canUndo: (a: number) => number;
10
- export const collabspreadsheetengine_clearHistory: (a: number) => void;
11
- export const collabspreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
12
- export const collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
13
- export const collabspreadsheetengine_documentFacets: (a: number) => [number, number];
14
- export const collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
15
- export const collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
16
- export const collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
17
- export const collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
18
- export const collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
19
- export const collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
20
- export const collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
21
- export const collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
22
- export const collabspreadsheetengine_new: () => number;
23
- export const collabspreadsheetengine_newWithClientId: (a: number) => number;
24
- export const collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
25
- export const collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
26
- export const collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
27
- export const collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
28
- export const collabspreadsheetengine_redoDepth: (a: number) => number;
29
- export const collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
30
- export const collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
31
- export const collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
32
- export const collabspreadsheetengine_sheetIds: (a: number) => [number, number];
33
- export const collabspreadsheetengine_sheets: (a: number) => [number, number];
34
- export const collabspreadsheetengine_streamBegin: (a: number) => void;
35
- export const collabspreadsheetengine_streamEnd: (a: number) => void;
36
- export const collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
37
- export const collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
38
- export const collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
39
- export const collabspreadsheetengine_undoDepth: (a: number) => number;
40
4
  export const __wbg_spreadsheetengine_free: (a: number, b: number) => void;
41
5
  export const spreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
42
6
  export const spreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
@@ -76,6 +40,42 @@ export const spreadsheetengine_supportedFunctionNames: (a: number) => [number, n
76
40
  export const spreadsheetengine_undo: (a: number) => [number, number, number, number];
77
41
  export const spreadsheetengine_undoDepth: (a: number) => number;
78
42
  export const spreadsheetengine_wasmMemoryBytes: (a: number) => number;
43
+ export const __wbg_collabspreadsheetengine_free: (a: number, b: number) => void;
44
+ export const collabspreadsheetengine_addSheet: (a: number, b: number, c: number, d: number) => void;
45
+ export const collabspreadsheetengine_applyCommand: (a: number, b: number, c: number) => [number, number, number, number];
46
+ export const collabspreadsheetengine_applyUpdate: (a: number, b: number, c: number) => [number, number];
47
+ export const collabspreadsheetengine_canRedo: (a: number) => number;
48
+ export const collabspreadsheetengine_canUndo: (a: number) => number;
49
+ export const collabspreadsheetengine_clearHistory: (a: number) => void;
50
+ export const collabspreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
51
+ export const collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
52
+ export const collabspreadsheetengine_documentFacets: (a: number) => [number, number];
53
+ export const collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
54
+ export const collabspreadsheetengine_encodeStateAsUpdate: (a: number) => [number, number];
55
+ export const collabspreadsheetengine_encodeStateVector: (a: number) => [number, number];
56
+ export const collabspreadsheetengine_exportCsv: (a: number, b: number) => [number, number];
57
+ export const collabspreadsheetengine_exportXlsx: (a: number) => [number, number, number, number];
58
+ export const collabspreadsheetengine_hostOwnedCells: (a: number, b: number) => [number, number, number, number];
59
+ export const collabspreadsheetengine_initGrid: (a: number, b: number, c: number, d: number) => void;
60
+ export const collabspreadsheetengine_loadDocument: (a: number, b: number, c: number) => [number, number, number, number];
61
+ export const collabspreadsheetengine_new: () => number;
62
+ export const collabspreadsheetengine_newWithClientId: (a: number) => number;
63
+ export const collabspreadsheetengine_precedents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
64
+ export const collabspreadsheetengine_rangeStats: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
65
+ export const collabspreadsheetengine_readWindow: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
66
+ export const collabspreadsheetengine_redo: (a: number) => [number, number, number, number];
67
+ export const collabspreadsheetengine_redoDepth: (a: number) => number;
68
+ export const collabspreadsheetengine_registerCustomFunction: (a: number, b: number, c: number) => void;
69
+ export const collabspreadsheetengine_setWindowed: (a: number, b: number) => void;
70
+ export const collabspreadsheetengine_sheetExtents: (a: number) => [number, number, number, number];
71
+ export const collabspreadsheetengine_sheetIds: (a: number) => [number, number];
72
+ export const collabspreadsheetengine_sheets: (a: number) => [number, number];
73
+ export const collabspreadsheetengine_streamBegin: (a: number) => void;
74
+ export const collabspreadsheetengine_streamEnd: (a: number) => void;
75
+ export const collabspreadsheetengine_streamWrite: (a: number, b: number, c: number) => void;
76
+ export const collabspreadsheetengine_syncRemote: (a: number) => [number, number, number, number];
77
+ export const collabspreadsheetengine_undo: (a: number) => [number, number, number, number];
78
+ export const collabspreadsheetengine_undoDepth: (a: number) => number;
79
79
  export const __wbindgen_free: (a: number, b: number, c: number) => void;
80
80
  export const __wbindgen_exn_store: (a: number) => void;
81
81
  export const __externref_table_alloc: () => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rowsncolumns/rnc-engine",
3
- "version": "1.2.14",
3
+ "version": "1.2.16",
4
4
  "author": "Vinay M",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "description": "Typed JS/TS interop for the Rust→WASM spreadsheet calc engine (rnc-wasm). Ergonomic JSON-in/out wrapper over the wasm-bindgen surface: applyCommand(Command)→CommitResult, readWindow→WindowSnapshot, and Map<\"sheet!A1\",CellFormat> style folding. Pluggable backend — single-user `SpreadsheetEngine` (default) or collaborative `CollabSpreadsheetEngine` (Yjs sync) — plus the Option-B `useSpreadsheetEngine` React hook.",
@@ -13,6 +13,10 @@
13
13
  ".": {
14
14
  "types": "./dist/esm/index.d.ts",
15
15
  "import": "./dist/esm/index.js"
16
+ },
17
+ "./io": {
18
+ "types": "./dist/esm/io.d.ts",
19
+ "import": "./dist/esm/io.js"
16
20
  }
17
21
  },
18
22
  "scripts": {
@@ -48,8 +52,8 @@
48
52
  "@rowsncolumns/common-types": ">=5.3.3",
49
53
  "@rowsncolumns/dag": ">=7.2.31",
50
54
  "@rowsncolumns/grid": ">=13.2.35",
51
- "@rowsncolumns/spreadsheet": ">=10.4.13",
52
- "@rowsncolumns/spreadsheet-state": ">=29.1.8",
55
+ "@rowsncolumns/spreadsheet": ">=10.5.1",
56
+ "@rowsncolumns/spreadsheet-state": ">=29.1.10",
53
57
  "@rowsncolumns/toolkit": ">=24.5.14",
54
58
  "@rowsncolumns/utils": ">=9.5.4",
55
59
  "fflate": "^0.8.2"