@mog-sdk/node 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +578 -876
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +99 -183
- package/dist/index.d.ts +99 -183
- package/dist/index.js +556 -857
- package/dist/index.js.map +1 -1
- package/package.json +8 -6
package/dist/index.cjs
CHANGED
|
@@ -295,36 +295,6 @@ var init_errors = __esm({
|
|
|
295
295
|
}
|
|
296
296
|
});
|
|
297
297
|
|
|
298
|
-
// ../../contracts/src/document/protection.ts
|
|
299
|
-
var DEFAULT_PROTECTION_OPTIONS, DEFAULT_WORKBOOK_PROTECTION_OPTIONS;
|
|
300
|
-
var init_protection = __esm({
|
|
301
|
-
"../../contracts/src/document/protection.ts"() {
|
|
302
|
-
"use strict";
|
|
303
|
-
init_cjs_shims();
|
|
304
|
-
DEFAULT_PROTECTION_OPTIONS = {
|
|
305
|
-
// Selection defaults to true (users can always select cells)
|
|
306
|
-
selectLockedCells: true,
|
|
307
|
-
selectUnlockedCells: true,
|
|
308
|
-
// All other operations blocked by default
|
|
309
|
-
insertRows: false,
|
|
310
|
-
insertColumns: false,
|
|
311
|
-
deleteRows: false,
|
|
312
|
-
deleteColumns: false,
|
|
313
|
-
formatCells: false,
|
|
314
|
-
formatColumns: false,
|
|
315
|
-
formatRows: false,
|
|
316
|
-
sort: false,
|
|
317
|
-
useAutoFilter: false,
|
|
318
|
-
usePivotTableReports: false,
|
|
319
|
-
editObjects: false,
|
|
320
|
-
editScenarios: false
|
|
321
|
-
};
|
|
322
|
-
DEFAULT_WORKBOOK_PROTECTION_OPTIONS = {
|
|
323
|
-
structure: true
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
});
|
|
327
|
-
|
|
328
298
|
// ../../infra/transport/src/command-metadata.gen.ts
|
|
329
299
|
var BYTES_TUPLE_COMMANDS, RECALC_COMMANDS;
|
|
330
300
|
var init_command_metadata_gen = __esm({
|
|
@@ -1334,6 +1304,106 @@ var init_schemas = __esm({
|
|
|
1334
1304
|
}
|
|
1335
1305
|
});
|
|
1336
1306
|
|
|
1307
|
+
// ../../kernel/src/api/worksheet/change-accumulator.ts
|
|
1308
|
+
function colToLetter(col) {
|
|
1309
|
+
let result = "";
|
|
1310
|
+
let c = col;
|
|
1311
|
+
while (c >= 0) {
|
|
1312
|
+
result = String.fromCharCode(c % 26 + 65) + result;
|
|
1313
|
+
c = Math.floor(c / 26) - 1;
|
|
1314
|
+
}
|
|
1315
|
+
return result;
|
|
1316
|
+
}
|
|
1317
|
+
function toA1(row, col) {
|
|
1318
|
+
return `${colToLetter(col)}${row + 1}`;
|
|
1319
|
+
}
|
|
1320
|
+
var ChangeAccumulator;
|
|
1321
|
+
var init_change_accumulator = __esm({
|
|
1322
|
+
"../../kernel/src/api/worksheet/change-accumulator.ts"() {
|
|
1323
|
+
"use strict";
|
|
1324
|
+
init_cjs_shims();
|
|
1325
|
+
ChangeAccumulator = class {
|
|
1326
|
+
constructor() {
|
|
1327
|
+
this.trackers = /* @__PURE__ */ new Set();
|
|
1328
|
+
/**
|
|
1329
|
+
* Pending direct edits set before a mutation, consumed by the next ingest().
|
|
1330
|
+
* Since JS is single-threaded, setDirectEdits() before the bridge call
|
|
1331
|
+
* guarantees these are consumed by the corresponding ingest().
|
|
1332
|
+
*/
|
|
1333
|
+
this.pendingDirectEdits = null;
|
|
1334
|
+
}
|
|
1335
|
+
/**
|
|
1336
|
+
* Set the direct edit positions for the next mutation.
|
|
1337
|
+
* Called by cell-operations before triggering the bridge call.
|
|
1338
|
+
* Consumed (cleared) by the next ingest() call.
|
|
1339
|
+
*/
|
|
1340
|
+
setDirectEdits(edits) {
|
|
1341
|
+
this.pendingDirectEdits = edits;
|
|
1342
|
+
}
|
|
1343
|
+
/**
|
|
1344
|
+
* Called by MutationResultHandler after every mutation.
|
|
1345
|
+
*
|
|
1346
|
+
* @param changedCells - RecalcResult.changedCells from the MutationResult
|
|
1347
|
+
* @param directEdits - The (sheetId, row, col) tuples that were directly written
|
|
1348
|
+
* (to distinguish direct vs cascade)
|
|
1349
|
+
* @param source - user or remote
|
|
1350
|
+
*/
|
|
1351
|
+
ingest(changedCells, directEdits, source) {
|
|
1352
|
+
if (this.trackers.size === 0) {
|
|
1353
|
+
this.pendingDirectEdits = null;
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
1356
|
+
if (changedCells.length === 0) {
|
|
1357
|
+
this.pendingDirectEdits = null;
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
const edits = directEdits ?? this.pendingDirectEdits;
|
|
1361
|
+
this.pendingDirectEdits = null;
|
|
1362
|
+
const directSet = /* @__PURE__ */ new Set();
|
|
1363
|
+
if (edits) {
|
|
1364
|
+
for (const e of edits) {
|
|
1365
|
+
directSet.add(`${e.sheetId}:${e.row}:${e.col}`);
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
const recordsBySheet = /* @__PURE__ */ new Map();
|
|
1369
|
+
for (const cell of changedCells) {
|
|
1370
|
+
const key = `${cell.sheetId}:${cell.row}:${cell.col}`;
|
|
1371
|
+
const origin = source === "remote" ? "remote" : directSet.has(key) ? "direct" : "cascade";
|
|
1372
|
+
const record = {
|
|
1373
|
+
address: toA1(cell.row, cell.col),
|
|
1374
|
+
row: cell.row,
|
|
1375
|
+
col: cell.col,
|
|
1376
|
+
origin,
|
|
1377
|
+
type: "modified"
|
|
1378
|
+
};
|
|
1379
|
+
let list = recordsBySheet.get(cell.sheetId);
|
|
1380
|
+
if (!list) {
|
|
1381
|
+
list = [];
|
|
1382
|
+
recordsBySheet.set(cell.sheetId, list);
|
|
1383
|
+
}
|
|
1384
|
+
list.push(record);
|
|
1385
|
+
}
|
|
1386
|
+
for (const tracker of this.trackers) {
|
|
1387
|
+
const records = recordsBySheet.get(tracker.sheetId);
|
|
1388
|
+
if (records && records.length > 0) {
|
|
1389
|
+
tracker._ingest(records);
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
register(tracker) {
|
|
1394
|
+
this.trackers.add(tracker);
|
|
1395
|
+
}
|
|
1396
|
+
unregister(tracker) {
|
|
1397
|
+
this.trackers.delete(tracker);
|
|
1398
|
+
}
|
|
1399
|
+
/** Number of active trackers. */
|
|
1400
|
+
get activeCount() {
|
|
1401
|
+
return this.trackers.size;
|
|
1402
|
+
}
|
|
1403
|
+
};
|
|
1404
|
+
}
|
|
1405
|
+
});
|
|
1406
|
+
|
|
1337
1407
|
// ../../kernel/src/bridges/mutation-result-handler.ts
|
|
1338
1408
|
function resolvedPosition(row, col) {
|
|
1339
1409
|
if (row === POSITION_SENTINEL || col === POSITION_SENTINEL) {
|
|
@@ -1346,6 +1416,7 @@ var init_mutation_result_handler = __esm({
|
|
|
1346
1416
|
"../../kernel/src/bridges/mutation-result-handler.ts"() {
|
|
1347
1417
|
"use strict";
|
|
1348
1418
|
init_cjs_shims();
|
|
1419
|
+
init_change_accumulator();
|
|
1349
1420
|
POSITION_SENTINEL = 4294967295;
|
|
1350
1421
|
MutationResultHandler = class {
|
|
1351
1422
|
constructor(eventBus, onUndoDescription) {
|
|
@@ -1355,6 +1426,7 @@ var init_mutation_result_handler = __esm({
|
|
|
1355
1426
|
this.errorCallbacks = [];
|
|
1356
1427
|
this.eventBus = eventBus;
|
|
1357
1428
|
this.onUndoDescription = onUndoDescription;
|
|
1429
|
+
this.changeAccumulator = new ChangeAccumulator();
|
|
1358
1430
|
}
|
|
1359
1431
|
/** Set the ViewportCoordinatorRegistry for per-viewport dimension patching. */
|
|
1360
1432
|
setCoordinatorRegistry(registry2) {
|
|
@@ -1376,8 +1448,9 @@ var init_mutation_result_handler = __esm({
|
|
|
1376
1448
|
*
|
|
1377
1449
|
* @param result - MutationResult from a Rust IPC command
|
|
1378
1450
|
* @param source - Whether this mutation originated from the local user or remote collaboration
|
|
1451
|
+
* @param directEdits - Optional positions of directly-written cells (to distinguish direct vs cascade)
|
|
1379
1452
|
*/
|
|
1380
|
-
applyAndNotify(result, source = "user") {
|
|
1453
|
+
applyAndNotify(result, source = "user", directEdits) {
|
|
1381
1454
|
if (result.recalc) {
|
|
1382
1455
|
this.handleRecalcResult(result.recalc, source);
|
|
1383
1456
|
}
|
|
@@ -1438,6 +1511,9 @@ var init_mutation_result_handler = __esm({
|
|
|
1438
1511
|
if (result.undoDescription) {
|
|
1439
1512
|
this.handleUndoDescription(result.undoDescription);
|
|
1440
1513
|
}
|
|
1514
|
+
if (this.changeAccumulator.activeCount > 0 && result.recalc?.changedCells?.length) {
|
|
1515
|
+
this.changeAccumulator.ingest(result.recalc.changedCells, directEdits ?? null, source);
|
|
1516
|
+
}
|
|
1441
1517
|
}
|
|
1442
1518
|
/**
|
|
1443
1519
|
* Register an error callback for mutation failures.
|
|
@@ -2127,101 +2203,6 @@ var init_mutation_result_handler = __esm({
|
|
|
2127
2203
|
}
|
|
2128
2204
|
});
|
|
2129
2205
|
|
|
2130
|
-
// ../../contracts/src/core/commands.ts
|
|
2131
|
-
var init_commands = __esm({
|
|
2132
|
-
"../../contracts/src/core/commands.ts"() {
|
|
2133
|
-
"use strict";
|
|
2134
|
-
init_cjs_shims();
|
|
2135
|
-
}
|
|
2136
|
-
});
|
|
2137
|
-
|
|
2138
|
-
// ../../contracts/src/core/core.ts
|
|
2139
|
-
var init_core2 = __esm({
|
|
2140
|
-
"../../contracts/src/core/core.ts"() {
|
|
2141
|
-
"use strict";
|
|
2142
|
-
init_cjs_shims();
|
|
2143
|
-
}
|
|
2144
|
-
});
|
|
2145
|
-
|
|
2146
|
-
// ../../contracts/src/core/disposable.ts
|
|
2147
|
-
var init_disposable = __esm({
|
|
2148
|
-
"../../contracts/src/core/disposable.ts"() {
|
|
2149
|
-
"use strict";
|
|
2150
|
-
init_cjs_shims();
|
|
2151
|
-
}
|
|
2152
|
-
});
|
|
2153
|
-
|
|
2154
|
-
// ../../contracts/src/core/event-base.ts
|
|
2155
|
-
var init_event_base = __esm({
|
|
2156
|
-
"../../contracts/src/core/event-base.ts"() {
|
|
2157
|
-
"use strict";
|
|
2158
|
-
init_cjs_shims();
|
|
2159
|
-
}
|
|
2160
|
-
});
|
|
2161
|
-
|
|
2162
|
-
// ../../contracts/src/core/execution.ts
|
|
2163
|
-
var init_execution = __esm({
|
|
2164
|
-
"../../contracts/src/core/execution.ts"() {
|
|
2165
|
-
"use strict";
|
|
2166
|
-
init_cjs_shims();
|
|
2167
|
-
}
|
|
2168
|
-
});
|
|
2169
|
-
|
|
2170
|
-
// ../../contracts/src/core/result.ts
|
|
2171
|
-
var init_result = __esm({
|
|
2172
|
-
"../../contracts/src/core/result.ts"() {
|
|
2173
|
-
"use strict";
|
|
2174
|
-
init_cjs_shims();
|
|
2175
|
-
}
|
|
2176
|
-
});
|
|
2177
|
-
|
|
2178
|
-
// ../../contracts/src/core/schema.ts
|
|
2179
|
-
var init_schema = __esm({
|
|
2180
|
-
"../../contracts/src/core/schema.ts"() {
|
|
2181
|
-
"use strict";
|
|
2182
|
-
init_cjs_shims();
|
|
2183
|
-
}
|
|
2184
|
-
});
|
|
2185
|
-
|
|
2186
|
-
// ../../contracts/src/core/formatted-text.ts
|
|
2187
|
-
function asFormattedText(s) {
|
|
2188
|
-
return s;
|
|
2189
|
-
}
|
|
2190
|
-
function displayStringOrNull(text) {
|
|
2191
|
-
return text;
|
|
2192
|
-
}
|
|
2193
|
-
var init_formatted_text = __esm({
|
|
2194
|
-
"../../contracts/src/core/formatted-text.ts"() {
|
|
2195
|
-
"use strict";
|
|
2196
|
-
init_cjs_shims();
|
|
2197
|
-
}
|
|
2198
|
-
});
|
|
2199
|
-
|
|
2200
|
-
// ../../contracts/src/core/testing.ts
|
|
2201
|
-
var init_testing = __esm({
|
|
2202
|
-
"../../contracts/src/core/testing.ts"() {
|
|
2203
|
-
"use strict";
|
|
2204
|
-
init_cjs_shims();
|
|
2205
|
-
}
|
|
2206
|
-
});
|
|
2207
|
-
|
|
2208
|
-
// ../../contracts/src/core/index.ts
|
|
2209
|
-
var init_core3 = __esm({
|
|
2210
|
-
"../../contracts/src/core/index.ts"() {
|
|
2211
|
-
"use strict";
|
|
2212
|
-
init_cjs_shims();
|
|
2213
|
-
init_commands();
|
|
2214
|
-
init_core2();
|
|
2215
|
-
init_disposable();
|
|
2216
|
-
init_event_base();
|
|
2217
|
-
init_execution();
|
|
2218
|
-
init_result();
|
|
2219
|
-
init_schema();
|
|
2220
|
-
init_formatted_text();
|
|
2221
|
-
init_testing();
|
|
2222
|
-
}
|
|
2223
|
-
});
|
|
2224
|
-
|
|
2225
2206
|
// ../../kernel/src/bridges/wire/constants.gen.ts
|
|
2226
2207
|
var HEADER_SIZE, CELL_STRIDE, MERGE_STRIDE, DIM_STRIDE, NO_STRING, MUTATION_HEADER_SIZE, PATCH_STRIDE, OFF_NUMBER_VALUE, OFF_DISPLAY_OFF, OFF_ERROR_OFF, OFF_FLAGS, OFF_FORMAT_IDX, OFF_DISPLAY_LEN, OFF_ERROR_LEN, OFF_BG_COLOR_OVERRIDE, OFF_FONT_COLOR_OVERRIDE, DATA_BAR_ENTRY_STRIDE, ICON_ENTRY_STRIDE, MUT_HAS_PROJECTION_CHANGES, MUT_HAS_ERRORS, MUT_HAS_PALETTE, ICON_SET_NAMES;
|
|
2227
2208
|
var init_constants_gen = __esm({
|
|
@@ -2279,12 +2260,12 @@ var init_constants_gen = __esm({
|
|
|
2279
2260
|
});
|
|
2280
2261
|
|
|
2281
2262
|
// ../../kernel/src/bridges/wire/binary-mutation-reader.ts
|
|
2282
|
-
var sharedDecoder, BinaryMutationReader;
|
|
2263
|
+
var import_core, sharedDecoder, BinaryMutationReader;
|
|
2283
2264
|
var init_binary_mutation_reader = __esm({
|
|
2284
2265
|
"../../kernel/src/bridges/wire/binary-mutation-reader.ts"() {
|
|
2285
2266
|
"use strict";
|
|
2286
2267
|
init_cjs_shims();
|
|
2287
|
-
|
|
2268
|
+
import_core = require("@mog-sdk/spreadsheet-contracts/core");
|
|
2288
2269
|
init_constants_gen();
|
|
2289
2270
|
sharedDecoder = new TextDecoder("utf-8");
|
|
2290
2271
|
BinaryMutationReader = class {
|
|
@@ -2383,7 +2364,7 @@ var init_binary_mutation_reader = __esm({
|
|
|
2383
2364
|
const displayLen = this._view.getUint16(recOff + OFF_DISPLAY_LEN, true);
|
|
2384
2365
|
if (displayOff === NO_STRING || displayLen === 0) return null;
|
|
2385
2366
|
const start = this._stringPoolStart + displayOff;
|
|
2386
|
-
return asFormattedText(sharedDecoder.decode(this._bytes.subarray(start, start + displayLen)));
|
|
2367
|
+
return (0, import_core.asFormattedText)(sharedDecoder.decode(this._bytes.subarray(start, start + displayLen)));
|
|
2387
2368
|
}
|
|
2388
2369
|
/**
|
|
2389
2370
|
* Get a zero-copy subarray view of the raw UTF-8 display bytes for patch i.
|
|
@@ -2535,7 +2516,7 @@ var init_binary_mutation_reader = __esm({
|
|
|
2535
2516
|
const displayLen = this._view.getUint16(recOff + OFF_DISPLAY_LEN, true);
|
|
2536
2517
|
if (displayOff === NO_STRING || displayLen === 0) return null;
|
|
2537
2518
|
const start = this._stringPoolStart + displayOff;
|
|
2538
|
-
return asFormattedText(sharedDecoder.decode(this._bytes.subarray(start, start + displayLen)));
|
|
2519
|
+
return (0, import_core.asFormattedText)(sharedDecoder.decode(this._bytes.subarray(start, start + displayLen)));
|
|
2539
2520
|
}
|
|
2540
2521
|
/**
|
|
2541
2522
|
* Get a zero-copy subarray view of the raw UTF-8 display bytes for spill patch i.
|
|
@@ -2584,12 +2565,12 @@ function rgbaU32ToHex(value) {
|
|
|
2584
2565
|
const b = value >>> 8 & 255;
|
|
2585
2566
|
return "#" + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1).toUpperCase();
|
|
2586
2567
|
}
|
|
2587
|
-
var sharedEncoder, sharedDecoder2, EMPTY_FORMAT, BinaryViewportBuffer, CellAccessor;
|
|
2568
|
+
var import_core2, sharedEncoder, sharedDecoder2, EMPTY_FORMAT, BinaryViewportBuffer, CellAccessor;
|
|
2588
2569
|
var init_binary_viewport_buffer = __esm({
|
|
2589
2570
|
"../../kernel/src/bridges/wire/binary-viewport-buffer.ts"() {
|
|
2590
2571
|
"use strict";
|
|
2591
2572
|
init_cjs_shims();
|
|
2592
|
-
|
|
2573
|
+
import_core2 = require("@mog-sdk/spreadsheet-contracts/core");
|
|
2593
2574
|
init_constants_gen();
|
|
2594
2575
|
init_constants_gen();
|
|
2595
2576
|
sharedEncoder = new TextEncoder();
|
|
@@ -2909,7 +2890,7 @@ var init_binary_viewport_buffer = __esm({
|
|
|
2909
2890
|
sampleCells.push({
|
|
2910
2891
|
row,
|
|
2911
2892
|
col,
|
|
2912
|
-
displayText: displayStringOrNull(reader.patchDisplayText(i))
|
|
2893
|
+
displayText: (0, import_core2.displayStringOrNull)(reader.patchDisplayText(i))
|
|
2913
2894
|
});
|
|
2914
2895
|
}
|
|
2915
2896
|
}
|
|
@@ -2928,7 +2909,7 @@ var init_binary_viewport_buffer = __esm({
|
|
|
2928
2909
|
sampleCells.push({
|
|
2929
2910
|
row,
|
|
2930
2911
|
col,
|
|
2931
|
-
displayText: displayStringOrNull(reader.spillPatchDisplayText(i))
|
|
2912
|
+
displayText: (0, import_core2.displayStringOrNull)(reader.spillPatchDisplayText(i))
|
|
2932
2913
|
});
|
|
2933
2914
|
}
|
|
2934
2915
|
}
|
|
@@ -3686,7 +3667,7 @@ var init_binary_viewport_buffer = __esm({
|
|
|
3686
3667
|
*/
|
|
3687
3668
|
get displayText() {
|
|
3688
3669
|
const decoded = this._buffer.getOrDecodeString(this._displayOff, this._displayLen);
|
|
3689
|
-
return decoded !== null ? asFormattedText(decoded) : null;
|
|
3670
|
+
return decoded !== null ? (0, import_core2.asFormattedText)(decoded) : null;
|
|
3690
3671
|
}
|
|
3691
3672
|
/**
|
|
3692
3673
|
* Get the error text for the current cell.
|
|
@@ -3748,13 +3729,13 @@ var init_binary_viewport_buffer = __esm({
|
|
|
3748
3729
|
function cellKey(row, col) {
|
|
3749
3730
|
return `${row},${col}`;
|
|
3750
3731
|
}
|
|
3751
|
-
var ViewportCoordinator;
|
|
3732
|
+
var import_core3, ViewportCoordinator;
|
|
3752
3733
|
var init_viewport_coordinator = __esm({
|
|
3753
3734
|
"../../kernel/src/bridges/wire/viewport-coordinator.ts"() {
|
|
3754
3735
|
"use strict";
|
|
3755
3736
|
init_cjs_shims();
|
|
3756
3737
|
init_binary_viewport_buffer();
|
|
3757
|
-
|
|
3738
|
+
import_core3 = require("@mog-sdk/spreadsheet-contracts/core");
|
|
3758
3739
|
ViewportCoordinator = class {
|
|
3759
3740
|
constructor(viewportId) {
|
|
3760
3741
|
/** Monotonically increasing version, incremented on every write. */
|
|
@@ -3875,7 +3856,7 @@ var init_viewport_coordinator = __esm({
|
|
|
3875
3856
|
flags: reader.patchFlags(i),
|
|
3876
3857
|
numberValue: reader.patchNumberValue(i),
|
|
3877
3858
|
formatIdx: reader.patchFormatIdx(i),
|
|
3878
|
-
displayString: displayStringOrNull(reader.patchDisplayText(i)),
|
|
3859
|
+
displayString: (0, import_core3.displayStringOrNull)(reader.patchDisplayText(i)),
|
|
3879
3860
|
errorString: reader.patchErrorText(i),
|
|
3880
3861
|
bgColorOverride: reader.patchBgColorOverride(i),
|
|
3881
3862
|
fontColorOverride: reader.patchFontColorOverride(i),
|
|
@@ -3892,7 +3873,7 @@ var init_viewport_coordinator = __esm({
|
|
|
3892
3873
|
flags: reader.spillPatchFlags(i),
|
|
3893
3874
|
numberValue: reader.spillPatchNumberValue(i),
|
|
3894
3875
|
formatIdx: reader.spillPatchFormatIdx(i),
|
|
3895
|
-
displayString: displayStringOrNull(reader.spillPatchDisplayText(i)),
|
|
3876
|
+
displayString: (0, import_core3.displayStringOrNull)(reader.spillPatchDisplayText(i)),
|
|
3896
3877
|
errorString: reader.spillPatchErrorText(i),
|
|
3897
3878
|
bgColorOverride: reader.spillPatchBgColorOverride(i),
|
|
3898
3879
|
fontColorOverride: reader.spillPatchFontColorOverride(i),
|
|
@@ -6001,6 +5982,9 @@ var init_compute_bridge_gen = __esm({
|
|
|
6001
5982
|
getCellFormatWithCf(sheetId, cellId, row, col) {
|
|
6002
5983
|
return this.core.query(this.core.transport.call("compute_get_cell_format_with_cf", { docId: this.core.docId, sheetId, cellId, row, col }));
|
|
6003
5984
|
}
|
|
5985
|
+
getResolvedFormat(sheetId, row, col) {
|
|
5986
|
+
return this.core.query(this.core.transport.call("compute_get_resolved_format", { docId: this.core.docId, sheetId, row, col }));
|
|
5987
|
+
}
|
|
6004
5988
|
setCellFormat(sheetId, cellId, format) {
|
|
6005
5989
|
return this.core.mutatePlain(this.core.transport.call("compute_set_cell_format", { docId: this.core.docId, sheetId, cellId, format }));
|
|
6006
5990
|
}
|
|
@@ -6814,13 +6798,13 @@ async function rustSchemaInferColumn(values) {
|
|
|
6814
6798
|
const t = await getSchemaTransport();
|
|
6815
6799
|
return t.call("compute_schema_infer_column", { values });
|
|
6816
6800
|
}
|
|
6817
|
-
var ComputeBridge, schemaTransport;
|
|
6801
|
+
var import_protection, ComputeBridge, schemaTransport;
|
|
6818
6802
|
var init_compute_bridge = __esm({
|
|
6819
6803
|
"../../kernel/src/bridges/compute/compute-bridge.ts"() {
|
|
6820
6804
|
"use strict";
|
|
6821
6805
|
init_cjs_shims();
|
|
6822
6806
|
init_formula_string();
|
|
6823
|
-
|
|
6807
|
+
import_protection = require("@mog-sdk/spreadsheet-contracts/protection");
|
|
6824
6808
|
init_src();
|
|
6825
6809
|
init_compute_wire_converters();
|
|
6826
6810
|
init_compute_core();
|
|
@@ -7162,7 +7146,7 @@ var init_compute_bridge = __esm({
|
|
|
7162
7146
|
async getSheetProtectionOptions(sheetId) {
|
|
7163
7147
|
const settings = await this.getSheetSettings(sheetId);
|
|
7164
7148
|
if (!settings.isProtected) return null;
|
|
7165
|
-
return { ...DEFAULT_PROTECTION_OPTIONS, ...settings.protectionOptions };
|
|
7149
|
+
return { ...import_protection.DEFAULT_PROTECTION_OPTIONS, ...settings.protectionOptions };
|
|
7166
7150
|
}
|
|
7167
7151
|
/** Set multiple sheet settings at once (iterates entries). */
|
|
7168
7152
|
async setSheetSettings(sheetId, updates) {
|
|
@@ -7246,77 +7230,19 @@ var init_compute_bridge = __esm({
|
|
|
7246
7230
|
}
|
|
7247
7231
|
});
|
|
7248
7232
|
|
|
7249
|
-
// ../../contracts/src/rendering/grid-renderer.ts
|
|
7250
|
-
var init_grid_renderer = __esm({
|
|
7251
|
-
"../../contracts/src/rendering/grid-renderer.ts"() {
|
|
7252
|
-
"use strict";
|
|
7253
|
-
init_cjs_shims();
|
|
7254
|
-
}
|
|
7255
|
-
});
|
|
7256
|
-
|
|
7257
|
-
// ../../contracts/src/rendering/constants.ts
|
|
7258
|
-
var DEFAULT_COL_WIDTH_WINDOWS, DEFAULT_COL_WIDTH_MACOS, _isMac, DEFAULT_COL_WIDTH;
|
|
7259
|
-
var init_constants = __esm({
|
|
7260
|
-
"../../contracts/src/rendering/constants.ts"() {
|
|
7261
|
-
"use strict";
|
|
7262
|
-
init_cjs_shims();
|
|
7263
|
-
DEFAULT_COL_WIDTH_WINDOWS = 64;
|
|
7264
|
-
DEFAULT_COL_WIDTH_MACOS = 72;
|
|
7265
|
-
_isMac = typeof navigator !== "undefined" && /Mac/.test(navigator.platform ?? "");
|
|
7266
|
-
DEFAULT_COL_WIDTH = _isMac ? DEFAULT_COL_WIDTH_MACOS : DEFAULT_COL_WIDTH_WINDOWS;
|
|
7267
|
-
}
|
|
7268
|
-
});
|
|
7269
|
-
|
|
7270
|
-
// ../../contracts/src/rendering/data-sources.ts
|
|
7271
|
-
var DEFAULT_CHROME_THEME;
|
|
7272
|
-
var init_data_sources = __esm({
|
|
7273
|
-
"../../contracts/src/rendering/data-sources.ts"() {
|
|
7274
|
-
"use strict";
|
|
7275
|
-
init_cjs_shims();
|
|
7276
|
-
DEFAULT_CHROME_THEME = {
|
|
7277
|
-
canvasBackground: "#ffffff",
|
|
7278
|
-
gridlineColor: "#e0e0e0",
|
|
7279
|
-
headerBackground: "#f8f9fa",
|
|
7280
|
-
headerText: "#333333",
|
|
7281
|
-
headerBorder: "#dadce0",
|
|
7282
|
-
headerHighlightBackground: "#e8eaed",
|
|
7283
|
-
headerHighlightText: "#1a73e8",
|
|
7284
|
-
selectionFill: "rgba(66, 133, 244, 0.1)",
|
|
7285
|
-
selectionBorder: "#4285f4",
|
|
7286
|
-
activeCellBorder: "#1a73e8",
|
|
7287
|
-
fillHandleColor: "#4285f4",
|
|
7288
|
-
dragSourceColor: "rgba(66, 133, 244, 0.15)",
|
|
7289
|
-
dragTargetColor: "#4285f4",
|
|
7290
|
-
scrollbarTrack: "#f1f1f1",
|
|
7291
|
-
scrollbarThumb: "#c1c1c1"
|
|
7292
|
-
};
|
|
7293
|
-
}
|
|
7294
|
-
});
|
|
7295
|
-
|
|
7296
|
-
// ../../contracts/src/rendering/index.ts
|
|
7297
|
-
var init_rendering = __esm({
|
|
7298
|
-
"../../contracts/src/rendering/index.ts"() {
|
|
7299
|
-
"use strict";
|
|
7300
|
-
init_cjs_shims();
|
|
7301
|
-
init_grid_renderer();
|
|
7302
|
-
init_constants();
|
|
7303
|
-
init_data_sources();
|
|
7304
|
-
}
|
|
7305
|
-
});
|
|
7306
|
-
|
|
7307
7233
|
// ../../kernel/src/domain/sheets/sheet-meta-defaults.ts
|
|
7308
7234
|
function getSheetMetaDefault(field) {
|
|
7309
7235
|
const def = SHEET_META_SCHEMA[field];
|
|
7310
7236
|
return def.default;
|
|
7311
7237
|
}
|
|
7312
|
-
var SHEET_META_DEFAULT_ROW_HEIGHT, SHEET_META_DEFAULT_COL_WIDTH, SHEET_META_DEFAULT_GRIDLINE_COLOR, SHEET_META_SCHEMA;
|
|
7238
|
+
var import_rendering, SHEET_META_DEFAULT_ROW_HEIGHT, SHEET_META_DEFAULT_COL_WIDTH, SHEET_META_DEFAULT_GRIDLINE_COLOR, SHEET_META_SCHEMA;
|
|
7313
7239
|
var init_sheet_meta_defaults = __esm({
|
|
7314
7240
|
"../../kernel/src/domain/sheets/sheet-meta-defaults.ts"() {
|
|
7315
7241
|
"use strict";
|
|
7316
7242
|
init_cjs_shims();
|
|
7317
|
-
|
|
7243
|
+
import_rendering = require("@mog-sdk/spreadsheet-contracts/rendering");
|
|
7318
7244
|
SHEET_META_DEFAULT_ROW_HEIGHT = 20;
|
|
7319
|
-
SHEET_META_DEFAULT_COL_WIDTH = DEFAULT_COL_WIDTH;
|
|
7245
|
+
SHEET_META_DEFAULT_COL_WIDTH = import_rendering.DEFAULT_COL_WIDTH;
|
|
7320
7246
|
SHEET_META_DEFAULT_GRIDLINE_COLOR = "#e2e2e2";
|
|
7321
7247
|
SHEET_META_SCHEMA = {
|
|
7322
7248
|
// ===========================================================================
|
|
@@ -7807,16 +7733,18 @@ var init_core_defaults = __esm({
|
|
|
7807
7733
|
async function getMeta(ctx, sheetId) {
|
|
7808
7734
|
const name = await ctx.computeBridge.getSheetName(sheetId);
|
|
7809
7735
|
if (name === null) return void 0;
|
|
7810
|
-
const [frozen, tabColor, hidden] = await Promise.all([
|
|
7736
|
+
const [frozen, tabColor, hidden, defaultRowHeight, defaultColWidth] = await Promise.all([
|
|
7811
7737
|
ctx.computeBridge.getFrozenPanesQuery(sheetId),
|
|
7812
7738
|
ctx.computeBridge.getTabColorQuery(sheetId),
|
|
7813
|
-
ctx.computeBridge.isSheetHidden(sheetId)
|
|
7739
|
+
ctx.computeBridge.isSheetHidden(sheetId),
|
|
7740
|
+
ctx.computeBridge.getDefaultRowHeight(sheetId),
|
|
7741
|
+
ctx.computeBridge.getDefaultColWidth(sheetId)
|
|
7814
7742
|
]);
|
|
7815
7743
|
return {
|
|
7816
7744
|
id: sheetId,
|
|
7817
7745
|
name,
|
|
7818
|
-
defaultRowHeight
|
|
7819
|
-
defaultColWidth
|
|
7746
|
+
defaultRowHeight,
|
|
7747
|
+
defaultColWidth,
|
|
7820
7748
|
frozenRows: frozen.rows,
|
|
7821
7749
|
frozenCols: frozen.cols,
|
|
7822
7750
|
tabColor: tabColor ?? void 0,
|
|
@@ -7854,16 +7782,17 @@ function normalizeRange(range2) {
|
|
|
7854
7782
|
sheetId: range2.sheetId
|
|
7855
7783
|
};
|
|
7856
7784
|
}
|
|
7785
|
+
var import_core4;
|
|
7857
7786
|
var init_range = __esm({
|
|
7858
7787
|
"../../spreadsheet-utils/src/range.ts"() {
|
|
7859
7788
|
"use strict";
|
|
7860
7789
|
init_cjs_shims();
|
|
7861
|
-
|
|
7790
|
+
import_core4 = require("@mog-sdk/spreadsheet-contracts/core");
|
|
7862
7791
|
}
|
|
7863
7792
|
});
|
|
7864
7793
|
|
|
7865
7794
|
// ../../spreadsheet-utils/src/a1.ts
|
|
7866
|
-
function
|
|
7795
|
+
function colToLetter3(col) {
|
|
7867
7796
|
if (col < 0) {
|
|
7868
7797
|
throw new Error("Column number must be >= 0");
|
|
7869
7798
|
}
|
|
@@ -7883,8 +7812,8 @@ function letterToCol(letters) {
|
|
|
7883
7812
|
}
|
|
7884
7813
|
return result - 1;
|
|
7885
7814
|
}
|
|
7886
|
-
function
|
|
7887
|
-
return `${
|
|
7815
|
+
function toA12(row, col) {
|
|
7816
|
+
return `${colToLetter3(col)}${row + 1}`;
|
|
7888
7817
|
}
|
|
7889
7818
|
function parseCellAddress(ref) {
|
|
7890
7819
|
const match = ref.match(CELL_ADDRESS_REGEX);
|
|
@@ -9315,7 +9244,7 @@ var init_data_extractor = __esm({
|
|
|
9315
9244
|
});
|
|
9316
9245
|
|
|
9317
9246
|
// ../../charts/src/core/index.ts
|
|
9318
|
-
var
|
|
9247
|
+
var init_core2 = __esm({
|
|
9319
9248
|
"../../charts/src/core/index.ts"() {
|
|
9320
9249
|
"use strict";
|
|
9321
9250
|
init_cjs_shims();
|
|
@@ -13299,7 +13228,7 @@ var init_src2 = __esm({
|
|
|
13299
13228
|
"../../charts/src/index.ts"() {
|
|
13300
13229
|
"use strict";
|
|
13301
13230
|
init_cjs_shims();
|
|
13302
|
-
|
|
13231
|
+
init_core2();
|
|
13303
13232
|
init_primitives();
|
|
13304
13233
|
init_compiler();
|
|
13305
13234
|
}
|
|
@@ -16375,7 +16304,7 @@ function toDisposable(fn) {
|
|
|
16375
16304
|
return disposable;
|
|
16376
16305
|
}
|
|
16377
16306
|
var DisposableBase, DisposableStore, DisposableNone;
|
|
16378
|
-
var
|
|
16307
|
+
var init_disposable = __esm({
|
|
16379
16308
|
"../../spreadsheet-utils/src/disposable.ts"() {
|
|
16380
16309
|
"use strict";
|
|
16381
16310
|
init_cjs_shims();
|
|
@@ -16439,7 +16368,7 @@ function ok(value) {
|
|
|
16439
16368
|
function err(error) {
|
|
16440
16369
|
return { ok: false, error };
|
|
16441
16370
|
}
|
|
16442
|
-
var
|
|
16371
|
+
var init_result = __esm({
|
|
16443
16372
|
"../../spreadsheet-utils/src/result.ts"() {
|
|
16444
16373
|
"use strict";
|
|
16445
16374
|
init_cjs_shims();
|
|
@@ -16452,7 +16381,7 @@ var init_subscribable = __esm({
|
|
|
16452
16381
|
"../../kernel/src/services/primitives/subscribable.ts"() {
|
|
16453
16382
|
"use strict";
|
|
16454
16383
|
init_cjs_shims();
|
|
16455
|
-
|
|
16384
|
+
init_disposable();
|
|
16456
16385
|
Subscribable = class extends DisposableBase {
|
|
16457
16386
|
constructor() {
|
|
16458
16387
|
super(...arguments);
|
|
@@ -16512,7 +16441,7 @@ var init_event_emitter = __esm({
|
|
|
16512
16441
|
"../../kernel/src/services/primitives/event-emitter.ts"() {
|
|
16513
16442
|
"use strict";
|
|
16514
16443
|
init_cjs_shims();
|
|
16515
|
-
|
|
16444
|
+
init_disposable();
|
|
16516
16445
|
TypedEventEmitter = class extends DisposableBase {
|
|
16517
16446
|
constructor() {
|
|
16518
16447
|
super(...arguments);
|
|
@@ -16577,8 +16506,8 @@ var init_primitives3 = __esm({
|
|
|
16577
16506
|
"../../kernel/src/services/primitives/index.ts"() {
|
|
16578
16507
|
"use strict";
|
|
16579
16508
|
init_cjs_shims();
|
|
16580
|
-
|
|
16581
|
-
|
|
16509
|
+
init_disposable();
|
|
16510
|
+
init_result();
|
|
16582
16511
|
init_subscribable();
|
|
16583
16512
|
init_event_emitter();
|
|
16584
16513
|
}
|
|
@@ -24628,37 +24557,10 @@ var init_equation_bridge = __esm({
|
|
|
24628
24557
|
}
|
|
24629
24558
|
});
|
|
24630
24559
|
|
|
24631
|
-
// ../../contracts/src/bridges/ink-recognition-bridge.ts
|
|
24632
|
-
var DEFAULT_RECOGNITION_THRESHOLDS;
|
|
24633
|
-
var init_ink_recognition_bridge = __esm({
|
|
24634
|
-
"../../contracts/src/bridges/ink-recognition-bridge.ts"() {
|
|
24635
|
-
"use strict";
|
|
24636
|
-
init_cjs_shims();
|
|
24637
|
-
DEFAULT_RECOGNITION_THRESHOLDS = {
|
|
24638
|
-
line: 0.7,
|
|
24639
|
-
rectangle: 0.65,
|
|
24640
|
-
ellipse: 0.7,
|
|
24641
|
-
triangle: 0.6,
|
|
24642
|
-
arrow: 0.6,
|
|
24643
|
-
star: 0.65,
|
|
24644
|
-
text: 0.5
|
|
24645
|
-
};
|
|
24646
|
-
}
|
|
24647
|
-
});
|
|
24648
|
-
|
|
24649
|
-
// ../../contracts/src/bridges/index.ts
|
|
24650
|
-
var init_bridges = __esm({
|
|
24651
|
-
"../../contracts/src/bridges/index.ts"() {
|
|
24652
|
-
"use strict";
|
|
24653
|
-
init_cjs_shims();
|
|
24654
|
-
init_ink_recognition_bridge();
|
|
24655
|
-
}
|
|
24656
|
-
});
|
|
24657
|
-
|
|
24658
24560
|
// ../../kernel/src/domain/drawing/ink-recognition-bridge.ts
|
|
24659
24561
|
function createInkRecognitionBridge(initialThresholds) {
|
|
24660
24562
|
let thresholds = {
|
|
24661
|
-
...DEFAULT_RECOGNITION_THRESHOLDS,
|
|
24563
|
+
...import_bridges.DEFAULT_RECOGNITION_THRESHOLDS,
|
|
24662
24564
|
...initialThresholds
|
|
24663
24565
|
};
|
|
24664
24566
|
return {
|
|
@@ -25071,11 +24973,12 @@ async function recognizeWithBrowserAPI(strokes) {
|
|
|
25071
24973
|
}
|
|
25072
24974
|
return null;
|
|
25073
24975
|
}
|
|
25074
|
-
var
|
|
24976
|
+
var import_bridges;
|
|
24977
|
+
var init_ink_recognition_bridge = __esm({
|
|
25075
24978
|
"../../kernel/src/domain/drawing/ink-recognition-bridge.ts"() {
|
|
25076
24979
|
"use strict";
|
|
25077
24980
|
init_cjs_shims();
|
|
25078
|
-
|
|
24981
|
+
import_bridges = require("@mog-sdk/spreadsheet-contracts/bridges");
|
|
25079
24982
|
}
|
|
25080
24983
|
});
|
|
25081
24984
|
|
|
@@ -30088,7 +29991,7 @@ var init_arrows = __esm({
|
|
|
30088
29991
|
|
|
30089
29992
|
// ../../canvas/drawing/shapes/src/presets/constants.ts
|
|
30090
29993
|
var KAPPA;
|
|
30091
|
-
var
|
|
29994
|
+
var init_constants = __esm({
|
|
30092
29995
|
"../../canvas/drawing/shapes/src/presets/constants.ts"() {
|
|
30093
29996
|
"use strict";
|
|
30094
29997
|
init_cjs_shims();
|
|
@@ -30112,7 +30015,7 @@ var init_primitives4 = __esm({
|
|
|
30112
30015
|
"use strict";
|
|
30113
30016
|
init_cjs_shims();
|
|
30114
30017
|
init_src3();
|
|
30115
|
-
|
|
30018
|
+
init_constants();
|
|
30116
30019
|
}
|
|
30117
30020
|
});
|
|
30118
30021
|
|
|
@@ -30122,7 +30025,7 @@ var init_basic = __esm({
|
|
|
30122
30025
|
"use strict";
|
|
30123
30026
|
init_cjs_shims();
|
|
30124
30027
|
init_src3();
|
|
30125
|
-
|
|
30028
|
+
init_constants();
|
|
30126
30029
|
init_primitives4();
|
|
30127
30030
|
init_registry3();
|
|
30128
30031
|
init_primitives4();
|
|
@@ -70195,438 +70098,23 @@ var init_rules = __esm({
|
|
|
70195
70098
|
}
|
|
70196
70099
|
});
|
|
70197
70100
|
|
|
70198
|
-
// ../../contracts/src/smartart/layouts.ts
|
|
70199
|
-
var init_layouts2 = __esm({
|
|
70200
|
-
"../../contracts/src/smartart/layouts.ts"() {
|
|
70201
|
-
"use strict";
|
|
70202
|
-
init_cjs_shims();
|
|
70203
|
-
}
|
|
70204
|
-
});
|
|
70205
|
-
|
|
70206
|
-
// ../../contracts/src/smartart/ooxml-algorithm-types.ts
|
|
70207
|
-
var ParameterId, VALID_PARAMS_BY_ALGORITHM;
|
|
70208
|
-
var init_ooxml_algorithm_types = __esm({
|
|
70209
|
-
"../../contracts/src/smartart/ooxml-algorithm-types.ts"() {
|
|
70210
|
-
"use strict";
|
|
70211
|
-
init_cjs_shims();
|
|
70212
|
-
ParameterId = {
|
|
70213
|
-
// ── Alignment Parameters ──────────────────────────────────────────────────
|
|
70214
|
-
/** Horizontal alignment of children within the layout area. */
|
|
70215
|
-
horzAlign: "horzAlign",
|
|
70216
|
-
/** Vertical alignment of children within the layout area. */
|
|
70217
|
-
vertAlign: "vertAlign",
|
|
70218
|
-
/** Horizontal alignment for individual nodes (hierarchy algorithms). */
|
|
70219
|
-
nodeHorzAlign: "nodeHorzAlign",
|
|
70220
|
-
/** Vertical alignment for individual nodes (hierarchy algorithms). */
|
|
70221
|
-
nodeVertAlign: "nodeVertAlign",
|
|
70222
|
-
/** Hierarchy alignment (16 possible values for tree orientation). */
|
|
70223
|
-
hierAlign: "hierAlign",
|
|
70224
|
-
/** Text alignment (whether text should be aligned with shape). */
|
|
70225
|
-
alignTx: "alignTx",
|
|
70226
|
-
// ── Direction Parameters ──────────────────────────────────────────────────
|
|
70227
|
-
/** Child direction (horizontal or vertical arrangement of children). */
|
|
70228
|
-
chDir: "chDir",
|
|
70229
|
-
/** Child alignment (how children align on the cross-axis). */
|
|
70230
|
-
chAlign: "chAlign",
|
|
70231
|
-
/** Secondary child alignment (for complex hierarchy layouts). */
|
|
70232
|
-
secChAlign: "secChAlign",
|
|
70233
|
-
/** Linear direction (which edge children flow from). */
|
|
70234
|
-
linDir: "linDir",
|
|
70235
|
-
/** Secondary linear direction (for complex hierarchy layouts). */
|
|
70236
|
-
secLinDir: "secLinDir",
|
|
70237
|
-
/** Text direction (horizontal or vertical text blocks). */
|
|
70238
|
-
txDir: "txDir",
|
|
70239
|
-
/** Text block direction (horizontal or vertical text flow). */
|
|
70240
|
-
txBlDir: "txBlDir",
|
|
70241
|
-
/** Growth direction (which corner the snake starts from). */
|
|
70242
|
-
grDir: "grDir",
|
|
70243
|
-
/** Flow direction (whether snake flows by row or column). */
|
|
70244
|
-
flowDir: "flowDir",
|
|
70245
|
-
/** Continue direction (same direction or reversed for each row). */
|
|
70246
|
-
contDir: "contDir",
|
|
70247
|
-
// ── Connector Parameters ──────────────────────────────────────────────────
|
|
70248
|
-
/** Connector routing style (straight, bend, curve, long curve). */
|
|
70249
|
-
connRout: "connRout",
|
|
70250
|
-
/** Beginning/start arrowhead style for connectors. */
|
|
70251
|
-
begSty: "begSty",
|
|
70252
|
-
/** Ending arrowhead style for connectors. */
|
|
70253
|
-
endSty: "endSty",
|
|
70254
|
-
/** Connector dimension (1D, 2D, or custom). */
|
|
70255
|
-
dim: "dim",
|
|
70256
|
-
/** Source node name for connector routing. */
|
|
70257
|
-
srcNode: "srcNode",
|
|
70258
|
-
/** Destination node name for connector routing. */
|
|
70259
|
-
dstNode: "dstNode",
|
|
70260
|
-
/** Beginning connection points (which points on the source shape). */
|
|
70261
|
-
begPts: "begPts",
|
|
70262
|
-
/** Ending connection points (which points on the destination shape). */
|
|
70263
|
-
endPts: "endPts",
|
|
70264
|
-
/** Bend point position for right-angle connectors. */
|
|
70265
|
-
bendPt: "bendPt",
|
|
70266
|
-
// ── Cycle/Circular Parameters ─────────────────────────────────────────────
|
|
70267
|
-
/** Start angle in degrees for cycle algorithm. */
|
|
70268
|
-
stAng: "stAng",
|
|
70269
|
-
/** Span angle in degrees for cycle algorithm. */
|
|
70270
|
-
spanAng: "spanAng",
|
|
70271
|
-
/** Rotation path (none or along the circular path). */
|
|
70272
|
-
rotPath: "rotPath",
|
|
70273
|
-
/** Center shape mapping (whether first node goes to center). */
|
|
70274
|
-
ctrShpMap: "ctrShpMap",
|
|
70275
|
-
// ── Snake Parameters ──────────────────────────────────────────────────────
|
|
70276
|
-
/** Breakpoint logic for snake wrapping (end of canvas, balanced, fixed). */
|
|
70277
|
-
bkpt: "bkpt",
|
|
70278
|
-
/** Breakpoint fixed value (number of items per row when bkpt=fixed). */
|
|
70279
|
-
bkPtFixedVal: "bkPtFixedVal",
|
|
70280
|
-
/** Offset mode for staggered rows in snake layout. */
|
|
70281
|
-
off: "off",
|
|
70282
|
-
// ── Linear/Sequence Parameters ────────────────────────────────────────────
|
|
70283
|
-
/** Starting element index (which node type starts the alternating sequence). */
|
|
70284
|
-
stElem: "stElem",
|
|
70285
|
-
/** Starting bullet level for text algorithm. */
|
|
70286
|
-
stBulletLvl: "stBulletLvl",
|
|
70287
|
-
// ── Pyramid Parameters ────────────────────────────────────────────────────
|
|
70288
|
-
/** Pyramid accent position (before or after the level). */
|
|
70289
|
-
pyraAcctPos: "pyraAcctPos",
|
|
70290
|
-
/** Pyramid accent text margin (step or stack behavior). */
|
|
70291
|
-
pyraAcctTxMar: "pyraAcctTxMar",
|
|
70292
|
-
/** Pyramid level node name. */
|
|
70293
|
-
pyraLvlNode: "pyraLvlNode",
|
|
70294
|
-
/** Pyramid accent background node name. */
|
|
70295
|
-
pyraAcctBkgdNode: "pyraAcctBkgdNode",
|
|
70296
|
-
/** Pyramid accent text node name. */
|
|
70297
|
-
pyraAcctTxNode: "pyraAcctTxNode",
|
|
70298
|
-
// ── Text Parameters ───────────────────────────────────────────────────────
|
|
70299
|
-
/** Parent text LTR alignment. */
|
|
70300
|
-
parTxLTRAlign: "parTxLTRAlign",
|
|
70301
|
-
/** Parent text RTL alignment. */
|
|
70302
|
-
parTxRTLAlign: "parTxRTLAlign",
|
|
70303
|
-
/** Shape text LTR alignment for children. */
|
|
70304
|
-
shpTxLTRAlignCh: "shpTxLTRAlignCh",
|
|
70305
|
-
/** Shape text RTL alignment for children. */
|
|
70306
|
-
shpTxRTLAlignCh: "shpTxRTLAlignCh",
|
|
70307
|
-
/** Text anchor horizontal position. */
|
|
70308
|
-
txAnchorHorz: "txAnchorHorz",
|
|
70309
|
-
/** Text anchor vertical position. */
|
|
70310
|
-
txAnchorVert: "txAnchorVert",
|
|
70311
|
-
/** Text anchor horizontal position for children. */
|
|
70312
|
-
txAnchorHorzCh: "txAnchorHorzCh",
|
|
70313
|
-
/** Text anchor vertical position for children. */
|
|
70314
|
-
txAnchorVertCh: "txAnchorVertCh",
|
|
70315
|
-
/** Auto text rotation mode (none, upright, gravity-based). */
|
|
70316
|
-
autoTxRot: "autoTxRot",
|
|
70317
|
-
// ── Spacing & Sizing Parameters ───────────────────────────────────────────
|
|
70318
|
-
/** Aspect ratio value. */
|
|
70319
|
-
ar: "ar",
|
|
70320
|
-
/** Line spacing for parent text (percentage). */
|
|
70321
|
-
lnSpPar: "lnSpPar",
|
|
70322
|
-
/** Line spacing after parent paragraph (percentage). */
|
|
70323
|
-
lnSpAfParP: "lnSpAfParP",
|
|
70324
|
-
/** Line spacing for child text (percentage). */
|
|
70325
|
-
lnSpCh: "lnSpCh",
|
|
70326
|
-
/** Line spacing after child paragraph (percentage). */
|
|
70327
|
-
lnSpAfChP: "lnSpAfChP",
|
|
70328
|
-
// ── Hierarchy-Specific Parameters ─────────────────────────────────────────
|
|
70329
|
-
/** Root short distance flag (hierarchy algorithms). */
|
|
70330
|
-
rtShortDist: "rtShortDist",
|
|
70331
|
-
// ── Fallback Parameter ────────────────────────────────────────────────────
|
|
70332
|
-
/** Fallback dimension for the algorithm. */
|
|
70333
|
-
fallback: "fallback"
|
|
70334
|
-
};
|
|
70335
|
-
VALID_PARAMS_BY_ALGORITHM = {
|
|
70336
|
-
composite: [ParameterId.ar],
|
|
70337
|
-
lin: [
|
|
70338
|
-
ParameterId.linDir,
|
|
70339
|
-
ParameterId.chDir,
|
|
70340
|
-
ParameterId.chAlign,
|
|
70341
|
-
ParameterId.horzAlign,
|
|
70342
|
-
ParameterId.vertAlign,
|
|
70343
|
-
ParameterId.stElem,
|
|
70344
|
-
ParameterId.fallback,
|
|
70345
|
-
ParameterId.nodeHorzAlign,
|
|
70346
|
-
ParameterId.nodeVertAlign
|
|
70347
|
-
],
|
|
70348
|
-
snake: [
|
|
70349
|
-
ParameterId.grDir,
|
|
70350
|
-
ParameterId.flowDir,
|
|
70351
|
-
ParameterId.contDir,
|
|
70352
|
-
ParameterId.bkpt,
|
|
70353
|
-
ParameterId.bkPtFixedVal,
|
|
70354
|
-
ParameterId.off
|
|
70355
|
-
],
|
|
70356
|
-
cycle: [ParameterId.stAng, ParameterId.spanAng, ParameterId.rotPath, ParameterId.ctrShpMap],
|
|
70357
|
-
hierRoot: [
|
|
70358
|
-
ParameterId.hierAlign,
|
|
70359
|
-
ParameterId.nodeHorzAlign,
|
|
70360
|
-
ParameterId.nodeVertAlign,
|
|
70361
|
-
ParameterId.rtShortDist
|
|
70362
|
-
],
|
|
70363
|
-
hierChild: [
|
|
70364
|
-
ParameterId.chAlign,
|
|
70365
|
-
ParameterId.linDir,
|
|
70366
|
-
ParameterId.secChAlign,
|
|
70367
|
-
ParameterId.secLinDir
|
|
70368
|
-
],
|
|
70369
|
-
pyra: [
|
|
70370
|
-
ParameterId.linDir,
|
|
70371
|
-
ParameterId.txDir,
|
|
70372
|
-
ParameterId.pyraAcctPos,
|
|
70373
|
-
ParameterId.pyraAcctTxMar,
|
|
70374
|
-
ParameterId.pyraLvlNode,
|
|
70375
|
-
ParameterId.pyraAcctBkgdNode,
|
|
70376
|
-
ParameterId.pyraAcctTxNode
|
|
70377
|
-
],
|
|
70378
|
-
conn: [
|
|
70379
|
-
ParameterId.srcNode,
|
|
70380
|
-
ParameterId.dstNode,
|
|
70381
|
-
ParameterId.connRout,
|
|
70382
|
-
ParameterId.begSty,
|
|
70383
|
-
ParameterId.endSty,
|
|
70384
|
-
ParameterId.dim,
|
|
70385
|
-
ParameterId.bendPt,
|
|
70386
|
-
ParameterId.begPts,
|
|
70387
|
-
ParameterId.endPts
|
|
70388
|
-
],
|
|
70389
|
-
tx: [
|
|
70390
|
-
ParameterId.parTxLTRAlign,
|
|
70391
|
-
ParameterId.parTxRTLAlign,
|
|
70392
|
-
ParameterId.shpTxLTRAlignCh,
|
|
70393
|
-
ParameterId.shpTxRTLAlignCh,
|
|
70394
|
-
ParameterId.txAnchorVert,
|
|
70395
|
-
ParameterId.txAnchorHorz,
|
|
70396
|
-
ParameterId.txAnchorVertCh,
|
|
70397
|
-
ParameterId.txAnchorHorzCh,
|
|
70398
|
-
ParameterId.txBlDir,
|
|
70399
|
-
ParameterId.autoTxRot,
|
|
70400
|
-
ParameterId.stBulletLvl,
|
|
70401
|
-
ParameterId.lnSpPar,
|
|
70402
|
-
ParameterId.lnSpAfParP,
|
|
70403
|
-
ParameterId.lnSpCh,
|
|
70404
|
-
ParameterId.lnSpAfChP,
|
|
70405
|
-
ParameterId.alignTx
|
|
70406
|
-
],
|
|
70407
|
-
sp: []
|
|
70408
|
-
};
|
|
70409
|
-
}
|
|
70410
|
-
});
|
|
70411
|
-
|
|
70412
|
-
// ../../contracts/src/smartart/ooxml-data-model-types.ts
|
|
70413
|
-
var init_ooxml_data_model_types = __esm({
|
|
70414
|
-
"../../contracts/src/smartart/ooxml-data-model-types.ts"() {
|
|
70415
|
-
"use strict";
|
|
70416
|
-
init_cjs_shims();
|
|
70417
|
-
}
|
|
70418
|
-
});
|
|
70419
|
-
|
|
70420
|
-
// ../../contracts/src/smartart/ooxml-drawing-types.ts
|
|
70421
|
-
var init_ooxml_drawing_types = __esm({
|
|
70422
|
-
"../../contracts/src/smartart/ooxml-drawing-types.ts"() {
|
|
70423
|
-
"use strict";
|
|
70424
|
-
init_cjs_shims();
|
|
70425
|
-
}
|
|
70426
|
-
});
|
|
70427
|
-
|
|
70428
|
-
// ../../contracts/src/smartart/ooxml-engine-types.ts
|
|
70429
|
-
var POSITIONAL_CONSTRAINT_TYPES, DIMENSIONAL_CONSTRAINT_TYPES, MARGIN_CONSTRAINT_TYPES, FONT_CONSTRAINT_TYPES, SPACING_CONSTRAINT_TYPES, GEOMETRY_CONSTRAINT_TYPES, USER_DEFINED_CONSTRAINT_TYPES, ALL_CONSTRAINT_TYPES, ALL_ELEMENT_TYPES, ALL_FUNCTION_TYPES, ALL_FUNCTION_OPERATORS, ALL_FUNCTION_ARGUMENTS;
|
|
70430
|
-
var init_ooxml_engine_types = __esm({
|
|
70431
|
-
"../../contracts/src/smartart/ooxml-engine-types.ts"() {
|
|
70432
|
-
"use strict";
|
|
70433
|
-
init_cjs_shims();
|
|
70434
|
-
POSITIONAL_CONSTRAINT_TYPES = [
|
|
70435
|
-
"l",
|
|
70436
|
-
"t",
|
|
70437
|
-
"r",
|
|
70438
|
-
"b",
|
|
70439
|
-
"lOff",
|
|
70440
|
-
"tOff",
|
|
70441
|
-
"rOff",
|
|
70442
|
-
"bOff",
|
|
70443
|
-
"ctrX",
|
|
70444
|
-
"ctrY",
|
|
70445
|
-
"ctrXOff",
|
|
70446
|
-
"ctrYOff"
|
|
70447
|
-
];
|
|
70448
|
-
DIMENSIONAL_CONSTRAINT_TYPES = [
|
|
70449
|
-
"w",
|
|
70450
|
-
"h",
|
|
70451
|
-
"wOff",
|
|
70452
|
-
"hOff"
|
|
70453
|
-
];
|
|
70454
|
-
MARGIN_CONSTRAINT_TYPES = [
|
|
70455
|
-
"lMarg",
|
|
70456
|
-
"tMarg",
|
|
70457
|
-
"rMarg",
|
|
70458
|
-
"bMarg",
|
|
70459
|
-
"begMarg",
|
|
70460
|
-
"endMarg"
|
|
70461
|
-
];
|
|
70462
|
-
FONT_CONSTRAINT_TYPES = [
|
|
70463
|
-
"primFontSz",
|
|
70464
|
-
"secFontSz"
|
|
70465
|
-
];
|
|
70466
|
-
SPACING_CONSTRAINT_TYPES = [
|
|
70467
|
-
"sp",
|
|
70468
|
-
"sibSp",
|
|
70469
|
-
"secSibSp"
|
|
70470
|
-
];
|
|
70471
|
-
GEOMETRY_CONSTRAINT_TYPES = [
|
|
70472
|
-
"connDist",
|
|
70473
|
-
"diam",
|
|
70474
|
-
"stemThick",
|
|
70475
|
-
"begPad",
|
|
70476
|
-
"endPad",
|
|
70477
|
-
"wArH",
|
|
70478
|
-
"hArH",
|
|
70479
|
-
"bendDist"
|
|
70480
|
-
];
|
|
70481
|
-
USER_DEFINED_CONSTRAINT_TYPES = [
|
|
70482
|
-
"userA",
|
|
70483
|
-
"userB",
|
|
70484
|
-
"userC",
|
|
70485
|
-
"userD",
|
|
70486
|
-
"userE",
|
|
70487
|
-
"userF",
|
|
70488
|
-
"userG",
|
|
70489
|
-
"userH",
|
|
70490
|
-
"userI",
|
|
70491
|
-
"userJ",
|
|
70492
|
-
"userK",
|
|
70493
|
-
"userL",
|
|
70494
|
-
"userM",
|
|
70495
|
-
"userN",
|
|
70496
|
-
"userO",
|
|
70497
|
-
"userP",
|
|
70498
|
-
"userQ",
|
|
70499
|
-
"userR",
|
|
70500
|
-
"userS",
|
|
70501
|
-
"userT",
|
|
70502
|
-
"userU",
|
|
70503
|
-
"userV",
|
|
70504
|
-
"userW",
|
|
70505
|
-
"userX",
|
|
70506
|
-
"userY",
|
|
70507
|
-
"userZ"
|
|
70508
|
-
];
|
|
70509
|
-
ALL_CONSTRAINT_TYPES = [
|
|
70510
|
-
...POSITIONAL_CONSTRAINT_TYPES,
|
|
70511
|
-
...DIMENSIONAL_CONSTRAINT_TYPES,
|
|
70512
|
-
...MARGIN_CONSTRAINT_TYPES,
|
|
70513
|
-
...FONT_CONSTRAINT_TYPES,
|
|
70514
|
-
...SPACING_CONSTRAINT_TYPES,
|
|
70515
|
-
...GEOMETRY_CONSTRAINT_TYPES,
|
|
70516
|
-
"pyraAcctRatio",
|
|
70517
|
-
"alignOff",
|
|
70518
|
-
...USER_DEFINED_CONSTRAINT_TYPES,
|
|
70519
|
-
"none"
|
|
70520
|
-
];
|
|
70521
|
-
ALL_ELEMENT_TYPES = [
|
|
70522
|
-
"all",
|
|
70523
|
-
"doc",
|
|
70524
|
-
"node",
|
|
70525
|
-
"norm",
|
|
70526
|
-
"nonNorm",
|
|
70527
|
-
"asst",
|
|
70528
|
-
"nonAsst",
|
|
70529
|
-
"parTrans",
|
|
70530
|
-
"pres",
|
|
70531
|
-
"sibTrans"
|
|
70532
|
-
];
|
|
70533
|
-
ALL_FUNCTION_TYPES = [
|
|
70534
|
-
"cnt",
|
|
70535
|
-
"pos",
|
|
70536
|
-
"revPos",
|
|
70537
|
-
"posEven",
|
|
70538
|
-
"posOdd",
|
|
70539
|
-
"var",
|
|
70540
|
-
"depth",
|
|
70541
|
-
"maxDepth"
|
|
70542
|
-
];
|
|
70543
|
-
ALL_FUNCTION_OPERATORS = [
|
|
70544
|
-
"equ",
|
|
70545
|
-
"neq",
|
|
70546
|
-
"gt",
|
|
70547
|
-
"lt",
|
|
70548
|
-
"gte",
|
|
70549
|
-
"lte"
|
|
70550
|
-
];
|
|
70551
|
-
ALL_FUNCTION_ARGUMENTS = [
|
|
70552
|
-
"none",
|
|
70553
|
-
"orgChart",
|
|
70554
|
-
"chMax",
|
|
70555
|
-
"chPref",
|
|
70556
|
-
"bulEnabled",
|
|
70557
|
-
"dir",
|
|
70558
|
-
"hierBranch",
|
|
70559
|
-
"animOne",
|
|
70560
|
-
"animLvl",
|
|
70561
|
-
"resizeHandles"
|
|
70562
|
-
];
|
|
70563
|
-
}
|
|
70564
|
-
});
|
|
70565
|
-
|
|
70566
|
-
// ../../contracts/src/smartart/ooxml-layout-types.ts
|
|
70567
|
-
var init_ooxml_layout_types = __esm({
|
|
70568
|
-
"../../contracts/src/smartart/ooxml-layout-types.ts"() {
|
|
70569
|
-
"use strict";
|
|
70570
|
-
init_cjs_shims();
|
|
70571
|
-
}
|
|
70572
|
-
});
|
|
70573
|
-
|
|
70574
|
-
// ../../contracts/src/smartart/ooxml-style-types.ts
|
|
70575
|
-
var init_ooxml_style_types = __esm({
|
|
70576
|
-
"../../contracts/src/smartart/ooxml-style-types.ts"() {
|
|
70577
|
-
"use strict";
|
|
70578
|
-
init_cjs_shims();
|
|
70579
|
-
}
|
|
70580
|
-
});
|
|
70581
|
-
|
|
70582
|
-
// ../../contracts/src/smartart/styles.ts
|
|
70583
|
-
var init_styles3 = __esm({
|
|
70584
|
-
"../../contracts/src/smartart/styles.ts"() {
|
|
70585
|
-
"use strict";
|
|
70586
|
-
init_cjs_shims();
|
|
70587
|
-
}
|
|
70588
|
-
});
|
|
70589
|
-
|
|
70590
|
-
// ../../contracts/src/smartart/types.ts
|
|
70591
|
-
var init_types4 = __esm({
|
|
70592
|
-
"../../contracts/src/smartart/types.ts"() {
|
|
70593
|
-
"use strict";
|
|
70594
|
-
init_cjs_shims();
|
|
70595
|
-
}
|
|
70596
|
-
});
|
|
70597
|
-
|
|
70598
|
-
// ../../contracts/src/smartart/index.ts
|
|
70599
|
-
var init_smartart = __esm({
|
|
70600
|
-
"../../contracts/src/smartart/index.ts"() {
|
|
70601
|
-
"use strict";
|
|
70602
|
-
init_cjs_shims();
|
|
70603
|
-
init_layouts2();
|
|
70604
|
-
init_ooxml_algorithm_types();
|
|
70605
|
-
init_ooxml_data_model_types();
|
|
70606
|
-
init_ooxml_drawing_types();
|
|
70607
|
-
init_ooxml_engine_types();
|
|
70608
|
-
init_ooxml_layout_types();
|
|
70609
|
-
init_ooxml_style_types();
|
|
70610
|
-
init_styles3();
|
|
70611
|
-
init_types4();
|
|
70612
|
-
}
|
|
70613
|
-
});
|
|
70614
|
-
|
|
70615
70101
|
// ../../canvas/drawing/smartart/src/engine/algorithms/composite.ts
|
|
70102
|
+
var import_smartart2;
|
|
70616
70103
|
var init_composite = __esm({
|
|
70617
70104
|
"../../canvas/drawing/smartart/src/engine/algorithms/composite.ts"() {
|
|
70618
70105
|
"use strict";
|
|
70619
70106
|
init_cjs_shims();
|
|
70620
|
-
|
|
70107
|
+
import_smartart2 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70621
70108
|
}
|
|
70622
70109
|
});
|
|
70623
70110
|
|
|
70624
70111
|
// ../../canvas/drawing/smartart/src/engine/algorithms/linear.ts
|
|
70112
|
+
var import_smartart3;
|
|
70625
70113
|
var init_linear2 = __esm({
|
|
70626
70114
|
"../../canvas/drawing/smartart/src/engine/algorithms/linear.ts"() {
|
|
70627
70115
|
"use strict";
|
|
70628
70116
|
init_cjs_shims();
|
|
70629
|
-
|
|
70117
|
+
import_smartart3 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70630
70118
|
}
|
|
70631
70119
|
});
|
|
70632
70120
|
|
|
@@ -70639,82 +70127,90 @@ var init_param_utils = __esm({
|
|
|
70639
70127
|
});
|
|
70640
70128
|
|
|
70641
70129
|
// ../../canvas/drawing/smartart/src/engine/algorithms/snake.ts
|
|
70130
|
+
var import_smartart4;
|
|
70642
70131
|
var init_snake = __esm({
|
|
70643
70132
|
"../../canvas/drawing/smartart/src/engine/algorithms/snake.ts"() {
|
|
70644
70133
|
"use strict";
|
|
70645
70134
|
init_cjs_shims();
|
|
70646
|
-
|
|
70135
|
+
import_smartart4 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70647
70136
|
init_param_utils();
|
|
70648
70137
|
}
|
|
70649
70138
|
});
|
|
70650
70139
|
|
|
70651
70140
|
// ../../canvas/drawing/smartart/src/engine/algorithms/cycle.ts
|
|
70141
|
+
var import_smartart5;
|
|
70652
70142
|
var init_cycle2 = __esm({
|
|
70653
70143
|
"../../canvas/drawing/smartart/src/engine/algorithms/cycle.ts"() {
|
|
70654
70144
|
"use strict";
|
|
70655
70145
|
init_cjs_shims();
|
|
70656
|
-
|
|
70146
|
+
import_smartart5 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70657
70147
|
init_param_utils();
|
|
70658
70148
|
}
|
|
70659
70149
|
});
|
|
70660
70150
|
|
|
70661
70151
|
// ../../canvas/drawing/smartart/src/engine/algorithms/hier-root.ts
|
|
70152
|
+
var import_smartart6;
|
|
70662
70153
|
var init_hier_root = __esm({
|
|
70663
70154
|
"../../canvas/drawing/smartart/src/engine/algorithms/hier-root.ts"() {
|
|
70664
70155
|
"use strict";
|
|
70665
70156
|
init_cjs_shims();
|
|
70666
|
-
|
|
70157
|
+
import_smartart6 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70667
70158
|
init_param_utils();
|
|
70668
70159
|
}
|
|
70669
70160
|
});
|
|
70670
70161
|
|
|
70671
70162
|
// ../../canvas/drawing/smartart/src/engine/algorithms/hier-child.ts
|
|
70163
|
+
var import_smartart7;
|
|
70672
70164
|
var init_hier_child = __esm({
|
|
70673
70165
|
"../../canvas/drawing/smartart/src/engine/algorithms/hier-child.ts"() {
|
|
70674
70166
|
"use strict";
|
|
70675
70167
|
init_cjs_shims();
|
|
70676
|
-
|
|
70168
|
+
import_smartart7 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70677
70169
|
init_param_utils();
|
|
70678
70170
|
}
|
|
70679
70171
|
});
|
|
70680
70172
|
|
|
70681
70173
|
// ../../canvas/drawing/smartart/src/engine/algorithms/pyramid.ts
|
|
70174
|
+
var import_smartart8;
|
|
70682
70175
|
var init_pyramid2 = __esm({
|
|
70683
70176
|
"../../canvas/drawing/smartart/src/engine/algorithms/pyramid.ts"() {
|
|
70684
70177
|
"use strict";
|
|
70685
70178
|
init_cjs_shims();
|
|
70686
|
-
|
|
70179
|
+
import_smartart8 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70687
70180
|
init_param_utils();
|
|
70688
70181
|
}
|
|
70689
70182
|
});
|
|
70690
70183
|
|
|
70691
70184
|
// ../../canvas/drawing/smartart/src/engine/algorithms/connector.ts
|
|
70185
|
+
var import_smartart9;
|
|
70692
70186
|
var init_connector = __esm({
|
|
70693
70187
|
"../../canvas/drawing/smartart/src/engine/algorithms/connector.ts"() {
|
|
70694
70188
|
"use strict";
|
|
70695
70189
|
init_cjs_shims();
|
|
70696
|
-
|
|
70190
|
+
import_smartart9 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70697
70191
|
init_connector_routing();
|
|
70698
70192
|
init_param_utils();
|
|
70699
70193
|
}
|
|
70700
70194
|
});
|
|
70701
70195
|
|
|
70702
70196
|
// ../../canvas/drawing/smartart/src/engine/algorithms/text.ts
|
|
70197
|
+
var import_smartart10;
|
|
70703
70198
|
var init_text3 = __esm({
|
|
70704
70199
|
"../../canvas/drawing/smartart/src/engine/algorithms/text.ts"() {
|
|
70705
70200
|
"use strict";
|
|
70706
70201
|
init_cjs_shims();
|
|
70707
|
-
|
|
70202
|
+
import_smartart10 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70708
70203
|
init_param_utils();
|
|
70709
70204
|
}
|
|
70710
70205
|
});
|
|
70711
70206
|
|
|
70712
70207
|
// ../../canvas/drawing/smartart/src/engine/algorithms/space.ts
|
|
70208
|
+
var import_smartart11;
|
|
70713
70209
|
var init_space = __esm({
|
|
70714
70210
|
"../../canvas/drawing/smartart/src/engine/algorithms/space.ts"() {
|
|
70715
70211
|
"use strict";
|
|
70716
70212
|
init_cjs_shims();
|
|
70717
|
-
|
|
70213
|
+
import_smartart11 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70718
70214
|
}
|
|
70719
70215
|
});
|
|
70720
70216
|
|
|
@@ -70873,19 +70369,19 @@ var init_drawing_parser = __esm({
|
|
|
70873
70369
|
});
|
|
70874
70370
|
|
|
70875
70371
|
// ../../canvas/drawing/smartart/src/parser/layout-def-parser.ts
|
|
70876
|
-
var VALID_ELEMENT_TYPES, VALID_FUNCTION_TYPES, VALID_FUNCTION_OPERATORS, VALID_FUNCTION_ARGUMENTS;
|
|
70372
|
+
var import_smartart12, VALID_ELEMENT_TYPES, VALID_FUNCTION_TYPES, VALID_FUNCTION_OPERATORS, VALID_FUNCTION_ARGUMENTS;
|
|
70877
70373
|
var init_layout_def_parser = __esm({
|
|
70878
70374
|
"../../canvas/drawing/smartart/src/parser/layout-def-parser.ts"() {
|
|
70879
70375
|
"use strict";
|
|
70880
70376
|
init_cjs_shims();
|
|
70881
|
-
|
|
70377
|
+
import_smartart12 = require("@mog-sdk/spreadsheet-contracts/smartart");
|
|
70882
70378
|
init_data_model_parser();
|
|
70883
70379
|
init_drawingml_helpers();
|
|
70884
70380
|
init_xml_helpers();
|
|
70885
|
-
VALID_ELEMENT_TYPES = new Set(ALL_ELEMENT_TYPES);
|
|
70886
|
-
VALID_FUNCTION_TYPES = new Set(ALL_FUNCTION_TYPES);
|
|
70887
|
-
VALID_FUNCTION_OPERATORS = new Set(ALL_FUNCTION_OPERATORS);
|
|
70888
|
-
VALID_FUNCTION_ARGUMENTS = new Set(ALL_FUNCTION_ARGUMENTS);
|
|
70381
|
+
VALID_ELEMENT_TYPES = new Set(import_smartart12.ALL_ELEMENT_TYPES);
|
|
70382
|
+
VALID_FUNCTION_TYPES = new Set(import_smartart12.ALL_FUNCTION_TYPES);
|
|
70383
|
+
VALID_FUNCTION_OPERATORS = new Set(import_smartart12.ALL_FUNCTION_OPERATORS);
|
|
70384
|
+
VALID_FUNCTION_ARGUMENTS = new Set(import_smartart12.ALL_FUNCTION_ARGUMENTS);
|
|
70889
70385
|
}
|
|
70890
70386
|
});
|
|
70891
70387
|
|
|
@@ -74780,7 +74276,7 @@ var init_cell_anchor_resolver = __esm({
|
|
|
74780
74276
|
});
|
|
74781
74277
|
|
|
74782
74278
|
// ../../kernel/src/floating-objects/types.ts
|
|
74783
|
-
var
|
|
74279
|
+
var init_types4 = __esm({
|
|
74784
74280
|
"../../kernel/src/floating-objects/types.ts"() {
|
|
74785
74281
|
"use strict";
|
|
74786
74282
|
init_cjs_shims();
|
|
@@ -74879,7 +74375,7 @@ var init_picture_manager = __esm({
|
|
|
74879
74375
|
"use strict";
|
|
74880
74376
|
init_cjs_shims();
|
|
74881
74377
|
init_document();
|
|
74882
|
-
|
|
74378
|
+
init_types4();
|
|
74883
74379
|
}
|
|
74884
74380
|
});
|
|
74885
74381
|
|
|
@@ -74981,7 +74477,7 @@ var init_textbox_manager = __esm({
|
|
|
74981
74477
|
"../../kernel/src/floating-objects/managers/textbox-manager.ts"() {
|
|
74982
74478
|
"use strict";
|
|
74983
74479
|
init_cjs_shims();
|
|
74984
|
-
|
|
74480
|
+
init_types4();
|
|
74985
74481
|
DEFAULT_TEXTBOX_FILL = { type: "solid", color: "#ffffff" };
|
|
74986
74482
|
DEFAULT_TEXTBOX_BORDER = { style: "solid", color: "#000000", width: 1 };
|
|
74987
74483
|
}
|
|
@@ -76162,7 +75658,7 @@ var init_kernel_context = __esm({
|
|
|
76162
75658
|
init_cjs_shims();
|
|
76163
75659
|
init_chart_bridge();
|
|
76164
75660
|
init_equation_bridge();
|
|
76165
|
-
|
|
75661
|
+
init_ink_recognition_bridge();
|
|
76166
75662
|
init_locale_bridge();
|
|
76167
75663
|
init_pivot_bridge();
|
|
76168
75664
|
init_schema_bridge();
|
|
@@ -77184,20 +76680,7 @@ var WorkbookHistoryImpl = class {
|
|
|
77184
76680
|
|
|
77185
76681
|
// ../../kernel/src/api/workbook/names.ts
|
|
77186
76682
|
init_cjs_shims();
|
|
77187
|
-
|
|
77188
|
-
// ../../contracts/src/api/index.ts
|
|
77189
|
-
init_cjs_shims();
|
|
77190
|
-
|
|
77191
|
-
// ../../contracts/src/api/types.ts
|
|
77192
|
-
init_cjs_shims();
|
|
77193
|
-
|
|
77194
|
-
// ../../contracts/src/api/worksheet/index.ts
|
|
77195
|
-
init_cjs_shims();
|
|
77196
|
-
|
|
77197
|
-
// ../../contracts/src/api/worksheet/format-mappings.ts
|
|
77198
|
-
init_cjs_shims();
|
|
77199
|
-
|
|
77200
|
-
// ../../kernel/src/api/workbook/names.ts
|
|
76683
|
+
var import_api = require("@mog-sdk/spreadsheet-contracts/api");
|
|
77201
76684
|
init_errors();
|
|
77202
76685
|
|
|
77203
76686
|
// ../../kernel/src/domain/formulas/named-ranges.ts
|
|
@@ -77330,6 +76813,10 @@ async function getRefersToA1(ctx, name) {
|
|
|
77330
76813
|
const a1 = await ctx.computeBridge.toA1Display(NIL_SHEET_ID, wire);
|
|
77331
76814
|
return a1.startsWith("=") ? a1 : `=${a1}`;
|
|
77332
76815
|
}
|
|
76816
|
+
async function getVisible(ctx) {
|
|
76817
|
+
const rustNames = await ctx.computeBridge.getVisibleNamedRanges();
|
|
76818
|
+
return rustNames.map(mapRustNamedRange);
|
|
76819
|
+
}
|
|
77333
76820
|
async function create2(ctx, input, contextSheet, _origin = "user") {
|
|
77334
76821
|
const formula = await ctx.computeBridge.toIdentityFormula(contextSheet, input.refersToA1);
|
|
77335
76822
|
const rawFormula = formula;
|
|
@@ -77415,7 +76902,7 @@ async function update2(ctx, id, updates, contextSheet, _origin = "user") {
|
|
|
77415
76902
|
}
|
|
77416
76903
|
const newName = updates.name ?? existing.name;
|
|
77417
76904
|
if (newName !== existing.name) {
|
|
77418
|
-
void ctx.computeBridge.
|
|
76905
|
+
void ctx.computeBridge.removeNamedRangeById(existing.id);
|
|
77419
76906
|
}
|
|
77420
76907
|
let refersToWire = identityFormulaToWire(existing.refersTo);
|
|
77421
76908
|
if (updates.refersToA1) {
|
|
@@ -77502,7 +76989,7 @@ async function remove(ctx, id, _origin = "user") {
|
|
|
77502
76989
|
if (!existing) {
|
|
77503
76990
|
throw new KernelError("DOMAIN_DEFINED_NAME_NOT_FOUND", `Defined name with ID ${id} not found`);
|
|
77504
76991
|
}
|
|
77505
|
-
void ctx.computeBridge.
|
|
76992
|
+
void ctx.computeBridge.removeNamedRangeById(existing.id);
|
|
77506
76993
|
}
|
|
77507
76994
|
async function exportNames(ctx) {
|
|
77508
76995
|
const all = await getAll(ctx);
|
|
@@ -77527,7 +77014,7 @@ function sanitizeLabel(label) {
|
|
|
77527
77014
|
}
|
|
77528
77015
|
return name;
|
|
77529
77016
|
}
|
|
77530
|
-
function
|
|
77017
|
+
function colToLetter2(col) {
|
|
77531
77018
|
let result = "";
|
|
77532
77019
|
let c = col;
|
|
77533
77020
|
while (c >= 0) {
|
|
@@ -77601,7 +77088,7 @@ async function createFromSelection(ctx, sheetId, range2, options, _origin = "use
|
|
|
77601
77088
|
result.skippedReasons.push({ label: name, reason: validation.message ?? "invalid name" });
|
|
77602
77089
|
return;
|
|
77603
77090
|
}
|
|
77604
|
-
const refersToA1 = refStartRow === refEndRow && refStartCol === refEndCol ? `=$${
|
|
77091
|
+
const refersToA1 = refStartRow === refEndRow && refStartCol === refEndCol ? `=$${colToLetter2(refStartCol)}$${refStartRow + 1}` : `=$${colToLetter2(refStartCol)}$${refStartRow + 1}:$${colToLetter2(refEndCol)}$${refEndRow + 1}`;
|
|
77605
77092
|
try {
|
|
77606
77093
|
await create2(ctx, { name: sanitized, refersToA1 }, sheetId);
|
|
77607
77094
|
existingKeys.add(key);
|
|
@@ -77816,13 +77303,13 @@ var WorkbookNamesImpl = class {
|
|
|
77816
77303
|
if (!values) return null;
|
|
77817
77304
|
return values.map(
|
|
77818
77305
|
(row) => row.map((cell) => {
|
|
77819
|
-
if (cell === null || cell === void 0) return
|
|
77820
|
-
if (typeof cell === "boolean") return
|
|
77821
|
-
if (typeof cell === "number") return
|
|
77822
|
-
if (typeof cell === "string") return
|
|
77306
|
+
if (cell === null || cell === void 0) return import_api.RangeValueType.Empty;
|
|
77307
|
+
if (typeof cell === "boolean") return import_api.RangeValueType.Boolean;
|
|
77308
|
+
if (typeof cell === "number") return import_api.RangeValueType.Double;
|
|
77309
|
+
if (typeof cell === "string") return import_api.RangeValueType.String;
|
|
77823
77310
|
if (typeof cell === "object" && cell !== null && "type" in cell)
|
|
77824
|
-
return
|
|
77825
|
-
return
|
|
77311
|
+
return import_api.RangeValueType.Error;
|
|
77312
|
+
return import_api.RangeValueType.String;
|
|
77826
77313
|
})
|
|
77827
77314
|
);
|
|
77828
77315
|
}
|
|
@@ -77914,7 +77401,7 @@ var BUILT_IN_LISTS = [
|
|
|
77914
77401
|
];
|
|
77915
77402
|
|
|
77916
77403
|
// ../../kernel/src/domain/workbook/workbook.ts
|
|
77917
|
-
|
|
77404
|
+
var import_protection2 = require("@mog-sdk/spreadsheet-contracts/protection");
|
|
77918
77405
|
|
|
77919
77406
|
// ../../spreadsheet-utils/src/protection.ts
|
|
77920
77407
|
init_cjs_shims();
|
|
@@ -77954,7 +77441,7 @@ async function setSelectedSheetIds(ctx, sheetIds, _origin = "user") {
|
|
|
77954
77441
|
}
|
|
77955
77442
|
async function protect(ctx, password, options, _origin = "user") {
|
|
77956
77443
|
const fullOptions = {
|
|
77957
|
-
...DEFAULT_WORKBOOK_PROTECTION_OPTIONS,
|
|
77444
|
+
...import_protection2.DEFAULT_WORKBOOK_PROTECTION_OPTIONS,
|
|
77958
77445
|
...options
|
|
77959
77446
|
};
|
|
77960
77447
|
const current = await getSettings(ctx);
|
|
@@ -78370,7 +77857,7 @@ init_sheet_meta();
|
|
|
78370
77857
|
|
|
78371
77858
|
// ../../kernel/src/api/worksheet/worksheet-impl.ts
|
|
78372
77859
|
init_cjs_shims();
|
|
78373
|
-
|
|
77860
|
+
var import_core6 = require("@mog-sdk/spreadsheet-contracts/core");
|
|
78374
77861
|
init_errors3();
|
|
78375
77862
|
init_errors();
|
|
78376
77863
|
|
|
@@ -78873,6 +78360,7 @@ init_cell_properties();
|
|
|
78873
78360
|
var MAX_RANGE_CELLS = 1e4;
|
|
78874
78361
|
var MAX_RANGE_BOUNDING_BOX = 5e5;
|
|
78875
78362
|
var MAX_DESCRIBE_OUTPUT_CHARS = 5e4;
|
|
78363
|
+
var MAX_SUMMARY_NAMED_RANGES = 20;
|
|
78876
78364
|
async function getStyleHints(ctx, sheetId, row, col) {
|
|
78877
78365
|
const format = await getFormat(ctx, sheetId, row, col);
|
|
78878
78366
|
if (!format) return null;
|
|
@@ -78962,7 +78450,7 @@ function generateFormulaDocumentation(analysis) {
|
|
|
78962
78450
|
const lines = [""];
|
|
78963
78451
|
for (const info of significantPatterns) {
|
|
78964
78452
|
const examples = info.cells.slice(0, 2).map((cell) => {
|
|
78965
|
-
const addr = `${
|
|
78453
|
+
const addr = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
78966
78454
|
return `${addr}: =${cell.formula}`;
|
|
78967
78455
|
});
|
|
78968
78456
|
const exampleStr = examples.length > 0 ? ` (e.g. ${examples.join(", ")})` : "";
|
|
@@ -79021,7 +78509,7 @@ function buildLeftContext(leftCells, startRow, startCol, endRow) {
|
|
|
79021
78509
|
found.sort((a, b) => a.col - b.col);
|
|
79022
78510
|
const tokens = found.map((f) => {
|
|
79023
78511
|
const prefix = "\u2192".repeat(Math.max(0, f.indent));
|
|
79024
|
-
const addr = `${
|
|
78512
|
+
const addr = `${colToLetter3(f.col)}${row + 1}`;
|
|
79025
78513
|
return `${prefix}${addr}:${f.text}`;
|
|
79026
78514
|
});
|
|
79027
78515
|
lines.push(tokens.join(" | "));
|
|
@@ -79093,7 +78581,7 @@ function buildAboveContext(aboveCells, startRow, startCol, endCol) {
|
|
|
79093
78581
|
sawNumeric = true;
|
|
79094
78582
|
continue;
|
|
79095
78583
|
}
|
|
79096
|
-
const addr = `${
|
|
78584
|
+
const addr = `${colToLetter3(c)}${bestRow + 1}`;
|
|
79097
78585
|
if (tokens.length > 0 && sawNumeric) tokens.push("...");
|
|
79098
78586
|
tokens.push(`${addr}:${d}`);
|
|
79099
78587
|
sawNumeric = false;
|
|
@@ -79151,8 +78639,8 @@ function consolidateRanges(cells) {
|
|
|
79151
78639
|
covered.add(`${r},${c}`);
|
|
79152
78640
|
}
|
|
79153
78641
|
}
|
|
79154
|
-
const start = `${
|
|
79155
|
-
const end = `${
|
|
78642
|
+
const start = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
78643
|
+
const end = `${colToLetter3(endCol)}${endRow + 1}`;
|
|
79156
78644
|
ranges.push(start === end ? start : `${start}:${end}`);
|
|
79157
78645
|
}
|
|
79158
78646
|
return ranges;
|
|
@@ -79223,9 +78711,12 @@ async function getDisplayValue(ctx, sheetId, row, col) {
|
|
|
79223
78711
|
async function getCell(ctx, sheetId, row, col) {
|
|
79224
78712
|
const data = await getData(ctx, sheetId, row, col);
|
|
79225
78713
|
if (!data) return void 0;
|
|
78714
|
+
const fmt = await getFormat(ctx, sheetId, row, col);
|
|
79226
78715
|
return {
|
|
79227
78716
|
value: (data.formula !== void 0 ? data.computed : rawToCellValue(data.raw)) ?? null,
|
|
79228
|
-
formula: data.formula
|
|
78717
|
+
formula: data.formula,
|
|
78718
|
+
format: fmt ?? void 0,
|
|
78719
|
+
formatted: await getDisplayValue(ctx, sheetId, row, col) ?? void 0
|
|
79229
78720
|
};
|
|
79230
78721
|
}
|
|
79231
78722
|
async function getDisplayValue2(ctx, sheetId, row, col) {
|
|
@@ -79246,10 +78737,11 @@ async function setCell(ctx, sheetId, row, col, value) {
|
|
|
79246
78737
|
throw KernelError.from(null, "COMPUTE_ERROR", `Invalid cell address: row=${row}, col=${col}`);
|
|
79247
78738
|
}
|
|
79248
78739
|
const input = value === null || value === void 0 ? "" : value === "" ? "\0" : String(value);
|
|
79249
|
-
|
|
78740
|
+
ctx.computeBridge.getMutationHandler()?.changeAccumulator.setDirectEdits([{ sheetId, row, col }]);
|
|
78741
|
+
await ctx.computeBridge.setCellsByPosition(sheetId, [{ row, col, input }]);
|
|
79250
78742
|
}
|
|
79251
78743
|
async function setCells(ctx, sheetId, cells) {
|
|
79252
|
-
if (cells.length === 0) return { cellsWritten: 0 };
|
|
78744
|
+
if (cells.length === 0) return { cellsWritten: 0, errors: null };
|
|
79253
78745
|
const edits = cells.map((cell) => {
|
|
79254
78746
|
let row;
|
|
79255
78747
|
let col;
|
|
@@ -79271,13 +78763,20 @@ async function setCells(ctx, sheetId, cells) {
|
|
|
79271
78763
|
}
|
|
79272
78764
|
const uniqueEdits = Array.from(deduped.values());
|
|
79273
78765
|
const duplicatesRemoved = edits.length - uniqueEdits.length;
|
|
78766
|
+
ctx.computeBridge.getMutationHandler()?.changeAccumulator.setDirectEdits(
|
|
78767
|
+
uniqueEdits.map((e) => ({ sheetId, row: e.row, col: e.col }))
|
|
78768
|
+
);
|
|
79274
78769
|
await ctx.computeBridge.setCellsByPosition(sheetId, uniqueEdits);
|
|
79275
|
-
const result = { cellsWritten: uniqueEdits.length };
|
|
78770
|
+
const result = { cellsWritten: uniqueEdits.length, errors: null };
|
|
79276
78771
|
if (duplicatesRemoved > 0) {
|
|
79277
78772
|
result.warnings = [
|
|
79278
|
-
createWarning(
|
|
79279
|
-
|
|
79280
|
-
|
|
78773
|
+
createWarning(
|
|
78774
|
+
"API_DUPLICATE_COORDINATES",
|
|
78775
|
+
`${duplicatesRemoved} duplicate coordinate(s) resolved by last-write-wins`,
|
|
78776
|
+
{
|
|
78777
|
+
duplicatesRemoved
|
|
78778
|
+
}
|
|
78779
|
+
)
|
|
79281
78780
|
];
|
|
79282
78781
|
}
|
|
79283
78782
|
return result;
|
|
@@ -79378,7 +78877,7 @@ async function batchGetCellPositions(ctx, sheetId, cellIds) {
|
|
|
79378
78877
|
|
|
79379
78878
|
// ../../kernel/src/api/worksheet/operations/dependency-operations.ts
|
|
79380
78879
|
init_cjs_shims();
|
|
79381
|
-
function
|
|
78880
|
+
function colToLetter4(col) {
|
|
79382
78881
|
let result = "";
|
|
79383
78882
|
let c = col;
|
|
79384
78883
|
while (c >= 0) {
|
|
@@ -79389,11 +78888,11 @@ function colToLetter3(col) {
|
|
|
79389
78888
|
}
|
|
79390
78889
|
async function getDependents(ctx, sheetId, row, col) {
|
|
79391
78890
|
const results = await ctx.computeBridge.getDependents(sheetId, row, col);
|
|
79392
|
-
return results.map((r) => `${
|
|
78891
|
+
return results.map((r) => `${colToLetter4(r.col)}${r.row + 1}`);
|
|
79393
78892
|
}
|
|
79394
78893
|
async function getPrecedents(ctx, sheetId, row, col) {
|
|
79395
78894
|
const results = await ctx.computeBridge.getPrecedents(sheetId, row, col);
|
|
79396
|
-
return results.map((r) => `${
|
|
78895
|
+
return results.map((r) => `${colToLetter4(r.col)}${r.row + 1}`);
|
|
79397
78896
|
}
|
|
79398
78897
|
|
|
79399
78898
|
// ../../kernel/src/api/worksheet/operations/fill-operations.ts
|
|
@@ -79446,7 +78945,8 @@ async function autoFill(ctx, sheetId, sourceRange, targetRange, mode) {
|
|
|
79446
78945
|
return {
|
|
79447
78946
|
patternType: fillData?.patternType ?? "copy",
|
|
79448
78947
|
filledCellCount: fillData?.filledCellCount ?? 0,
|
|
79449
|
-
warnings: fillData?.warnings ?? []
|
|
78948
|
+
warnings: fillData?.warnings ?? [],
|
|
78949
|
+
changes: fillData?.changes ?? []
|
|
79450
78950
|
};
|
|
79451
78951
|
}
|
|
79452
78952
|
function splitRangeForSeries(range2, direction) {
|
|
@@ -79770,14 +79270,14 @@ async function regexSearch(ctx, sheetId, patterns, options) {
|
|
|
79770
79270
|
for (const { regex, source } of compiledPatterns) {
|
|
79771
79271
|
regex.lastIndex = 0;
|
|
79772
79272
|
if (regex.test(valueStr)) {
|
|
79773
|
-
const address = `${
|
|
79273
|
+
const address = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
79774
79274
|
results.push({ address, value: valueStr, sheetName, matchedPattern: source });
|
|
79775
79275
|
break;
|
|
79776
79276
|
}
|
|
79777
79277
|
if (options?.includeFormulas && cell.formula) {
|
|
79778
79278
|
regex.lastIndex = 0;
|
|
79779
79279
|
if (regex.test(cell.formula)) {
|
|
79780
|
-
const address = `${
|
|
79280
|
+
const address = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
79781
79281
|
results.push({ address, value: valueStr, sheetName, matchedPattern: source });
|
|
79782
79282
|
break;
|
|
79783
79283
|
}
|
|
@@ -79933,7 +79433,7 @@ async function clearRange2(ctx, sheetId, range2) {
|
|
|
79933
79433
|
}
|
|
79934
79434
|
}
|
|
79935
79435
|
}
|
|
79936
|
-
return { success: true, data:
|
|
79436
|
+
return { success: true, data: { cellCount }, affectedCells };
|
|
79937
79437
|
} catch (e) {
|
|
79938
79438
|
return {
|
|
79939
79439
|
success: false,
|
|
@@ -79944,6 +79444,7 @@ async function clearRange2(ctx, sheetId, range2) {
|
|
|
79944
79444
|
|
|
79945
79445
|
// ../../kernel/src/api/worksheet/operations/range-query-operations.ts
|
|
79946
79446
|
init_cjs_shims();
|
|
79447
|
+
var import_api3 = require("@mog-sdk/spreadsheet-contracts/api");
|
|
79947
79448
|
init_a1();
|
|
79948
79449
|
init_value_conversions();
|
|
79949
79450
|
async function clearWithMode(ctx, sheetId, range2, applyTo = "all") {
|
|
@@ -79965,6 +79466,8 @@ async function clearWithMode(ctx, sheetId, range2, applyTo = "all") {
|
|
|
79965
79466
|
promises.push(clearHyperlinksInRange(ctx, sheetId, n));
|
|
79966
79467
|
}
|
|
79967
79468
|
await Promise.all(promises);
|
|
79469
|
+
const cellCount = (n.endRow - n.startRow + 1) * (n.endCol - n.startCol + 1);
|
|
79470
|
+
return { cellCount };
|
|
79968
79471
|
}
|
|
79969
79472
|
async function clearHyperlinksInRange(ctx, sheetId, range2) {
|
|
79970
79473
|
const rangeResult = await ctx.computeBridge.queryRange(
|
|
@@ -80043,7 +79546,7 @@ async function getValueTypes(ctx, sheetId, range2) {
|
|
|
80043
79546
|
for (let col = n.startCol; col <= n.endCol; col++) {
|
|
80044
79547
|
const cell = cellMap.get(`${row},${col}`);
|
|
80045
79548
|
if (!cell) {
|
|
80046
|
-
rowData.push(
|
|
79549
|
+
rowData.push(import_api3.RangeValueType.Empty);
|
|
80047
79550
|
} else {
|
|
80048
79551
|
rowData.push(classifyValueType(viewportCellValueToCellValue(cell.value)));
|
|
80049
79552
|
}
|
|
@@ -80053,12 +79556,12 @@ async function getValueTypes(ctx, sheetId, range2) {
|
|
|
80053
79556
|
return result;
|
|
80054
79557
|
}
|
|
80055
79558
|
function classifyValueType(value) {
|
|
80056
|
-
if (value === null || value === void 0) return
|
|
80057
|
-
if (typeof value === "string") return value === "" ?
|
|
80058
|
-
if (typeof value === "number") return
|
|
80059
|
-
if (typeof value === "boolean") return
|
|
80060
|
-
if (typeof value === "object" && value !== null && "type" in value) return
|
|
80061
|
-
return
|
|
79559
|
+
if (value === null || value === void 0) return import_api3.RangeValueType.Empty;
|
|
79560
|
+
if (typeof value === "string") return value === "" ? import_api3.RangeValueType.Empty : import_api3.RangeValueType.String;
|
|
79561
|
+
if (typeof value === "number") return import_api3.RangeValueType.Double;
|
|
79562
|
+
if (typeof value === "boolean") return import_api3.RangeValueType.Boolean;
|
|
79563
|
+
if (typeof value === "object" && value !== null && "type" in value) return import_api3.RangeValueType.Error;
|
|
79564
|
+
return import_api3.RangeValueType.String;
|
|
80062
79565
|
}
|
|
80063
79566
|
async function findInRange(ctx, sheetId, range2, text, options) {
|
|
80064
79567
|
const n = normalizeRange(range2);
|
|
@@ -80083,7 +79586,7 @@ async function findInRange(ctx, sheetId, range2, text, options) {
|
|
|
80083
79586
|
const valueStr = cell.formatted ?? viewportCellValueToString(cell.value);
|
|
80084
79587
|
if (pattern.test(valueStr)) {
|
|
80085
79588
|
return {
|
|
80086
|
-
address: `${
|
|
79589
|
+
address: `${colToLetter3(cell.col)}${cell.row + 1}`,
|
|
80087
79590
|
value: valueStr
|
|
80088
79591
|
};
|
|
80089
79592
|
}
|
|
@@ -80155,46 +79658,46 @@ async function getNumberFormatCategories(ctx, sheetId, range2) {
|
|
|
80155
79658
|
}
|
|
80156
79659
|
function detectFormatType(formatCode) {
|
|
80157
79660
|
if (!formatCode || formatCode === "" || formatCode === "General") {
|
|
80158
|
-
return
|
|
79661
|
+
return import_api3.NumberFormatCategory.General;
|
|
80159
79662
|
}
|
|
80160
79663
|
if (formatCode === "@") {
|
|
80161
|
-
return
|
|
79664
|
+
return import_api3.NumberFormatCategory.Text;
|
|
80162
79665
|
}
|
|
80163
79666
|
const stripped = formatCode.replace(/\[[^\]]*\]/g, "").replace(/"[^"]*"/g, "");
|
|
80164
79667
|
if (/[yYmMdD]/.test(stripped) && /[yYdD]/.test(stripped)) {
|
|
80165
|
-
return
|
|
79668
|
+
return import_api3.NumberFormatCategory.Date;
|
|
80166
79669
|
}
|
|
80167
79670
|
if (/[hHsS]/.test(stripped)) {
|
|
80168
79671
|
if (/[yYdD]/.test(stripped)) {
|
|
80169
|
-
return
|
|
79672
|
+
return import_api3.NumberFormatCategory.Date;
|
|
80170
79673
|
}
|
|
80171
|
-
return
|
|
79674
|
+
return import_api3.NumberFormatCategory.Time;
|
|
80172
79675
|
}
|
|
80173
79676
|
if (/AM\/PM/i.test(stripped)) {
|
|
80174
|
-
return
|
|
79677
|
+
return import_api3.NumberFormatCategory.Time;
|
|
80175
79678
|
}
|
|
80176
79679
|
if (stripped.includes("%")) {
|
|
80177
|
-
return
|
|
79680
|
+
return import_api3.NumberFormatCategory.Percentage;
|
|
80178
79681
|
}
|
|
80179
79682
|
if (/[eE][+-]/.test(stripped)) {
|
|
80180
|
-
return
|
|
79683
|
+
return import_api3.NumberFormatCategory.Scientific;
|
|
80181
79684
|
}
|
|
80182
79685
|
if (stripped.includes("/") && !/[yYmMdDhHsS]/.test(stripped)) {
|
|
80183
|
-
return
|
|
79686
|
+
return import_api3.NumberFormatCategory.Fraction;
|
|
80184
79687
|
}
|
|
80185
79688
|
if (/[_*]/.test(stripped) && /[$(]/.test(stripped)) {
|
|
80186
|
-
return
|
|
79689
|
+
return import_api3.NumberFormatCategory.Accounting;
|
|
80187
79690
|
}
|
|
80188
79691
|
if (/[$€£¥₹]/.test(formatCode)) {
|
|
80189
|
-
return
|
|
79692
|
+
return import_api3.NumberFormatCategory.Currency;
|
|
80190
79693
|
}
|
|
80191
79694
|
if (/^0{5}/.test(stripped) || /^0{3}-0{2}-0{4}/.test(stripped)) {
|
|
80192
|
-
return
|
|
79695
|
+
return import_api3.NumberFormatCategory.Special;
|
|
80193
79696
|
}
|
|
80194
79697
|
if (/[#0]/.test(stripped)) {
|
|
80195
|
-
return
|
|
79698
|
+
return import_api3.NumberFormatCategory.Number;
|
|
80196
79699
|
}
|
|
80197
|
-
return
|
|
79700
|
+
return import_api3.NumberFormatCategory.Custom;
|
|
80198
79701
|
}
|
|
80199
79702
|
|
|
80200
79703
|
// ../../kernel/src/api/worksheet/operations/sort-operations.ts
|
|
@@ -80970,6 +80473,84 @@ var WorksheetBindingsImpl = class {
|
|
|
80970
80473
|
}
|
|
80971
80474
|
};
|
|
80972
80475
|
|
|
80476
|
+
// ../../kernel/src/api/worksheet/index.ts
|
|
80477
|
+
init_change_accumulator();
|
|
80478
|
+
|
|
80479
|
+
// ../../kernel/src/api/worksheet/changes.ts
|
|
80480
|
+
init_cjs_shims();
|
|
80481
|
+
function parseRangeScope(scope) {
|
|
80482
|
+
const match = scope.match(/^([A-Z]+)(\d+):([A-Z]+)(\d+)$/i);
|
|
80483
|
+
if (!match) return null;
|
|
80484
|
+
const startCol = letterToCol2(match[1].toUpperCase());
|
|
80485
|
+
const startRow = parseInt(match[2], 10) - 1;
|
|
80486
|
+
const endCol = letterToCol2(match[3].toUpperCase());
|
|
80487
|
+
const endRow = parseInt(match[4], 10) - 1;
|
|
80488
|
+
return { startRow, startCol, endRow, endCol };
|
|
80489
|
+
}
|
|
80490
|
+
function letterToCol2(letters) {
|
|
80491
|
+
let col = 0;
|
|
80492
|
+
for (let i = 0; i < letters.length; i++) {
|
|
80493
|
+
col = col * 26 + (letters.charCodeAt(i) - 64);
|
|
80494
|
+
}
|
|
80495
|
+
return col - 1;
|
|
80496
|
+
}
|
|
80497
|
+
var ChangeTrackerImpl = class {
|
|
80498
|
+
constructor(sheetId, options, unregister) {
|
|
80499
|
+
this._active = true;
|
|
80500
|
+
this.buffer = [];
|
|
80501
|
+
this.sheetId = sheetId;
|
|
80502
|
+
this.unregister = unregister;
|
|
80503
|
+
this.scopeBounds = options?.scope ? parseRangeScope(options.scope) : null;
|
|
80504
|
+
this.excludeOrigins = options?.excludeOrigins && options.excludeOrigins.length > 0 ? new Set(options.excludeOrigins) : null;
|
|
80505
|
+
}
|
|
80506
|
+
// --- TrackerHandle (called by ChangeAccumulator) ---
|
|
80507
|
+
_ingest(records) {
|
|
80508
|
+
if (!this._active) return;
|
|
80509
|
+
for (const record of records) {
|
|
80510
|
+
if (this.excludeOrigins?.has(record.origin)) continue;
|
|
80511
|
+
if (this.scopeBounds) {
|
|
80512
|
+
const { startRow, startCol, endRow, endCol } = this.scopeBounds;
|
|
80513
|
+
if (record.row < startRow || record.row > endRow || record.col < startCol || record.col > endCol) {
|
|
80514
|
+
continue;
|
|
80515
|
+
}
|
|
80516
|
+
}
|
|
80517
|
+
this.buffer.push(record);
|
|
80518
|
+
}
|
|
80519
|
+
}
|
|
80520
|
+
// --- ChangeTracker public API ---
|
|
80521
|
+
collect() {
|
|
80522
|
+
const result = this.buffer;
|
|
80523
|
+
this.buffer = [];
|
|
80524
|
+
return result;
|
|
80525
|
+
}
|
|
80526
|
+
close() {
|
|
80527
|
+
if (!this._active) return;
|
|
80528
|
+
this._active = false;
|
|
80529
|
+
this.buffer = [];
|
|
80530
|
+
this.unregister();
|
|
80531
|
+
}
|
|
80532
|
+
get active() {
|
|
80533
|
+
return this._active;
|
|
80534
|
+
}
|
|
80535
|
+
};
|
|
80536
|
+
var WorksheetChangesImpl = class {
|
|
80537
|
+
constructor(ctx, sheetId) {
|
|
80538
|
+
this.ctx = ctx;
|
|
80539
|
+
this.sheetId = sheetId;
|
|
80540
|
+
}
|
|
80541
|
+
track(options) {
|
|
80542
|
+
const accumulator = this.ctx.computeBridge.getMutationHandler()?.changeAccumulator;
|
|
80543
|
+
if (!accumulator) {
|
|
80544
|
+
throw new Error("Change tracking unavailable: MutationResultHandler not initialized");
|
|
80545
|
+
}
|
|
80546
|
+
const tracker = new ChangeTrackerImpl(this.sheetId, options, () => {
|
|
80547
|
+
accumulator.unregister(tracker);
|
|
80548
|
+
});
|
|
80549
|
+
accumulator.register(tracker);
|
|
80550
|
+
return tracker;
|
|
80551
|
+
}
|
|
80552
|
+
};
|
|
80553
|
+
|
|
80973
80554
|
// ../../kernel/src/api/worksheet/charts.ts
|
|
80974
80555
|
init_cjs_shims();
|
|
80975
80556
|
function buildStatisticalExtra(config) {
|
|
@@ -81399,7 +80980,7 @@ function cellRefToA1(cellRef) {
|
|
|
81399
80980
|
const col = parseInt(parts[0], 10);
|
|
81400
80981
|
const row = parseInt(parts[1], 10);
|
|
81401
80982
|
if (isNaN(col) || isNaN(row)) return cellRef;
|
|
81402
|
-
return
|
|
80983
|
+
return toA12(row, col);
|
|
81403
80984
|
}
|
|
81404
80985
|
function toApiComment(c) {
|
|
81405
80986
|
const text = c.content ?? c.runs.map((r) => r.text).join("");
|
|
@@ -81500,7 +81081,7 @@ var WorksheetCommentsImpl = class {
|
|
|
81500
81081
|
return {
|
|
81501
81082
|
content,
|
|
81502
81083
|
author: first.author,
|
|
81503
|
-
cellAddress:
|
|
81084
|
+
cellAddress: toA12(row, col)
|
|
81504
81085
|
};
|
|
81505
81086
|
}
|
|
81506
81087
|
async removeNote(a, b) {
|
|
@@ -81843,7 +81424,7 @@ var WorksheetFiltersImpl = class {
|
|
|
81843
81424
|
}
|
|
81844
81425
|
}
|
|
81845
81426
|
return {
|
|
81846
|
-
range: `${
|
|
81427
|
+
range: `${toA12(filter.startRow ?? 0, filter.startCol ?? 0)}:${toA12(filter.endRow ?? 0, filter.endCol ?? 0)}`,
|
|
81847
81428
|
columns
|
|
81848
81429
|
};
|
|
81849
81430
|
}
|
|
@@ -82218,7 +81799,12 @@ var WorksheetFormatsImpl = class {
|
|
|
82218
81799
|
col = b;
|
|
82219
81800
|
format = c;
|
|
82220
81801
|
}
|
|
82221
|
-
await this.ctx.computeBridge.setFormatForRanges(
|
|
81802
|
+
const result = await this.ctx.computeBridge.setFormatForRanges(
|
|
81803
|
+
this.sheetId,
|
|
81804
|
+
[[row, col, row, col]],
|
|
81805
|
+
format
|
|
81806
|
+
);
|
|
81807
|
+
return { cellCount: result.propertyChanges?.length ?? 0 };
|
|
82222
81808
|
}
|
|
82223
81809
|
async setRange(a, b) {
|
|
82224
81810
|
let range2;
|
|
@@ -82230,11 +81816,12 @@ var WorksheetFormatsImpl = class {
|
|
|
82230
81816
|
range2 = a;
|
|
82231
81817
|
}
|
|
82232
81818
|
const n = normalizeRange(range2);
|
|
82233
|
-
await this.ctx.computeBridge.setFormatForRanges(
|
|
81819
|
+
const result = await this.ctx.computeBridge.setFormatForRanges(
|
|
82234
81820
|
this.sheetId,
|
|
82235
81821
|
[[n.startRow, n.startCol, n.endRow, n.endCol]],
|
|
82236
81822
|
b
|
|
82237
81823
|
);
|
|
81824
|
+
return { cellCount: result.propertyChanges?.length ?? 0 };
|
|
82238
81825
|
}
|
|
82239
81826
|
async setRanges(ranges, format) {
|
|
82240
81827
|
const boundedRanges = [];
|
|
@@ -82265,9 +81852,11 @@ var WorksheetFormatsImpl = class {
|
|
|
82265
81852
|
}
|
|
82266
81853
|
async get(a, b) {
|
|
82267
81854
|
const { row, col } = resolveCell(a, b);
|
|
82268
|
-
|
|
82269
|
-
|
|
82270
|
-
|
|
81855
|
+
return this.ctx.computeBridge.getResolvedFormat(
|
|
81856
|
+
this.sheetId,
|
|
81857
|
+
row,
|
|
81858
|
+
col
|
|
81859
|
+
);
|
|
82271
81860
|
}
|
|
82272
81861
|
async adjustIndent(a, b, c) {
|
|
82273
81862
|
let row, col, amount;
|
|
@@ -82291,7 +81880,8 @@ var WorksheetFormatsImpl = class {
|
|
|
82291
81880
|
async clearFill(a, b) {
|
|
82292
81881
|
const { row, col } = resolveCell(a, b);
|
|
82293
81882
|
const rangeTuple = [row, col, row, col];
|
|
82294
|
-
const
|
|
81883
|
+
const result = await this.ctx.computeBridge.queryRange(this.sheetId, row, col, row, col);
|
|
81884
|
+
const current = result?.cells?.[0]?.format ?? null;
|
|
82295
81885
|
await this.ctx.computeBridge.clearFormatForRanges(this.sheetId, [rangeTuple]);
|
|
82296
81886
|
if (current) {
|
|
82297
81887
|
const { backgroundColor, patternType, patternForegroundColor, gradientFill, ...rest } = current;
|
|
@@ -83051,8 +82641,8 @@ init_cjs_shims();
|
|
|
83051
82641
|
init_errors();
|
|
83052
82642
|
function formatDataSource(sourceSheetName, sourceRange) {
|
|
83053
82643
|
if (!sourceRange) return "";
|
|
83054
|
-
const start =
|
|
83055
|
-
const end =
|
|
82644
|
+
const start = toA12(sourceRange.startRow, sourceRange.startCol);
|
|
82645
|
+
const end = toA12(sourceRange.endRow, sourceRange.endCol);
|
|
83056
82646
|
const sheetRef = sourceSheetName ?? "Unknown";
|
|
83057
82647
|
const needsQuotes = /[^A-Za-z0-9_]/.test(sheetRef);
|
|
83058
82648
|
const quotedSheet = needsQuotes ? `'${sheetRef}'` : sheetRef;
|
|
@@ -83144,7 +82734,7 @@ var WorksheetPivotsImpl = class _WorksheetPivotsImpl {
|
|
|
83144
82734
|
}
|
|
83145
82735
|
return pivots.map((p) => {
|
|
83146
82736
|
const apiConfig = dataConfigToApiConfig(p, p.sourceSheetName);
|
|
83147
|
-
const location = p.outputLocation ?
|
|
82737
|
+
const location = p.outputLocation ? toA12(p.outputLocation.row, p.outputLocation.col) : void 0;
|
|
83148
82738
|
return {
|
|
83149
82739
|
name: p.name ?? p.id,
|
|
83150
82740
|
dataSource: apiConfig.dataSource,
|
|
@@ -83665,7 +83255,7 @@ init_errors();
|
|
|
83665
83255
|
|
|
83666
83256
|
// ../../kernel/src/api/worksheet/operations/sheet-management-operations.ts
|
|
83667
83257
|
init_cjs_shims();
|
|
83668
|
-
|
|
83258
|
+
var import_protection4 = require("@mog-sdk/spreadsheet-contracts/protection");
|
|
83669
83259
|
function parseCellRef2(ref) {
|
|
83670
83260
|
const match = ref.match(/^([A-Z]+)(\d+)$/i);
|
|
83671
83261
|
if (!match) return null;
|
|
@@ -83677,7 +83267,7 @@ function parseCellRef2(ref) {
|
|
|
83677
83267
|
}
|
|
83678
83268
|
return { row: rowNum - 1, col: col - 1 };
|
|
83679
83269
|
}
|
|
83680
|
-
function
|
|
83270
|
+
function colToLetter5(col) {
|
|
83681
83271
|
let result = "";
|
|
83682
83272
|
let c = col;
|
|
83683
83273
|
while (c >= 0) {
|
|
@@ -83687,8 +83277,8 @@ function colToLetter4(col) {
|
|
|
83687
83277
|
return result;
|
|
83688
83278
|
}
|
|
83689
83279
|
function printRangeToA1(range2) {
|
|
83690
|
-
const startRef = `${
|
|
83691
|
-
const endRef = `${
|
|
83280
|
+
const startRef = `${colToLetter5(range2.startCol)}${range2.startRow + 1}`;
|
|
83281
|
+
const endRef = `${colToLetter5(range2.endCol)}${range2.endRow + 1}`;
|
|
83692
83282
|
return `${startRef}:${endRef}`;
|
|
83693
83283
|
}
|
|
83694
83284
|
async function getPageBreaks(ctx, sheetId) {
|
|
@@ -84088,7 +83678,11 @@ var WorksheetSlicersImpl = class {
|
|
|
84088
83678
|
this.sheetId = sheetId;
|
|
84089
83679
|
}
|
|
84090
83680
|
async add(config) {
|
|
84091
|
-
const
|
|
83681
|
+
const caption = config.caption ?? config.name ?? "";
|
|
83682
|
+
const storedConfig = {
|
|
83683
|
+
...config,
|
|
83684
|
+
caption
|
|
83685
|
+
};
|
|
84092
83686
|
await this.ctx.computeBridge.createSlicer(this.sheetId, storedConfig);
|
|
84093
83687
|
return storedConfig.id ?? "";
|
|
84094
83688
|
}
|
|
@@ -84802,7 +84396,7 @@ var WorksheetStructureImpl = class {
|
|
|
84802
84396
|
async getMergedRegions() {
|
|
84803
84397
|
const regions = await getAll3(this.ctx, this.sheetId);
|
|
84804
84398
|
return regions.map((r) => ({
|
|
84805
|
-
range: `${
|
|
84399
|
+
range: `${toA12(r.startRow, r.startCol)}:${toA12(r.endRow, r.endCol)}`,
|
|
84806
84400
|
startRow: r.startRow,
|
|
84807
84401
|
startCol: r.startCol,
|
|
84808
84402
|
endRow: r.endRow,
|
|
@@ -84865,8 +84459,8 @@ function parseA1Range(range2) {
|
|
|
84865
84459
|
};
|
|
84866
84460
|
}
|
|
84867
84461
|
function bridgeTableToTableInfo(table) {
|
|
84868
|
-
const startLetter =
|
|
84869
|
-
const endLetter =
|
|
84462
|
+
const startLetter = colToLetter3(table.range.startCol);
|
|
84463
|
+
const endLetter = colToLetter3(table.range.endCol);
|
|
84870
84464
|
const startRowA1 = table.range.startRow + 1;
|
|
84871
84465
|
const endRowA1 = table.range.endRow + 1;
|
|
84872
84466
|
const range2 = `${startLetter}${startRowA1}:${endLetter}${endRowA1}`;
|
|
@@ -84911,16 +84505,16 @@ function getDataBodyRangeFromInfo(table) {
|
|
|
84911
84505
|
const dataStartRow = table.hasHeaders ? parsed.startRow + 1 : parsed.startRow;
|
|
84912
84506
|
const dataEndRow = table.showTotals ? parsed.endRow - 1 : parsed.endRow;
|
|
84913
84507
|
if (dataStartRow > dataEndRow) return null;
|
|
84914
|
-
const startLetter =
|
|
84915
|
-
const endLetter =
|
|
84508
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84509
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
84916
84510
|
return `${startLetter}${dataStartRow + 1}:${endLetter}${dataEndRow + 1}`;
|
|
84917
84511
|
}
|
|
84918
84512
|
function getHeaderRowRangeFromInfo(table) {
|
|
84919
84513
|
if (!table.hasHeaders) return null;
|
|
84920
84514
|
const parsed = parseA1Range(table.range);
|
|
84921
84515
|
if (!parsed) return null;
|
|
84922
|
-
const startLetter =
|
|
84923
|
-
const endLetter =
|
|
84516
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84517
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
84924
84518
|
const headerRow = parsed.startRow + 1;
|
|
84925
84519
|
return `${startLetter}${headerRow}:${endLetter}${headerRow}`;
|
|
84926
84520
|
}
|
|
@@ -84928,8 +84522,8 @@ function getTotalRowRangeFromInfo(table) {
|
|
|
84928
84522
|
if (!table.showTotals) return null;
|
|
84929
84523
|
const parsed = parseA1Range(table.range);
|
|
84930
84524
|
if (!parsed) return null;
|
|
84931
|
-
const startLetter =
|
|
84932
|
-
const endLetter =
|
|
84525
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84526
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
84933
84527
|
const totalRow = parsed.endRow + 1;
|
|
84934
84528
|
return `${startLetter}${totalRow}:${endLetter}${totalRow}`;
|
|
84935
84529
|
}
|
|
@@ -84972,9 +84566,9 @@ var WorksheetTablesImpl = class {
|
|
|
84972
84566
|
if (!match) {
|
|
84973
84567
|
throw new KernelError("COMPUTE_ERROR", `Invalid range: ${range2}`);
|
|
84974
84568
|
}
|
|
84975
|
-
const startCol =
|
|
84569
|
+
const startCol = letterToCol3(match[1]);
|
|
84976
84570
|
const startRow = parseInt(match[2], 10) - 1;
|
|
84977
|
-
const endCol =
|
|
84571
|
+
const endCol = letterToCol3(match[3]);
|
|
84978
84572
|
const endRow = parseInt(match[4], 10) - 1;
|
|
84979
84573
|
await this.ctx.computeBridge.createTable(
|
|
84980
84574
|
this.sheetId,
|
|
@@ -85054,9 +84648,9 @@ var WorksheetTablesImpl = class {
|
|
|
85054
84648
|
if (!parsed) {
|
|
85055
84649
|
throw new KernelError("COMPUTE_ERROR", `Invalid table range: ${table.range}`);
|
|
85056
84650
|
}
|
|
85057
|
-
const startCol =
|
|
84651
|
+
const startCol = letterToCol3(parsed[1]);
|
|
85058
84652
|
const startRow = parseInt(parsed[2], 10) - 1;
|
|
85059
|
-
const endCol =
|
|
84653
|
+
const endCol = letterToCol3(parsed[3]);
|
|
85060
84654
|
const endRow = parseInt(parsed[4], 10) - 1;
|
|
85061
84655
|
const filter = await getFilterForRange(this.ctx, this.sheetId, {
|
|
85062
84656
|
startRow,
|
|
@@ -85077,9 +84671,9 @@ var WorksheetTablesImpl = class {
|
|
|
85077
84671
|
if (!match) {
|
|
85078
84672
|
throw new KernelError("COMPUTE_ERROR", `Invalid range: ${newRange}`);
|
|
85079
84673
|
}
|
|
85080
|
-
const startCol =
|
|
84674
|
+
const startCol = letterToCol3(match[1]);
|
|
85081
84675
|
const startRow = parseInt(match[2], 10) - 1;
|
|
85082
|
-
const endCol =
|
|
84676
|
+
const endCol = letterToCol3(match[3]);
|
|
85083
84677
|
const endRow = parseInt(match[4], 10) - 1;
|
|
85084
84678
|
await this.ctx.computeBridge.resizeTable(name, startRow, startCol, endRow, endCol);
|
|
85085
84679
|
}
|
|
@@ -85210,8 +84804,8 @@ var WorksheetTablesImpl = class {
|
|
|
85210
84804
|
if (!parsed) throw new KernelError("COMPUTE_ERROR", `Invalid table range: ${table.range}`);
|
|
85211
84805
|
const dataStartRow = table.hasHeaders ? parsed.startRow + 1 : parsed.startRow;
|
|
85212
84806
|
const absRow = dataStartRow + index;
|
|
85213
|
-
const startLetter =
|
|
85214
|
-
const endLetter =
|
|
84807
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84808
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
85215
84809
|
return `${startLetter}${absRow + 1}:${endLetter}${absRow + 1}`;
|
|
85216
84810
|
}
|
|
85217
84811
|
async getRowValues(tableName, index) {
|
|
@@ -85250,7 +84844,7 @@ var WorksheetTablesImpl = class {
|
|
|
85250
84844
|
const dataStartRow = table.hasHeaders ? parsed.startRow + 1 : parsed.startRow;
|
|
85251
84845
|
const dataEndRow = table.showTotals ? parsed.endRow - 1 : parsed.endRow;
|
|
85252
84846
|
if (dataStartRow > dataEndRow) return null;
|
|
85253
|
-
const letter =
|
|
84847
|
+
const letter = colToLetter3(col);
|
|
85254
84848
|
return `${letter}${dataStartRow + 1}:${letter}${dataEndRow + 1}`;
|
|
85255
84849
|
}
|
|
85256
84850
|
async getColumnHeaderRange(tableName, columnIndex) {
|
|
@@ -85260,7 +84854,7 @@ var WorksheetTablesImpl = class {
|
|
|
85260
84854
|
if (!parsed) return null;
|
|
85261
84855
|
const col = parsed.startCol + columnIndex;
|
|
85262
84856
|
if (col > parsed.endCol) return null;
|
|
85263
|
-
const letter =
|
|
84857
|
+
const letter = colToLetter3(col);
|
|
85264
84858
|
const headerRow = parsed.startRow + 1;
|
|
85265
84859
|
return `${letter}${headerRow}`;
|
|
85266
84860
|
}
|
|
@@ -85271,7 +84865,7 @@ var WorksheetTablesImpl = class {
|
|
|
85271
84865
|
if (!parsed) return null;
|
|
85272
84866
|
const col = parsed.startCol + columnIndex;
|
|
85273
84867
|
if (col > parsed.endCol) return null;
|
|
85274
|
-
const letter =
|
|
84868
|
+
const letter = colToLetter3(col);
|
|
85275
84869
|
return `${letter}${parsed.startRow + 1}:${letter}${parsed.endRow + 1}`;
|
|
85276
84870
|
}
|
|
85277
84871
|
async getColumnTotalRange(tableName, columnIndex) {
|
|
@@ -85281,7 +84875,7 @@ var WorksheetTablesImpl = class {
|
|
|
85281
84875
|
if (!parsed) return null;
|
|
85282
84876
|
const col = parsed.startCol + columnIndex;
|
|
85283
84877
|
if (col > parsed.endCol) return null;
|
|
85284
|
-
const letter =
|
|
84878
|
+
const letter = colToLetter3(col);
|
|
85285
84879
|
const totalRow = parsed.endRow + 1;
|
|
85286
84880
|
return `${letter}${totalRow}`;
|
|
85287
84881
|
}
|
|
@@ -85380,7 +84974,7 @@ var WorksheetTablesImpl = class {
|
|
|
85380
84974
|
async sortClear(_tableName) {
|
|
85381
84975
|
}
|
|
85382
84976
|
};
|
|
85383
|
-
function
|
|
84977
|
+
function letterToCol3(letters) {
|
|
85384
84978
|
let col = 0;
|
|
85385
84979
|
for (let i = 0; i < letters.length; i++) {
|
|
85386
84980
|
col = col * 26 + (letters.toUpperCase().charCodeAt(i) - 64);
|
|
@@ -85391,9 +84985,9 @@ function parseA1Range2(range2) {
|
|
|
85391
84985
|
const match = range2.match(/^([A-Z]+)(\d+):([A-Z]+)(\d+)$/i);
|
|
85392
84986
|
if (!match) return null;
|
|
85393
84987
|
return {
|
|
85394
|
-
startCol:
|
|
84988
|
+
startCol: letterToCol3(match[1]),
|
|
85395
84989
|
startRow: parseInt(match[2], 10) - 1,
|
|
85396
|
-
endCol:
|
|
84990
|
+
endCol: letterToCol3(match[3]),
|
|
85397
84991
|
endRow: parseInt(match[4], 10) - 1
|
|
85398
84992
|
};
|
|
85399
84993
|
}
|
|
@@ -85582,8 +85176,8 @@ function rangeSchemaToValidationRule(schema) {
|
|
|
85582
85176
|
const start = parseRefIdSimple(ref.startId);
|
|
85583
85177
|
const end = parseRefIdSimple(ref.endId);
|
|
85584
85178
|
if (start && end) {
|
|
85585
|
-
const startA1 =
|
|
85586
|
-
const endA1 =
|
|
85179
|
+
const startA1 = toA12(start.row, start.col);
|
|
85180
|
+
const endA1 = toA12(end.row, end.col);
|
|
85587
85181
|
range2 = startA1 === endA1 ? startA1 : `${startA1}:${endA1}`;
|
|
85588
85182
|
}
|
|
85589
85183
|
}
|
|
@@ -85616,8 +85210,8 @@ function rangeSchemaToValidationRule(schema) {
|
|
|
85616
85210
|
const srcStart = parseRefIdSimple(src.startId);
|
|
85617
85211
|
const srcEnd = parseRefIdSimple(src.endId);
|
|
85618
85212
|
if (srcStart && srcEnd) {
|
|
85619
|
-
const srcStartA1 =
|
|
85620
|
-
const srcEndA1 =
|
|
85213
|
+
const srcStartA1 = toA12(srcStart.row, srcStart.col);
|
|
85214
|
+
const srcEndA1 = toA12(srcEnd.row, srcEnd.col);
|
|
85621
85215
|
rule.listSource = srcStartA1 === srcEndA1 ? `=${srcStartA1}` : `=${srcStartA1}:${srcEndA1}`;
|
|
85622
85216
|
}
|
|
85623
85217
|
}
|
|
@@ -87834,11 +87428,12 @@ var WorksheetImpl = class {
|
|
|
87834
87428
|
if (!result.success) {
|
|
87835
87429
|
throw result.error;
|
|
87836
87430
|
}
|
|
87431
|
+
return result.data;
|
|
87837
87432
|
}
|
|
87838
87433
|
async clear(range2, applyTo) {
|
|
87839
87434
|
const parsed = parseCellRange(range2);
|
|
87840
87435
|
if (!parsed) throw new KernelError("COMPUTE_ERROR", `Invalid range: "${range2}"`);
|
|
87841
|
-
|
|
87436
|
+
return clearWithMode(
|
|
87842
87437
|
this.ctx,
|
|
87843
87438
|
this.sheetId,
|
|
87844
87439
|
{ sheetId: this.sheetId, ...parsed },
|
|
@@ -87886,7 +87481,7 @@ var WorksheetImpl = class {
|
|
|
87886
87481
|
format: format ?? void 0,
|
|
87887
87482
|
hyperlink: hyperlink ?? void 0,
|
|
87888
87483
|
isMerged: mergeInfo !== void 0,
|
|
87889
|
-
mergedRegion: mergeInfo ? `${
|
|
87484
|
+
mergedRegion: mergeInfo ? `${toA12(mergeInfo.startRow, mergeInfo.startCol)}:${toA12(mergeInfo.endRow, mergeInfo.endCol)}` : void 0
|
|
87890
87485
|
};
|
|
87891
87486
|
}
|
|
87892
87487
|
async getRawRangeData(range2, _includeFormula) {
|
|
@@ -87913,7 +87508,8 @@ var WorksheetImpl = class {
|
|
|
87913
87508
|
} else {
|
|
87914
87509
|
rowData.push({
|
|
87915
87510
|
value: viewportCellValueToCellValue(vc.value) ?? null,
|
|
87916
|
-
formula: vc.formula
|
|
87511
|
+
formula: vc.formula,
|
|
87512
|
+
format: vc.format ?? void 0
|
|
87917
87513
|
});
|
|
87918
87514
|
}
|
|
87919
87515
|
}
|
|
@@ -87938,10 +87534,10 @@ var WorksheetImpl = class {
|
|
|
87938
87534
|
const { row, col } = resolveCell(address);
|
|
87939
87535
|
const data = await getCell(this.ctx, this.sheetId, row, col);
|
|
87940
87536
|
if (!data) return "";
|
|
87941
|
-
const
|
|
87942
|
-
let result =
|
|
87537
|
+
const displayValue = await getDisplayValue2(this.ctx, this.sheetId, row, col);
|
|
87538
|
+
let result = displayValue;
|
|
87943
87539
|
if (data.formula) {
|
|
87944
|
-
result =
|
|
87540
|
+
result = displayValue !== "" ? `${displayValue}(${data.formula})` : `(${data.formula})`;
|
|
87945
87541
|
}
|
|
87946
87542
|
const styleHintsStr = await getStyleHints(this.ctx, this.sheetId, row, col);
|
|
87947
87543
|
if (styleHintsStr) {
|
|
@@ -88000,17 +87596,15 @@ var WorksheetImpl = class {
|
|
|
88000
87596
|
}
|
|
88001
87597
|
for (let row = parsed.startRow; row <= parsed.endRow; row++) {
|
|
88002
87598
|
const rowValues = [];
|
|
88003
|
-
let hasContent = false;
|
|
88004
87599
|
for (let col = parsed.startCol; col <= parsed.endCol; col++) {
|
|
88005
|
-
const cellAddr =
|
|
87600
|
+
const cellAddr = toA12(row, col);
|
|
88006
87601
|
const vc = cellMap.get(`${row},${col}`);
|
|
88007
87602
|
if (!vc) {
|
|
88008
87603
|
rowValues.push(`${cellAddr}:`);
|
|
88009
87604
|
continue;
|
|
88010
87605
|
}
|
|
88011
|
-
const
|
|
88012
|
-
let cellStr =
|
|
88013
|
-
hasContent = true;
|
|
87606
|
+
const displayValue = vc.formatted ?? viewportCellValueToString(vc.value);
|
|
87607
|
+
let cellStr = displayValue;
|
|
88014
87608
|
if (vc.formula) {
|
|
88015
87609
|
const abbreviation = formulaAnalysis.formulaToId.get(`${row},${col}`);
|
|
88016
87610
|
if (abbreviation) {
|
|
@@ -88021,9 +87615,7 @@ var WorksheetImpl = class {
|
|
|
88021
87615
|
}
|
|
88022
87616
|
rowValues.push(`${cellAddr}:${cellStr}`);
|
|
88023
87617
|
}
|
|
88024
|
-
|
|
88025
|
-
outputParts.push(rowValues.join(" | "));
|
|
88026
|
-
}
|
|
87618
|
+
outputParts.push(rowValues.join(" | "));
|
|
88027
87619
|
}
|
|
88028
87620
|
const formulaDocs = generateFormulaDocumentation(formulaAnalysis);
|
|
88029
87621
|
if (formulaDocs.length > 0) {
|
|
@@ -88112,8 +87704,8 @@ var WorksheetImpl = class {
|
|
|
88112
87704
|
lines.push(`Sheet: ${meta.name}`);
|
|
88113
87705
|
const bounds = await this.ctx.computeBridge.getDataBounds(this.sheetId);
|
|
88114
87706
|
if (bounds) {
|
|
88115
|
-
const startAddr =
|
|
88116
|
-
const endAddr =
|
|
87707
|
+
const startAddr = toA12(bounds.minRow, bounds.minCol);
|
|
87708
|
+
const endAddr = toA12(bounds.maxRow, bounds.maxCol);
|
|
88117
87709
|
lines.push(`Used Range: ${startAddr}:${endAddr}`);
|
|
88118
87710
|
lines.push(
|
|
88119
87711
|
`Dimensions: ${bounds.maxRow - bounds.minRow + 1} rows x ${bounds.maxCol - bounds.minCol + 1} columns`
|
|
@@ -88133,20 +87725,31 @@ var WorksheetImpl = class {
|
|
|
88133
87725
|
const tables = await getTablesInSheet(this.ctx, this.sheetId);
|
|
88134
87726
|
if (tables.length > 0) {
|
|
88135
87727
|
const tableDescs = tables.map((t) => {
|
|
88136
|
-
const r = `${
|
|
87728
|
+
const r = `${toA12(t.range.startRow, t.range.startCol)}:${toA12(t.range.endRow, t.range.endCol)}`;
|
|
88137
87729
|
return `${t.name} at ${r}`;
|
|
88138
87730
|
});
|
|
88139
87731
|
lines.push(`Tables: ${tables.length} (${tableDescs.join(", ")})`);
|
|
88140
87732
|
}
|
|
88141
|
-
const
|
|
88142
|
-
const
|
|
88143
|
-
|
|
87733
|
+
const allVisible = await getVisible(this.ctx);
|
|
87734
|
+
const scoped = allVisible.filter((nr) => nr.scope === this.sheetId || !nr.scope);
|
|
87735
|
+
const valid = scoped.filter((nr) => !nr.refersTo.template.includes("#REF!"));
|
|
87736
|
+
const broken = scoped.length - valid.length;
|
|
87737
|
+
if (valid.length > 0 || broken > 0) {
|
|
87738
|
+
const toShow = valid.slice(0, MAX_SUMMARY_NAMED_RANGES);
|
|
88144
87739
|
const nrDescs = [];
|
|
88145
|
-
for (const nr of
|
|
87740
|
+
for (const nr of toShow) {
|
|
88146
87741
|
const a1 = await getRefersToA1(this.ctx, nr);
|
|
88147
87742
|
nrDescs.push(`${nr.name}=${a1}`);
|
|
88148
87743
|
}
|
|
88149
|
-
|
|
87744
|
+
let label = `Named Ranges: ${valid.length}`;
|
|
87745
|
+
if (broken > 0) label += ` valid, ${broken} broken (#REF!) omitted`;
|
|
87746
|
+
if (nrDescs.length > 0) {
|
|
87747
|
+
const showing = valid.length > MAX_SUMMARY_NAMED_RANGES ? `showing ${MAX_SUMMARY_NAMED_RANGES}: ` : "";
|
|
87748
|
+
const more = valid.length > MAX_SUMMARY_NAMED_RANGES ? ` \u2014 ${valid.length - MAX_SUMMARY_NAMED_RANGES} more not shown` : "";
|
|
87749
|
+
lines.push(`${label} (${showing}${nrDescs.join(", ")})${more}`);
|
|
87750
|
+
} else {
|
|
87751
|
+
lines.push(label);
|
|
87752
|
+
}
|
|
88150
87753
|
}
|
|
88151
87754
|
const maxRows = options?.maxRows;
|
|
88152
87755
|
const maxCols = options?.maxCols;
|
|
@@ -88176,9 +87779,7 @@ var WorksheetImpl = class {
|
|
|
88176
87779
|
}
|
|
88177
87780
|
const firstRowCells = (rowMap.get(finalRange.startRow) ?? []).slice().sort((a, b) => a.col - b.col);
|
|
88178
87781
|
if (firstRowCells.length > 0) {
|
|
88179
|
-
const allStrings = firstRowCells.every(
|
|
88180
|
-
(vc) => typeof vc.value === "string" && !vc.formula
|
|
88181
|
-
);
|
|
87782
|
+
const allStrings = firstRowCells.every((vc) => typeof vc.value === "string" && !vc.formula);
|
|
88182
87783
|
if (allStrings) {
|
|
88183
87784
|
const headers = firstRowCells.map((vc) => String(vc.value));
|
|
88184
87785
|
lines.push(`Headers: ${headers.join(", ")}`);
|
|
@@ -88215,7 +87816,7 @@ var WorksheetImpl = class {
|
|
|
88215
87816
|
const rowData = [];
|
|
88216
87817
|
for (const vc of cells) {
|
|
88217
87818
|
const rawValue = viewportCellValueToString(vc.value);
|
|
88218
|
-
const addr =
|
|
87819
|
+
const addr = toA12(vc.row, vc.col);
|
|
88219
87820
|
if (vc.formula) {
|
|
88220
87821
|
rowData.push(`${addr}:${rawValue}(=${vc.formula})`);
|
|
88221
87822
|
} else {
|
|
@@ -88239,7 +87840,7 @@ var WorksheetImpl = class {
|
|
|
88239
87840
|
async getUsedRange() {
|
|
88240
87841
|
const range2 = await getUsedRange2(this.ctx, this.sheetId);
|
|
88241
87842
|
if (!range2) return null;
|
|
88242
|
-
return `${
|
|
87843
|
+
return `${toA12(range2.startRow, range2.startCol)}:${toA12(range2.endRow, range2.endCol)}`;
|
|
88243
87844
|
}
|
|
88244
87845
|
async getCurrentRegion(row, col) {
|
|
88245
87846
|
return getCurrentRegion(this.ctx, this.sheetId, row, col);
|
|
@@ -88249,15 +87850,15 @@ var WorksheetImpl = class {
|
|
|
88249
87850
|
}
|
|
88250
87851
|
async findCells(predicate) {
|
|
88251
87852
|
const addresses = await findCells(this.ctx, this.sheetId, predicate);
|
|
88252
|
-
return addresses.map((a) =>
|
|
87853
|
+
return addresses.map((a) => toA12(a.row, a.col));
|
|
88253
87854
|
}
|
|
88254
87855
|
async findByValue(value) {
|
|
88255
87856
|
const addresses = await findByValue(this.ctx, this.sheetId, value);
|
|
88256
|
-
return addresses.map((a) =>
|
|
87857
|
+
return addresses.map((a) => toA12(a.row, a.col));
|
|
88257
87858
|
}
|
|
88258
87859
|
async findByFormula(pattern) {
|
|
88259
87860
|
const addresses = await findByFormula(this.ctx, this.sheetId, pattern);
|
|
88260
|
-
return addresses.map((a) =>
|
|
87861
|
+
return addresses.map((a) => toA12(a.row, a.col));
|
|
88261
87862
|
}
|
|
88262
87863
|
async regexSearch(patterns, options) {
|
|
88263
87864
|
const results = await regexSearch(this.ctx, this.sheetId, patterns, {
|
|
@@ -88396,7 +87997,7 @@ var WorksheetImpl = class {
|
|
|
88396
87997
|
await this.setRange(start.row, start.col, allRows);
|
|
88397
87998
|
const endRow = start.row + allRows.length - 1;
|
|
88398
87999
|
const endCol = start.col + headers.length - 1;
|
|
88399
|
-
const rangeA1 = `${
|
|
88000
|
+
const rangeA1 = `${toA12(start.row, start.col)}:${toA12(endRow, endCol)}`;
|
|
88400
88001
|
await this.tables.add(rangeA1, { name, hasHeaders: true });
|
|
88401
88002
|
}
|
|
88402
88003
|
// ===========================================================================
|
|
@@ -88639,7 +88240,7 @@ var WorksheetImpl = class {
|
|
|
88639
88240
|
case 1:
|
|
88640
88241
|
return accessor.numberValue;
|
|
88641
88242
|
case 2:
|
|
88642
|
-
return displayStringOrNull(accessor.displayText);
|
|
88243
|
+
return (0, import_core6.displayStringOrNull)(accessor.displayText);
|
|
88643
88244
|
case 3:
|
|
88644
88245
|
return accessor.numberValue !== 0;
|
|
88645
88246
|
case 4: {
|
|
@@ -88789,6 +88390,9 @@ var WorksheetImpl = class {
|
|
|
88789
88390
|
}
|
|
88790
88391
|
return this._cellMetadata;
|
|
88791
88392
|
}
|
|
88393
|
+
get changes() {
|
|
88394
|
+
return this._changes ??= new WorksheetChangesImpl(this.ctx, this.sheetId);
|
|
88395
|
+
}
|
|
88792
88396
|
get formats() {
|
|
88793
88397
|
return this._formats ??= new WorksheetFormatsImpl(this.ctx, this.sheetId);
|
|
88794
88398
|
}
|
|
@@ -89260,7 +88864,7 @@ var WorkbookThemeImpl = class {
|
|
|
89260
88864
|
|
|
89261
88865
|
// ../../kernel/src/api/workbook/workbook-impl.ts
|
|
89262
88866
|
init_cjs_shims();
|
|
89263
|
-
|
|
88867
|
+
init_disposable();
|
|
89264
88868
|
init_errors();
|
|
89265
88869
|
|
|
89266
88870
|
// ../../kernel/src/domain/form-controls/index.ts
|
|
@@ -89847,27 +89451,8 @@ var globalRegistry = new FunctionRegistry();
|
|
|
89847
89451
|
|
|
89848
89452
|
// ../../spreadsheet-utils/src/function-catalog.ts
|
|
89849
89453
|
init_cjs_shims();
|
|
89850
|
-
|
|
89851
|
-
|
|
89852
|
-
init_cjs_shims();
|
|
89853
|
-
var FunctionCategory = /* @__PURE__ */ ((FunctionCategory2) => {
|
|
89854
|
-
FunctionCategory2["MATH"] = "Math";
|
|
89855
|
-
FunctionCategory2["STATISTICAL"] = "Statistical";
|
|
89856
|
-
FunctionCategory2["TEXT"] = "Text";
|
|
89857
|
-
FunctionCategory2["LOGICAL"] = "Logical";
|
|
89858
|
-
FunctionCategory2["DATE_TIME"] = "Date & Time";
|
|
89859
|
-
FunctionCategory2["LOOKUP"] = "Lookup & Reference";
|
|
89860
|
-
FunctionCategory2["FINANCIAL"] = "Financial";
|
|
89861
|
-
FunctionCategory2["INFORMATION"] = "Information";
|
|
89862
|
-
FunctionCategory2["DATABASE"] = "Database";
|
|
89863
|
-
FunctionCategory2["ENGINEERING"] = "Engineering";
|
|
89864
|
-
FunctionCategory2["WEB"] = "Web";
|
|
89865
|
-
FunctionCategory2["TESTING"] = "Testing";
|
|
89866
|
-
return FunctionCategory2;
|
|
89867
|
-
})(FunctionCategory || {});
|
|
89868
|
-
|
|
89869
|
-
// ../../spreadsheet-utils/src/function-catalog.ts
|
|
89870
|
-
var C = FunctionCategory;
|
|
89454
|
+
var import_function_registry = require("@mog-sdk/spreadsheet-contracts/utils/function-registry");
|
|
89455
|
+
var C = import_function_registry.FunctionCategory;
|
|
89871
89456
|
var INLINE_FUNCTIONS = [
|
|
89872
89457
|
// Aggregates
|
|
89873
89458
|
["SUM", C.MATH, "Adds all numbers in a range of cells", 1, -1],
|
|
@@ -90733,7 +90318,7 @@ function convertToFunctionInfo(metadata) {
|
|
|
90733
90318
|
|
|
90734
90319
|
// ../../kernel/src/api/workbook/viewport.ts
|
|
90735
90320
|
init_cjs_shims();
|
|
90736
|
-
|
|
90321
|
+
init_disposable();
|
|
90737
90322
|
var regionCounter = 0;
|
|
90738
90323
|
var ViewportRegionImpl = class extends DisposableBase {
|
|
90739
90324
|
constructor(sheetId, bounds, computeBridge, viewportId) {
|
|
@@ -90787,7 +90372,7 @@ var WorkbookViewportImpl = class {
|
|
|
90787
90372
|
};
|
|
90788
90373
|
|
|
90789
90374
|
// ../../kernel/src/api/workbook/workbook-impl.ts
|
|
90790
|
-
|
|
90375
|
+
var import_rendering2 = require("@mog-sdk/spreadsheet-contracts/rendering");
|
|
90791
90376
|
var API_EVENT_TO_INTERNAL = {
|
|
90792
90377
|
cellChanged: "cell:changed",
|
|
90793
90378
|
rangeChanged: "range:changed",
|
|
@@ -91122,6 +90707,34 @@ var WorkbookImpl = class {
|
|
|
91122
90707
|
calculationSettings: calcSettings
|
|
91123
90708
|
});
|
|
91124
90709
|
}
|
|
90710
|
+
async getIterativeCalculation() {
|
|
90711
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90712
|
+
return settings.calculationSettings?.enableIterativeCalculation ?? false;
|
|
90713
|
+
}
|
|
90714
|
+
async setIterativeCalculation(enabled) {
|
|
90715
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90716
|
+
const calcSettings = {
|
|
90717
|
+
...settings.calculationSettings ?? {},
|
|
90718
|
+
enableIterativeCalculation: enabled
|
|
90719
|
+
};
|
|
90720
|
+
await this.ctx.computeBridge.patchWorkbookSettings({
|
|
90721
|
+
calculationSettings: calcSettings
|
|
90722
|
+
});
|
|
90723
|
+
}
|
|
90724
|
+
async setMaxIterations(n) {
|
|
90725
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90726
|
+
const calcSettings = { ...settings.calculationSettings ?? {}, maxIterations: n };
|
|
90727
|
+
await this.ctx.computeBridge.patchWorkbookSettings({
|
|
90728
|
+
calculationSettings: calcSettings
|
|
90729
|
+
});
|
|
90730
|
+
}
|
|
90731
|
+
async setConvergenceThreshold(threshold) {
|
|
90732
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90733
|
+
const calcSettings = { ...settings.calculationSettings ?? {}, maxChange: threshold };
|
|
90734
|
+
await this.ctx.computeBridge.patchWorkbookSettings({
|
|
90735
|
+
calculationSettings: calcSettings
|
|
90736
|
+
});
|
|
90737
|
+
}
|
|
91125
90738
|
async getUsePrecisionAsDisplayed() {
|
|
91126
90739
|
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
91127
90740
|
return !(settings.calculationSettings?.fullPrecision ?? true);
|
|
@@ -91281,7 +90894,7 @@ var WorkbookImpl = class {
|
|
|
91281
90894
|
// Utilities (sync)
|
|
91282
90895
|
// ===========================================================================
|
|
91283
90896
|
indexToAddress(row, col) {
|
|
91284
|
-
return
|
|
90897
|
+
return toA12(row, col);
|
|
91285
90898
|
}
|
|
91286
90899
|
addressToIndex(address) {
|
|
91287
90900
|
const parsed = parseCellAddress(address);
|
|
@@ -91443,7 +91056,7 @@ var WorkbookImpl = class {
|
|
|
91443
91056
|
get theme() {
|
|
91444
91057
|
return this._theme ??= new WorkbookThemeImpl(
|
|
91445
91058
|
{ ctx: this.ctx, eventBus: this.eventBus },
|
|
91446
|
-
DEFAULT_CHROME_THEME
|
|
91059
|
+
import_rendering2.DEFAULT_CHROME_THEME
|
|
91447
91060
|
);
|
|
91448
91061
|
}
|
|
91449
91062
|
get viewport() {
|
|
@@ -91533,6 +91146,7 @@ var api_spec_default = {
|
|
|
91533
91146
|
},
|
|
91534
91147
|
ws: {
|
|
91535
91148
|
smartArt: "WorksheetSmartArt",
|
|
91149
|
+
changes: "WorksheetChanges",
|
|
91536
91150
|
formats: "WorksheetFormats",
|
|
91537
91151
|
layout: "WorksheetLayout",
|
|
91538
91152
|
view: "WorksheetView",
|
|
@@ -91644,6 +91258,26 @@ var api_spec_default = {
|
|
|
91644
91258
|
docstring: "Set the calculation mode.\nConvenience mutator \u2014 patches `calculationSettings.calcMode`.",
|
|
91645
91259
|
usedTypes: []
|
|
91646
91260
|
},
|
|
91261
|
+
getIterativeCalculation: {
|
|
91262
|
+
signature: "getIterativeCalculation(): Promise<boolean>;",
|
|
91263
|
+
docstring: "Get whether iterative calculation is enabled for circular references.\nConvenience accessor \u2014 equivalent to `(await getSettings()).calculationSettings.enableIterativeCalculation`.",
|
|
91264
|
+
usedTypes: []
|
|
91265
|
+
},
|
|
91266
|
+
setIterativeCalculation: {
|
|
91267
|
+
signature: "setIterativeCalculation(enabled: boolean): Promise<void>;",
|
|
91268
|
+
docstring: "Set whether iterative calculation is enabled for circular references.\nConvenience mutator \u2014 patches `calculationSettings.enableIterativeCalculation`.",
|
|
91269
|
+
usedTypes: []
|
|
91270
|
+
},
|
|
91271
|
+
setMaxIterations: {
|
|
91272
|
+
signature: "setMaxIterations(n: number): Promise<void>;",
|
|
91273
|
+
docstring: "Set the maximum number of iterations for iterative calculation.\nConvenience mutator \u2014 patches `calculationSettings.maxIterations`.",
|
|
91274
|
+
usedTypes: []
|
|
91275
|
+
},
|
|
91276
|
+
setConvergenceThreshold: {
|
|
91277
|
+
signature: "setConvergenceThreshold(threshold: number): Promise<void>;",
|
|
91278
|
+
docstring: "Set the convergence threshold (maximum change) for iterative calculation.\nConvenience mutator \u2014 patches `calculationSettings.maxChange`.",
|
|
91279
|
+
usedTypes: []
|
|
91280
|
+
},
|
|
91647
91281
|
getUsePrecisionAsDisplayed: {
|
|
91648
91282
|
signature: "getUsePrecisionAsDisplayed(): Promise<boolean>;",
|
|
91649
91283
|
docstring: "Whether to use displayed precision instead of full (15-digit) precision.\nConvenience accessor \u2014 inverted from `calculationSettings.fullPrecision`.",
|
|
@@ -91855,18 +91489,21 @@ var api_spec_default = {
|
|
|
91855
91489
|
usedTypes: []
|
|
91856
91490
|
},
|
|
91857
91491
|
clearData: {
|
|
91858
|
-
signature: "clearData(range: string): Promise<
|
|
91492
|
+
signature: "clearData(range: string): Promise<ClearResult>;",
|
|
91859
91493
|
docstring: 'Clear all cell data (values and formulas) in a range (A1 notation, e.g. "A1:C3").',
|
|
91860
|
-
usedTypes: [
|
|
91494
|
+
usedTypes: [
|
|
91495
|
+
"ClearResult"
|
|
91496
|
+
]
|
|
91861
91497
|
},
|
|
91862
91498
|
clear: {
|
|
91863
|
-
signature: "clear(range: string, applyTo?: ClearApplyTo): Promise<
|
|
91499
|
+
signature: "clear(range: string, applyTo?: ClearApplyTo): Promise<ClearResult>;",
|
|
91864
91500
|
docstring: `Unified clear with mode selection (OfficeJS Range.clear equivalent).
|
|
91865
91501
|
|
|
91866
91502
|
@param range - A1 range string (e.g. "A1:C3")
|
|
91867
91503
|
@param applyTo - What to clear: 'all' (default), 'contents', 'formats', 'hyperlinks'`,
|
|
91868
91504
|
usedTypes: [
|
|
91869
|
-
"ClearApplyTo"
|
|
91505
|
+
"ClearApplyTo",
|
|
91506
|
+
"ClearResult"
|
|
91870
91507
|
]
|
|
91871
91508
|
},
|
|
91872
91509
|
getValue: {
|
|
@@ -92745,21 +92382,36 @@ var api_spec_default = {
|
|
|
92745
92382
|
}
|
|
92746
92383
|
}
|
|
92747
92384
|
},
|
|
92385
|
+
WorksheetChanges: {
|
|
92386
|
+
docstring: "Sub-API for opt-in change tracking on a worksheet.",
|
|
92387
|
+
functions: {
|
|
92388
|
+
track: {
|
|
92389
|
+
signature: "track(options?: ChangeTrackOptions): ChangeTracker;",
|
|
92390
|
+
docstring: "Create a change tracker that accumulates cell-level change records\nfrom this point forward.\n\n@param options - Optional scope and origin filters\n@returns A ChangeTracker handle \u2014 call collect() to drain, close() when done",
|
|
92391
|
+
usedTypes: [
|
|
92392
|
+
"ChangeTrackOptions",
|
|
92393
|
+
"ChangeTracker"
|
|
92394
|
+
]
|
|
92395
|
+
}
|
|
92396
|
+
}
|
|
92397
|
+
},
|
|
92748
92398
|
WorksheetFormats: {
|
|
92749
92399
|
docstring: "Sub-API for cell formatting operations on a worksheet.",
|
|
92750
92400
|
functions: {
|
|
92751
92401
|
set: {
|
|
92752
|
-
signature: "set(address: string, format: CellFormat): Promise<
|
|
92402
|
+
signature: "set(address: string, format: CellFormat): Promise<FormatChangeResult>;",
|
|
92753
92403
|
docstring: 'Set format for a single cell.\n\n@param address - A1-style cell address (e.g. "A1", "B3")\n@param format - Format properties to apply',
|
|
92754
92404
|
usedTypes: [
|
|
92755
|
-
"CellFormat"
|
|
92405
|
+
"CellFormat",
|
|
92406
|
+
"FormatChangeResult"
|
|
92756
92407
|
]
|
|
92757
92408
|
},
|
|
92758
92409
|
setRange: {
|
|
92759
|
-
signature: "setRange(range: string, format: CellFormat): Promise<
|
|
92410
|
+
signature: "setRange(range: string, format: CellFormat): Promise<FormatChangeResult>;",
|
|
92760
92411
|
docstring: 'Set format for a contiguous range.\n\n@param range - A1-style range string (e.g. "A1:B2")\n@param format - Format properties to apply',
|
|
92761
92412
|
usedTypes: [
|
|
92762
|
-
"CellFormat"
|
|
92413
|
+
"CellFormat",
|
|
92414
|
+
"FormatChangeResult"
|
|
92763
92415
|
]
|
|
92764
92416
|
},
|
|
92765
92417
|
setRanges: {
|
|
@@ -92776,10 +92428,10 @@ var api_spec_default = {
|
|
|
92776
92428
|
usedTypes: []
|
|
92777
92429
|
},
|
|
92778
92430
|
get: {
|
|
92779
|
-
signature: "get(address: string): Promise<
|
|
92780
|
-
docstring: "Get the format of a single cell.\n\n@param address - A1-style cell address\n@returns The cell format
|
|
92431
|
+
signature: "get(address: string): Promise<ResolvedCellFormat>;",
|
|
92432
|
+
docstring: "Get the fully-resolved format of a single cell.\n\nReturns a dense CellFormat with all fields present (null for unset properties,\nnever undefined). Includes the full cascade (default \u2192 col \u2192 row \u2192 table \u2192 cell \u2192 CF)\nwith theme colors resolved to hex.\n\n@param address - A1-style cell address\n@returns The resolved cell format (always an object, never null)",
|
|
92781
92433
|
usedTypes: [
|
|
92782
|
-
"
|
|
92434
|
+
"ResolvedCellFormat"
|
|
92783
92435
|
]
|
|
92784
92436
|
},
|
|
92785
92437
|
adjustIndent: {
|
|
@@ -93588,7 +93240,7 @@ var api_spec_default = {
|
|
|
93588
93240
|
usedTypes: []
|
|
93589
93241
|
},
|
|
93590
93242
|
setCriteria: {
|
|
93591
|
-
signature: "setCriteria(
|
|
93243
|
+
signature: "setCriteria(filterId: string, col: number, criteria: ColumnFilterCriteria): Promise<void>;",
|
|
93592
93244
|
docstring: "Set filter criteria for a column using filter ID.\n\n@param filterId - Filter ID\n@param col - Column index (0-based)\n@param criteria - Filter criteria to apply",
|
|
93593
93245
|
usedTypes: [
|
|
93594
93246
|
"ColumnFilterCriteria"
|
|
@@ -94906,6 +94558,11 @@ var api_spec_default = {
|
|
|
94906
94558
|
definition: "'standard' | 'stacked' | 'percentStacked'",
|
|
94907
94559
|
docstring: ""
|
|
94908
94560
|
},
|
|
94561
|
+
AutoFillChange: {
|
|
94562
|
+
name: "AutoFillChange",
|
|
94563
|
+
definition: "{\n row: number;\n col: number;\n type: 'value' | 'formula' | 'format' | 'clear';\n}",
|
|
94564
|
+
docstring: "A single cell change produced by the fill engine."
|
|
94565
|
+
},
|
|
94909
94566
|
AutoFillMode: {
|
|
94910
94567
|
name: "AutoFillMode",
|
|
94911
94568
|
definition: "| 'auto' // Detect pattern automatically (default)\n | 'copy' // Always copy (no series)\n | 'series' // Force series interpretation\n | 'days' // Force date unit: days\n | 'weekdays' // Force date unit: weekdays\n | 'months' // Force date unit: months\n | 'years' // Force date unit: years\n | 'formats' // Copy formats only\n | 'values' // Copy values only (no formats)\n | 'withoutFormats' // Copy values + formulas, skip formats\n | 'linearTrend' // Force linear regression trend\n | 'growthTrend'",
|
|
@@ -94913,7 +94570,7 @@ var api_spec_default = {
|
|
|
94913
94570
|
},
|
|
94914
94571
|
AutoFillResult: {
|
|
94915
94572
|
name: "AutoFillResult",
|
|
94916
|
-
definition: "{\n /** The pattern that was detected (or forced by mode) */\n patternType: FillPatternType;\n /** Number of cells that were filled */\n filledCellCount: number;\n /** Any warnings generated during fill */\n warnings: AutoFillWarning[];\n}",
|
|
94573
|
+
definition: "{\n /** The pattern that was detected (or forced by mode) */\n patternType: FillPatternType;\n /** Number of cells that were filled */\n filledCellCount: number;\n /** Any warnings generated during fill */\n warnings: AutoFillWarning[];\n /** Per-cell changes listing each cell written */\n changes: AutoFillChange[];\n}",
|
|
94917
94574
|
docstring: "Result from autoFill() \u2014 summary of what the fill engine did."
|
|
94918
94575
|
},
|
|
94919
94576
|
AutoFillWarning: {
|
|
@@ -95260,6 +94917,37 @@ Example: { ignoreError: true } to suppress error indicators. */
|
|
|
95260
94917
|
definition: "{\n /** If true, value is treated as a formula (prefixed with =) */\n asFormula?: boolean;\n}",
|
|
95261
94918
|
docstring: "Options controlling how a cell value is interpreted when written."
|
|
95262
94919
|
},
|
|
94920
|
+
ChangeOrigin: {
|
|
94921
|
+
name: "ChangeOrigin",
|
|
94922
|
+
definition: "'direct' | 'cascade' | 'remote'",
|
|
94923
|
+
docstring: "Origin of a change: direct write, formula recalculation, or remote collaborator."
|
|
94924
|
+
},
|
|
94925
|
+
ChangeRecord: {
|
|
94926
|
+
name: "ChangeRecord",
|
|
94927
|
+
definition: `{
|
|
94928
|
+
/** Cell address in A1 notation (e.g. "B1"). */
|
|
94929
|
+
address: string;
|
|
94930
|
+
/** 0-based row index. */
|
|
94931
|
+
row: number;
|
|
94932
|
+
/** 0-based column index. */
|
|
94933
|
+
col: number;
|
|
94934
|
+
/** What caused this change. */
|
|
94935
|
+
origin: ChangeOrigin;
|
|
94936
|
+
/** Type of change. */
|
|
94937
|
+
type: 'modified';
|
|
94938
|
+
}`,
|
|
94939
|
+
docstring: "WorksheetChanges \u2014 Sub-API for opt-in change tracking.\n\nCreates lightweight trackers that accumulate cell-level change records\nacross mutations. Trackers are opt-in to avoid bloating return values;\nthey return addresses + metadata only (no cell values) so callers can\nhydrate via getRange() when needed.\n\nInspired by:\n- Excel OfficeJS onChanged (lightweight payload + lazy hydration)\n- Firestore onSnapshot (query-scoped subscriptions)\n- Yjs transaction.origin (source/origin tagging for collab)"
|
|
94940
|
+
},
|
|
94941
|
+
ChangeTrackOptions: {
|
|
94942
|
+
name: "ChangeTrackOptions",
|
|
94943
|
+
definition: '{\n /** Only track changes within this range (A1 notation, e.g. "A1:Z100"). Omit for whole-sheet. */\n scope?: string;\n /** Exclude changes from these origin types. */\n excludeOrigins?: ChangeOrigin[];\n}',
|
|
94944
|
+
docstring: "Options for creating a change tracker."
|
|
94945
|
+
},
|
|
94946
|
+
ChangeTracker: {
|
|
94947
|
+
name: "ChangeTracker",
|
|
94948
|
+
definition: "{\n /** Drain all accumulated changes since creation or last collect() call.\nReturns addresses + metadata only (no cell values) \u2014 call ws.getRange()\nto hydrate if needed. */\n collect(): ChangeRecord[];;\n /** Stop tracking and release internal resources. */\n close(): void;;\n /** Whether this tracker is still active (not closed). */\n active: boolean;\n}",
|
|
94949
|
+
docstring: "A handle that accumulates change records across mutations."
|
|
94950
|
+
},
|
|
95263
94951
|
Chart: {
|
|
95264
94952
|
name: "Chart",
|
|
95265
94953
|
definition: "{\n id: string;\n sheetId?: string;\n createdAt?: number;\n updatedAt?: number;\n}",
|
|
@@ -95394,6 +95082,11 @@ that are stored on the chart but not part of the core config schema. */
|
|
|
95394
95082
|
definition: "'all' | 'contents' | 'formats' | 'hyperlinks'",
|
|
95395
95083
|
docstring: "Determines which aspects of a range to clear.\nMatches OfficeJS Excel.ClearApplyTo enum."
|
|
95396
95084
|
},
|
|
95085
|
+
ClearResult: {
|
|
95086
|
+
name: "ClearResult",
|
|
95087
|
+
definition: "{\n /** Number of cells in the cleared range. */\n cellCount: number;\n}",
|
|
95088
|
+
docstring: "Confirmation returned by clearData() and clear()."
|
|
95089
|
+
},
|
|
95397
95090
|
CodeResult: {
|
|
95398
95091
|
name: "CodeResult",
|
|
95399
95092
|
definition: "{\n /** Whether execution completed successfully */\n success: boolean;\n /** Captured console output */\n output?: string;\n /** Error message (if success is false) */\n error?: string;\n /** Execution duration in milliseconds */\n duration?: number;\n}",
|
|
@@ -95607,6 +95300,11 @@ Used in condition filters where users specify rules like
|
|
|
95607
95300
|
definition: "| 'shape'\n | 'connector'\n | 'picture'\n | 'textbox'\n | 'chart'\n | 'camera'\n | 'equation'\n | 'smartart'\n | 'drawing'\n | 'oleObject'\n | 'formControl'\n | 'slicer'\n | 'wordart'",
|
|
95608
95301
|
docstring: "Type discriminator for floating objects. Superset of Rust FloatingObjectKind (12 variants) + legacy TS-only 'wordart'."
|
|
95609
95302
|
},
|
|
95303
|
+
FormatChangeResult: {
|
|
95304
|
+
name: "FormatChangeResult",
|
|
95305
|
+
definition: "{\n /** Number of cells whose formatting was changed */\n cellCount: number;\n}",
|
|
95306
|
+
docstring: "Result of a format set/setRange operation."
|
|
95307
|
+
},
|
|
95610
95308
|
FormatEntry: {
|
|
95611
95309
|
name: "FormatEntry",
|
|
95612
95310
|
definition: '{\n /** Cell value descriptor */\n value: { type: string; value?: unknown };\n /** Number format code (e.g., "#,##0.00") */\n formatCode: string;\n}',
|
|
@@ -95975,6 +95673,11 @@ Used in condition filters where users specify rules like
|
|
|
95975
95673
|
definition: "{\n /** Number of duplicate rows removed */\n removedCount: number;\n /** Number of unique rows remaining */\n remainingCount: number;\n}",
|
|
95976
95674
|
docstring: "Result of a remove-duplicates operation."
|
|
95977
95675
|
},
|
|
95676
|
+
ResolvedCellFormat: {
|
|
95677
|
+
name: "ResolvedCellFormat",
|
|
95678
|
+
definition: "{\n [K in keyof CellFormat]-?: CellFormat[K] | null;\n}",
|
|
95679
|
+
docstring: "Dense cell format where every property is explicitly present (null when unset). Returned by formats.get()."
|
|
95680
|
+
},
|
|
95978
95681
|
RichTextSegment: {
|
|
95979
95682
|
name: "RichTextSegment",
|
|
95980
95683
|
definition: "{\n text: string;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n strikethrough?: boolean;\n color?: string;\n fontName?: string;\n fontSize?: number;\n}",
|
|
@@ -96055,7 +95758,7 @@ Used in condition filters where users specify rules like
|
|
|
96055
95758
|
},
|
|
96056
95759
|
SetCellsResult: {
|
|
96057
95760
|
name: "SetCellsResult",
|
|
96058
|
-
definition: "{\n /** Number of cells successfully written */\n cellsWritten: number;\n /** Per-cell errors, if any (omitted when all succeed) */\n errors?: Array<{ addr: string; error: string }
|
|
95761
|
+
definition: "{\n /** Number of cells successfully written */\n cellsWritten: number;\n /** Per-cell errors, if any (omitted when all succeed) */\n errors?: Array<{ addr: string; error: string }> | null;\n /** Non-fatal warnings (e.g., deduplication, coercion) */\n warnings?: OperationWarning[];\n}",
|
|
96059
95762
|
docstring: "Result of a bulk setCells() operation."
|
|
96060
95763
|
},
|
|
96061
95764
|
ShadowAlignment: {
|
|
@@ -96459,8 +96162,7 @@ Used in condition filters where users specify rules like
|
|
|
96459
96162
|
definition: "{\n /** All sheets in the workbook */\n sheets: SheetSnapshot[];\n /** ID of the currently active sheet */\n activeSheetId: string;\n /** Total number of sheets */\n sheetCount: number;\n}",
|
|
96460
96163
|
docstring: "A summary snapshot of the entire workbook state."
|
|
96461
96164
|
}
|
|
96462
|
-
}
|
|
96463
|
-
generated: "2026-04-02T22:03:24.772Z"
|
|
96165
|
+
}
|
|
96464
96166
|
};
|
|
96465
96167
|
|
|
96466
96168
|
// src/api-describe.ts
|