@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.js
CHANGED
|
@@ -272,36 +272,6 @@ var init_errors = __esm({
|
|
|
272
272
|
}
|
|
273
273
|
});
|
|
274
274
|
|
|
275
|
-
// ../../contracts/src/document/protection.ts
|
|
276
|
-
var DEFAULT_PROTECTION_OPTIONS, DEFAULT_WORKBOOK_PROTECTION_OPTIONS;
|
|
277
|
-
var init_protection = __esm({
|
|
278
|
-
"../../contracts/src/document/protection.ts"() {
|
|
279
|
-
"use strict";
|
|
280
|
-
init_esm_shims();
|
|
281
|
-
DEFAULT_PROTECTION_OPTIONS = {
|
|
282
|
-
// Selection defaults to true (users can always select cells)
|
|
283
|
-
selectLockedCells: true,
|
|
284
|
-
selectUnlockedCells: true,
|
|
285
|
-
// All other operations blocked by default
|
|
286
|
-
insertRows: false,
|
|
287
|
-
insertColumns: false,
|
|
288
|
-
deleteRows: false,
|
|
289
|
-
deleteColumns: false,
|
|
290
|
-
formatCells: false,
|
|
291
|
-
formatColumns: false,
|
|
292
|
-
formatRows: false,
|
|
293
|
-
sort: false,
|
|
294
|
-
useAutoFilter: false,
|
|
295
|
-
usePivotTableReports: false,
|
|
296
|
-
editObjects: false,
|
|
297
|
-
editScenarios: false
|
|
298
|
-
};
|
|
299
|
-
DEFAULT_WORKBOOK_PROTECTION_OPTIONS = {
|
|
300
|
-
structure: true
|
|
301
|
-
};
|
|
302
|
-
}
|
|
303
|
-
});
|
|
304
|
-
|
|
305
275
|
// ../../infra/transport/src/command-metadata.gen.ts
|
|
306
276
|
var BYTES_TUPLE_COMMANDS, RECALC_COMMANDS;
|
|
307
277
|
var init_command_metadata_gen = __esm({
|
|
@@ -1311,6 +1281,106 @@ var init_schemas = __esm({
|
|
|
1311
1281
|
}
|
|
1312
1282
|
});
|
|
1313
1283
|
|
|
1284
|
+
// ../../kernel/src/api/worksheet/change-accumulator.ts
|
|
1285
|
+
function colToLetter(col) {
|
|
1286
|
+
let result = "";
|
|
1287
|
+
let c = col;
|
|
1288
|
+
while (c >= 0) {
|
|
1289
|
+
result = String.fromCharCode(c % 26 + 65) + result;
|
|
1290
|
+
c = Math.floor(c / 26) - 1;
|
|
1291
|
+
}
|
|
1292
|
+
return result;
|
|
1293
|
+
}
|
|
1294
|
+
function toA1(row, col) {
|
|
1295
|
+
return `${colToLetter(col)}${row + 1}`;
|
|
1296
|
+
}
|
|
1297
|
+
var ChangeAccumulator;
|
|
1298
|
+
var init_change_accumulator = __esm({
|
|
1299
|
+
"../../kernel/src/api/worksheet/change-accumulator.ts"() {
|
|
1300
|
+
"use strict";
|
|
1301
|
+
init_esm_shims();
|
|
1302
|
+
ChangeAccumulator = class {
|
|
1303
|
+
constructor() {
|
|
1304
|
+
this.trackers = /* @__PURE__ */ new Set();
|
|
1305
|
+
/**
|
|
1306
|
+
* Pending direct edits set before a mutation, consumed by the next ingest().
|
|
1307
|
+
* Since JS is single-threaded, setDirectEdits() before the bridge call
|
|
1308
|
+
* guarantees these are consumed by the corresponding ingest().
|
|
1309
|
+
*/
|
|
1310
|
+
this.pendingDirectEdits = null;
|
|
1311
|
+
}
|
|
1312
|
+
/**
|
|
1313
|
+
* Set the direct edit positions for the next mutation.
|
|
1314
|
+
* Called by cell-operations before triggering the bridge call.
|
|
1315
|
+
* Consumed (cleared) by the next ingest() call.
|
|
1316
|
+
*/
|
|
1317
|
+
setDirectEdits(edits) {
|
|
1318
|
+
this.pendingDirectEdits = edits;
|
|
1319
|
+
}
|
|
1320
|
+
/**
|
|
1321
|
+
* Called by MutationResultHandler after every mutation.
|
|
1322
|
+
*
|
|
1323
|
+
* @param changedCells - RecalcResult.changedCells from the MutationResult
|
|
1324
|
+
* @param directEdits - The (sheetId, row, col) tuples that were directly written
|
|
1325
|
+
* (to distinguish direct vs cascade)
|
|
1326
|
+
* @param source - user or remote
|
|
1327
|
+
*/
|
|
1328
|
+
ingest(changedCells, directEdits, source) {
|
|
1329
|
+
if (this.trackers.size === 0) {
|
|
1330
|
+
this.pendingDirectEdits = null;
|
|
1331
|
+
return;
|
|
1332
|
+
}
|
|
1333
|
+
if (changedCells.length === 0) {
|
|
1334
|
+
this.pendingDirectEdits = null;
|
|
1335
|
+
return;
|
|
1336
|
+
}
|
|
1337
|
+
const edits = directEdits ?? this.pendingDirectEdits;
|
|
1338
|
+
this.pendingDirectEdits = null;
|
|
1339
|
+
const directSet = /* @__PURE__ */ new Set();
|
|
1340
|
+
if (edits) {
|
|
1341
|
+
for (const e of edits) {
|
|
1342
|
+
directSet.add(`${e.sheetId}:${e.row}:${e.col}`);
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
const recordsBySheet = /* @__PURE__ */ new Map();
|
|
1346
|
+
for (const cell of changedCells) {
|
|
1347
|
+
const key = `${cell.sheetId}:${cell.row}:${cell.col}`;
|
|
1348
|
+
const origin = source === "remote" ? "remote" : directSet.has(key) ? "direct" : "cascade";
|
|
1349
|
+
const record = {
|
|
1350
|
+
address: toA1(cell.row, cell.col),
|
|
1351
|
+
row: cell.row,
|
|
1352
|
+
col: cell.col,
|
|
1353
|
+
origin,
|
|
1354
|
+
type: "modified"
|
|
1355
|
+
};
|
|
1356
|
+
let list = recordsBySheet.get(cell.sheetId);
|
|
1357
|
+
if (!list) {
|
|
1358
|
+
list = [];
|
|
1359
|
+
recordsBySheet.set(cell.sheetId, list);
|
|
1360
|
+
}
|
|
1361
|
+
list.push(record);
|
|
1362
|
+
}
|
|
1363
|
+
for (const tracker of this.trackers) {
|
|
1364
|
+
const records = recordsBySheet.get(tracker.sheetId);
|
|
1365
|
+
if (records && records.length > 0) {
|
|
1366
|
+
tracker._ingest(records);
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
register(tracker) {
|
|
1371
|
+
this.trackers.add(tracker);
|
|
1372
|
+
}
|
|
1373
|
+
unregister(tracker) {
|
|
1374
|
+
this.trackers.delete(tracker);
|
|
1375
|
+
}
|
|
1376
|
+
/** Number of active trackers. */
|
|
1377
|
+
get activeCount() {
|
|
1378
|
+
return this.trackers.size;
|
|
1379
|
+
}
|
|
1380
|
+
};
|
|
1381
|
+
}
|
|
1382
|
+
});
|
|
1383
|
+
|
|
1314
1384
|
// ../../kernel/src/bridges/mutation-result-handler.ts
|
|
1315
1385
|
function resolvedPosition(row, col) {
|
|
1316
1386
|
if (row === POSITION_SENTINEL || col === POSITION_SENTINEL) {
|
|
@@ -1323,6 +1393,7 @@ var init_mutation_result_handler = __esm({
|
|
|
1323
1393
|
"../../kernel/src/bridges/mutation-result-handler.ts"() {
|
|
1324
1394
|
"use strict";
|
|
1325
1395
|
init_esm_shims();
|
|
1396
|
+
init_change_accumulator();
|
|
1326
1397
|
POSITION_SENTINEL = 4294967295;
|
|
1327
1398
|
MutationResultHandler = class {
|
|
1328
1399
|
constructor(eventBus, onUndoDescription) {
|
|
@@ -1332,6 +1403,7 @@ var init_mutation_result_handler = __esm({
|
|
|
1332
1403
|
this.errorCallbacks = [];
|
|
1333
1404
|
this.eventBus = eventBus;
|
|
1334
1405
|
this.onUndoDescription = onUndoDescription;
|
|
1406
|
+
this.changeAccumulator = new ChangeAccumulator();
|
|
1335
1407
|
}
|
|
1336
1408
|
/** Set the ViewportCoordinatorRegistry for per-viewport dimension patching. */
|
|
1337
1409
|
setCoordinatorRegistry(registry2) {
|
|
@@ -1353,8 +1425,9 @@ var init_mutation_result_handler = __esm({
|
|
|
1353
1425
|
*
|
|
1354
1426
|
* @param result - MutationResult from a Rust IPC command
|
|
1355
1427
|
* @param source - Whether this mutation originated from the local user or remote collaboration
|
|
1428
|
+
* @param directEdits - Optional positions of directly-written cells (to distinguish direct vs cascade)
|
|
1356
1429
|
*/
|
|
1357
|
-
applyAndNotify(result, source = "user") {
|
|
1430
|
+
applyAndNotify(result, source = "user", directEdits) {
|
|
1358
1431
|
if (result.recalc) {
|
|
1359
1432
|
this.handleRecalcResult(result.recalc, source);
|
|
1360
1433
|
}
|
|
@@ -1415,6 +1488,9 @@ var init_mutation_result_handler = __esm({
|
|
|
1415
1488
|
if (result.undoDescription) {
|
|
1416
1489
|
this.handleUndoDescription(result.undoDescription);
|
|
1417
1490
|
}
|
|
1491
|
+
if (this.changeAccumulator.activeCount > 0 && result.recalc?.changedCells?.length) {
|
|
1492
|
+
this.changeAccumulator.ingest(result.recalc.changedCells, directEdits ?? null, source);
|
|
1493
|
+
}
|
|
1418
1494
|
}
|
|
1419
1495
|
/**
|
|
1420
1496
|
* Register an error callback for mutation failures.
|
|
@@ -2104,101 +2180,6 @@ var init_mutation_result_handler = __esm({
|
|
|
2104
2180
|
}
|
|
2105
2181
|
});
|
|
2106
2182
|
|
|
2107
|
-
// ../../contracts/src/core/commands.ts
|
|
2108
|
-
var init_commands = __esm({
|
|
2109
|
-
"../../contracts/src/core/commands.ts"() {
|
|
2110
|
-
"use strict";
|
|
2111
|
-
init_esm_shims();
|
|
2112
|
-
}
|
|
2113
|
-
});
|
|
2114
|
-
|
|
2115
|
-
// ../../contracts/src/core/core.ts
|
|
2116
|
-
var init_core2 = __esm({
|
|
2117
|
-
"../../contracts/src/core/core.ts"() {
|
|
2118
|
-
"use strict";
|
|
2119
|
-
init_esm_shims();
|
|
2120
|
-
}
|
|
2121
|
-
});
|
|
2122
|
-
|
|
2123
|
-
// ../../contracts/src/core/disposable.ts
|
|
2124
|
-
var init_disposable = __esm({
|
|
2125
|
-
"../../contracts/src/core/disposable.ts"() {
|
|
2126
|
-
"use strict";
|
|
2127
|
-
init_esm_shims();
|
|
2128
|
-
}
|
|
2129
|
-
});
|
|
2130
|
-
|
|
2131
|
-
// ../../contracts/src/core/event-base.ts
|
|
2132
|
-
var init_event_base = __esm({
|
|
2133
|
-
"../../contracts/src/core/event-base.ts"() {
|
|
2134
|
-
"use strict";
|
|
2135
|
-
init_esm_shims();
|
|
2136
|
-
}
|
|
2137
|
-
});
|
|
2138
|
-
|
|
2139
|
-
// ../../contracts/src/core/execution.ts
|
|
2140
|
-
var init_execution = __esm({
|
|
2141
|
-
"../../contracts/src/core/execution.ts"() {
|
|
2142
|
-
"use strict";
|
|
2143
|
-
init_esm_shims();
|
|
2144
|
-
}
|
|
2145
|
-
});
|
|
2146
|
-
|
|
2147
|
-
// ../../contracts/src/core/result.ts
|
|
2148
|
-
var init_result = __esm({
|
|
2149
|
-
"../../contracts/src/core/result.ts"() {
|
|
2150
|
-
"use strict";
|
|
2151
|
-
init_esm_shims();
|
|
2152
|
-
}
|
|
2153
|
-
});
|
|
2154
|
-
|
|
2155
|
-
// ../../contracts/src/core/schema.ts
|
|
2156
|
-
var init_schema = __esm({
|
|
2157
|
-
"../../contracts/src/core/schema.ts"() {
|
|
2158
|
-
"use strict";
|
|
2159
|
-
init_esm_shims();
|
|
2160
|
-
}
|
|
2161
|
-
});
|
|
2162
|
-
|
|
2163
|
-
// ../../contracts/src/core/formatted-text.ts
|
|
2164
|
-
function asFormattedText(s) {
|
|
2165
|
-
return s;
|
|
2166
|
-
}
|
|
2167
|
-
function displayStringOrNull(text) {
|
|
2168
|
-
return text;
|
|
2169
|
-
}
|
|
2170
|
-
var init_formatted_text = __esm({
|
|
2171
|
-
"../../contracts/src/core/formatted-text.ts"() {
|
|
2172
|
-
"use strict";
|
|
2173
|
-
init_esm_shims();
|
|
2174
|
-
}
|
|
2175
|
-
});
|
|
2176
|
-
|
|
2177
|
-
// ../../contracts/src/core/testing.ts
|
|
2178
|
-
var init_testing = __esm({
|
|
2179
|
-
"../../contracts/src/core/testing.ts"() {
|
|
2180
|
-
"use strict";
|
|
2181
|
-
init_esm_shims();
|
|
2182
|
-
}
|
|
2183
|
-
});
|
|
2184
|
-
|
|
2185
|
-
// ../../contracts/src/core/index.ts
|
|
2186
|
-
var init_core3 = __esm({
|
|
2187
|
-
"../../contracts/src/core/index.ts"() {
|
|
2188
|
-
"use strict";
|
|
2189
|
-
init_esm_shims();
|
|
2190
|
-
init_commands();
|
|
2191
|
-
init_core2();
|
|
2192
|
-
init_disposable();
|
|
2193
|
-
init_event_base();
|
|
2194
|
-
init_execution();
|
|
2195
|
-
init_result();
|
|
2196
|
-
init_schema();
|
|
2197
|
-
init_formatted_text();
|
|
2198
|
-
init_testing();
|
|
2199
|
-
}
|
|
2200
|
-
});
|
|
2201
|
-
|
|
2202
2183
|
// ../../kernel/src/bridges/wire/constants.gen.ts
|
|
2203
2184
|
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;
|
|
2204
2185
|
var init_constants_gen = __esm({
|
|
@@ -2256,12 +2237,12 @@ var init_constants_gen = __esm({
|
|
|
2256
2237
|
});
|
|
2257
2238
|
|
|
2258
2239
|
// ../../kernel/src/bridges/wire/binary-mutation-reader.ts
|
|
2240
|
+
import { asFormattedText } from "@mog-sdk/spreadsheet-contracts/core";
|
|
2259
2241
|
var sharedDecoder, BinaryMutationReader;
|
|
2260
2242
|
var init_binary_mutation_reader = __esm({
|
|
2261
2243
|
"../../kernel/src/bridges/wire/binary-mutation-reader.ts"() {
|
|
2262
2244
|
"use strict";
|
|
2263
2245
|
init_esm_shims();
|
|
2264
|
-
init_core3();
|
|
2265
2246
|
init_constants_gen();
|
|
2266
2247
|
sharedDecoder = new TextDecoder("utf-8");
|
|
2267
2248
|
BinaryMutationReader = class {
|
|
@@ -2555,6 +2536,7 @@ var init_binary_mutation_reader = __esm({
|
|
|
2555
2536
|
});
|
|
2556
2537
|
|
|
2557
2538
|
// ../../kernel/src/bridges/wire/binary-viewport-buffer.ts
|
|
2539
|
+
import { asFormattedText as asFormattedText2, displayStringOrNull } from "@mog-sdk/spreadsheet-contracts/core";
|
|
2558
2540
|
function rgbaU32ToHex(value) {
|
|
2559
2541
|
const r = value >>> 24 & 255;
|
|
2560
2542
|
const g = value >>> 16 & 255;
|
|
@@ -2566,7 +2548,6 @@ var init_binary_viewport_buffer = __esm({
|
|
|
2566
2548
|
"../../kernel/src/bridges/wire/binary-viewport-buffer.ts"() {
|
|
2567
2549
|
"use strict";
|
|
2568
2550
|
init_esm_shims();
|
|
2569
|
-
init_core3();
|
|
2570
2551
|
init_constants_gen();
|
|
2571
2552
|
init_constants_gen();
|
|
2572
2553
|
sharedEncoder = new TextEncoder();
|
|
@@ -3663,7 +3644,7 @@ var init_binary_viewport_buffer = __esm({
|
|
|
3663
3644
|
*/
|
|
3664
3645
|
get displayText() {
|
|
3665
3646
|
const decoded = this._buffer.getOrDecodeString(this._displayOff, this._displayLen);
|
|
3666
|
-
return decoded !== null ?
|
|
3647
|
+
return decoded !== null ? asFormattedText2(decoded) : null;
|
|
3667
3648
|
}
|
|
3668
3649
|
/**
|
|
3669
3650
|
* Get the error text for the current cell.
|
|
@@ -3722,6 +3703,7 @@ var init_binary_viewport_buffer = __esm({
|
|
|
3722
3703
|
});
|
|
3723
3704
|
|
|
3724
3705
|
// ../../kernel/src/bridges/wire/viewport-coordinator.ts
|
|
3706
|
+
import { displayStringOrNull as displayStringOrNull2 } from "@mog-sdk/spreadsheet-contracts/core";
|
|
3725
3707
|
function cellKey(row, col) {
|
|
3726
3708
|
return `${row},${col}`;
|
|
3727
3709
|
}
|
|
@@ -3731,7 +3713,6 @@ var init_viewport_coordinator = __esm({
|
|
|
3731
3713
|
"use strict";
|
|
3732
3714
|
init_esm_shims();
|
|
3733
3715
|
init_binary_viewport_buffer();
|
|
3734
|
-
init_core3();
|
|
3735
3716
|
ViewportCoordinator = class {
|
|
3736
3717
|
constructor(viewportId) {
|
|
3737
3718
|
/** Monotonically increasing version, incremented on every write. */
|
|
@@ -3852,7 +3833,7 @@ var init_viewport_coordinator = __esm({
|
|
|
3852
3833
|
flags: reader.patchFlags(i),
|
|
3853
3834
|
numberValue: reader.patchNumberValue(i),
|
|
3854
3835
|
formatIdx: reader.patchFormatIdx(i),
|
|
3855
|
-
displayString:
|
|
3836
|
+
displayString: displayStringOrNull2(reader.patchDisplayText(i)),
|
|
3856
3837
|
errorString: reader.patchErrorText(i),
|
|
3857
3838
|
bgColorOverride: reader.patchBgColorOverride(i),
|
|
3858
3839
|
fontColorOverride: reader.patchFontColorOverride(i),
|
|
@@ -3869,7 +3850,7 @@ var init_viewport_coordinator = __esm({
|
|
|
3869
3850
|
flags: reader.spillPatchFlags(i),
|
|
3870
3851
|
numberValue: reader.spillPatchNumberValue(i),
|
|
3871
3852
|
formatIdx: reader.spillPatchFormatIdx(i),
|
|
3872
|
-
displayString:
|
|
3853
|
+
displayString: displayStringOrNull2(reader.spillPatchDisplayText(i)),
|
|
3873
3854
|
errorString: reader.spillPatchErrorText(i),
|
|
3874
3855
|
bgColorOverride: reader.spillPatchBgColorOverride(i),
|
|
3875
3856
|
fontColorOverride: reader.spillPatchFontColorOverride(i),
|
|
@@ -5978,6 +5959,9 @@ var init_compute_bridge_gen = __esm({
|
|
|
5978
5959
|
getCellFormatWithCf(sheetId, cellId, row, col) {
|
|
5979
5960
|
return this.core.query(this.core.transport.call("compute_get_cell_format_with_cf", { docId: this.core.docId, sheetId, cellId, row, col }));
|
|
5980
5961
|
}
|
|
5962
|
+
getResolvedFormat(sheetId, row, col) {
|
|
5963
|
+
return this.core.query(this.core.transport.call("compute_get_resolved_format", { docId: this.core.docId, sheetId, row, col }));
|
|
5964
|
+
}
|
|
5981
5965
|
setCellFormat(sheetId, cellId, format) {
|
|
5982
5966
|
return this.core.mutatePlain(this.core.transport.call("compute_set_cell_format", { docId: this.core.docId, sheetId, cellId, format }));
|
|
5983
5967
|
}
|
|
@@ -6727,6 +6711,7 @@ __export(compute_bridge_exports, {
|
|
|
6727
6711
|
wireTableToTableConfig: () => wireTableToTableConfig,
|
|
6728
6712
|
wireToIdentityFormula: () => wireToIdentityFormula
|
|
6729
6713
|
});
|
|
6714
|
+
import { DEFAULT_PROTECTION_OPTIONS } from "@mog-sdk/spreadsheet-contracts/protection";
|
|
6730
6715
|
function emptyMutationResult() {
|
|
6731
6716
|
return {
|
|
6732
6717
|
recalc: {
|
|
@@ -6797,7 +6782,6 @@ var init_compute_bridge = __esm({
|
|
|
6797
6782
|
"use strict";
|
|
6798
6783
|
init_esm_shims();
|
|
6799
6784
|
init_formula_string();
|
|
6800
|
-
init_protection();
|
|
6801
6785
|
init_src();
|
|
6802
6786
|
init_compute_wire_converters();
|
|
6803
6787
|
init_compute_core();
|
|
@@ -7223,65 +7207,8 @@ var init_compute_bridge = __esm({
|
|
|
7223
7207
|
}
|
|
7224
7208
|
});
|
|
7225
7209
|
|
|
7226
|
-
// ../../contracts/src/rendering/grid-renderer.ts
|
|
7227
|
-
var init_grid_renderer = __esm({
|
|
7228
|
-
"../../contracts/src/rendering/grid-renderer.ts"() {
|
|
7229
|
-
"use strict";
|
|
7230
|
-
init_esm_shims();
|
|
7231
|
-
}
|
|
7232
|
-
});
|
|
7233
|
-
|
|
7234
|
-
// ../../contracts/src/rendering/constants.ts
|
|
7235
|
-
var DEFAULT_COL_WIDTH_WINDOWS, DEFAULT_COL_WIDTH_MACOS, _isMac, DEFAULT_COL_WIDTH;
|
|
7236
|
-
var init_constants = __esm({
|
|
7237
|
-
"../../contracts/src/rendering/constants.ts"() {
|
|
7238
|
-
"use strict";
|
|
7239
|
-
init_esm_shims();
|
|
7240
|
-
DEFAULT_COL_WIDTH_WINDOWS = 64;
|
|
7241
|
-
DEFAULT_COL_WIDTH_MACOS = 72;
|
|
7242
|
-
_isMac = typeof navigator !== "undefined" && /Mac/.test(navigator.platform ?? "");
|
|
7243
|
-
DEFAULT_COL_WIDTH = _isMac ? DEFAULT_COL_WIDTH_MACOS : DEFAULT_COL_WIDTH_WINDOWS;
|
|
7244
|
-
}
|
|
7245
|
-
});
|
|
7246
|
-
|
|
7247
|
-
// ../../contracts/src/rendering/data-sources.ts
|
|
7248
|
-
var DEFAULT_CHROME_THEME;
|
|
7249
|
-
var init_data_sources = __esm({
|
|
7250
|
-
"../../contracts/src/rendering/data-sources.ts"() {
|
|
7251
|
-
"use strict";
|
|
7252
|
-
init_esm_shims();
|
|
7253
|
-
DEFAULT_CHROME_THEME = {
|
|
7254
|
-
canvasBackground: "#ffffff",
|
|
7255
|
-
gridlineColor: "#e0e0e0",
|
|
7256
|
-
headerBackground: "#f8f9fa",
|
|
7257
|
-
headerText: "#333333",
|
|
7258
|
-
headerBorder: "#dadce0",
|
|
7259
|
-
headerHighlightBackground: "#e8eaed",
|
|
7260
|
-
headerHighlightText: "#1a73e8",
|
|
7261
|
-
selectionFill: "rgba(66, 133, 244, 0.1)",
|
|
7262
|
-
selectionBorder: "#4285f4",
|
|
7263
|
-
activeCellBorder: "#1a73e8",
|
|
7264
|
-
fillHandleColor: "#4285f4",
|
|
7265
|
-
dragSourceColor: "rgba(66, 133, 244, 0.15)",
|
|
7266
|
-
dragTargetColor: "#4285f4",
|
|
7267
|
-
scrollbarTrack: "#f1f1f1",
|
|
7268
|
-
scrollbarThumb: "#c1c1c1"
|
|
7269
|
-
};
|
|
7270
|
-
}
|
|
7271
|
-
});
|
|
7272
|
-
|
|
7273
|
-
// ../../contracts/src/rendering/index.ts
|
|
7274
|
-
var init_rendering = __esm({
|
|
7275
|
-
"../../contracts/src/rendering/index.ts"() {
|
|
7276
|
-
"use strict";
|
|
7277
|
-
init_esm_shims();
|
|
7278
|
-
init_grid_renderer();
|
|
7279
|
-
init_constants();
|
|
7280
|
-
init_data_sources();
|
|
7281
|
-
}
|
|
7282
|
-
});
|
|
7283
|
-
|
|
7284
7210
|
// ../../kernel/src/domain/sheets/sheet-meta-defaults.ts
|
|
7211
|
+
import { DEFAULT_COL_WIDTH as _PLATFORM_COL_WIDTH } from "@mog-sdk/spreadsheet-contracts/rendering";
|
|
7285
7212
|
function getSheetMetaDefault(field) {
|
|
7286
7213
|
const def = SHEET_META_SCHEMA[field];
|
|
7287
7214
|
return def.default;
|
|
@@ -7291,9 +7218,8 @@ var init_sheet_meta_defaults = __esm({
|
|
|
7291
7218
|
"../../kernel/src/domain/sheets/sheet-meta-defaults.ts"() {
|
|
7292
7219
|
"use strict";
|
|
7293
7220
|
init_esm_shims();
|
|
7294
|
-
init_rendering();
|
|
7295
7221
|
SHEET_META_DEFAULT_ROW_HEIGHT = 20;
|
|
7296
|
-
SHEET_META_DEFAULT_COL_WIDTH =
|
|
7222
|
+
SHEET_META_DEFAULT_COL_WIDTH = _PLATFORM_COL_WIDTH;
|
|
7297
7223
|
SHEET_META_DEFAULT_GRIDLINE_COLOR = "#e2e2e2";
|
|
7298
7224
|
SHEET_META_SCHEMA = {
|
|
7299
7225
|
// ===========================================================================
|
|
@@ -7784,16 +7710,18 @@ var init_core_defaults = __esm({
|
|
|
7784
7710
|
async function getMeta(ctx, sheetId) {
|
|
7785
7711
|
const name = await ctx.computeBridge.getSheetName(sheetId);
|
|
7786
7712
|
if (name === null) return void 0;
|
|
7787
|
-
const [frozen, tabColor, hidden] = await Promise.all([
|
|
7713
|
+
const [frozen, tabColor, hidden, defaultRowHeight, defaultColWidth] = await Promise.all([
|
|
7788
7714
|
ctx.computeBridge.getFrozenPanesQuery(sheetId),
|
|
7789
7715
|
ctx.computeBridge.getTabColorQuery(sheetId),
|
|
7790
|
-
ctx.computeBridge.isSheetHidden(sheetId)
|
|
7716
|
+
ctx.computeBridge.isSheetHidden(sheetId),
|
|
7717
|
+
ctx.computeBridge.getDefaultRowHeight(sheetId),
|
|
7718
|
+
ctx.computeBridge.getDefaultColWidth(sheetId)
|
|
7791
7719
|
]);
|
|
7792
7720
|
return {
|
|
7793
7721
|
id: sheetId,
|
|
7794
7722
|
name,
|
|
7795
|
-
defaultRowHeight
|
|
7796
|
-
defaultColWidth
|
|
7723
|
+
defaultRowHeight,
|
|
7724
|
+
defaultColWidth,
|
|
7797
7725
|
frozenRows: frozen.rows,
|
|
7798
7726
|
frozenCols: frozen.cols,
|
|
7799
7727
|
tabColor: tabColor ?? void 0,
|
|
@@ -7820,6 +7748,7 @@ var init_sheet_meta = __esm({
|
|
|
7820
7748
|
});
|
|
7821
7749
|
|
|
7822
7750
|
// ../../spreadsheet-utils/src/range.ts
|
|
7751
|
+
import { MAX_COLS, MAX_ROWS } from "@mog-sdk/spreadsheet-contracts/core";
|
|
7823
7752
|
function normalizeRange(range2) {
|
|
7824
7753
|
return {
|
|
7825
7754
|
startRow: Math.min(range2.startRow, range2.endRow),
|
|
@@ -7835,12 +7764,11 @@ var init_range = __esm({
|
|
|
7835
7764
|
"../../spreadsheet-utils/src/range.ts"() {
|
|
7836
7765
|
"use strict";
|
|
7837
7766
|
init_esm_shims();
|
|
7838
|
-
init_core3();
|
|
7839
7767
|
}
|
|
7840
7768
|
});
|
|
7841
7769
|
|
|
7842
7770
|
// ../../spreadsheet-utils/src/a1.ts
|
|
7843
|
-
function
|
|
7771
|
+
function colToLetter3(col) {
|
|
7844
7772
|
if (col < 0) {
|
|
7845
7773
|
throw new Error("Column number must be >= 0");
|
|
7846
7774
|
}
|
|
@@ -7860,8 +7788,8 @@ function letterToCol(letters) {
|
|
|
7860
7788
|
}
|
|
7861
7789
|
return result - 1;
|
|
7862
7790
|
}
|
|
7863
|
-
function
|
|
7864
|
-
return `${
|
|
7791
|
+
function toA12(row, col) {
|
|
7792
|
+
return `${colToLetter3(col)}${row + 1}`;
|
|
7865
7793
|
}
|
|
7866
7794
|
function parseCellAddress(ref) {
|
|
7867
7795
|
const match = ref.match(CELL_ADDRESS_REGEX);
|
|
@@ -9292,7 +9220,7 @@ var init_data_extractor = __esm({
|
|
|
9292
9220
|
});
|
|
9293
9221
|
|
|
9294
9222
|
// ../../charts/src/core/index.ts
|
|
9295
|
-
var
|
|
9223
|
+
var init_core2 = __esm({
|
|
9296
9224
|
"../../charts/src/core/index.ts"() {
|
|
9297
9225
|
"use strict";
|
|
9298
9226
|
init_esm_shims();
|
|
@@ -13276,7 +13204,7 @@ var init_src2 = __esm({
|
|
|
13276
13204
|
"../../charts/src/index.ts"() {
|
|
13277
13205
|
"use strict";
|
|
13278
13206
|
init_esm_shims();
|
|
13279
|
-
|
|
13207
|
+
init_core2();
|
|
13280
13208
|
init_primitives();
|
|
13281
13209
|
init_compiler();
|
|
13282
13210
|
}
|
|
@@ -16352,7 +16280,7 @@ function toDisposable(fn) {
|
|
|
16352
16280
|
return disposable;
|
|
16353
16281
|
}
|
|
16354
16282
|
var DisposableBase, DisposableStore, DisposableNone;
|
|
16355
|
-
var
|
|
16283
|
+
var init_disposable = __esm({
|
|
16356
16284
|
"../../spreadsheet-utils/src/disposable.ts"() {
|
|
16357
16285
|
"use strict";
|
|
16358
16286
|
init_esm_shims();
|
|
@@ -16416,7 +16344,7 @@ function ok(value) {
|
|
|
16416
16344
|
function err(error) {
|
|
16417
16345
|
return { ok: false, error };
|
|
16418
16346
|
}
|
|
16419
|
-
var
|
|
16347
|
+
var init_result = __esm({
|
|
16420
16348
|
"../../spreadsheet-utils/src/result.ts"() {
|
|
16421
16349
|
"use strict";
|
|
16422
16350
|
init_esm_shims();
|
|
@@ -16429,7 +16357,7 @@ var init_subscribable = __esm({
|
|
|
16429
16357
|
"../../kernel/src/services/primitives/subscribable.ts"() {
|
|
16430
16358
|
"use strict";
|
|
16431
16359
|
init_esm_shims();
|
|
16432
|
-
|
|
16360
|
+
init_disposable();
|
|
16433
16361
|
Subscribable = class extends DisposableBase {
|
|
16434
16362
|
constructor() {
|
|
16435
16363
|
super(...arguments);
|
|
@@ -16489,7 +16417,7 @@ var init_event_emitter = __esm({
|
|
|
16489
16417
|
"../../kernel/src/services/primitives/event-emitter.ts"() {
|
|
16490
16418
|
"use strict";
|
|
16491
16419
|
init_esm_shims();
|
|
16492
|
-
|
|
16420
|
+
init_disposable();
|
|
16493
16421
|
TypedEventEmitter = class extends DisposableBase {
|
|
16494
16422
|
constructor() {
|
|
16495
16423
|
super(...arguments);
|
|
@@ -16554,8 +16482,8 @@ var init_primitives3 = __esm({
|
|
|
16554
16482
|
"../../kernel/src/services/primitives/index.ts"() {
|
|
16555
16483
|
"use strict";
|
|
16556
16484
|
init_esm_shims();
|
|
16557
|
-
|
|
16558
|
-
|
|
16485
|
+
init_disposable();
|
|
16486
|
+
init_result();
|
|
16559
16487
|
init_subscribable();
|
|
16560
16488
|
init_event_emitter();
|
|
16561
16489
|
}
|
|
@@ -24605,34 +24533,8 @@ var init_equation_bridge = __esm({
|
|
|
24605
24533
|
}
|
|
24606
24534
|
});
|
|
24607
24535
|
|
|
24608
|
-
// ../../contracts/src/bridges/ink-recognition-bridge.ts
|
|
24609
|
-
var DEFAULT_RECOGNITION_THRESHOLDS;
|
|
24610
|
-
var init_ink_recognition_bridge = __esm({
|
|
24611
|
-
"../../contracts/src/bridges/ink-recognition-bridge.ts"() {
|
|
24612
|
-
"use strict";
|
|
24613
|
-
init_esm_shims();
|
|
24614
|
-
DEFAULT_RECOGNITION_THRESHOLDS = {
|
|
24615
|
-
line: 0.7,
|
|
24616
|
-
rectangle: 0.65,
|
|
24617
|
-
ellipse: 0.7,
|
|
24618
|
-
triangle: 0.6,
|
|
24619
|
-
arrow: 0.6,
|
|
24620
|
-
star: 0.65,
|
|
24621
|
-
text: 0.5
|
|
24622
|
-
};
|
|
24623
|
-
}
|
|
24624
|
-
});
|
|
24625
|
-
|
|
24626
|
-
// ../../contracts/src/bridges/index.ts
|
|
24627
|
-
var init_bridges = __esm({
|
|
24628
|
-
"../../contracts/src/bridges/index.ts"() {
|
|
24629
|
-
"use strict";
|
|
24630
|
-
init_esm_shims();
|
|
24631
|
-
init_ink_recognition_bridge();
|
|
24632
|
-
}
|
|
24633
|
-
});
|
|
24634
|
-
|
|
24635
24536
|
// ../../kernel/src/domain/drawing/ink-recognition-bridge.ts
|
|
24537
|
+
import { DEFAULT_RECOGNITION_THRESHOLDS } from "@mog-sdk/spreadsheet-contracts/bridges";
|
|
24636
24538
|
function createInkRecognitionBridge(initialThresholds) {
|
|
24637
24539
|
let thresholds = {
|
|
24638
24540
|
...DEFAULT_RECOGNITION_THRESHOLDS,
|
|
@@ -25048,11 +24950,10 @@ async function recognizeWithBrowserAPI(strokes) {
|
|
|
25048
24950
|
}
|
|
25049
24951
|
return null;
|
|
25050
24952
|
}
|
|
25051
|
-
var
|
|
24953
|
+
var init_ink_recognition_bridge = __esm({
|
|
25052
24954
|
"../../kernel/src/domain/drawing/ink-recognition-bridge.ts"() {
|
|
25053
24955
|
"use strict";
|
|
25054
24956
|
init_esm_shims();
|
|
25055
|
-
init_bridges();
|
|
25056
24957
|
}
|
|
25057
24958
|
});
|
|
25058
24959
|
|
|
@@ -30065,7 +29966,7 @@ var init_arrows = __esm({
|
|
|
30065
29966
|
|
|
30066
29967
|
// ../../canvas/drawing/shapes/src/presets/constants.ts
|
|
30067
29968
|
var KAPPA;
|
|
30068
|
-
var
|
|
29969
|
+
var init_constants = __esm({
|
|
30069
29970
|
"../../canvas/drawing/shapes/src/presets/constants.ts"() {
|
|
30070
29971
|
"use strict";
|
|
30071
29972
|
init_esm_shims();
|
|
@@ -30089,7 +29990,7 @@ var init_primitives4 = __esm({
|
|
|
30089
29990
|
"use strict";
|
|
30090
29991
|
init_esm_shims();
|
|
30091
29992
|
init_src3();
|
|
30092
|
-
|
|
29993
|
+
init_constants();
|
|
30093
29994
|
}
|
|
30094
29995
|
});
|
|
30095
29996
|
|
|
@@ -30099,7 +30000,7 @@ var init_basic = __esm({
|
|
|
30099
30000
|
"use strict";
|
|
30100
30001
|
init_esm_shims();
|
|
30101
30002
|
init_src3();
|
|
30102
|
-
|
|
30003
|
+
init_constants();
|
|
30103
30004
|
init_primitives4();
|
|
30104
30005
|
init_registry3();
|
|
30105
30006
|
init_primitives4();
|
|
@@ -70172,438 +70073,21 @@ var init_rules = __esm({
|
|
|
70172
70073
|
}
|
|
70173
70074
|
});
|
|
70174
70075
|
|
|
70175
|
-
// ../../contracts/src/smartart/layouts.ts
|
|
70176
|
-
var init_layouts2 = __esm({
|
|
70177
|
-
"../../contracts/src/smartart/layouts.ts"() {
|
|
70178
|
-
"use strict";
|
|
70179
|
-
init_esm_shims();
|
|
70180
|
-
}
|
|
70181
|
-
});
|
|
70182
|
-
|
|
70183
|
-
// ../../contracts/src/smartart/ooxml-algorithm-types.ts
|
|
70184
|
-
var ParameterId, VALID_PARAMS_BY_ALGORITHM;
|
|
70185
|
-
var init_ooxml_algorithm_types = __esm({
|
|
70186
|
-
"../../contracts/src/smartart/ooxml-algorithm-types.ts"() {
|
|
70187
|
-
"use strict";
|
|
70188
|
-
init_esm_shims();
|
|
70189
|
-
ParameterId = {
|
|
70190
|
-
// ── Alignment Parameters ──────────────────────────────────────────────────
|
|
70191
|
-
/** Horizontal alignment of children within the layout area. */
|
|
70192
|
-
horzAlign: "horzAlign",
|
|
70193
|
-
/** Vertical alignment of children within the layout area. */
|
|
70194
|
-
vertAlign: "vertAlign",
|
|
70195
|
-
/** Horizontal alignment for individual nodes (hierarchy algorithms). */
|
|
70196
|
-
nodeHorzAlign: "nodeHorzAlign",
|
|
70197
|
-
/** Vertical alignment for individual nodes (hierarchy algorithms). */
|
|
70198
|
-
nodeVertAlign: "nodeVertAlign",
|
|
70199
|
-
/** Hierarchy alignment (16 possible values for tree orientation). */
|
|
70200
|
-
hierAlign: "hierAlign",
|
|
70201
|
-
/** Text alignment (whether text should be aligned with shape). */
|
|
70202
|
-
alignTx: "alignTx",
|
|
70203
|
-
// ── Direction Parameters ──────────────────────────────────────────────────
|
|
70204
|
-
/** Child direction (horizontal or vertical arrangement of children). */
|
|
70205
|
-
chDir: "chDir",
|
|
70206
|
-
/** Child alignment (how children align on the cross-axis). */
|
|
70207
|
-
chAlign: "chAlign",
|
|
70208
|
-
/** Secondary child alignment (for complex hierarchy layouts). */
|
|
70209
|
-
secChAlign: "secChAlign",
|
|
70210
|
-
/** Linear direction (which edge children flow from). */
|
|
70211
|
-
linDir: "linDir",
|
|
70212
|
-
/** Secondary linear direction (for complex hierarchy layouts). */
|
|
70213
|
-
secLinDir: "secLinDir",
|
|
70214
|
-
/** Text direction (horizontal or vertical text blocks). */
|
|
70215
|
-
txDir: "txDir",
|
|
70216
|
-
/** Text block direction (horizontal or vertical text flow). */
|
|
70217
|
-
txBlDir: "txBlDir",
|
|
70218
|
-
/** Growth direction (which corner the snake starts from). */
|
|
70219
|
-
grDir: "grDir",
|
|
70220
|
-
/** Flow direction (whether snake flows by row or column). */
|
|
70221
|
-
flowDir: "flowDir",
|
|
70222
|
-
/** Continue direction (same direction or reversed for each row). */
|
|
70223
|
-
contDir: "contDir",
|
|
70224
|
-
// ── Connector Parameters ──────────────────────────────────────────────────
|
|
70225
|
-
/** Connector routing style (straight, bend, curve, long curve). */
|
|
70226
|
-
connRout: "connRout",
|
|
70227
|
-
/** Beginning/start arrowhead style for connectors. */
|
|
70228
|
-
begSty: "begSty",
|
|
70229
|
-
/** Ending arrowhead style for connectors. */
|
|
70230
|
-
endSty: "endSty",
|
|
70231
|
-
/** Connector dimension (1D, 2D, or custom). */
|
|
70232
|
-
dim: "dim",
|
|
70233
|
-
/** Source node name for connector routing. */
|
|
70234
|
-
srcNode: "srcNode",
|
|
70235
|
-
/** Destination node name for connector routing. */
|
|
70236
|
-
dstNode: "dstNode",
|
|
70237
|
-
/** Beginning connection points (which points on the source shape). */
|
|
70238
|
-
begPts: "begPts",
|
|
70239
|
-
/** Ending connection points (which points on the destination shape). */
|
|
70240
|
-
endPts: "endPts",
|
|
70241
|
-
/** Bend point position for right-angle connectors. */
|
|
70242
|
-
bendPt: "bendPt",
|
|
70243
|
-
// ── Cycle/Circular Parameters ─────────────────────────────────────────────
|
|
70244
|
-
/** Start angle in degrees for cycle algorithm. */
|
|
70245
|
-
stAng: "stAng",
|
|
70246
|
-
/** Span angle in degrees for cycle algorithm. */
|
|
70247
|
-
spanAng: "spanAng",
|
|
70248
|
-
/** Rotation path (none or along the circular path). */
|
|
70249
|
-
rotPath: "rotPath",
|
|
70250
|
-
/** Center shape mapping (whether first node goes to center). */
|
|
70251
|
-
ctrShpMap: "ctrShpMap",
|
|
70252
|
-
// ── Snake Parameters ──────────────────────────────────────────────────────
|
|
70253
|
-
/** Breakpoint logic for snake wrapping (end of canvas, balanced, fixed). */
|
|
70254
|
-
bkpt: "bkpt",
|
|
70255
|
-
/** Breakpoint fixed value (number of items per row when bkpt=fixed). */
|
|
70256
|
-
bkPtFixedVal: "bkPtFixedVal",
|
|
70257
|
-
/** Offset mode for staggered rows in snake layout. */
|
|
70258
|
-
off: "off",
|
|
70259
|
-
// ── Linear/Sequence Parameters ────────────────────────────────────────────
|
|
70260
|
-
/** Starting element index (which node type starts the alternating sequence). */
|
|
70261
|
-
stElem: "stElem",
|
|
70262
|
-
/** Starting bullet level for text algorithm. */
|
|
70263
|
-
stBulletLvl: "stBulletLvl",
|
|
70264
|
-
// ── Pyramid Parameters ────────────────────────────────────────────────────
|
|
70265
|
-
/** Pyramid accent position (before or after the level). */
|
|
70266
|
-
pyraAcctPos: "pyraAcctPos",
|
|
70267
|
-
/** Pyramid accent text margin (step or stack behavior). */
|
|
70268
|
-
pyraAcctTxMar: "pyraAcctTxMar",
|
|
70269
|
-
/** Pyramid level node name. */
|
|
70270
|
-
pyraLvlNode: "pyraLvlNode",
|
|
70271
|
-
/** Pyramid accent background node name. */
|
|
70272
|
-
pyraAcctBkgdNode: "pyraAcctBkgdNode",
|
|
70273
|
-
/** Pyramid accent text node name. */
|
|
70274
|
-
pyraAcctTxNode: "pyraAcctTxNode",
|
|
70275
|
-
// ── Text Parameters ───────────────────────────────────────────────────────
|
|
70276
|
-
/** Parent text LTR alignment. */
|
|
70277
|
-
parTxLTRAlign: "parTxLTRAlign",
|
|
70278
|
-
/** Parent text RTL alignment. */
|
|
70279
|
-
parTxRTLAlign: "parTxRTLAlign",
|
|
70280
|
-
/** Shape text LTR alignment for children. */
|
|
70281
|
-
shpTxLTRAlignCh: "shpTxLTRAlignCh",
|
|
70282
|
-
/** Shape text RTL alignment for children. */
|
|
70283
|
-
shpTxRTLAlignCh: "shpTxRTLAlignCh",
|
|
70284
|
-
/** Text anchor horizontal position. */
|
|
70285
|
-
txAnchorHorz: "txAnchorHorz",
|
|
70286
|
-
/** Text anchor vertical position. */
|
|
70287
|
-
txAnchorVert: "txAnchorVert",
|
|
70288
|
-
/** Text anchor horizontal position for children. */
|
|
70289
|
-
txAnchorHorzCh: "txAnchorHorzCh",
|
|
70290
|
-
/** Text anchor vertical position for children. */
|
|
70291
|
-
txAnchorVertCh: "txAnchorVertCh",
|
|
70292
|
-
/** Auto text rotation mode (none, upright, gravity-based). */
|
|
70293
|
-
autoTxRot: "autoTxRot",
|
|
70294
|
-
// ── Spacing & Sizing Parameters ───────────────────────────────────────────
|
|
70295
|
-
/** Aspect ratio value. */
|
|
70296
|
-
ar: "ar",
|
|
70297
|
-
/** Line spacing for parent text (percentage). */
|
|
70298
|
-
lnSpPar: "lnSpPar",
|
|
70299
|
-
/** Line spacing after parent paragraph (percentage). */
|
|
70300
|
-
lnSpAfParP: "lnSpAfParP",
|
|
70301
|
-
/** Line spacing for child text (percentage). */
|
|
70302
|
-
lnSpCh: "lnSpCh",
|
|
70303
|
-
/** Line spacing after child paragraph (percentage). */
|
|
70304
|
-
lnSpAfChP: "lnSpAfChP",
|
|
70305
|
-
// ── Hierarchy-Specific Parameters ─────────────────────────────────────────
|
|
70306
|
-
/** Root short distance flag (hierarchy algorithms). */
|
|
70307
|
-
rtShortDist: "rtShortDist",
|
|
70308
|
-
// ── Fallback Parameter ────────────────────────────────────────────────────
|
|
70309
|
-
/** Fallback dimension for the algorithm. */
|
|
70310
|
-
fallback: "fallback"
|
|
70311
|
-
};
|
|
70312
|
-
VALID_PARAMS_BY_ALGORITHM = {
|
|
70313
|
-
composite: [ParameterId.ar],
|
|
70314
|
-
lin: [
|
|
70315
|
-
ParameterId.linDir,
|
|
70316
|
-
ParameterId.chDir,
|
|
70317
|
-
ParameterId.chAlign,
|
|
70318
|
-
ParameterId.horzAlign,
|
|
70319
|
-
ParameterId.vertAlign,
|
|
70320
|
-
ParameterId.stElem,
|
|
70321
|
-
ParameterId.fallback,
|
|
70322
|
-
ParameterId.nodeHorzAlign,
|
|
70323
|
-
ParameterId.nodeVertAlign
|
|
70324
|
-
],
|
|
70325
|
-
snake: [
|
|
70326
|
-
ParameterId.grDir,
|
|
70327
|
-
ParameterId.flowDir,
|
|
70328
|
-
ParameterId.contDir,
|
|
70329
|
-
ParameterId.bkpt,
|
|
70330
|
-
ParameterId.bkPtFixedVal,
|
|
70331
|
-
ParameterId.off
|
|
70332
|
-
],
|
|
70333
|
-
cycle: [ParameterId.stAng, ParameterId.spanAng, ParameterId.rotPath, ParameterId.ctrShpMap],
|
|
70334
|
-
hierRoot: [
|
|
70335
|
-
ParameterId.hierAlign,
|
|
70336
|
-
ParameterId.nodeHorzAlign,
|
|
70337
|
-
ParameterId.nodeVertAlign,
|
|
70338
|
-
ParameterId.rtShortDist
|
|
70339
|
-
],
|
|
70340
|
-
hierChild: [
|
|
70341
|
-
ParameterId.chAlign,
|
|
70342
|
-
ParameterId.linDir,
|
|
70343
|
-
ParameterId.secChAlign,
|
|
70344
|
-
ParameterId.secLinDir
|
|
70345
|
-
],
|
|
70346
|
-
pyra: [
|
|
70347
|
-
ParameterId.linDir,
|
|
70348
|
-
ParameterId.txDir,
|
|
70349
|
-
ParameterId.pyraAcctPos,
|
|
70350
|
-
ParameterId.pyraAcctTxMar,
|
|
70351
|
-
ParameterId.pyraLvlNode,
|
|
70352
|
-
ParameterId.pyraAcctBkgdNode,
|
|
70353
|
-
ParameterId.pyraAcctTxNode
|
|
70354
|
-
],
|
|
70355
|
-
conn: [
|
|
70356
|
-
ParameterId.srcNode,
|
|
70357
|
-
ParameterId.dstNode,
|
|
70358
|
-
ParameterId.connRout,
|
|
70359
|
-
ParameterId.begSty,
|
|
70360
|
-
ParameterId.endSty,
|
|
70361
|
-
ParameterId.dim,
|
|
70362
|
-
ParameterId.bendPt,
|
|
70363
|
-
ParameterId.begPts,
|
|
70364
|
-
ParameterId.endPts
|
|
70365
|
-
],
|
|
70366
|
-
tx: [
|
|
70367
|
-
ParameterId.parTxLTRAlign,
|
|
70368
|
-
ParameterId.parTxRTLAlign,
|
|
70369
|
-
ParameterId.shpTxLTRAlignCh,
|
|
70370
|
-
ParameterId.shpTxRTLAlignCh,
|
|
70371
|
-
ParameterId.txAnchorVert,
|
|
70372
|
-
ParameterId.txAnchorHorz,
|
|
70373
|
-
ParameterId.txAnchorVertCh,
|
|
70374
|
-
ParameterId.txAnchorHorzCh,
|
|
70375
|
-
ParameterId.txBlDir,
|
|
70376
|
-
ParameterId.autoTxRot,
|
|
70377
|
-
ParameterId.stBulletLvl,
|
|
70378
|
-
ParameterId.lnSpPar,
|
|
70379
|
-
ParameterId.lnSpAfParP,
|
|
70380
|
-
ParameterId.lnSpCh,
|
|
70381
|
-
ParameterId.lnSpAfChP,
|
|
70382
|
-
ParameterId.alignTx
|
|
70383
|
-
],
|
|
70384
|
-
sp: []
|
|
70385
|
-
};
|
|
70386
|
-
}
|
|
70387
|
-
});
|
|
70388
|
-
|
|
70389
|
-
// ../../contracts/src/smartart/ooxml-data-model-types.ts
|
|
70390
|
-
var init_ooxml_data_model_types = __esm({
|
|
70391
|
-
"../../contracts/src/smartart/ooxml-data-model-types.ts"() {
|
|
70392
|
-
"use strict";
|
|
70393
|
-
init_esm_shims();
|
|
70394
|
-
}
|
|
70395
|
-
});
|
|
70396
|
-
|
|
70397
|
-
// ../../contracts/src/smartart/ooxml-drawing-types.ts
|
|
70398
|
-
var init_ooxml_drawing_types = __esm({
|
|
70399
|
-
"../../contracts/src/smartart/ooxml-drawing-types.ts"() {
|
|
70400
|
-
"use strict";
|
|
70401
|
-
init_esm_shims();
|
|
70402
|
-
}
|
|
70403
|
-
});
|
|
70404
|
-
|
|
70405
|
-
// ../../contracts/src/smartart/ooxml-engine-types.ts
|
|
70406
|
-
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;
|
|
70407
|
-
var init_ooxml_engine_types = __esm({
|
|
70408
|
-
"../../contracts/src/smartart/ooxml-engine-types.ts"() {
|
|
70409
|
-
"use strict";
|
|
70410
|
-
init_esm_shims();
|
|
70411
|
-
POSITIONAL_CONSTRAINT_TYPES = [
|
|
70412
|
-
"l",
|
|
70413
|
-
"t",
|
|
70414
|
-
"r",
|
|
70415
|
-
"b",
|
|
70416
|
-
"lOff",
|
|
70417
|
-
"tOff",
|
|
70418
|
-
"rOff",
|
|
70419
|
-
"bOff",
|
|
70420
|
-
"ctrX",
|
|
70421
|
-
"ctrY",
|
|
70422
|
-
"ctrXOff",
|
|
70423
|
-
"ctrYOff"
|
|
70424
|
-
];
|
|
70425
|
-
DIMENSIONAL_CONSTRAINT_TYPES = [
|
|
70426
|
-
"w",
|
|
70427
|
-
"h",
|
|
70428
|
-
"wOff",
|
|
70429
|
-
"hOff"
|
|
70430
|
-
];
|
|
70431
|
-
MARGIN_CONSTRAINT_TYPES = [
|
|
70432
|
-
"lMarg",
|
|
70433
|
-
"tMarg",
|
|
70434
|
-
"rMarg",
|
|
70435
|
-
"bMarg",
|
|
70436
|
-
"begMarg",
|
|
70437
|
-
"endMarg"
|
|
70438
|
-
];
|
|
70439
|
-
FONT_CONSTRAINT_TYPES = [
|
|
70440
|
-
"primFontSz",
|
|
70441
|
-
"secFontSz"
|
|
70442
|
-
];
|
|
70443
|
-
SPACING_CONSTRAINT_TYPES = [
|
|
70444
|
-
"sp",
|
|
70445
|
-
"sibSp",
|
|
70446
|
-
"secSibSp"
|
|
70447
|
-
];
|
|
70448
|
-
GEOMETRY_CONSTRAINT_TYPES = [
|
|
70449
|
-
"connDist",
|
|
70450
|
-
"diam",
|
|
70451
|
-
"stemThick",
|
|
70452
|
-
"begPad",
|
|
70453
|
-
"endPad",
|
|
70454
|
-
"wArH",
|
|
70455
|
-
"hArH",
|
|
70456
|
-
"bendDist"
|
|
70457
|
-
];
|
|
70458
|
-
USER_DEFINED_CONSTRAINT_TYPES = [
|
|
70459
|
-
"userA",
|
|
70460
|
-
"userB",
|
|
70461
|
-
"userC",
|
|
70462
|
-
"userD",
|
|
70463
|
-
"userE",
|
|
70464
|
-
"userF",
|
|
70465
|
-
"userG",
|
|
70466
|
-
"userH",
|
|
70467
|
-
"userI",
|
|
70468
|
-
"userJ",
|
|
70469
|
-
"userK",
|
|
70470
|
-
"userL",
|
|
70471
|
-
"userM",
|
|
70472
|
-
"userN",
|
|
70473
|
-
"userO",
|
|
70474
|
-
"userP",
|
|
70475
|
-
"userQ",
|
|
70476
|
-
"userR",
|
|
70477
|
-
"userS",
|
|
70478
|
-
"userT",
|
|
70479
|
-
"userU",
|
|
70480
|
-
"userV",
|
|
70481
|
-
"userW",
|
|
70482
|
-
"userX",
|
|
70483
|
-
"userY",
|
|
70484
|
-
"userZ"
|
|
70485
|
-
];
|
|
70486
|
-
ALL_CONSTRAINT_TYPES = [
|
|
70487
|
-
...POSITIONAL_CONSTRAINT_TYPES,
|
|
70488
|
-
...DIMENSIONAL_CONSTRAINT_TYPES,
|
|
70489
|
-
...MARGIN_CONSTRAINT_TYPES,
|
|
70490
|
-
...FONT_CONSTRAINT_TYPES,
|
|
70491
|
-
...SPACING_CONSTRAINT_TYPES,
|
|
70492
|
-
...GEOMETRY_CONSTRAINT_TYPES,
|
|
70493
|
-
"pyraAcctRatio",
|
|
70494
|
-
"alignOff",
|
|
70495
|
-
...USER_DEFINED_CONSTRAINT_TYPES,
|
|
70496
|
-
"none"
|
|
70497
|
-
];
|
|
70498
|
-
ALL_ELEMENT_TYPES = [
|
|
70499
|
-
"all",
|
|
70500
|
-
"doc",
|
|
70501
|
-
"node",
|
|
70502
|
-
"norm",
|
|
70503
|
-
"nonNorm",
|
|
70504
|
-
"asst",
|
|
70505
|
-
"nonAsst",
|
|
70506
|
-
"parTrans",
|
|
70507
|
-
"pres",
|
|
70508
|
-
"sibTrans"
|
|
70509
|
-
];
|
|
70510
|
-
ALL_FUNCTION_TYPES = [
|
|
70511
|
-
"cnt",
|
|
70512
|
-
"pos",
|
|
70513
|
-
"revPos",
|
|
70514
|
-
"posEven",
|
|
70515
|
-
"posOdd",
|
|
70516
|
-
"var",
|
|
70517
|
-
"depth",
|
|
70518
|
-
"maxDepth"
|
|
70519
|
-
];
|
|
70520
|
-
ALL_FUNCTION_OPERATORS = [
|
|
70521
|
-
"equ",
|
|
70522
|
-
"neq",
|
|
70523
|
-
"gt",
|
|
70524
|
-
"lt",
|
|
70525
|
-
"gte",
|
|
70526
|
-
"lte"
|
|
70527
|
-
];
|
|
70528
|
-
ALL_FUNCTION_ARGUMENTS = [
|
|
70529
|
-
"none",
|
|
70530
|
-
"orgChart",
|
|
70531
|
-
"chMax",
|
|
70532
|
-
"chPref",
|
|
70533
|
-
"bulEnabled",
|
|
70534
|
-
"dir",
|
|
70535
|
-
"hierBranch",
|
|
70536
|
-
"animOne",
|
|
70537
|
-
"animLvl",
|
|
70538
|
-
"resizeHandles"
|
|
70539
|
-
];
|
|
70540
|
-
}
|
|
70541
|
-
});
|
|
70542
|
-
|
|
70543
|
-
// ../../contracts/src/smartart/ooxml-layout-types.ts
|
|
70544
|
-
var init_ooxml_layout_types = __esm({
|
|
70545
|
-
"../../contracts/src/smartart/ooxml-layout-types.ts"() {
|
|
70546
|
-
"use strict";
|
|
70547
|
-
init_esm_shims();
|
|
70548
|
-
}
|
|
70549
|
-
});
|
|
70550
|
-
|
|
70551
|
-
// ../../contracts/src/smartart/ooxml-style-types.ts
|
|
70552
|
-
var init_ooxml_style_types = __esm({
|
|
70553
|
-
"../../contracts/src/smartart/ooxml-style-types.ts"() {
|
|
70554
|
-
"use strict";
|
|
70555
|
-
init_esm_shims();
|
|
70556
|
-
}
|
|
70557
|
-
});
|
|
70558
|
-
|
|
70559
|
-
// ../../contracts/src/smartart/styles.ts
|
|
70560
|
-
var init_styles3 = __esm({
|
|
70561
|
-
"../../contracts/src/smartart/styles.ts"() {
|
|
70562
|
-
"use strict";
|
|
70563
|
-
init_esm_shims();
|
|
70564
|
-
}
|
|
70565
|
-
});
|
|
70566
|
-
|
|
70567
|
-
// ../../contracts/src/smartart/types.ts
|
|
70568
|
-
var init_types4 = __esm({
|
|
70569
|
-
"../../contracts/src/smartart/types.ts"() {
|
|
70570
|
-
"use strict";
|
|
70571
|
-
init_esm_shims();
|
|
70572
|
-
}
|
|
70573
|
-
});
|
|
70574
|
-
|
|
70575
|
-
// ../../contracts/src/smartart/index.ts
|
|
70576
|
-
var init_smartart = __esm({
|
|
70577
|
-
"../../contracts/src/smartart/index.ts"() {
|
|
70578
|
-
"use strict";
|
|
70579
|
-
init_esm_shims();
|
|
70580
|
-
init_layouts2();
|
|
70581
|
-
init_ooxml_algorithm_types();
|
|
70582
|
-
init_ooxml_data_model_types();
|
|
70583
|
-
init_ooxml_drawing_types();
|
|
70584
|
-
init_ooxml_engine_types();
|
|
70585
|
-
init_ooxml_layout_types();
|
|
70586
|
-
init_ooxml_style_types();
|
|
70587
|
-
init_styles3();
|
|
70588
|
-
init_types4();
|
|
70589
|
-
}
|
|
70590
|
-
});
|
|
70591
|
-
|
|
70592
70076
|
// ../../canvas/drawing/smartart/src/engine/algorithms/composite.ts
|
|
70077
|
+
import { AlgorithmType } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70593
70078
|
var init_composite = __esm({
|
|
70594
70079
|
"../../canvas/drawing/smartart/src/engine/algorithms/composite.ts"() {
|
|
70595
70080
|
"use strict";
|
|
70596
70081
|
init_esm_shims();
|
|
70597
|
-
init_smartart();
|
|
70598
70082
|
}
|
|
70599
70083
|
});
|
|
70600
70084
|
|
|
70601
70085
|
// ../../canvas/drawing/smartart/src/engine/algorithms/linear.ts
|
|
70086
|
+
import { AlgorithmType as AlgorithmType2 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70602
70087
|
var init_linear2 = __esm({
|
|
70603
70088
|
"../../canvas/drawing/smartart/src/engine/algorithms/linear.ts"() {
|
|
70604
70089
|
"use strict";
|
|
70605
70090
|
init_esm_shims();
|
|
70606
|
-
init_smartart();
|
|
70607
70091
|
}
|
|
70608
70092
|
});
|
|
70609
70093
|
|
|
@@ -70616,82 +70100,82 @@ var init_param_utils = __esm({
|
|
|
70616
70100
|
});
|
|
70617
70101
|
|
|
70618
70102
|
// ../../canvas/drawing/smartart/src/engine/algorithms/snake.ts
|
|
70103
|
+
import { AlgorithmType as AlgorithmType3 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70619
70104
|
var init_snake = __esm({
|
|
70620
70105
|
"../../canvas/drawing/smartart/src/engine/algorithms/snake.ts"() {
|
|
70621
70106
|
"use strict";
|
|
70622
70107
|
init_esm_shims();
|
|
70623
|
-
init_smartart();
|
|
70624
70108
|
init_param_utils();
|
|
70625
70109
|
}
|
|
70626
70110
|
});
|
|
70627
70111
|
|
|
70628
70112
|
// ../../canvas/drawing/smartart/src/engine/algorithms/cycle.ts
|
|
70113
|
+
import { AlgorithmType as AlgorithmType4 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70629
70114
|
var init_cycle2 = __esm({
|
|
70630
70115
|
"../../canvas/drawing/smartart/src/engine/algorithms/cycle.ts"() {
|
|
70631
70116
|
"use strict";
|
|
70632
70117
|
init_esm_shims();
|
|
70633
|
-
init_smartart();
|
|
70634
70118
|
init_param_utils();
|
|
70635
70119
|
}
|
|
70636
70120
|
});
|
|
70637
70121
|
|
|
70638
70122
|
// ../../canvas/drawing/smartart/src/engine/algorithms/hier-root.ts
|
|
70123
|
+
import { AlgorithmType as AlgorithmType5 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70639
70124
|
var init_hier_root = __esm({
|
|
70640
70125
|
"../../canvas/drawing/smartart/src/engine/algorithms/hier-root.ts"() {
|
|
70641
70126
|
"use strict";
|
|
70642
70127
|
init_esm_shims();
|
|
70643
|
-
init_smartart();
|
|
70644
70128
|
init_param_utils();
|
|
70645
70129
|
}
|
|
70646
70130
|
});
|
|
70647
70131
|
|
|
70648
70132
|
// ../../canvas/drawing/smartart/src/engine/algorithms/hier-child.ts
|
|
70133
|
+
import { AlgorithmType as AlgorithmType6 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70649
70134
|
var init_hier_child = __esm({
|
|
70650
70135
|
"../../canvas/drawing/smartart/src/engine/algorithms/hier-child.ts"() {
|
|
70651
70136
|
"use strict";
|
|
70652
70137
|
init_esm_shims();
|
|
70653
|
-
init_smartart();
|
|
70654
70138
|
init_param_utils();
|
|
70655
70139
|
}
|
|
70656
70140
|
});
|
|
70657
70141
|
|
|
70658
70142
|
// ../../canvas/drawing/smartart/src/engine/algorithms/pyramid.ts
|
|
70143
|
+
import { AlgorithmType as AlgorithmType7 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70659
70144
|
var init_pyramid2 = __esm({
|
|
70660
70145
|
"../../canvas/drawing/smartart/src/engine/algorithms/pyramid.ts"() {
|
|
70661
70146
|
"use strict";
|
|
70662
70147
|
init_esm_shims();
|
|
70663
|
-
init_smartart();
|
|
70664
70148
|
init_param_utils();
|
|
70665
70149
|
}
|
|
70666
70150
|
});
|
|
70667
70151
|
|
|
70668
70152
|
// ../../canvas/drawing/smartart/src/engine/algorithms/connector.ts
|
|
70153
|
+
import { AlgorithmType as AlgorithmType8 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70669
70154
|
var init_connector = __esm({
|
|
70670
70155
|
"../../canvas/drawing/smartart/src/engine/algorithms/connector.ts"() {
|
|
70671
70156
|
"use strict";
|
|
70672
70157
|
init_esm_shims();
|
|
70673
|
-
init_smartart();
|
|
70674
70158
|
init_connector_routing();
|
|
70675
70159
|
init_param_utils();
|
|
70676
70160
|
}
|
|
70677
70161
|
});
|
|
70678
70162
|
|
|
70679
70163
|
// ../../canvas/drawing/smartart/src/engine/algorithms/text.ts
|
|
70164
|
+
import { AlgorithmType as AlgorithmType9 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70680
70165
|
var init_text3 = __esm({
|
|
70681
70166
|
"../../canvas/drawing/smartart/src/engine/algorithms/text.ts"() {
|
|
70682
70167
|
"use strict";
|
|
70683
70168
|
init_esm_shims();
|
|
70684
|
-
init_smartart();
|
|
70685
70169
|
init_param_utils();
|
|
70686
70170
|
}
|
|
70687
70171
|
});
|
|
70688
70172
|
|
|
70689
70173
|
// ../../canvas/drawing/smartart/src/engine/algorithms/space.ts
|
|
70174
|
+
import { AlgorithmType as AlgorithmType10 } from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70690
70175
|
var init_space = __esm({
|
|
70691
70176
|
"../../canvas/drawing/smartart/src/engine/algorithms/space.ts"() {
|
|
70692
70177
|
"use strict";
|
|
70693
70178
|
init_esm_shims();
|
|
70694
|
-
init_smartart();
|
|
70695
70179
|
}
|
|
70696
70180
|
});
|
|
70697
70181
|
|
|
@@ -70850,12 +70334,18 @@ var init_drawing_parser = __esm({
|
|
|
70850
70334
|
});
|
|
70851
70335
|
|
|
70852
70336
|
// ../../canvas/drawing/smartart/src/parser/layout-def-parser.ts
|
|
70337
|
+
import {
|
|
70338
|
+
ALL_ELEMENT_TYPES,
|
|
70339
|
+
ALL_FUNCTION_ARGUMENTS,
|
|
70340
|
+
ALL_FUNCTION_OPERATORS,
|
|
70341
|
+
ALL_FUNCTION_TYPES,
|
|
70342
|
+
VARIABLE_LIST_DEFAULTS
|
|
70343
|
+
} from "@mog-sdk/spreadsheet-contracts/smartart";
|
|
70853
70344
|
var VALID_ELEMENT_TYPES, VALID_FUNCTION_TYPES, VALID_FUNCTION_OPERATORS, VALID_FUNCTION_ARGUMENTS;
|
|
70854
70345
|
var init_layout_def_parser = __esm({
|
|
70855
70346
|
"../../canvas/drawing/smartart/src/parser/layout-def-parser.ts"() {
|
|
70856
70347
|
"use strict";
|
|
70857
70348
|
init_esm_shims();
|
|
70858
|
-
init_smartart();
|
|
70859
70349
|
init_data_model_parser();
|
|
70860
70350
|
init_drawingml_helpers();
|
|
70861
70351
|
init_xml_helpers();
|
|
@@ -74757,7 +74247,7 @@ var init_cell_anchor_resolver = __esm({
|
|
|
74757
74247
|
});
|
|
74758
74248
|
|
|
74759
74249
|
// ../../kernel/src/floating-objects/types.ts
|
|
74760
|
-
var
|
|
74250
|
+
var init_types4 = __esm({
|
|
74761
74251
|
"../../kernel/src/floating-objects/types.ts"() {
|
|
74762
74252
|
"use strict";
|
|
74763
74253
|
init_esm_shims();
|
|
@@ -74856,7 +74346,7 @@ var init_picture_manager = __esm({
|
|
|
74856
74346
|
"use strict";
|
|
74857
74347
|
init_esm_shims();
|
|
74858
74348
|
init_document();
|
|
74859
|
-
|
|
74349
|
+
init_types4();
|
|
74860
74350
|
}
|
|
74861
74351
|
});
|
|
74862
74352
|
|
|
@@ -74958,7 +74448,7 @@ var init_textbox_manager = __esm({
|
|
|
74958
74448
|
"../../kernel/src/floating-objects/managers/textbox-manager.ts"() {
|
|
74959
74449
|
"use strict";
|
|
74960
74450
|
init_esm_shims();
|
|
74961
|
-
|
|
74451
|
+
init_types4();
|
|
74962
74452
|
DEFAULT_TEXTBOX_FILL = { type: "solid", color: "#ffffff" };
|
|
74963
74453
|
DEFAULT_TEXTBOX_BORDER = { style: "solid", color: "#000000", width: 1 };
|
|
74964
74454
|
}
|
|
@@ -76139,7 +75629,7 @@ var init_kernel_context = __esm({
|
|
|
76139
75629
|
init_esm_shims();
|
|
76140
75630
|
init_chart_bridge();
|
|
76141
75631
|
init_equation_bridge();
|
|
76142
|
-
|
|
75632
|
+
init_ink_recognition_bridge();
|
|
76143
75633
|
init_locale_bridge();
|
|
76144
75634
|
init_pivot_bridge();
|
|
76145
75635
|
init_schema_bridge();
|
|
@@ -77149,21 +76639,8 @@ var WorkbookHistoryImpl = class {
|
|
|
77149
76639
|
|
|
77150
76640
|
// ../../kernel/src/api/workbook/names.ts
|
|
77151
76641
|
init_esm_shims();
|
|
77152
|
-
|
|
77153
|
-
// ../../contracts/src/api/index.ts
|
|
77154
|
-
init_esm_shims();
|
|
77155
|
-
|
|
77156
|
-
// ../../contracts/src/api/types.ts
|
|
77157
|
-
init_esm_shims();
|
|
77158
|
-
|
|
77159
|
-
// ../../contracts/src/api/worksheet/index.ts
|
|
77160
|
-
init_esm_shims();
|
|
77161
|
-
|
|
77162
|
-
// ../../contracts/src/api/worksheet/format-mappings.ts
|
|
77163
|
-
init_esm_shims();
|
|
77164
|
-
|
|
77165
|
-
// ../../kernel/src/api/workbook/names.ts
|
|
77166
76642
|
init_errors();
|
|
76643
|
+
import { RangeValueType } from "@mog-sdk/spreadsheet-contracts/api";
|
|
77167
76644
|
|
|
77168
76645
|
// ../../kernel/src/domain/formulas/named-ranges.ts
|
|
77169
76646
|
init_esm_shims();
|
|
@@ -77295,6 +76772,10 @@ async function getRefersToA1(ctx, name) {
|
|
|
77295
76772
|
const a1 = await ctx.computeBridge.toA1Display(NIL_SHEET_ID, wire);
|
|
77296
76773
|
return a1.startsWith("=") ? a1 : `=${a1}`;
|
|
77297
76774
|
}
|
|
76775
|
+
async function getVisible(ctx) {
|
|
76776
|
+
const rustNames = await ctx.computeBridge.getVisibleNamedRanges();
|
|
76777
|
+
return rustNames.map(mapRustNamedRange);
|
|
76778
|
+
}
|
|
77298
76779
|
async function create2(ctx, input, contextSheet, _origin = "user") {
|
|
77299
76780
|
const formula = await ctx.computeBridge.toIdentityFormula(contextSheet, input.refersToA1);
|
|
77300
76781
|
const rawFormula = formula;
|
|
@@ -77380,7 +76861,7 @@ async function update2(ctx, id, updates, contextSheet, _origin = "user") {
|
|
|
77380
76861
|
}
|
|
77381
76862
|
const newName = updates.name ?? existing.name;
|
|
77382
76863
|
if (newName !== existing.name) {
|
|
77383
|
-
void ctx.computeBridge.
|
|
76864
|
+
void ctx.computeBridge.removeNamedRangeById(existing.id);
|
|
77384
76865
|
}
|
|
77385
76866
|
let refersToWire = identityFormulaToWire(existing.refersTo);
|
|
77386
76867
|
if (updates.refersToA1) {
|
|
@@ -77467,7 +76948,7 @@ async function remove(ctx, id, _origin = "user") {
|
|
|
77467
76948
|
if (!existing) {
|
|
77468
76949
|
throw new KernelError("DOMAIN_DEFINED_NAME_NOT_FOUND", `Defined name with ID ${id} not found`);
|
|
77469
76950
|
}
|
|
77470
|
-
void ctx.computeBridge.
|
|
76951
|
+
void ctx.computeBridge.removeNamedRangeById(existing.id);
|
|
77471
76952
|
}
|
|
77472
76953
|
async function exportNames(ctx) {
|
|
77473
76954
|
const all = await getAll(ctx);
|
|
@@ -77492,7 +76973,7 @@ function sanitizeLabel(label) {
|
|
|
77492
76973
|
}
|
|
77493
76974
|
return name;
|
|
77494
76975
|
}
|
|
77495
|
-
function
|
|
76976
|
+
function colToLetter2(col) {
|
|
77496
76977
|
let result = "";
|
|
77497
76978
|
let c = col;
|
|
77498
76979
|
while (c >= 0) {
|
|
@@ -77566,7 +77047,7 @@ async function createFromSelection(ctx, sheetId, range2, options, _origin = "use
|
|
|
77566
77047
|
result.skippedReasons.push({ label: name, reason: validation.message ?? "invalid name" });
|
|
77567
77048
|
return;
|
|
77568
77049
|
}
|
|
77569
|
-
const refersToA1 = refStartRow === refEndRow && refStartCol === refEndCol ? `=$${
|
|
77050
|
+
const refersToA1 = refStartRow === refEndRow && refStartCol === refEndCol ? `=$${colToLetter2(refStartCol)}$${refStartRow + 1}` : `=$${colToLetter2(refStartCol)}$${refStartRow + 1}:$${colToLetter2(refEndCol)}$${refEndRow + 1}`;
|
|
77570
77051
|
try {
|
|
77571
77052
|
await create2(ctx, { name: sanitized, refersToA1 }, sheetId);
|
|
77572
77053
|
existingKeys.add(key);
|
|
@@ -77781,13 +77262,13 @@ var WorkbookNamesImpl = class {
|
|
|
77781
77262
|
if (!values) return null;
|
|
77782
77263
|
return values.map(
|
|
77783
77264
|
(row) => row.map((cell) => {
|
|
77784
|
-
if (cell === null || cell === void 0) return
|
|
77785
|
-
if (typeof cell === "boolean") return
|
|
77786
|
-
if (typeof cell === "number") return
|
|
77787
|
-
if (typeof cell === "string") return
|
|
77265
|
+
if (cell === null || cell === void 0) return RangeValueType.Empty;
|
|
77266
|
+
if (typeof cell === "boolean") return RangeValueType.Boolean;
|
|
77267
|
+
if (typeof cell === "number") return RangeValueType.Double;
|
|
77268
|
+
if (typeof cell === "string") return RangeValueType.String;
|
|
77788
77269
|
if (typeof cell === "object" && cell !== null && "type" in cell)
|
|
77789
|
-
return
|
|
77790
|
-
return
|
|
77270
|
+
return RangeValueType.Error;
|
|
77271
|
+
return RangeValueType.String;
|
|
77791
77272
|
})
|
|
77792
77273
|
);
|
|
77793
77274
|
}
|
|
@@ -77879,7 +77360,7 @@ var BUILT_IN_LISTS = [
|
|
|
77879
77360
|
];
|
|
77880
77361
|
|
|
77881
77362
|
// ../../kernel/src/domain/workbook/workbook.ts
|
|
77882
|
-
|
|
77363
|
+
import { DEFAULT_WORKBOOK_PROTECTION_OPTIONS } from "@mog-sdk/spreadsheet-contracts/protection";
|
|
77883
77364
|
|
|
77884
77365
|
// ../../spreadsheet-utils/src/protection.ts
|
|
77885
77366
|
init_esm_shims();
|
|
@@ -78335,9 +77816,9 @@ init_sheet_meta();
|
|
|
78335
77816
|
|
|
78336
77817
|
// ../../kernel/src/api/worksheet/worksheet-impl.ts
|
|
78337
77818
|
init_esm_shims();
|
|
78338
|
-
init_core3();
|
|
78339
77819
|
init_errors3();
|
|
78340
77820
|
init_errors();
|
|
77821
|
+
import { displayStringOrNull as displayStringOrNull3 } from "@mog-sdk/spreadsheet-contracts/core";
|
|
78341
77822
|
|
|
78342
77823
|
// ../../kernel/src/bridges/wire/cell-metadata-cache.ts
|
|
78343
77824
|
init_esm_shims();
|
|
@@ -78838,6 +78319,7 @@ init_cell_properties();
|
|
|
78838
78319
|
var MAX_RANGE_CELLS = 1e4;
|
|
78839
78320
|
var MAX_RANGE_BOUNDING_BOX = 5e5;
|
|
78840
78321
|
var MAX_DESCRIBE_OUTPUT_CHARS = 5e4;
|
|
78322
|
+
var MAX_SUMMARY_NAMED_RANGES = 20;
|
|
78841
78323
|
async function getStyleHints(ctx, sheetId, row, col) {
|
|
78842
78324
|
const format = await getFormat(ctx, sheetId, row, col);
|
|
78843
78325
|
if (!format) return null;
|
|
@@ -78927,7 +78409,7 @@ function generateFormulaDocumentation(analysis) {
|
|
|
78927
78409
|
const lines = [""];
|
|
78928
78410
|
for (const info of significantPatterns) {
|
|
78929
78411
|
const examples = info.cells.slice(0, 2).map((cell) => {
|
|
78930
|
-
const addr = `${
|
|
78412
|
+
const addr = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
78931
78413
|
return `${addr}: =${cell.formula}`;
|
|
78932
78414
|
});
|
|
78933
78415
|
const exampleStr = examples.length > 0 ? ` (e.g. ${examples.join(", ")})` : "";
|
|
@@ -78986,7 +78468,7 @@ function buildLeftContext(leftCells, startRow, startCol, endRow) {
|
|
|
78986
78468
|
found.sort((a, b) => a.col - b.col);
|
|
78987
78469
|
const tokens = found.map((f) => {
|
|
78988
78470
|
const prefix = "\u2192".repeat(Math.max(0, f.indent));
|
|
78989
|
-
const addr = `${
|
|
78471
|
+
const addr = `${colToLetter3(f.col)}${row + 1}`;
|
|
78990
78472
|
return `${prefix}${addr}:${f.text}`;
|
|
78991
78473
|
});
|
|
78992
78474
|
lines.push(tokens.join(" | "));
|
|
@@ -79058,7 +78540,7 @@ function buildAboveContext(aboveCells, startRow, startCol, endCol) {
|
|
|
79058
78540
|
sawNumeric = true;
|
|
79059
78541
|
continue;
|
|
79060
78542
|
}
|
|
79061
|
-
const addr = `${
|
|
78543
|
+
const addr = `${colToLetter3(c)}${bestRow + 1}`;
|
|
79062
78544
|
if (tokens.length > 0 && sawNumeric) tokens.push("...");
|
|
79063
78545
|
tokens.push(`${addr}:${d}`);
|
|
79064
78546
|
sawNumeric = false;
|
|
@@ -79116,8 +78598,8 @@ function consolidateRanges(cells) {
|
|
|
79116
78598
|
covered.add(`${r},${c}`);
|
|
79117
78599
|
}
|
|
79118
78600
|
}
|
|
79119
|
-
const start = `${
|
|
79120
|
-
const end = `${
|
|
78601
|
+
const start = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
78602
|
+
const end = `${colToLetter3(endCol)}${endRow + 1}`;
|
|
79121
78603
|
ranges.push(start === end ? start : `${start}:${end}`);
|
|
79122
78604
|
}
|
|
79123
78605
|
return ranges;
|
|
@@ -79188,9 +78670,12 @@ async function getDisplayValue(ctx, sheetId, row, col) {
|
|
|
79188
78670
|
async function getCell(ctx, sheetId, row, col) {
|
|
79189
78671
|
const data = await getData(ctx, sheetId, row, col);
|
|
79190
78672
|
if (!data) return void 0;
|
|
78673
|
+
const fmt = await getFormat(ctx, sheetId, row, col);
|
|
79191
78674
|
return {
|
|
79192
78675
|
value: (data.formula !== void 0 ? data.computed : rawToCellValue(data.raw)) ?? null,
|
|
79193
|
-
formula: data.formula
|
|
78676
|
+
formula: data.formula,
|
|
78677
|
+
format: fmt ?? void 0,
|
|
78678
|
+
formatted: await getDisplayValue(ctx, sheetId, row, col) ?? void 0
|
|
79194
78679
|
};
|
|
79195
78680
|
}
|
|
79196
78681
|
async function getDisplayValue2(ctx, sheetId, row, col) {
|
|
@@ -79211,10 +78696,11 @@ async function setCell(ctx, sheetId, row, col, value) {
|
|
|
79211
78696
|
throw KernelError.from(null, "COMPUTE_ERROR", `Invalid cell address: row=${row}, col=${col}`);
|
|
79212
78697
|
}
|
|
79213
78698
|
const input = value === null || value === void 0 ? "" : value === "" ? "\0" : String(value);
|
|
79214
|
-
|
|
78699
|
+
ctx.computeBridge.getMutationHandler()?.changeAccumulator.setDirectEdits([{ sheetId, row, col }]);
|
|
78700
|
+
await ctx.computeBridge.setCellsByPosition(sheetId, [{ row, col, input }]);
|
|
79215
78701
|
}
|
|
79216
78702
|
async function setCells(ctx, sheetId, cells) {
|
|
79217
|
-
if (cells.length === 0) return { cellsWritten: 0 };
|
|
78703
|
+
if (cells.length === 0) return { cellsWritten: 0, errors: null };
|
|
79218
78704
|
const edits = cells.map((cell) => {
|
|
79219
78705
|
let row;
|
|
79220
78706
|
let col;
|
|
@@ -79236,13 +78722,20 @@ async function setCells(ctx, sheetId, cells) {
|
|
|
79236
78722
|
}
|
|
79237
78723
|
const uniqueEdits = Array.from(deduped.values());
|
|
79238
78724
|
const duplicatesRemoved = edits.length - uniqueEdits.length;
|
|
78725
|
+
ctx.computeBridge.getMutationHandler()?.changeAccumulator.setDirectEdits(
|
|
78726
|
+
uniqueEdits.map((e) => ({ sheetId, row: e.row, col: e.col }))
|
|
78727
|
+
);
|
|
79239
78728
|
await ctx.computeBridge.setCellsByPosition(sheetId, uniqueEdits);
|
|
79240
|
-
const result = { cellsWritten: uniqueEdits.length };
|
|
78729
|
+
const result = { cellsWritten: uniqueEdits.length, errors: null };
|
|
79241
78730
|
if (duplicatesRemoved > 0) {
|
|
79242
78731
|
result.warnings = [
|
|
79243
|
-
createWarning(
|
|
79244
|
-
|
|
79245
|
-
|
|
78732
|
+
createWarning(
|
|
78733
|
+
"API_DUPLICATE_COORDINATES",
|
|
78734
|
+
`${duplicatesRemoved} duplicate coordinate(s) resolved by last-write-wins`,
|
|
78735
|
+
{
|
|
78736
|
+
duplicatesRemoved
|
|
78737
|
+
}
|
|
78738
|
+
)
|
|
79246
78739
|
];
|
|
79247
78740
|
}
|
|
79248
78741
|
return result;
|
|
@@ -79343,7 +78836,7 @@ async function batchGetCellPositions(ctx, sheetId, cellIds) {
|
|
|
79343
78836
|
|
|
79344
78837
|
// ../../kernel/src/api/worksheet/operations/dependency-operations.ts
|
|
79345
78838
|
init_esm_shims();
|
|
79346
|
-
function
|
|
78839
|
+
function colToLetter4(col) {
|
|
79347
78840
|
let result = "";
|
|
79348
78841
|
let c = col;
|
|
79349
78842
|
while (c >= 0) {
|
|
@@ -79354,11 +78847,11 @@ function colToLetter3(col) {
|
|
|
79354
78847
|
}
|
|
79355
78848
|
async function getDependents(ctx, sheetId, row, col) {
|
|
79356
78849
|
const results = await ctx.computeBridge.getDependents(sheetId, row, col);
|
|
79357
|
-
return results.map((r) => `${
|
|
78850
|
+
return results.map((r) => `${colToLetter4(r.col)}${r.row + 1}`);
|
|
79358
78851
|
}
|
|
79359
78852
|
async function getPrecedents(ctx, sheetId, row, col) {
|
|
79360
78853
|
const results = await ctx.computeBridge.getPrecedents(sheetId, row, col);
|
|
79361
|
-
return results.map((r) => `${
|
|
78854
|
+
return results.map((r) => `${colToLetter4(r.col)}${r.row + 1}`);
|
|
79362
78855
|
}
|
|
79363
78856
|
|
|
79364
78857
|
// ../../kernel/src/api/worksheet/operations/fill-operations.ts
|
|
@@ -79411,7 +78904,8 @@ async function autoFill(ctx, sheetId, sourceRange, targetRange, mode) {
|
|
|
79411
78904
|
return {
|
|
79412
78905
|
patternType: fillData?.patternType ?? "copy",
|
|
79413
78906
|
filledCellCount: fillData?.filledCellCount ?? 0,
|
|
79414
|
-
warnings: fillData?.warnings ?? []
|
|
78907
|
+
warnings: fillData?.warnings ?? [],
|
|
78908
|
+
changes: fillData?.changes ?? []
|
|
79415
78909
|
};
|
|
79416
78910
|
}
|
|
79417
78911
|
function splitRangeForSeries(range2, direction) {
|
|
@@ -79735,14 +79229,14 @@ async function regexSearch(ctx, sheetId, patterns, options) {
|
|
|
79735
79229
|
for (const { regex, source } of compiledPatterns) {
|
|
79736
79230
|
regex.lastIndex = 0;
|
|
79737
79231
|
if (regex.test(valueStr)) {
|
|
79738
|
-
const address = `${
|
|
79232
|
+
const address = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
79739
79233
|
results.push({ address, value: valueStr, sheetName, matchedPattern: source });
|
|
79740
79234
|
break;
|
|
79741
79235
|
}
|
|
79742
79236
|
if (options?.includeFormulas && cell.formula) {
|
|
79743
79237
|
regex.lastIndex = 0;
|
|
79744
79238
|
if (regex.test(cell.formula)) {
|
|
79745
|
-
const address = `${
|
|
79239
|
+
const address = `${colToLetter3(cell.col)}${cell.row + 1}`;
|
|
79746
79240
|
results.push({ address, value: valueStr, sheetName, matchedPattern: source });
|
|
79747
79241
|
break;
|
|
79748
79242
|
}
|
|
@@ -79898,7 +79392,7 @@ async function clearRange2(ctx, sheetId, range2) {
|
|
|
79898
79392
|
}
|
|
79899
79393
|
}
|
|
79900
79394
|
}
|
|
79901
|
-
return { success: true, data:
|
|
79395
|
+
return { success: true, data: { cellCount }, affectedCells };
|
|
79902
79396
|
} catch (e) {
|
|
79903
79397
|
return {
|
|
79904
79398
|
success: false,
|
|
@@ -79911,6 +79405,10 @@ async function clearRange2(ctx, sheetId, range2) {
|
|
|
79911
79405
|
init_esm_shims();
|
|
79912
79406
|
init_a1();
|
|
79913
79407
|
init_value_conversions();
|
|
79408
|
+
import {
|
|
79409
|
+
NumberFormatCategory,
|
|
79410
|
+
RangeValueType as RangeValueType2
|
|
79411
|
+
} from "@mog-sdk/spreadsheet-contracts/api";
|
|
79914
79412
|
async function clearWithMode(ctx, sheetId, range2, applyTo = "all") {
|
|
79915
79413
|
const n = normalizeRange(range2);
|
|
79916
79414
|
const promises = [];
|
|
@@ -79930,6 +79428,8 @@ async function clearWithMode(ctx, sheetId, range2, applyTo = "all") {
|
|
|
79930
79428
|
promises.push(clearHyperlinksInRange(ctx, sheetId, n));
|
|
79931
79429
|
}
|
|
79932
79430
|
await Promise.all(promises);
|
|
79431
|
+
const cellCount = (n.endRow - n.startRow + 1) * (n.endCol - n.startCol + 1);
|
|
79432
|
+
return { cellCount };
|
|
79933
79433
|
}
|
|
79934
79434
|
async function clearHyperlinksInRange(ctx, sheetId, range2) {
|
|
79935
79435
|
const rangeResult = await ctx.computeBridge.queryRange(
|
|
@@ -80008,7 +79508,7 @@ async function getValueTypes(ctx, sheetId, range2) {
|
|
|
80008
79508
|
for (let col = n.startCol; col <= n.endCol; col++) {
|
|
80009
79509
|
const cell = cellMap.get(`${row},${col}`);
|
|
80010
79510
|
if (!cell) {
|
|
80011
|
-
rowData.push(
|
|
79511
|
+
rowData.push(RangeValueType2.Empty);
|
|
80012
79512
|
} else {
|
|
80013
79513
|
rowData.push(classifyValueType(viewportCellValueToCellValue(cell.value)));
|
|
80014
79514
|
}
|
|
@@ -80018,12 +79518,12 @@ async function getValueTypes(ctx, sheetId, range2) {
|
|
|
80018
79518
|
return result;
|
|
80019
79519
|
}
|
|
80020
79520
|
function classifyValueType(value) {
|
|
80021
|
-
if (value === null || value === void 0) return
|
|
80022
|
-
if (typeof value === "string") return value === "" ?
|
|
80023
|
-
if (typeof value === "number") return
|
|
80024
|
-
if (typeof value === "boolean") return
|
|
80025
|
-
if (typeof value === "object" && value !== null && "type" in value) return
|
|
80026
|
-
return
|
|
79521
|
+
if (value === null || value === void 0) return RangeValueType2.Empty;
|
|
79522
|
+
if (typeof value === "string") return value === "" ? RangeValueType2.Empty : RangeValueType2.String;
|
|
79523
|
+
if (typeof value === "number") return RangeValueType2.Double;
|
|
79524
|
+
if (typeof value === "boolean") return RangeValueType2.Boolean;
|
|
79525
|
+
if (typeof value === "object" && value !== null && "type" in value) return RangeValueType2.Error;
|
|
79526
|
+
return RangeValueType2.String;
|
|
80027
79527
|
}
|
|
80028
79528
|
async function findInRange(ctx, sheetId, range2, text, options) {
|
|
80029
79529
|
const n = normalizeRange(range2);
|
|
@@ -80048,7 +79548,7 @@ async function findInRange(ctx, sheetId, range2, text, options) {
|
|
|
80048
79548
|
const valueStr = cell.formatted ?? viewportCellValueToString(cell.value);
|
|
80049
79549
|
if (pattern.test(valueStr)) {
|
|
80050
79550
|
return {
|
|
80051
|
-
address: `${
|
|
79551
|
+
address: `${colToLetter3(cell.col)}${cell.row + 1}`,
|
|
80052
79552
|
value: valueStr
|
|
80053
79553
|
};
|
|
80054
79554
|
}
|
|
@@ -80120,46 +79620,46 @@ async function getNumberFormatCategories(ctx, sheetId, range2) {
|
|
|
80120
79620
|
}
|
|
80121
79621
|
function detectFormatType(formatCode) {
|
|
80122
79622
|
if (!formatCode || formatCode === "" || formatCode === "General") {
|
|
80123
|
-
return
|
|
79623
|
+
return NumberFormatCategory.General;
|
|
80124
79624
|
}
|
|
80125
79625
|
if (formatCode === "@") {
|
|
80126
|
-
return
|
|
79626
|
+
return NumberFormatCategory.Text;
|
|
80127
79627
|
}
|
|
80128
79628
|
const stripped = formatCode.replace(/\[[^\]]*\]/g, "").replace(/"[^"]*"/g, "");
|
|
80129
79629
|
if (/[yYmMdD]/.test(stripped) && /[yYdD]/.test(stripped)) {
|
|
80130
|
-
return
|
|
79630
|
+
return NumberFormatCategory.Date;
|
|
80131
79631
|
}
|
|
80132
79632
|
if (/[hHsS]/.test(stripped)) {
|
|
80133
79633
|
if (/[yYdD]/.test(stripped)) {
|
|
80134
|
-
return
|
|
79634
|
+
return NumberFormatCategory.Date;
|
|
80135
79635
|
}
|
|
80136
|
-
return
|
|
79636
|
+
return NumberFormatCategory.Time;
|
|
80137
79637
|
}
|
|
80138
79638
|
if (/AM\/PM/i.test(stripped)) {
|
|
80139
|
-
return
|
|
79639
|
+
return NumberFormatCategory.Time;
|
|
80140
79640
|
}
|
|
80141
79641
|
if (stripped.includes("%")) {
|
|
80142
|
-
return
|
|
79642
|
+
return NumberFormatCategory.Percentage;
|
|
80143
79643
|
}
|
|
80144
79644
|
if (/[eE][+-]/.test(stripped)) {
|
|
80145
|
-
return
|
|
79645
|
+
return NumberFormatCategory.Scientific;
|
|
80146
79646
|
}
|
|
80147
79647
|
if (stripped.includes("/") && !/[yYmMdDhHsS]/.test(stripped)) {
|
|
80148
|
-
return
|
|
79648
|
+
return NumberFormatCategory.Fraction;
|
|
80149
79649
|
}
|
|
80150
79650
|
if (/[_*]/.test(stripped) && /[$(]/.test(stripped)) {
|
|
80151
|
-
return
|
|
79651
|
+
return NumberFormatCategory.Accounting;
|
|
80152
79652
|
}
|
|
80153
79653
|
if (/[$€£¥₹]/.test(formatCode)) {
|
|
80154
|
-
return
|
|
79654
|
+
return NumberFormatCategory.Currency;
|
|
80155
79655
|
}
|
|
80156
79656
|
if (/^0{5}/.test(stripped) || /^0{3}-0{2}-0{4}/.test(stripped)) {
|
|
80157
|
-
return
|
|
79657
|
+
return NumberFormatCategory.Special;
|
|
80158
79658
|
}
|
|
80159
79659
|
if (/[#0]/.test(stripped)) {
|
|
80160
|
-
return
|
|
79660
|
+
return NumberFormatCategory.Number;
|
|
80161
79661
|
}
|
|
80162
|
-
return
|
|
79662
|
+
return NumberFormatCategory.Custom;
|
|
80163
79663
|
}
|
|
80164
79664
|
|
|
80165
79665
|
// ../../kernel/src/api/worksheet/operations/sort-operations.ts
|
|
@@ -80935,6 +80435,84 @@ var WorksheetBindingsImpl = class {
|
|
|
80935
80435
|
}
|
|
80936
80436
|
};
|
|
80937
80437
|
|
|
80438
|
+
// ../../kernel/src/api/worksheet/index.ts
|
|
80439
|
+
init_change_accumulator();
|
|
80440
|
+
|
|
80441
|
+
// ../../kernel/src/api/worksheet/changes.ts
|
|
80442
|
+
init_esm_shims();
|
|
80443
|
+
function parseRangeScope(scope) {
|
|
80444
|
+
const match = scope.match(/^([A-Z]+)(\d+):([A-Z]+)(\d+)$/i);
|
|
80445
|
+
if (!match) return null;
|
|
80446
|
+
const startCol = letterToCol2(match[1].toUpperCase());
|
|
80447
|
+
const startRow = parseInt(match[2], 10) - 1;
|
|
80448
|
+
const endCol = letterToCol2(match[3].toUpperCase());
|
|
80449
|
+
const endRow = parseInt(match[4], 10) - 1;
|
|
80450
|
+
return { startRow, startCol, endRow, endCol };
|
|
80451
|
+
}
|
|
80452
|
+
function letterToCol2(letters) {
|
|
80453
|
+
let col = 0;
|
|
80454
|
+
for (let i = 0; i < letters.length; i++) {
|
|
80455
|
+
col = col * 26 + (letters.charCodeAt(i) - 64);
|
|
80456
|
+
}
|
|
80457
|
+
return col - 1;
|
|
80458
|
+
}
|
|
80459
|
+
var ChangeTrackerImpl = class {
|
|
80460
|
+
constructor(sheetId, options, unregister) {
|
|
80461
|
+
this._active = true;
|
|
80462
|
+
this.buffer = [];
|
|
80463
|
+
this.sheetId = sheetId;
|
|
80464
|
+
this.unregister = unregister;
|
|
80465
|
+
this.scopeBounds = options?.scope ? parseRangeScope(options.scope) : null;
|
|
80466
|
+
this.excludeOrigins = options?.excludeOrigins && options.excludeOrigins.length > 0 ? new Set(options.excludeOrigins) : null;
|
|
80467
|
+
}
|
|
80468
|
+
// --- TrackerHandle (called by ChangeAccumulator) ---
|
|
80469
|
+
_ingest(records) {
|
|
80470
|
+
if (!this._active) return;
|
|
80471
|
+
for (const record of records) {
|
|
80472
|
+
if (this.excludeOrigins?.has(record.origin)) continue;
|
|
80473
|
+
if (this.scopeBounds) {
|
|
80474
|
+
const { startRow, startCol, endRow, endCol } = this.scopeBounds;
|
|
80475
|
+
if (record.row < startRow || record.row > endRow || record.col < startCol || record.col > endCol) {
|
|
80476
|
+
continue;
|
|
80477
|
+
}
|
|
80478
|
+
}
|
|
80479
|
+
this.buffer.push(record);
|
|
80480
|
+
}
|
|
80481
|
+
}
|
|
80482
|
+
// --- ChangeTracker public API ---
|
|
80483
|
+
collect() {
|
|
80484
|
+
const result = this.buffer;
|
|
80485
|
+
this.buffer = [];
|
|
80486
|
+
return result;
|
|
80487
|
+
}
|
|
80488
|
+
close() {
|
|
80489
|
+
if (!this._active) return;
|
|
80490
|
+
this._active = false;
|
|
80491
|
+
this.buffer = [];
|
|
80492
|
+
this.unregister();
|
|
80493
|
+
}
|
|
80494
|
+
get active() {
|
|
80495
|
+
return this._active;
|
|
80496
|
+
}
|
|
80497
|
+
};
|
|
80498
|
+
var WorksheetChangesImpl = class {
|
|
80499
|
+
constructor(ctx, sheetId) {
|
|
80500
|
+
this.ctx = ctx;
|
|
80501
|
+
this.sheetId = sheetId;
|
|
80502
|
+
}
|
|
80503
|
+
track(options) {
|
|
80504
|
+
const accumulator = this.ctx.computeBridge.getMutationHandler()?.changeAccumulator;
|
|
80505
|
+
if (!accumulator) {
|
|
80506
|
+
throw new Error("Change tracking unavailable: MutationResultHandler not initialized");
|
|
80507
|
+
}
|
|
80508
|
+
const tracker = new ChangeTrackerImpl(this.sheetId, options, () => {
|
|
80509
|
+
accumulator.unregister(tracker);
|
|
80510
|
+
});
|
|
80511
|
+
accumulator.register(tracker);
|
|
80512
|
+
return tracker;
|
|
80513
|
+
}
|
|
80514
|
+
};
|
|
80515
|
+
|
|
80938
80516
|
// ../../kernel/src/api/worksheet/charts.ts
|
|
80939
80517
|
init_esm_shims();
|
|
80940
80518
|
function buildStatisticalExtra(config) {
|
|
@@ -81364,7 +80942,7 @@ function cellRefToA1(cellRef) {
|
|
|
81364
80942
|
const col = parseInt(parts[0], 10);
|
|
81365
80943
|
const row = parseInt(parts[1], 10);
|
|
81366
80944
|
if (isNaN(col) || isNaN(row)) return cellRef;
|
|
81367
|
-
return
|
|
80945
|
+
return toA12(row, col);
|
|
81368
80946
|
}
|
|
81369
80947
|
function toApiComment(c) {
|
|
81370
80948
|
const text = c.content ?? c.runs.map((r) => r.text).join("");
|
|
@@ -81465,7 +81043,7 @@ var WorksheetCommentsImpl = class {
|
|
|
81465
81043
|
return {
|
|
81466
81044
|
content,
|
|
81467
81045
|
author: first.author,
|
|
81468
|
-
cellAddress:
|
|
81046
|
+
cellAddress: toA12(row, col)
|
|
81469
81047
|
};
|
|
81470
81048
|
}
|
|
81471
81049
|
async removeNote(a, b) {
|
|
@@ -81808,7 +81386,7 @@ var WorksheetFiltersImpl = class {
|
|
|
81808
81386
|
}
|
|
81809
81387
|
}
|
|
81810
81388
|
return {
|
|
81811
|
-
range: `${
|
|
81389
|
+
range: `${toA12(filter.startRow ?? 0, filter.startCol ?? 0)}:${toA12(filter.endRow ?? 0, filter.endCol ?? 0)}`,
|
|
81812
81390
|
columns
|
|
81813
81391
|
};
|
|
81814
81392
|
}
|
|
@@ -82183,7 +81761,12 @@ var WorksheetFormatsImpl = class {
|
|
|
82183
81761
|
col = b;
|
|
82184
81762
|
format = c;
|
|
82185
81763
|
}
|
|
82186
|
-
await this.ctx.computeBridge.setFormatForRanges(
|
|
81764
|
+
const result = await this.ctx.computeBridge.setFormatForRanges(
|
|
81765
|
+
this.sheetId,
|
|
81766
|
+
[[row, col, row, col]],
|
|
81767
|
+
format
|
|
81768
|
+
);
|
|
81769
|
+
return { cellCount: result.propertyChanges?.length ?? 0 };
|
|
82187
81770
|
}
|
|
82188
81771
|
async setRange(a, b) {
|
|
82189
81772
|
let range2;
|
|
@@ -82195,11 +81778,12 @@ var WorksheetFormatsImpl = class {
|
|
|
82195
81778
|
range2 = a;
|
|
82196
81779
|
}
|
|
82197
81780
|
const n = normalizeRange(range2);
|
|
82198
|
-
await this.ctx.computeBridge.setFormatForRanges(
|
|
81781
|
+
const result = await this.ctx.computeBridge.setFormatForRanges(
|
|
82199
81782
|
this.sheetId,
|
|
82200
81783
|
[[n.startRow, n.startCol, n.endRow, n.endCol]],
|
|
82201
81784
|
b
|
|
82202
81785
|
);
|
|
81786
|
+
return { cellCount: result.propertyChanges?.length ?? 0 };
|
|
82203
81787
|
}
|
|
82204
81788
|
async setRanges(ranges, format) {
|
|
82205
81789
|
const boundedRanges = [];
|
|
@@ -82230,9 +81814,11 @@ var WorksheetFormatsImpl = class {
|
|
|
82230
81814
|
}
|
|
82231
81815
|
async get(a, b) {
|
|
82232
81816
|
const { row, col } = resolveCell(a, b);
|
|
82233
|
-
|
|
82234
|
-
|
|
82235
|
-
|
|
81817
|
+
return this.ctx.computeBridge.getResolvedFormat(
|
|
81818
|
+
this.sheetId,
|
|
81819
|
+
row,
|
|
81820
|
+
col
|
|
81821
|
+
);
|
|
82236
81822
|
}
|
|
82237
81823
|
async adjustIndent(a, b, c) {
|
|
82238
81824
|
let row, col, amount;
|
|
@@ -82256,7 +81842,8 @@ var WorksheetFormatsImpl = class {
|
|
|
82256
81842
|
async clearFill(a, b) {
|
|
82257
81843
|
const { row, col } = resolveCell(a, b);
|
|
82258
81844
|
const rangeTuple = [row, col, row, col];
|
|
82259
|
-
const
|
|
81845
|
+
const result = await this.ctx.computeBridge.queryRange(this.sheetId, row, col, row, col);
|
|
81846
|
+
const current = result?.cells?.[0]?.format ?? null;
|
|
82260
81847
|
await this.ctx.computeBridge.clearFormatForRanges(this.sheetId, [rangeTuple]);
|
|
82261
81848
|
if (current) {
|
|
82262
81849
|
const { backgroundColor, patternType, patternForegroundColor, gradientFill, ...rest } = current;
|
|
@@ -83016,8 +82603,8 @@ init_esm_shims();
|
|
|
83016
82603
|
init_errors();
|
|
83017
82604
|
function formatDataSource(sourceSheetName, sourceRange) {
|
|
83018
82605
|
if (!sourceRange) return "";
|
|
83019
|
-
const start =
|
|
83020
|
-
const end =
|
|
82606
|
+
const start = toA12(sourceRange.startRow, sourceRange.startCol);
|
|
82607
|
+
const end = toA12(sourceRange.endRow, sourceRange.endCol);
|
|
83021
82608
|
const sheetRef = sourceSheetName ?? "Unknown";
|
|
83022
82609
|
const needsQuotes = /[^A-Za-z0-9_]/.test(sheetRef);
|
|
83023
82610
|
const quotedSheet = needsQuotes ? `'${sheetRef}'` : sheetRef;
|
|
@@ -83109,7 +82696,7 @@ var WorksheetPivotsImpl = class _WorksheetPivotsImpl {
|
|
|
83109
82696
|
}
|
|
83110
82697
|
return pivots.map((p) => {
|
|
83111
82698
|
const apiConfig = dataConfigToApiConfig(p, p.sourceSheetName);
|
|
83112
|
-
const location = p.outputLocation ?
|
|
82699
|
+
const location = p.outputLocation ? toA12(p.outputLocation.row, p.outputLocation.col) : void 0;
|
|
83113
82700
|
return {
|
|
83114
82701
|
name: p.name ?? p.id,
|
|
83115
82702
|
dataSource: apiConfig.dataSource,
|
|
@@ -83630,7 +83217,7 @@ init_errors();
|
|
|
83630
83217
|
|
|
83631
83218
|
// ../../kernel/src/api/worksheet/operations/sheet-management-operations.ts
|
|
83632
83219
|
init_esm_shims();
|
|
83633
|
-
|
|
83220
|
+
import { DEFAULT_PROTECTION_OPTIONS as DEFAULT_PROTECTION_OPTIONS2 } from "@mog-sdk/spreadsheet-contracts/protection";
|
|
83634
83221
|
function parseCellRef2(ref) {
|
|
83635
83222
|
const match = ref.match(/^([A-Z]+)(\d+)$/i);
|
|
83636
83223
|
if (!match) return null;
|
|
@@ -83642,7 +83229,7 @@ function parseCellRef2(ref) {
|
|
|
83642
83229
|
}
|
|
83643
83230
|
return { row: rowNum - 1, col: col - 1 };
|
|
83644
83231
|
}
|
|
83645
|
-
function
|
|
83232
|
+
function colToLetter5(col) {
|
|
83646
83233
|
let result = "";
|
|
83647
83234
|
let c = col;
|
|
83648
83235
|
while (c >= 0) {
|
|
@@ -83652,8 +83239,8 @@ function colToLetter4(col) {
|
|
|
83652
83239
|
return result;
|
|
83653
83240
|
}
|
|
83654
83241
|
function printRangeToA1(range2) {
|
|
83655
|
-
const startRef = `${
|
|
83656
|
-
const endRef = `${
|
|
83242
|
+
const startRef = `${colToLetter5(range2.startCol)}${range2.startRow + 1}`;
|
|
83243
|
+
const endRef = `${colToLetter5(range2.endCol)}${range2.endRow + 1}`;
|
|
83657
83244
|
return `${startRef}:${endRef}`;
|
|
83658
83245
|
}
|
|
83659
83246
|
async function getPageBreaks(ctx, sheetId) {
|
|
@@ -84053,7 +83640,11 @@ var WorksheetSlicersImpl = class {
|
|
|
84053
83640
|
this.sheetId = sheetId;
|
|
84054
83641
|
}
|
|
84055
83642
|
async add(config) {
|
|
84056
|
-
const
|
|
83643
|
+
const caption = config.caption ?? config.name ?? "";
|
|
83644
|
+
const storedConfig = {
|
|
83645
|
+
...config,
|
|
83646
|
+
caption
|
|
83647
|
+
};
|
|
84057
83648
|
await this.ctx.computeBridge.createSlicer(this.sheetId, storedConfig);
|
|
84058
83649
|
return storedConfig.id ?? "";
|
|
84059
83650
|
}
|
|
@@ -84767,7 +84358,7 @@ var WorksheetStructureImpl = class {
|
|
|
84767
84358
|
async getMergedRegions() {
|
|
84768
84359
|
const regions = await getAll3(this.ctx, this.sheetId);
|
|
84769
84360
|
return regions.map((r) => ({
|
|
84770
|
-
range: `${
|
|
84361
|
+
range: `${toA12(r.startRow, r.startCol)}:${toA12(r.endRow, r.endCol)}`,
|
|
84771
84362
|
startRow: r.startRow,
|
|
84772
84363
|
startCol: r.startCol,
|
|
84773
84364
|
endRow: r.endRow,
|
|
@@ -84830,8 +84421,8 @@ function parseA1Range(range2) {
|
|
|
84830
84421
|
};
|
|
84831
84422
|
}
|
|
84832
84423
|
function bridgeTableToTableInfo(table) {
|
|
84833
|
-
const startLetter =
|
|
84834
|
-
const endLetter =
|
|
84424
|
+
const startLetter = colToLetter3(table.range.startCol);
|
|
84425
|
+
const endLetter = colToLetter3(table.range.endCol);
|
|
84835
84426
|
const startRowA1 = table.range.startRow + 1;
|
|
84836
84427
|
const endRowA1 = table.range.endRow + 1;
|
|
84837
84428
|
const range2 = `${startLetter}${startRowA1}:${endLetter}${endRowA1}`;
|
|
@@ -84876,16 +84467,16 @@ function getDataBodyRangeFromInfo(table) {
|
|
|
84876
84467
|
const dataStartRow = table.hasHeaders ? parsed.startRow + 1 : parsed.startRow;
|
|
84877
84468
|
const dataEndRow = table.showTotals ? parsed.endRow - 1 : parsed.endRow;
|
|
84878
84469
|
if (dataStartRow > dataEndRow) return null;
|
|
84879
|
-
const startLetter =
|
|
84880
|
-
const endLetter =
|
|
84470
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84471
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
84881
84472
|
return `${startLetter}${dataStartRow + 1}:${endLetter}${dataEndRow + 1}`;
|
|
84882
84473
|
}
|
|
84883
84474
|
function getHeaderRowRangeFromInfo(table) {
|
|
84884
84475
|
if (!table.hasHeaders) return null;
|
|
84885
84476
|
const parsed = parseA1Range(table.range);
|
|
84886
84477
|
if (!parsed) return null;
|
|
84887
|
-
const startLetter =
|
|
84888
|
-
const endLetter =
|
|
84478
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84479
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
84889
84480
|
const headerRow = parsed.startRow + 1;
|
|
84890
84481
|
return `${startLetter}${headerRow}:${endLetter}${headerRow}`;
|
|
84891
84482
|
}
|
|
@@ -84893,8 +84484,8 @@ function getTotalRowRangeFromInfo(table) {
|
|
|
84893
84484
|
if (!table.showTotals) return null;
|
|
84894
84485
|
const parsed = parseA1Range(table.range);
|
|
84895
84486
|
if (!parsed) return null;
|
|
84896
|
-
const startLetter =
|
|
84897
|
-
const endLetter =
|
|
84487
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84488
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
84898
84489
|
const totalRow = parsed.endRow + 1;
|
|
84899
84490
|
return `${startLetter}${totalRow}:${endLetter}${totalRow}`;
|
|
84900
84491
|
}
|
|
@@ -84937,9 +84528,9 @@ var WorksheetTablesImpl = class {
|
|
|
84937
84528
|
if (!match) {
|
|
84938
84529
|
throw new KernelError("COMPUTE_ERROR", `Invalid range: ${range2}`);
|
|
84939
84530
|
}
|
|
84940
|
-
const startCol =
|
|
84531
|
+
const startCol = letterToCol3(match[1]);
|
|
84941
84532
|
const startRow = parseInt(match[2], 10) - 1;
|
|
84942
|
-
const endCol =
|
|
84533
|
+
const endCol = letterToCol3(match[3]);
|
|
84943
84534
|
const endRow = parseInt(match[4], 10) - 1;
|
|
84944
84535
|
await this.ctx.computeBridge.createTable(
|
|
84945
84536
|
this.sheetId,
|
|
@@ -85019,9 +84610,9 @@ var WorksheetTablesImpl = class {
|
|
|
85019
84610
|
if (!parsed) {
|
|
85020
84611
|
throw new KernelError("COMPUTE_ERROR", `Invalid table range: ${table.range}`);
|
|
85021
84612
|
}
|
|
85022
|
-
const startCol =
|
|
84613
|
+
const startCol = letterToCol3(parsed[1]);
|
|
85023
84614
|
const startRow = parseInt(parsed[2], 10) - 1;
|
|
85024
|
-
const endCol =
|
|
84615
|
+
const endCol = letterToCol3(parsed[3]);
|
|
85025
84616
|
const endRow = parseInt(parsed[4], 10) - 1;
|
|
85026
84617
|
const filter = await getFilterForRange(this.ctx, this.sheetId, {
|
|
85027
84618
|
startRow,
|
|
@@ -85042,9 +84633,9 @@ var WorksheetTablesImpl = class {
|
|
|
85042
84633
|
if (!match) {
|
|
85043
84634
|
throw new KernelError("COMPUTE_ERROR", `Invalid range: ${newRange}`);
|
|
85044
84635
|
}
|
|
85045
|
-
const startCol =
|
|
84636
|
+
const startCol = letterToCol3(match[1]);
|
|
85046
84637
|
const startRow = parseInt(match[2], 10) - 1;
|
|
85047
|
-
const endCol =
|
|
84638
|
+
const endCol = letterToCol3(match[3]);
|
|
85048
84639
|
const endRow = parseInt(match[4], 10) - 1;
|
|
85049
84640
|
await this.ctx.computeBridge.resizeTable(name, startRow, startCol, endRow, endCol);
|
|
85050
84641
|
}
|
|
@@ -85175,8 +84766,8 @@ var WorksheetTablesImpl = class {
|
|
|
85175
84766
|
if (!parsed) throw new KernelError("COMPUTE_ERROR", `Invalid table range: ${table.range}`);
|
|
85176
84767
|
const dataStartRow = table.hasHeaders ? parsed.startRow + 1 : parsed.startRow;
|
|
85177
84768
|
const absRow = dataStartRow + index;
|
|
85178
|
-
const startLetter =
|
|
85179
|
-
const endLetter =
|
|
84769
|
+
const startLetter = colToLetter3(parsed.startCol);
|
|
84770
|
+
const endLetter = colToLetter3(parsed.endCol);
|
|
85180
84771
|
return `${startLetter}${absRow + 1}:${endLetter}${absRow + 1}`;
|
|
85181
84772
|
}
|
|
85182
84773
|
async getRowValues(tableName, index) {
|
|
@@ -85215,7 +84806,7 @@ var WorksheetTablesImpl = class {
|
|
|
85215
84806
|
const dataStartRow = table.hasHeaders ? parsed.startRow + 1 : parsed.startRow;
|
|
85216
84807
|
const dataEndRow = table.showTotals ? parsed.endRow - 1 : parsed.endRow;
|
|
85217
84808
|
if (dataStartRow > dataEndRow) return null;
|
|
85218
|
-
const letter =
|
|
84809
|
+
const letter = colToLetter3(col);
|
|
85219
84810
|
return `${letter}${dataStartRow + 1}:${letter}${dataEndRow + 1}`;
|
|
85220
84811
|
}
|
|
85221
84812
|
async getColumnHeaderRange(tableName, columnIndex) {
|
|
@@ -85225,7 +84816,7 @@ var WorksheetTablesImpl = class {
|
|
|
85225
84816
|
if (!parsed) return null;
|
|
85226
84817
|
const col = parsed.startCol + columnIndex;
|
|
85227
84818
|
if (col > parsed.endCol) return null;
|
|
85228
|
-
const letter =
|
|
84819
|
+
const letter = colToLetter3(col);
|
|
85229
84820
|
const headerRow = parsed.startRow + 1;
|
|
85230
84821
|
return `${letter}${headerRow}`;
|
|
85231
84822
|
}
|
|
@@ -85236,7 +84827,7 @@ var WorksheetTablesImpl = class {
|
|
|
85236
84827
|
if (!parsed) return null;
|
|
85237
84828
|
const col = parsed.startCol + columnIndex;
|
|
85238
84829
|
if (col > parsed.endCol) return null;
|
|
85239
|
-
const letter =
|
|
84830
|
+
const letter = colToLetter3(col);
|
|
85240
84831
|
return `${letter}${parsed.startRow + 1}:${letter}${parsed.endRow + 1}`;
|
|
85241
84832
|
}
|
|
85242
84833
|
async getColumnTotalRange(tableName, columnIndex) {
|
|
@@ -85246,7 +84837,7 @@ var WorksheetTablesImpl = class {
|
|
|
85246
84837
|
if (!parsed) return null;
|
|
85247
84838
|
const col = parsed.startCol + columnIndex;
|
|
85248
84839
|
if (col > parsed.endCol) return null;
|
|
85249
|
-
const letter =
|
|
84840
|
+
const letter = colToLetter3(col);
|
|
85250
84841
|
const totalRow = parsed.endRow + 1;
|
|
85251
84842
|
return `${letter}${totalRow}`;
|
|
85252
84843
|
}
|
|
@@ -85345,7 +84936,7 @@ var WorksheetTablesImpl = class {
|
|
|
85345
84936
|
async sortClear(_tableName) {
|
|
85346
84937
|
}
|
|
85347
84938
|
};
|
|
85348
|
-
function
|
|
84939
|
+
function letterToCol3(letters) {
|
|
85349
84940
|
let col = 0;
|
|
85350
84941
|
for (let i = 0; i < letters.length; i++) {
|
|
85351
84942
|
col = col * 26 + (letters.toUpperCase().charCodeAt(i) - 64);
|
|
@@ -85356,9 +84947,9 @@ function parseA1Range2(range2) {
|
|
|
85356
84947
|
const match = range2.match(/^([A-Z]+)(\d+):([A-Z]+)(\d+)$/i);
|
|
85357
84948
|
if (!match) return null;
|
|
85358
84949
|
return {
|
|
85359
|
-
startCol:
|
|
84950
|
+
startCol: letterToCol3(match[1]),
|
|
85360
84951
|
startRow: parseInt(match[2], 10) - 1,
|
|
85361
|
-
endCol:
|
|
84952
|
+
endCol: letterToCol3(match[3]),
|
|
85362
84953
|
endRow: parseInt(match[4], 10) - 1
|
|
85363
84954
|
};
|
|
85364
84955
|
}
|
|
@@ -85547,8 +85138,8 @@ function rangeSchemaToValidationRule(schema) {
|
|
|
85547
85138
|
const start = parseRefIdSimple(ref.startId);
|
|
85548
85139
|
const end = parseRefIdSimple(ref.endId);
|
|
85549
85140
|
if (start && end) {
|
|
85550
|
-
const startA1 =
|
|
85551
|
-
const endA1 =
|
|
85141
|
+
const startA1 = toA12(start.row, start.col);
|
|
85142
|
+
const endA1 = toA12(end.row, end.col);
|
|
85552
85143
|
range2 = startA1 === endA1 ? startA1 : `${startA1}:${endA1}`;
|
|
85553
85144
|
}
|
|
85554
85145
|
}
|
|
@@ -85581,8 +85172,8 @@ function rangeSchemaToValidationRule(schema) {
|
|
|
85581
85172
|
const srcStart = parseRefIdSimple(src.startId);
|
|
85582
85173
|
const srcEnd = parseRefIdSimple(src.endId);
|
|
85583
85174
|
if (srcStart && srcEnd) {
|
|
85584
|
-
const srcStartA1 =
|
|
85585
|
-
const srcEndA1 =
|
|
85175
|
+
const srcStartA1 = toA12(srcStart.row, srcStart.col);
|
|
85176
|
+
const srcEndA1 = toA12(srcEnd.row, srcEnd.col);
|
|
85586
85177
|
rule.listSource = srcStartA1 === srcEndA1 ? `=${srcStartA1}` : `=${srcStartA1}:${srcEndA1}`;
|
|
85587
85178
|
}
|
|
85588
85179
|
}
|
|
@@ -87799,11 +87390,12 @@ var WorksheetImpl = class {
|
|
|
87799
87390
|
if (!result.success) {
|
|
87800
87391
|
throw result.error;
|
|
87801
87392
|
}
|
|
87393
|
+
return result.data;
|
|
87802
87394
|
}
|
|
87803
87395
|
async clear(range2, applyTo) {
|
|
87804
87396
|
const parsed = parseCellRange(range2);
|
|
87805
87397
|
if (!parsed) throw new KernelError("COMPUTE_ERROR", `Invalid range: "${range2}"`);
|
|
87806
|
-
|
|
87398
|
+
return clearWithMode(
|
|
87807
87399
|
this.ctx,
|
|
87808
87400
|
this.sheetId,
|
|
87809
87401
|
{ sheetId: this.sheetId, ...parsed },
|
|
@@ -87851,7 +87443,7 @@ var WorksheetImpl = class {
|
|
|
87851
87443
|
format: format ?? void 0,
|
|
87852
87444
|
hyperlink: hyperlink ?? void 0,
|
|
87853
87445
|
isMerged: mergeInfo !== void 0,
|
|
87854
|
-
mergedRegion: mergeInfo ? `${
|
|
87446
|
+
mergedRegion: mergeInfo ? `${toA12(mergeInfo.startRow, mergeInfo.startCol)}:${toA12(mergeInfo.endRow, mergeInfo.endCol)}` : void 0
|
|
87855
87447
|
};
|
|
87856
87448
|
}
|
|
87857
87449
|
async getRawRangeData(range2, _includeFormula) {
|
|
@@ -87878,7 +87470,8 @@ var WorksheetImpl = class {
|
|
|
87878
87470
|
} else {
|
|
87879
87471
|
rowData.push({
|
|
87880
87472
|
value: viewportCellValueToCellValue(vc.value) ?? null,
|
|
87881
|
-
formula: vc.formula
|
|
87473
|
+
formula: vc.formula,
|
|
87474
|
+
format: vc.format ?? void 0
|
|
87882
87475
|
});
|
|
87883
87476
|
}
|
|
87884
87477
|
}
|
|
@@ -87903,10 +87496,10 @@ var WorksheetImpl = class {
|
|
|
87903
87496
|
const { row, col } = resolveCell(address);
|
|
87904
87497
|
const data = await getCell(this.ctx, this.sheetId, row, col);
|
|
87905
87498
|
if (!data) return "";
|
|
87906
|
-
const
|
|
87907
|
-
let result =
|
|
87499
|
+
const displayValue = await getDisplayValue2(this.ctx, this.sheetId, row, col);
|
|
87500
|
+
let result = displayValue;
|
|
87908
87501
|
if (data.formula) {
|
|
87909
|
-
result =
|
|
87502
|
+
result = displayValue !== "" ? `${displayValue}(${data.formula})` : `(${data.formula})`;
|
|
87910
87503
|
}
|
|
87911
87504
|
const styleHintsStr = await getStyleHints(this.ctx, this.sheetId, row, col);
|
|
87912
87505
|
if (styleHintsStr) {
|
|
@@ -87965,17 +87558,15 @@ var WorksheetImpl = class {
|
|
|
87965
87558
|
}
|
|
87966
87559
|
for (let row = parsed.startRow; row <= parsed.endRow; row++) {
|
|
87967
87560
|
const rowValues = [];
|
|
87968
|
-
let hasContent = false;
|
|
87969
87561
|
for (let col = parsed.startCol; col <= parsed.endCol; col++) {
|
|
87970
|
-
const cellAddr =
|
|
87562
|
+
const cellAddr = toA12(row, col);
|
|
87971
87563
|
const vc = cellMap.get(`${row},${col}`);
|
|
87972
87564
|
if (!vc) {
|
|
87973
87565
|
rowValues.push(`${cellAddr}:`);
|
|
87974
87566
|
continue;
|
|
87975
87567
|
}
|
|
87976
|
-
const
|
|
87977
|
-
let cellStr =
|
|
87978
|
-
hasContent = true;
|
|
87568
|
+
const displayValue = vc.formatted ?? viewportCellValueToString(vc.value);
|
|
87569
|
+
let cellStr = displayValue;
|
|
87979
87570
|
if (vc.formula) {
|
|
87980
87571
|
const abbreviation = formulaAnalysis.formulaToId.get(`${row},${col}`);
|
|
87981
87572
|
if (abbreviation) {
|
|
@@ -87986,9 +87577,7 @@ var WorksheetImpl = class {
|
|
|
87986
87577
|
}
|
|
87987
87578
|
rowValues.push(`${cellAddr}:${cellStr}`);
|
|
87988
87579
|
}
|
|
87989
|
-
|
|
87990
|
-
outputParts.push(rowValues.join(" | "));
|
|
87991
|
-
}
|
|
87580
|
+
outputParts.push(rowValues.join(" | "));
|
|
87992
87581
|
}
|
|
87993
87582
|
const formulaDocs = generateFormulaDocumentation(formulaAnalysis);
|
|
87994
87583
|
if (formulaDocs.length > 0) {
|
|
@@ -88077,8 +87666,8 @@ var WorksheetImpl = class {
|
|
|
88077
87666
|
lines.push(`Sheet: ${meta.name}`);
|
|
88078
87667
|
const bounds = await this.ctx.computeBridge.getDataBounds(this.sheetId);
|
|
88079
87668
|
if (bounds) {
|
|
88080
|
-
const startAddr =
|
|
88081
|
-
const endAddr =
|
|
87669
|
+
const startAddr = toA12(bounds.minRow, bounds.minCol);
|
|
87670
|
+
const endAddr = toA12(bounds.maxRow, bounds.maxCol);
|
|
88082
87671
|
lines.push(`Used Range: ${startAddr}:${endAddr}`);
|
|
88083
87672
|
lines.push(
|
|
88084
87673
|
`Dimensions: ${bounds.maxRow - bounds.minRow + 1} rows x ${bounds.maxCol - bounds.minCol + 1} columns`
|
|
@@ -88098,20 +87687,31 @@ var WorksheetImpl = class {
|
|
|
88098
87687
|
const tables = await getTablesInSheet(this.ctx, this.sheetId);
|
|
88099
87688
|
if (tables.length > 0) {
|
|
88100
87689
|
const tableDescs = tables.map((t) => {
|
|
88101
|
-
const r = `${
|
|
87690
|
+
const r = `${toA12(t.range.startRow, t.range.startCol)}:${toA12(t.range.endRow, t.range.endCol)}`;
|
|
88102
87691
|
return `${t.name} at ${r}`;
|
|
88103
87692
|
});
|
|
88104
87693
|
lines.push(`Tables: ${tables.length} (${tableDescs.join(", ")})`);
|
|
88105
87694
|
}
|
|
88106
|
-
const
|
|
88107
|
-
const
|
|
88108
|
-
|
|
87695
|
+
const allVisible = await getVisible(this.ctx);
|
|
87696
|
+
const scoped = allVisible.filter((nr) => nr.scope === this.sheetId || !nr.scope);
|
|
87697
|
+
const valid = scoped.filter((nr) => !nr.refersTo.template.includes("#REF!"));
|
|
87698
|
+
const broken = scoped.length - valid.length;
|
|
87699
|
+
if (valid.length > 0 || broken > 0) {
|
|
87700
|
+
const toShow = valid.slice(0, MAX_SUMMARY_NAMED_RANGES);
|
|
88109
87701
|
const nrDescs = [];
|
|
88110
|
-
for (const nr of
|
|
87702
|
+
for (const nr of toShow) {
|
|
88111
87703
|
const a1 = await getRefersToA1(this.ctx, nr);
|
|
88112
87704
|
nrDescs.push(`${nr.name}=${a1}`);
|
|
88113
87705
|
}
|
|
88114
|
-
|
|
87706
|
+
let label = `Named Ranges: ${valid.length}`;
|
|
87707
|
+
if (broken > 0) label += ` valid, ${broken} broken (#REF!) omitted`;
|
|
87708
|
+
if (nrDescs.length > 0) {
|
|
87709
|
+
const showing = valid.length > MAX_SUMMARY_NAMED_RANGES ? `showing ${MAX_SUMMARY_NAMED_RANGES}: ` : "";
|
|
87710
|
+
const more = valid.length > MAX_SUMMARY_NAMED_RANGES ? ` \u2014 ${valid.length - MAX_SUMMARY_NAMED_RANGES} more not shown` : "";
|
|
87711
|
+
lines.push(`${label} (${showing}${nrDescs.join(", ")})${more}`);
|
|
87712
|
+
} else {
|
|
87713
|
+
lines.push(label);
|
|
87714
|
+
}
|
|
88115
87715
|
}
|
|
88116
87716
|
const maxRows = options?.maxRows;
|
|
88117
87717
|
const maxCols = options?.maxCols;
|
|
@@ -88141,9 +87741,7 @@ var WorksheetImpl = class {
|
|
|
88141
87741
|
}
|
|
88142
87742
|
const firstRowCells = (rowMap.get(finalRange.startRow) ?? []).slice().sort((a, b) => a.col - b.col);
|
|
88143
87743
|
if (firstRowCells.length > 0) {
|
|
88144
|
-
const allStrings = firstRowCells.every(
|
|
88145
|
-
(vc) => typeof vc.value === "string" && !vc.formula
|
|
88146
|
-
);
|
|
87744
|
+
const allStrings = firstRowCells.every((vc) => typeof vc.value === "string" && !vc.formula);
|
|
88147
87745
|
if (allStrings) {
|
|
88148
87746
|
const headers = firstRowCells.map((vc) => String(vc.value));
|
|
88149
87747
|
lines.push(`Headers: ${headers.join(", ")}`);
|
|
@@ -88180,7 +87778,7 @@ var WorksheetImpl = class {
|
|
|
88180
87778
|
const rowData = [];
|
|
88181
87779
|
for (const vc of cells) {
|
|
88182
87780
|
const rawValue = viewportCellValueToString(vc.value);
|
|
88183
|
-
const addr =
|
|
87781
|
+
const addr = toA12(vc.row, vc.col);
|
|
88184
87782
|
if (vc.formula) {
|
|
88185
87783
|
rowData.push(`${addr}:${rawValue}(=${vc.formula})`);
|
|
88186
87784
|
} else {
|
|
@@ -88204,7 +87802,7 @@ var WorksheetImpl = class {
|
|
|
88204
87802
|
async getUsedRange() {
|
|
88205
87803
|
const range2 = await getUsedRange2(this.ctx, this.sheetId);
|
|
88206
87804
|
if (!range2) return null;
|
|
88207
|
-
return `${
|
|
87805
|
+
return `${toA12(range2.startRow, range2.startCol)}:${toA12(range2.endRow, range2.endCol)}`;
|
|
88208
87806
|
}
|
|
88209
87807
|
async getCurrentRegion(row, col) {
|
|
88210
87808
|
return getCurrentRegion(this.ctx, this.sheetId, row, col);
|
|
@@ -88214,15 +87812,15 @@ var WorksheetImpl = class {
|
|
|
88214
87812
|
}
|
|
88215
87813
|
async findCells(predicate) {
|
|
88216
87814
|
const addresses = await findCells(this.ctx, this.sheetId, predicate);
|
|
88217
|
-
return addresses.map((a) =>
|
|
87815
|
+
return addresses.map((a) => toA12(a.row, a.col));
|
|
88218
87816
|
}
|
|
88219
87817
|
async findByValue(value) {
|
|
88220
87818
|
const addresses = await findByValue(this.ctx, this.sheetId, value);
|
|
88221
|
-
return addresses.map((a) =>
|
|
87819
|
+
return addresses.map((a) => toA12(a.row, a.col));
|
|
88222
87820
|
}
|
|
88223
87821
|
async findByFormula(pattern) {
|
|
88224
87822
|
const addresses = await findByFormula(this.ctx, this.sheetId, pattern);
|
|
88225
|
-
return addresses.map((a) =>
|
|
87823
|
+
return addresses.map((a) => toA12(a.row, a.col));
|
|
88226
87824
|
}
|
|
88227
87825
|
async regexSearch(patterns, options) {
|
|
88228
87826
|
const results = await regexSearch(this.ctx, this.sheetId, patterns, {
|
|
@@ -88361,7 +87959,7 @@ var WorksheetImpl = class {
|
|
|
88361
87959
|
await this.setRange(start.row, start.col, allRows);
|
|
88362
87960
|
const endRow = start.row + allRows.length - 1;
|
|
88363
87961
|
const endCol = start.col + headers.length - 1;
|
|
88364
|
-
const rangeA1 = `${
|
|
87962
|
+
const rangeA1 = `${toA12(start.row, start.col)}:${toA12(endRow, endCol)}`;
|
|
88365
87963
|
await this.tables.add(rangeA1, { name, hasHeaders: true });
|
|
88366
87964
|
}
|
|
88367
87965
|
// ===========================================================================
|
|
@@ -88604,7 +88202,7 @@ var WorksheetImpl = class {
|
|
|
88604
88202
|
case 1:
|
|
88605
88203
|
return accessor.numberValue;
|
|
88606
88204
|
case 2:
|
|
88607
|
-
return
|
|
88205
|
+
return displayStringOrNull3(accessor.displayText);
|
|
88608
88206
|
case 3:
|
|
88609
88207
|
return accessor.numberValue !== 0;
|
|
88610
88208
|
case 4: {
|
|
@@ -88754,6 +88352,9 @@ var WorksheetImpl = class {
|
|
|
88754
88352
|
}
|
|
88755
88353
|
return this._cellMetadata;
|
|
88756
88354
|
}
|
|
88355
|
+
get changes() {
|
|
88356
|
+
return this._changes ??= new WorksheetChangesImpl(this.ctx, this.sheetId);
|
|
88357
|
+
}
|
|
88757
88358
|
get formats() {
|
|
88758
88359
|
return this._formats ??= new WorksheetFormatsImpl(this.ctx, this.sheetId);
|
|
88759
88360
|
}
|
|
@@ -89225,7 +88826,7 @@ var WorkbookThemeImpl = class {
|
|
|
89225
88826
|
|
|
89226
88827
|
// ../../kernel/src/api/workbook/workbook-impl.ts
|
|
89227
88828
|
init_esm_shims();
|
|
89228
|
-
|
|
88829
|
+
init_disposable();
|
|
89229
88830
|
init_errors();
|
|
89230
88831
|
|
|
89231
88832
|
// ../../kernel/src/domain/form-controls/index.ts
|
|
@@ -89812,26 +89413,7 @@ var globalRegistry = new FunctionRegistry();
|
|
|
89812
89413
|
|
|
89813
89414
|
// ../../spreadsheet-utils/src/function-catalog.ts
|
|
89814
89415
|
init_esm_shims();
|
|
89815
|
-
|
|
89816
|
-
// ../../contracts/src/utils/function-registry.ts
|
|
89817
|
-
init_esm_shims();
|
|
89818
|
-
var FunctionCategory = /* @__PURE__ */ ((FunctionCategory2) => {
|
|
89819
|
-
FunctionCategory2["MATH"] = "Math";
|
|
89820
|
-
FunctionCategory2["STATISTICAL"] = "Statistical";
|
|
89821
|
-
FunctionCategory2["TEXT"] = "Text";
|
|
89822
|
-
FunctionCategory2["LOGICAL"] = "Logical";
|
|
89823
|
-
FunctionCategory2["DATE_TIME"] = "Date & Time";
|
|
89824
|
-
FunctionCategory2["LOOKUP"] = "Lookup & Reference";
|
|
89825
|
-
FunctionCategory2["FINANCIAL"] = "Financial";
|
|
89826
|
-
FunctionCategory2["INFORMATION"] = "Information";
|
|
89827
|
-
FunctionCategory2["DATABASE"] = "Database";
|
|
89828
|
-
FunctionCategory2["ENGINEERING"] = "Engineering";
|
|
89829
|
-
FunctionCategory2["WEB"] = "Web";
|
|
89830
|
-
FunctionCategory2["TESTING"] = "Testing";
|
|
89831
|
-
return FunctionCategory2;
|
|
89832
|
-
})(FunctionCategory || {});
|
|
89833
|
-
|
|
89834
|
-
// ../../spreadsheet-utils/src/function-catalog.ts
|
|
89416
|
+
import { FunctionCategory } from "@mog-sdk/spreadsheet-contracts/utils/function-registry";
|
|
89835
89417
|
var C = FunctionCategory;
|
|
89836
89418
|
var INLINE_FUNCTIONS = [
|
|
89837
89419
|
// Aggregates
|
|
@@ -90698,7 +90280,7 @@ function convertToFunctionInfo(metadata) {
|
|
|
90698
90280
|
|
|
90699
90281
|
// ../../kernel/src/api/workbook/viewport.ts
|
|
90700
90282
|
init_esm_shims();
|
|
90701
|
-
|
|
90283
|
+
init_disposable();
|
|
90702
90284
|
var regionCounter = 0;
|
|
90703
90285
|
var ViewportRegionImpl = class extends DisposableBase {
|
|
90704
90286
|
constructor(sheetId, bounds, computeBridge, viewportId) {
|
|
@@ -90752,7 +90334,7 @@ var WorkbookViewportImpl = class {
|
|
|
90752
90334
|
};
|
|
90753
90335
|
|
|
90754
90336
|
// ../../kernel/src/api/workbook/workbook-impl.ts
|
|
90755
|
-
|
|
90337
|
+
import { DEFAULT_CHROME_THEME } from "@mog-sdk/spreadsheet-contracts/rendering";
|
|
90756
90338
|
var API_EVENT_TO_INTERNAL = {
|
|
90757
90339
|
cellChanged: "cell:changed",
|
|
90758
90340
|
rangeChanged: "range:changed",
|
|
@@ -91087,6 +90669,34 @@ var WorkbookImpl = class {
|
|
|
91087
90669
|
calculationSettings: calcSettings
|
|
91088
90670
|
});
|
|
91089
90671
|
}
|
|
90672
|
+
async getIterativeCalculation() {
|
|
90673
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90674
|
+
return settings.calculationSettings?.enableIterativeCalculation ?? false;
|
|
90675
|
+
}
|
|
90676
|
+
async setIterativeCalculation(enabled) {
|
|
90677
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90678
|
+
const calcSettings = {
|
|
90679
|
+
...settings.calculationSettings ?? {},
|
|
90680
|
+
enableIterativeCalculation: enabled
|
|
90681
|
+
};
|
|
90682
|
+
await this.ctx.computeBridge.patchWorkbookSettings({
|
|
90683
|
+
calculationSettings: calcSettings
|
|
90684
|
+
});
|
|
90685
|
+
}
|
|
90686
|
+
async setMaxIterations(n) {
|
|
90687
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90688
|
+
const calcSettings = { ...settings.calculationSettings ?? {}, maxIterations: n };
|
|
90689
|
+
await this.ctx.computeBridge.patchWorkbookSettings({
|
|
90690
|
+
calculationSettings: calcSettings
|
|
90691
|
+
});
|
|
90692
|
+
}
|
|
90693
|
+
async setConvergenceThreshold(threshold) {
|
|
90694
|
+
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
90695
|
+
const calcSettings = { ...settings.calculationSettings ?? {}, maxChange: threshold };
|
|
90696
|
+
await this.ctx.computeBridge.patchWorkbookSettings({
|
|
90697
|
+
calculationSettings: calcSettings
|
|
90698
|
+
});
|
|
90699
|
+
}
|
|
91090
90700
|
async getUsePrecisionAsDisplayed() {
|
|
91091
90701
|
const settings = await this.ctx.computeBridge.getWorkbookSettings();
|
|
91092
90702
|
return !(settings.calculationSettings?.fullPrecision ?? true);
|
|
@@ -91246,7 +90856,7 @@ var WorkbookImpl = class {
|
|
|
91246
90856
|
// Utilities (sync)
|
|
91247
90857
|
// ===========================================================================
|
|
91248
90858
|
indexToAddress(row, col) {
|
|
91249
|
-
return
|
|
90859
|
+
return toA12(row, col);
|
|
91250
90860
|
}
|
|
91251
90861
|
addressToIndex(address) {
|
|
91252
90862
|
const parsed = parseCellAddress(address);
|
|
@@ -91498,6 +91108,7 @@ var api_spec_default = {
|
|
|
91498
91108
|
},
|
|
91499
91109
|
ws: {
|
|
91500
91110
|
smartArt: "WorksheetSmartArt",
|
|
91111
|
+
changes: "WorksheetChanges",
|
|
91501
91112
|
formats: "WorksheetFormats",
|
|
91502
91113
|
layout: "WorksheetLayout",
|
|
91503
91114
|
view: "WorksheetView",
|
|
@@ -91609,6 +91220,26 @@ var api_spec_default = {
|
|
|
91609
91220
|
docstring: "Set the calculation mode.\nConvenience mutator \u2014 patches `calculationSettings.calcMode`.",
|
|
91610
91221
|
usedTypes: []
|
|
91611
91222
|
},
|
|
91223
|
+
getIterativeCalculation: {
|
|
91224
|
+
signature: "getIterativeCalculation(): Promise<boolean>;",
|
|
91225
|
+
docstring: "Get whether iterative calculation is enabled for circular references.\nConvenience accessor \u2014 equivalent to `(await getSettings()).calculationSettings.enableIterativeCalculation`.",
|
|
91226
|
+
usedTypes: []
|
|
91227
|
+
},
|
|
91228
|
+
setIterativeCalculation: {
|
|
91229
|
+
signature: "setIterativeCalculation(enabled: boolean): Promise<void>;",
|
|
91230
|
+
docstring: "Set whether iterative calculation is enabled for circular references.\nConvenience mutator \u2014 patches `calculationSettings.enableIterativeCalculation`.",
|
|
91231
|
+
usedTypes: []
|
|
91232
|
+
},
|
|
91233
|
+
setMaxIterations: {
|
|
91234
|
+
signature: "setMaxIterations(n: number): Promise<void>;",
|
|
91235
|
+
docstring: "Set the maximum number of iterations for iterative calculation.\nConvenience mutator \u2014 patches `calculationSettings.maxIterations`.",
|
|
91236
|
+
usedTypes: []
|
|
91237
|
+
},
|
|
91238
|
+
setConvergenceThreshold: {
|
|
91239
|
+
signature: "setConvergenceThreshold(threshold: number): Promise<void>;",
|
|
91240
|
+
docstring: "Set the convergence threshold (maximum change) for iterative calculation.\nConvenience mutator \u2014 patches `calculationSettings.maxChange`.",
|
|
91241
|
+
usedTypes: []
|
|
91242
|
+
},
|
|
91612
91243
|
getUsePrecisionAsDisplayed: {
|
|
91613
91244
|
signature: "getUsePrecisionAsDisplayed(): Promise<boolean>;",
|
|
91614
91245
|
docstring: "Whether to use displayed precision instead of full (15-digit) precision.\nConvenience accessor \u2014 inverted from `calculationSettings.fullPrecision`.",
|
|
@@ -91820,18 +91451,21 @@ var api_spec_default = {
|
|
|
91820
91451
|
usedTypes: []
|
|
91821
91452
|
},
|
|
91822
91453
|
clearData: {
|
|
91823
|
-
signature: "clearData(range: string): Promise<
|
|
91454
|
+
signature: "clearData(range: string): Promise<ClearResult>;",
|
|
91824
91455
|
docstring: 'Clear all cell data (values and formulas) in a range (A1 notation, e.g. "A1:C3").',
|
|
91825
|
-
usedTypes: [
|
|
91456
|
+
usedTypes: [
|
|
91457
|
+
"ClearResult"
|
|
91458
|
+
]
|
|
91826
91459
|
},
|
|
91827
91460
|
clear: {
|
|
91828
|
-
signature: "clear(range: string, applyTo?: ClearApplyTo): Promise<
|
|
91461
|
+
signature: "clear(range: string, applyTo?: ClearApplyTo): Promise<ClearResult>;",
|
|
91829
91462
|
docstring: `Unified clear with mode selection (OfficeJS Range.clear equivalent).
|
|
91830
91463
|
|
|
91831
91464
|
@param range - A1 range string (e.g. "A1:C3")
|
|
91832
91465
|
@param applyTo - What to clear: 'all' (default), 'contents', 'formats', 'hyperlinks'`,
|
|
91833
91466
|
usedTypes: [
|
|
91834
|
-
"ClearApplyTo"
|
|
91467
|
+
"ClearApplyTo",
|
|
91468
|
+
"ClearResult"
|
|
91835
91469
|
]
|
|
91836
91470
|
},
|
|
91837
91471
|
getValue: {
|
|
@@ -92710,21 +92344,36 @@ var api_spec_default = {
|
|
|
92710
92344
|
}
|
|
92711
92345
|
}
|
|
92712
92346
|
},
|
|
92347
|
+
WorksheetChanges: {
|
|
92348
|
+
docstring: "Sub-API for opt-in change tracking on a worksheet.",
|
|
92349
|
+
functions: {
|
|
92350
|
+
track: {
|
|
92351
|
+
signature: "track(options?: ChangeTrackOptions): ChangeTracker;",
|
|
92352
|
+
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",
|
|
92353
|
+
usedTypes: [
|
|
92354
|
+
"ChangeTrackOptions",
|
|
92355
|
+
"ChangeTracker"
|
|
92356
|
+
]
|
|
92357
|
+
}
|
|
92358
|
+
}
|
|
92359
|
+
},
|
|
92713
92360
|
WorksheetFormats: {
|
|
92714
92361
|
docstring: "Sub-API for cell formatting operations on a worksheet.",
|
|
92715
92362
|
functions: {
|
|
92716
92363
|
set: {
|
|
92717
|
-
signature: "set(address: string, format: CellFormat): Promise<
|
|
92364
|
+
signature: "set(address: string, format: CellFormat): Promise<FormatChangeResult>;",
|
|
92718
92365
|
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',
|
|
92719
92366
|
usedTypes: [
|
|
92720
|
-
"CellFormat"
|
|
92367
|
+
"CellFormat",
|
|
92368
|
+
"FormatChangeResult"
|
|
92721
92369
|
]
|
|
92722
92370
|
},
|
|
92723
92371
|
setRange: {
|
|
92724
|
-
signature: "setRange(range: string, format: CellFormat): Promise<
|
|
92372
|
+
signature: "setRange(range: string, format: CellFormat): Promise<FormatChangeResult>;",
|
|
92725
92373
|
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',
|
|
92726
92374
|
usedTypes: [
|
|
92727
|
-
"CellFormat"
|
|
92375
|
+
"CellFormat",
|
|
92376
|
+
"FormatChangeResult"
|
|
92728
92377
|
]
|
|
92729
92378
|
},
|
|
92730
92379
|
setRanges: {
|
|
@@ -92741,10 +92390,10 @@ var api_spec_default = {
|
|
|
92741
92390
|
usedTypes: []
|
|
92742
92391
|
},
|
|
92743
92392
|
get: {
|
|
92744
|
-
signature: "get(address: string): Promise<
|
|
92745
|
-
docstring: "Get the format of a single cell.\n\n@param address - A1-style cell address\n@returns The cell format
|
|
92393
|
+
signature: "get(address: string): Promise<ResolvedCellFormat>;",
|
|
92394
|
+
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)",
|
|
92746
92395
|
usedTypes: [
|
|
92747
|
-
"
|
|
92396
|
+
"ResolvedCellFormat"
|
|
92748
92397
|
]
|
|
92749
92398
|
},
|
|
92750
92399
|
adjustIndent: {
|
|
@@ -93553,7 +93202,7 @@ var api_spec_default = {
|
|
|
93553
93202
|
usedTypes: []
|
|
93554
93203
|
},
|
|
93555
93204
|
setCriteria: {
|
|
93556
|
-
signature: "setCriteria(
|
|
93205
|
+
signature: "setCriteria(filterId: string, col: number, criteria: ColumnFilterCriteria): Promise<void>;",
|
|
93557
93206
|
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",
|
|
93558
93207
|
usedTypes: [
|
|
93559
93208
|
"ColumnFilterCriteria"
|
|
@@ -94871,6 +94520,11 @@ var api_spec_default = {
|
|
|
94871
94520
|
definition: "'standard' | 'stacked' | 'percentStacked'",
|
|
94872
94521
|
docstring: ""
|
|
94873
94522
|
},
|
|
94523
|
+
AutoFillChange: {
|
|
94524
|
+
name: "AutoFillChange",
|
|
94525
|
+
definition: "{\n row: number;\n col: number;\n type: 'value' | 'formula' | 'format' | 'clear';\n}",
|
|
94526
|
+
docstring: "A single cell change produced by the fill engine."
|
|
94527
|
+
},
|
|
94874
94528
|
AutoFillMode: {
|
|
94875
94529
|
name: "AutoFillMode",
|
|
94876
94530
|
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'",
|
|
@@ -94878,7 +94532,7 @@ var api_spec_default = {
|
|
|
94878
94532
|
},
|
|
94879
94533
|
AutoFillResult: {
|
|
94880
94534
|
name: "AutoFillResult",
|
|
94881
|
-
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}",
|
|
94535
|
+
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}",
|
|
94882
94536
|
docstring: "Result from autoFill() \u2014 summary of what the fill engine did."
|
|
94883
94537
|
},
|
|
94884
94538
|
AutoFillWarning: {
|
|
@@ -95225,6 +94879,37 @@ Example: { ignoreError: true } to suppress error indicators. */
|
|
|
95225
94879
|
definition: "{\n /** If true, value is treated as a formula (prefixed with =) */\n asFormula?: boolean;\n}",
|
|
95226
94880
|
docstring: "Options controlling how a cell value is interpreted when written."
|
|
95227
94881
|
},
|
|
94882
|
+
ChangeOrigin: {
|
|
94883
|
+
name: "ChangeOrigin",
|
|
94884
|
+
definition: "'direct' | 'cascade' | 'remote'",
|
|
94885
|
+
docstring: "Origin of a change: direct write, formula recalculation, or remote collaborator."
|
|
94886
|
+
},
|
|
94887
|
+
ChangeRecord: {
|
|
94888
|
+
name: "ChangeRecord",
|
|
94889
|
+
definition: `{
|
|
94890
|
+
/** Cell address in A1 notation (e.g. "B1"). */
|
|
94891
|
+
address: string;
|
|
94892
|
+
/** 0-based row index. */
|
|
94893
|
+
row: number;
|
|
94894
|
+
/** 0-based column index. */
|
|
94895
|
+
col: number;
|
|
94896
|
+
/** What caused this change. */
|
|
94897
|
+
origin: ChangeOrigin;
|
|
94898
|
+
/** Type of change. */
|
|
94899
|
+
type: 'modified';
|
|
94900
|
+
}`,
|
|
94901
|
+
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)"
|
|
94902
|
+
},
|
|
94903
|
+
ChangeTrackOptions: {
|
|
94904
|
+
name: "ChangeTrackOptions",
|
|
94905
|
+
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}',
|
|
94906
|
+
docstring: "Options for creating a change tracker."
|
|
94907
|
+
},
|
|
94908
|
+
ChangeTracker: {
|
|
94909
|
+
name: "ChangeTracker",
|
|
94910
|
+
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}",
|
|
94911
|
+
docstring: "A handle that accumulates change records across mutations."
|
|
94912
|
+
},
|
|
95228
94913
|
Chart: {
|
|
95229
94914
|
name: "Chart",
|
|
95230
94915
|
definition: "{\n id: string;\n sheetId?: string;\n createdAt?: number;\n updatedAt?: number;\n}",
|
|
@@ -95359,6 +95044,11 @@ that are stored on the chart but not part of the core config schema. */
|
|
|
95359
95044
|
definition: "'all' | 'contents' | 'formats' | 'hyperlinks'",
|
|
95360
95045
|
docstring: "Determines which aspects of a range to clear.\nMatches OfficeJS Excel.ClearApplyTo enum."
|
|
95361
95046
|
},
|
|
95047
|
+
ClearResult: {
|
|
95048
|
+
name: "ClearResult",
|
|
95049
|
+
definition: "{\n /** Number of cells in the cleared range. */\n cellCount: number;\n}",
|
|
95050
|
+
docstring: "Confirmation returned by clearData() and clear()."
|
|
95051
|
+
},
|
|
95362
95052
|
CodeResult: {
|
|
95363
95053
|
name: "CodeResult",
|
|
95364
95054
|
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}",
|
|
@@ -95572,6 +95262,11 @@ Used in condition filters where users specify rules like
|
|
|
95572
95262
|
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'",
|
|
95573
95263
|
docstring: "Type discriminator for floating objects. Superset of Rust FloatingObjectKind (12 variants) + legacy TS-only 'wordart'."
|
|
95574
95264
|
},
|
|
95265
|
+
FormatChangeResult: {
|
|
95266
|
+
name: "FormatChangeResult",
|
|
95267
|
+
definition: "{\n /** Number of cells whose formatting was changed */\n cellCount: number;\n}",
|
|
95268
|
+
docstring: "Result of a format set/setRange operation."
|
|
95269
|
+
},
|
|
95575
95270
|
FormatEntry: {
|
|
95576
95271
|
name: "FormatEntry",
|
|
95577
95272
|
definition: '{\n /** Cell value descriptor */\n value: { type: string; value?: unknown };\n /** Number format code (e.g., "#,##0.00") */\n formatCode: string;\n}',
|
|
@@ -95940,6 +95635,11 @@ Used in condition filters where users specify rules like
|
|
|
95940
95635
|
definition: "{\n /** Number of duplicate rows removed */\n removedCount: number;\n /** Number of unique rows remaining */\n remainingCount: number;\n}",
|
|
95941
95636
|
docstring: "Result of a remove-duplicates operation."
|
|
95942
95637
|
},
|
|
95638
|
+
ResolvedCellFormat: {
|
|
95639
|
+
name: "ResolvedCellFormat",
|
|
95640
|
+
definition: "{\n [K in keyof CellFormat]-?: CellFormat[K] | null;\n}",
|
|
95641
|
+
docstring: "Dense cell format where every property is explicitly present (null when unset). Returned by formats.get()."
|
|
95642
|
+
},
|
|
95943
95643
|
RichTextSegment: {
|
|
95944
95644
|
name: "RichTextSegment",
|
|
95945
95645
|
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}",
|
|
@@ -96020,7 +95720,7 @@ Used in condition filters where users specify rules like
|
|
|
96020
95720
|
},
|
|
96021
95721
|
SetCellsResult: {
|
|
96022
95722
|
name: "SetCellsResult",
|
|
96023
|
-
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 }
|
|
95723
|
+
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}",
|
|
96024
95724
|
docstring: "Result of a bulk setCells() operation."
|
|
96025
95725
|
},
|
|
96026
95726
|
ShadowAlignment: {
|
|
@@ -96424,8 +96124,7 @@ Used in condition filters where users specify rules like
|
|
|
96424
96124
|
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}",
|
|
96425
96125
|
docstring: "A summary snapshot of the entire workbook state."
|
|
96426
96126
|
}
|
|
96427
|
-
}
|
|
96428
|
-
generated: "2026-04-02T22:03:24.772Z"
|
|
96127
|
+
}
|
|
96429
96128
|
};
|
|
96430
96129
|
|
|
96431
96130
|
// src/api-describe.ts
|