@sheetxl/sdk 0.7.19 → 0.7.20

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.
Files changed (86) hide show
  1. package/browser/cjs/{9falDGOhQd1uqt7E.cjs → B-e67SgcDeVXYq1_.cjs} +1 -1
  2. package/browser/cjs/{CJQxCfdVcdoEkk5J.cjs → B-wJgWraWsu8M2jt.cjs} +1 -1
  3. package/browser/cjs/{DCdIYRDWVYKQUtSr.cjs → B77pLWE3V5W3amo1.cjs} +2 -2
  4. package/browser/cjs/{Cuxtf2wvDMMrF6jZ.cjs → B8OTK0gv9DPVNtwl.cjs} +1 -1
  5. package/browser/cjs/{DODJ56uKXuMHBqUD.cjs → BCi5YPsecmi56IGb.cjs} +1 -1
  6. package/browser/cjs/{CVUsSNwxfYFGzFmq.cjs → BgLpvF69qFQfZa2M.cjs} +1 -1
  7. package/browser/cjs/{XVXCDepnSGD3-r2I.cjs → Bm7x4BoNgaWv40jF.cjs} +1 -1
  8. package/browser/cjs/{COFIhECWXKH2vKQh.cjs → BmR-YJte1EuYglOd.cjs} +3 -3
  9. package/browser/cjs/{cajx4-BtrcsHmwLQ.cjs → Br18MgKzO7PAc1eF.cjs} +1 -1
  10. package/browser/cjs/Buqgpz8QhXr2g6sY.cjs +55 -0
  11. package/browser/cjs/{CJqmqCC82qly_N9O.cjs → CEOsAQVXtgOKozzJ.cjs} +1 -1
  12. package/browser/cjs/{BiwYy7jsLimHBJtb.cjs → CP9Z8FTPNsuOGZ1v.cjs} +1 -1
  13. package/browser/cjs/{5Ec7uqe_KzqaHYUn.cjs → CRxqUX3vFoTZwcmd.cjs} +1 -1
  14. package/browser/cjs/{DMXmAnbKdyBh5HJe.cjs → CnQ4Opbsjq08bDRA.cjs} +1 -1
  15. package/browser/cjs/{Da5aRgCxp8hX6730.cjs → Cu4wFA-2bpK6eDxD.cjs} +1 -1
  16. package/browser/cjs/{9eLW8qnyDnIczGNg.cjs → DKY3bu2SNjs1eBJu.cjs} +1 -1
  17. package/browser/cjs/{D9upaBte_0A9NsBE.cjs → DOSjViUZDw_kU3fS.cjs} +1 -1
  18. package/browser/cjs/{B-dxb9qiwpGDukV1.cjs → DaRt-i-6OVn3PSZ4.cjs} +1 -1
  19. package/browser/cjs/{DHHpCsWylq2ilkNg.cjs → Djzw3VIjsF_bVRQs.cjs} +1 -1
  20. package/browser/cjs/{DtmfArGNC0VE8BfY.cjs → DkZ7rAY0IOHAiORb.cjs} +1 -1
  21. package/browser/cjs/{DzGSQzHR7LuZVCHk.cjs → DpgVusnwWv9QkFwp.cjs} +2 -2
  22. package/browser/cjs/{exZZohur71emWSB8.cjs → DtnY-KOvnyGkaGFL.cjs} +1 -1
  23. package/browser/cjs/{C0BGV_db6RPmpTn6.cjs → DtwRIlHEZdfukrJO.cjs} +1 -1
  24. package/browser/cjs/{DxlrlBRIcBoXAO_Q.cjs → DvY4kRGeIIn6iPvk.cjs} +1 -1
  25. package/browser/cjs/{BV2mVZVmmoeCEsow.cjs → KvzoF8Fzl25ZPXTn.cjs} +1 -1
  26. package/browser/cjs/{CQuMp0DaPHLylzzs.cjs → at5g5xJXTEm4iVOH.cjs} +1 -1
  27. package/browser/cjs/index.cjs +2 -2
  28. package/browser/cjs/{BFHcO95DPI5PXeNW.cjs → rd79YWTYp-8sDg0S.cjs} +1 -1
  29. package/{node/esm/AuP5ZjL5xNhx38LV.mjs → browser/esm/6Q--gcMr72Fk5Cpz.mjs} +1 -1
  30. package/browser/esm/{CgIV4RmEXKz1vO-c.mjs → 9EDLGZvJJ-1_DMjn.mjs} +2 -2
  31. package/browser/esm/{D-HGwDEmxhcjKRh9.mjs → B36Hm8o_jmO1gry3.mjs} +1 -1
  32. package/browser/esm/{Behw0s4Vl9hYzSQn.mjs → B82gL7Rn1DPVdsbZ.mjs} +1 -1
  33. package/browser/esm/{5aCbF-pPxIWT9fPD.mjs → BBLwQtPKeJH3RyqB.mjs} +1 -1
  34. package/{node/esm/Dwkp_uj3FyE2W4ql.mjs → browser/esm/BEG6ZzRpfSO0q5gW.mjs} +1 -1
  35. package/browser/esm/{DCKJEq_tqYmgRj1v.mjs → Ba6RubjVeT1e7Uzs.mjs} +15 -12
  36. package/browser/esm/{DLPNARxxIWtrQUxW.mjs → BsEcKkH5DvkhShhj.mjs} +1 -1
  37. package/browser/esm/{EX90VzZjHii6-74z.mjs → CS8SUdGdjhbp7yW9.mjs} +1 -1
  38. package/browser/esm/{_XKsIuqSGLSVkhUJ.mjs → CTEhjZfNXd5YWgc0.mjs} +1 -1
  39. package/browser/esm/{BLiMgJqZVen3oPi3.mjs → C_p9l4NCsWE9zU1l.mjs} +1 -1
  40. package/{node/esm/BcXrVnCDoObUaQ86.mjs → browser/esm/CreIz402Uh2o-W9o.mjs} +1 -1
  41. package/browser/esm/{Cbe5R2so2CiFfqM5.mjs → CuyTQ_n5V8TDBQPV.mjs} +1 -1
  42. package/{node/esm/qTvKaICzD2TRbmKO.mjs → browser/esm/D6kuhpMMGwwKz4wx.mjs} +1 -1
  43. package/{node/esm/GnFUK3ZiX7CfU_rY.mjs → browser/esm/DCxv7rJFu_Eb3Ptk.mjs} +1 -1
  44. package/browser/esm/{WdshuHfK_r13CmXu.mjs → DDXFwd2cNiZCzVYO.mjs} +1 -1
  45. package/browser/esm/{7B6Obu_Ya-gQ10dC.mjs → DKuI8h4MQRWKkk8o.mjs} +1 -1
  46. package/browser/esm/{GtI6yffY8DXIptU5.mjs → DR9qlbompK-Lv3RC.mjs} +1 -1
  47. package/browser/esm/{Bla4Tm-f1RgXR6Xt.mjs → DgDGV7A1DrD6tnan.mjs} +2 -2
  48. package/{node/esm/B1Owkps-kCSGNo71.mjs → browser/esm/Dh7ItCwZUDYb5KZq.mjs} +1 -1
  49. package/browser/esm/{4OnzR9YwWqxWCbLx.mjs → DlcfQOSW6Jm4-0TM.mjs} +1 -1
  50. package/browser/esm/{DgwfnwqUoUFH_y7j.mjs → Dt383q-0M1HYM0uO.mjs} +1 -1
  51. package/{node/esm/qz2XX5Zz1o0vswQF.mjs → browser/esm/Dt832gzBCmEysj_D.mjs} +1 -1
  52. package/browser/esm/{Bxay6ecg3uP5lNgt.mjs → Dz6k4iaqD6TkrmHM.mjs} +4652 -4642
  53. package/browser/esm/index.mjs +48 -46
  54. package/{node/esm/BW9ehwNOKmjebpua.mjs → browser/esm/jFS4R2N5M_oHpYxW.mjs} +1 -1
  55. package/{node/esm/wRnJv89npiCcfS74.mjs → browser/esm/tiAu9ELmXJ2JhLvH.mjs} +1 -1
  56. package/browser/esm/{BT3Pkk0D24yI07K3.mjs → uALtnKQXmdQ7XPBn.mjs} +1 -1
  57. package/{browser/esm/AuP5ZjL5xNhx38LV.mjs → node/esm/6Q--gcMr72Fk5Cpz.mjs} +1 -1
  58. package/node/esm/{EJE_HywvophL9XZb.mjs → 84Hxhw9PwKZhre2Y.mjs} +14 -11
  59. package/node/esm/{DNV4Zh8yqwrLYSkN.mjs → AlgfmU4GR-zVyV4R.mjs} +1 -1
  60. package/node/esm/{D-HGwDEmxhcjKRh9.mjs → B36Hm8o_jmO1gry3.mjs} +1 -1
  61. package/node/esm/{5aCbF-pPxIWT9fPD.mjs → BBLwQtPKeJH3RyqB.mjs} +1 -1
  62. package/{browser/esm/Dwkp_uj3FyE2W4ql.mjs → node/esm/BEG6ZzRpfSO0q5gW.mjs} +1 -1
  63. package/node/esm/{B5ltFB1YT5B2r9RK.mjs → BcDlrL2vI79tOFlP.mjs} +1 -1
  64. package/node/esm/{Cu2RC8MhdPYMbQdD.mjs → C8S5GX6kzEqJaxYV.mjs} +1 -1
  65. package/node/esm/{D-OhdsCsmrzkSf9e.mjs → CI1MHk_1qhdhKG03.mjs} +1 -1
  66. package/node/esm/{_XKsIuqSGLSVkhUJ.mjs → CTEhjZfNXd5YWgc0.mjs} +1 -1
  67. package/node/esm/{DMbCamPzz9vVfYdv.mjs → CXsULz_luxJOR6En.mjs} +1 -1
  68. package/node/esm/{BLiMgJqZVen3oPi3.mjs → C_p9l4NCsWE9zU1l.mjs} +1 -1
  69. package/{browser/esm/BcXrVnCDoObUaQ86.mjs → node/esm/CreIz402Uh2o-W9o.mjs} +1 -1
  70. package/node/esm/{Cbe5R2so2CiFfqM5.mjs → CuyTQ_n5V8TDBQPV.mjs} +1 -1
  71. package/node/esm/{C9J55b2W8sv680zc.mjs → D-D7Wc-rdbV2x9ZR.mjs} +1 -1
  72. package/{browser/esm/qTvKaICzD2TRbmKO.mjs → node/esm/D6kuhpMMGwwKz4wx.mjs} +1 -1
  73. package/{browser/esm/GnFUK3ZiX7CfU_rY.mjs → node/esm/DCxv7rJFu_Eb3Ptk.mjs} +1 -1
  74. package/node/esm/{7B6Obu_Ya-gQ10dC.mjs → DKuI8h4MQRWKkk8o.mjs} +1 -1
  75. package/node/esm/{18-IgFR3zjp3E9CY.mjs → DecD3QWGFXI6AA0N.mjs} +1 -1
  76. package/{browser/esm/B1Owkps-kCSGNo71.mjs → node/esm/Dh7ItCwZUDYb5KZq.mjs} +1 -1
  77. package/node/esm/{GIARNN3tc_0GNfFD.mjs → DlPZKXRMhrr9QfRP.mjs} +1 -1
  78. package/node/esm/{4OnzR9YwWqxWCbLx.mjs → DlcfQOSW6Jm4-0TM.mjs} +1 -1
  79. package/{browser/esm/qz2XX5Zz1o0vswQF.mjs → node/esm/Dt832gzBCmEysj_D.mjs} +1 -1
  80. package/node/esm/index.mjs +1169 -1153
  81. package/{browser/esm/BW9ehwNOKmjebpua.mjs → node/esm/jFS4R2N5M_oHpYxW.mjs} +1 -1
  82. package/{browser/esm/wRnJv89npiCcfS74.mjs → node/esm/tiAu9ELmXJ2JhLvH.mjs} +1 -1
  83. package/package.json +4 -4
  84. package/types/index.d.ts +65 -31
  85. package/types/scripting.d.ts +285 -271
  86. package/browser/cjs/De3jUs80wQIeNdtk.cjs +0 -55
@@ -10133,12 +10133,12 @@ declare module "calculation/ICalculation" {
10133
10133
  /** @inheritdoc IFormulaContext.getRuntime */
10134
10134
  getRuntime(): IRuntime;
10135
10135
  /**
10136
- * Waits for the calculation to finish.
10136
+ * Calculates all items or waits for current calculations to finished
10137
10137
  *
10138
10138
  * @remarks
10139
10139
  * This is useful when needing to ensure that the values in the calculation cycle are up-to-date.
10140
10140
  */
10141
- waitForFinish(): Promise<void>;
10141
+ calculate(options?: ICalculation.CalculateOptions): Promise<void>;
10142
10142
  /**
10143
10143
  * Add Listeners.
10144
10144
  *
@@ -10155,6 +10155,15 @@ declare module "calculation/ICalculation" {
10155
10155
  * {@link ICalculation}
10156
10156
  */
10157
10157
  export namespace ICalculation {
10158
+ /**
10159
+ * Options for when calculating.
10160
+ */
10161
+ interface CalculateOptions {
10162
+ /**
10163
+ * If true a full calc will be done not just invalid values
10164
+ */
10165
+ full?: boolean;
10166
+ }
10158
10167
  /**
10159
10168
  * Represents a formula that can be evaluated.
10160
10169
  */
@@ -14446,175 +14455,6 @@ declare module "primitives/Range" {
14446
14455
  get isIRange(): true;
14447
14456
  }
14448
14457
  }
14449
- declare module "selection/IRangeSelection" {
14450
- import type { IRange } from '@sheetxl/primitives';
14451
- import type { SelectionCoords as WellKnownSelectionCoords } from '@sheetxl/utils';
14452
- import type { IListener } from "listener/index";
14453
- import type { ISheet } from "sheet/index";
14454
- /**
14455
- * Interface representing a range selection within a sheet.
14456
- */
14457
- export interface IRangeSelection {
14458
- /**
14459
- * Navigates the entire sheet
14460
- *
14461
- * @param direction The direction to navigate.
14462
- * @param select Whether to select the cell after navigating.
14463
- * @param contentful Whether to navigate to contentful cells only.
14464
- * @param incrementAmount The amount to increment.
14465
- * @returns The current instance.
14466
- */
14467
- navigate(direction: IRange.Direction, select?: boolean, contentful?: boolean, incrementAmount?: number): this;
14468
- /**
14469
- * Checks if the entire range is selected.
14470
- * @returns True if the entire range is selected, otherwise false.
14471
- */
14472
- isEntire(): boolean;
14473
- /**
14474
- * Returns the coordinates of the selection.
14475
- * @returns The selection coordinates.
14476
- */
14477
- getCoords(): IRangeSelection.Coords;
14478
- /**
14479
- * Returns the selection as an array of IRange.Coords.
14480
- *
14481
- * @param coords Optional coordinates to convert. If not provided, uses the current selection.
14482
- *
14483
- * @remarks
14484
- * The first element is always the active range.
14485
- */
14486
- getRangesCoords(coords?: Partial<IRangeSelection.Coords>): IRange.Coords[];
14487
- /**
14488
- * Updates the selection coordinates.
14489
- *
14490
- * @param coords The new coordinates.
14491
- * @returns The current instance.
14492
- */
14493
- updateCoords(coords: IRangeSelection.Coords): this;
14494
- /**
14495
- * Traverses the selection, moving to the next cell based on the orientation.
14496
- *
14497
- * @param orientation The orientation to traverse. Default is `ICellRange.Orientation.Row`.
14498
- * @param reverse Whether to traverse in reverse. Default is false.
14499
- * @returns The current instance.
14500
- * @remarks Useful for pressing tab or enter from the UI.
14501
- */
14502
- traverse(orientation?: IRange.Orientation, reverse?: boolean): this;
14503
- /**
14504
- * Updates the selection using a new start and end.
14505
- *
14506
- * @param start The start cell.
14507
- * @param end The end cell. Default is the start cell.
14508
- * @param anchor The anchor cell.
14509
- */
14510
- clearAndModify(start: Partial<IRange.CellCoords>, end?: Partial<IRange.CellCoords>, anchor?: Partial<IRange.CellCoords>): void;
14511
- /**
14512
- * Modifies the selection around the anchor.
14513
- *
14514
- * @param cellAnchor The anchor cell.
14515
- * @param cellPivot The pivot cell.
14516
- * @param resetAnchor Whether to reset the anchor. Default is false.
14517
- */
14518
- modify(cellAnchor: Partial<IRange.CellCoords>, cellPivot?: Partial<IRange.CellCoords>, resetAnchor?: boolean): void;
14519
- /**
14520
- * Clears the range selections.
14521
- *
14522
- * @remarks This does not affect the cell.
14523
- */
14524
- clear(): void;
14525
- /**
14526
- * Appends a selection to the current selection.
14527
- *
14528
- * @param start The start cell.
14529
- * @param end The end cell. Default is the start cell.
14530
- * @param anchor The anchor cell.
14531
- * @remarks This is used to support the CMD key behavior in the UI.
14532
- */
14533
- append(start: IRange.CellCoords, end?: IRange.CellCoords, anchor?: Partial<IRange.CellCoords>): void;
14534
- /**
14535
- * A special range used during drag.
14536
- * @param range The range or null.
14537
- *
14538
- * @remarks
14539
- * This fires an event.
14540
- */
14541
- setAdjusting(range: IRangeSelection.Coords | null): void;
14542
- /**
14543
- * Returns the adjusting range.
14544
- */
14545
- getAdjusting(): IRangeSelection.Coords | null;
14546
- /**
14547
- * Adds listeners to the selection.
14548
- * @param listeners The listeners to add.
14549
- * @param options Options for the listeners.
14550
- * @returns A function to remove the listeners.
14551
- */
14552
- addListeners(listeners: IRangeSelection.IListeners, options?: IListener.Options): IListener.Remove;
14553
- }
14554
- /**
14555
- * {@inheritDoc IRangeSelection}
14556
- * @see
14557
- * ### **Interface**
14558
- *
14559
- * {@link IRangeSelection}
14560
- */
14561
- export namespace IRangeSelection {
14562
- /**
14563
- * Represents a selection of ranges with an active range and an active cell.
14564
- */
14565
- type Coords = WellKnownSelectionCoords;
14566
- /**
14567
- * Type representing different selection policies.
14568
- */
14569
- type SelectionPolicy = 'single' | 'range' | 'multiple';
14570
- /**
14571
- * Type representing different new selection modes.
14572
- */
14573
- type NewSelectionMode = 'clear' | 'modify' | 'append';
14574
- /**
14575
- * Events for {@link IRangeSelection}.
14576
- */
14577
- interface Events {
14578
- /**
14579
- * Called when the selection changes.
14580
- *
14581
- * @param source The source of the event.
14582
- */
14583
- onChange?(source: IRangeSelection): void;
14584
- /**
14585
- * Called when the selection is adjusting.
14586
- *
14587
- * @param source The source of the event.
14588
- */
14589
- onAdjustingChange?(source: IRangeSelection): void;
14590
- }
14591
- /**
14592
- * Listeners for IRangeSelection events.
14593
- */
14594
- interface IListeners extends IListener.Callbacks<IRangeSelection, Events> {
14595
- }
14596
- /**
14597
- * Options for constructing an IRangeSelection.
14598
- */
14599
- interface ConstructorOptions {
14600
- /**
14601
- * The sheet to which the selection belongs.
14602
- */
14603
- sheet: ISheet;
14604
- /**
14605
- * Selection policy.
14606
- */
14607
- selectionPolicy?: IRangeSelection.SelectionPolicy;
14608
- /**
14609
- * New selection mode.
14610
- */
14611
- newSelectionMode?: IRangeSelection.NewSelectionMode;
14612
- }
14613
- }
14614
- }
14615
- declare module "selection/index" {
14616
- export * from "selection/IRangeSelection";
14617
- }
14618
14458
  declare module "protection/IProtection" {
14619
14459
  import type { IListener } from "listener/index";
14620
14460
  /**
@@ -15204,6 +15044,17 @@ declare module "workbook/IWorkbook" {
15204
15044
  * * Does not fire a theme updated event.
15205
15045
  */
15206
15046
  setTheme(theme: ITheme | null): ITheme;
15047
+ /**
15048
+ * Returns the display name for the workbook.
15049
+ *
15050
+ * @remarks
15051
+ * This may be null
15052
+ */
15053
+ getName(): string | null;
15054
+ /**
15055
+ * Set the name for the workbook.
15056
+ */
15057
+ setName(name: string | null): IWorkbook;
15207
15058
  /**
15208
15059
  * Is date resolution 1904 instead of 1900 based.
15209
15060
  *
@@ -15365,6 +15216,10 @@ declare module "workbook/IWorkbook" {
15365
15216
  * @param source {@link IWorkbook}
15366
15217
  */
15367
15218
  onViewChange?(source: IWorkbook): void;
15219
+ /**
15220
+ * Called when the name changes.
15221
+ */
15222
+ onNameChange?(source: IWorkbook): void;
15368
15223
  /**
15369
15224
  * Called when the scripts associated with the workbook have change.
15370
15225
  */
@@ -15469,6 +15324,21 @@ declare module "workbook/IWorkbook" {
15469
15324
  * @defaultValue `Sheet${index+1}`
15470
15325
  */
15471
15326
  createSheetNameCallback?: (index: number) => string;
15327
+ /**
15328
+ * The initial name for the workbook.
15329
+ */
15330
+ name?: string | null;
15331
+ /**
15332
+ * Returns a valid name for the workbook.
15333
+ *
15334
+ * @param name The name to validate.
15335
+ * @returns The valid name. This may be different from the name provided.
15336
+ * @throws Error if the name is not valid.
15337
+ *
15338
+ * @remarks
15339
+ * This is not called if the name is null or for the initialName if provided.
15340
+ */
15341
+ validateWorkbookName?: (name: string) => string | null | void;
15472
15342
  /**
15473
15343
  * A theme for the workbook.
15474
15344
  */
@@ -16358,6 +16228,228 @@ declare module "workbook/_WorkbookUtils" {
16358
16228
  */
16359
16229
  export const findValidSheetName: (str: string, validate: (validating: string) => string) => string;
16360
16230
  }
16231
+ declare module "selection/IRangeSelection" {
16232
+ import type { IRange } from '@sheetxl/primitives';
16233
+ import type { SelectionCoords as WellKnownSelectionCoords } from '@sheetxl/utils';
16234
+ import type { IListener } from "listener/index";
16235
+ import type { ISheet } from "sheet/index";
16236
+ /**
16237
+ * Interface representing a range selection within a sheet.
16238
+ */
16239
+ export interface IRangeSelection {
16240
+ /**
16241
+ * Navigates the entire sheet
16242
+ *
16243
+ * @param direction The direction to navigate.
16244
+ * @param select Whether to select the cell after navigating.
16245
+ * @param contentful Whether to navigate to contentful cells only.
16246
+ * @param incrementAmount The amount to increment.
16247
+ * @returns The current instance.
16248
+ */
16249
+ navigate(direction: IRange.Direction, select?: boolean, contentful?: boolean, incrementAmount?: number): this;
16250
+ /**
16251
+ * Checks if the entire range is selected.
16252
+ * @returns True if the entire range is selected, otherwise false.
16253
+ */
16254
+ isEntire(): boolean;
16255
+ /**
16256
+ * Returns the coordinates of the selection.
16257
+ * @returns The selection coordinates.
16258
+ */
16259
+ getCoords(): IRangeSelection.Coords;
16260
+ /**
16261
+ * Returns the selection as an array of IRange.Coords.
16262
+ *
16263
+ * @param coords Optional coordinates to convert. If not provided, uses the current selection.
16264
+ *
16265
+ * @remarks
16266
+ * The first element is always the active range.
16267
+ */
16268
+ getRangesCoords(coords?: Partial<IRangeSelection.Coords>): IRange.Coords[];
16269
+ /**
16270
+ * Updates the selection coordinates.
16271
+ *
16272
+ * @param coords The new coordinates.
16273
+ * @returns The current instance.
16274
+ */
16275
+ updateCoords(coords: IRangeSelection.Coords): this;
16276
+ /**
16277
+ * Traverses the selection, moving to the next cell based on the orientation.
16278
+ *
16279
+ * @param orientation The orientation to traverse. Default is `ICellRange.Orientation.Row`.
16280
+ * @param reverse Whether to traverse in reverse. Default is false.
16281
+ * @returns The current instance.
16282
+ * @remarks Useful for pressing tab or enter from the UI.
16283
+ */
16284
+ traverse(orientation?: IRange.Orientation, reverse?: boolean): this;
16285
+ /**
16286
+ * Updates the selection using a new start and end.
16287
+ *
16288
+ * @param start The start cell.
16289
+ * @param end The end cell. Default is the start cell.
16290
+ * @param anchor The anchor cell.
16291
+ */
16292
+ clearAndModify(start: Partial<IRange.CellCoords>, end?: Partial<IRange.CellCoords>, anchor?: Partial<IRange.CellCoords>): void;
16293
+ /**
16294
+ * Modifies the selection around the anchor.
16295
+ *
16296
+ * @param cellAnchor The anchor cell.
16297
+ * @param cellPivot The pivot cell.
16298
+ * @param resetAnchor Whether to reset the anchor. Default is false.
16299
+ */
16300
+ modify(cellAnchor: Partial<IRange.CellCoords>, cellPivot?: Partial<IRange.CellCoords>, resetAnchor?: boolean): void;
16301
+ /**
16302
+ * Clears the range selections.
16303
+ *
16304
+ * @remarks This does not affect the cell.
16305
+ */
16306
+ clear(): void;
16307
+ /**
16308
+ * Appends a selection to the current selection.
16309
+ *
16310
+ * @param start The start cell.
16311
+ * @param end The end cell. Default is the start cell.
16312
+ * @param anchor The anchor cell.
16313
+ * @remarks This is used to support the CMD key behavior in the UI.
16314
+ */
16315
+ append(start: IRange.CellCoords, end?: IRange.CellCoords, anchor?: Partial<IRange.CellCoords>): void;
16316
+ /**
16317
+ * A special range used during drag.
16318
+ * @param range The range or null.
16319
+ *
16320
+ * @remarks
16321
+ * This fires an event.
16322
+ */
16323
+ setAdjusting(range: IRangeSelection.Coords | null): void;
16324
+ /**
16325
+ * Returns the adjusting range.
16326
+ */
16327
+ getAdjusting(): IRangeSelection.Coords | null;
16328
+ /**
16329
+ * Adds listeners to the selection.
16330
+ * @param listeners The listeners to add.
16331
+ * @param options Options for the listeners.
16332
+ * @returns A function to remove the listeners.
16333
+ */
16334
+ addListeners(listeners: IRangeSelection.IListeners, options?: IListener.Options): IListener.Remove;
16335
+ }
16336
+ /**
16337
+ * {@inheritDoc IRangeSelection}
16338
+ * @see
16339
+ * ### **Interface**
16340
+ *
16341
+ * {@link IRangeSelection}
16342
+ */
16343
+ export namespace IRangeSelection {
16344
+ /**
16345
+ * Represents a selection of ranges with an active range and an active cell.
16346
+ */
16347
+ type Coords = WellKnownSelectionCoords;
16348
+ /**
16349
+ * Type representing different selection policies.
16350
+ */
16351
+ type SelectionPolicy = 'single' | 'range' | 'multiple';
16352
+ /**
16353
+ * Type representing different new selection modes.
16354
+ */
16355
+ type NewSelectionMode = 'clear' | 'modify' | 'append';
16356
+ /**
16357
+ * Events for {@link IRangeSelection}.
16358
+ */
16359
+ interface Events {
16360
+ /**
16361
+ * Called when the selection changes.
16362
+ *
16363
+ * @param source The source of the event.
16364
+ */
16365
+ onChange?(source: IRangeSelection): void;
16366
+ /**
16367
+ * Called when the selection is adjusting.
16368
+ *
16369
+ * @param source The source of the event.
16370
+ */
16371
+ onAdjustingChange?(source: IRangeSelection): void;
16372
+ }
16373
+ /**
16374
+ * Listeners for IRangeSelection events.
16375
+ */
16376
+ interface IListeners extends IListener.Callbacks<IRangeSelection, Events> {
16377
+ }
16378
+ /**
16379
+ * Options for constructing an IRangeSelection.
16380
+ */
16381
+ interface ConstructorOptions {
16382
+ /**
16383
+ * The sheet to which the selection belongs.
16384
+ */
16385
+ sheet: ISheet;
16386
+ /**
16387
+ * Selection policy.
16388
+ */
16389
+ selectionPolicy?: IRangeSelection.SelectionPolicy;
16390
+ /**
16391
+ * New selection mode.
16392
+ */
16393
+ newSelectionMode?: IRangeSelection.NewSelectionMode;
16394
+ }
16395
+ }
16396
+ }
16397
+ declare module "selection/_RangeSelectionUtils" {
16398
+ import { IRange } from '@sheetxl/primitives';
16399
+ import { IRangeSelection } from "selection/IRangeSelection";
16400
+ /**
16401
+ * Scans until finds a visible (non hidden) header.
16402
+ *
16403
+ * @param hiddenAt Callback
16404
+ * @param index The index to start from
16405
+ * @param direction The direction to scan
16406
+ */
16407
+ export const traverseHiddenHeaders: (hiddenAt: HiddenHeadersAt | undefined, index: number, direction: IRange.Direction) => number;
16408
+ export const getVisibleHeaders: (hiddenAt: HiddenHeadersAt | undefined, startIndex: number, stopIndex: number) => number[];
16409
+ export const EmptyCell: IRange.CellCoords;
16410
+ export const EmptyRanges: IRange.Coords[];
16411
+ /**
16412
+ * Frozen IRangeSelection.Coords for easy comparisons.
16413
+ */
16414
+ export const EmptySelection: IRangeSelection.Coords;
16415
+ export const mergeSelection: (selection: IRangeSelection.Coords, activeSelection: IRangeSelection.Coords, maxRangeCoords: IRange.Coords) => IRangeSelection.Coords;
16416
+ /**
16417
+ * Cycles active cell within selection range. This has slightly different semantics than regular traversal
16418
+ * * wraps
16419
+ * * visits each cell once (skipping merged cells after first step)
16420
+ * * jumps to next range if multiple ranges are selected
16421
+ *
16422
+ * @param selection
16423
+ * @param direction
16424
+ */
16425
+ export const findNextCellWithinSelection: (selection: IRangeSelection.Coords, direction: IRange.Direction, getCellCoordsAsRangeCoords: (coords: IRange.CellCoords) => IRange.Coords, hiddenRowsAt?: HiddenHeadersAt, hiddenColumnsAt?: HiddenHeadersAt, originalSelection?: IRangeSelection.Coords) => IRangeSelection.Coords | null;
16426
+ export interface HiddenHeadersAt {
16427
+ /**
16428
+ * A called back to traverse hidden headers
16429
+ */
16430
+ (index: number, reverse?: boolean): number;
16431
+ }
16432
+ export interface IsContentfulCell {
16433
+ (coords: IRange.CellCoords): boolean;
16434
+ }
16435
+ export type CellFinder = (activeCoords: IRange.CellCoords, isContentfulCell: IsContentfulCell | undefined, hiddenAt: HiddenHeadersAt | undefined, direction: IRange.Direction, first: boolean, limit: number) => number;
16436
+ /**
16437
+ * Returns the cells as an ordered list of ranges. The first range is the active range.
16438
+ * If there are no ranges then the active coord will be returns as a range.
16439
+ *
16440
+ * @remarks
16441
+ * * Always return at least 1 range unless the selection is null.
16442
+ */
16443
+ export const selectionToRangesCoords: (selection: Partial<IRangeSelection.Coords>) => IRange.Coords[];
16444
+ /**
16445
+ * Creates a IRangeSelection.Coords from an array of ranges.
16446
+ *
16447
+ * @param ranges The ranges to include in the selection.
16448
+ * @param cell If provided will try to fit within the cell
16449
+ * @param rangeIndex *default* `ranges.length 1 unless this is a single cell then -1`.
16450
+ */
16451
+ export const rangesToSelectionCoords: (ranges: readonly IRange.Coords[], cell?: IRange.CellCoords, rangeIndex?: number) => IRangeSelection.Coords;
16452
+ }
16361
16453
  declare module "lib/utils/_Utils" {
16362
16454
  export const getBuildVersion: () => string;
16363
16455
  export const getBuildDate: () => string;
@@ -16451,6 +16543,7 @@ declare module "license/LicenseManager" {
16451
16543
  private _validate;
16452
16544
  private _printBanner;
16453
16545
  private _printDetails;
16546
+ private _doPrint;
16454
16547
  private _print;
16455
16548
  getDetails(): Promise<LicenseDetails>;
16456
16549
  /**
@@ -18327,6 +18420,9 @@ declare module "movable/CustomElement" {
18327
18420
  }
18328
18421
  }
18329
18422
  }
18423
+ declare module "selection/index" {
18424
+ export * from "selection/IRangeSelection";
18425
+ }
18330
18426
  declare module "conditional/IConditionalFormatCollection" {
18331
18427
  import type { ICellRange, ICellRanges } from "cellRange/index";
18332
18428
  import type { ICollection } from "type/index";
@@ -18973,53 +19069,6 @@ declare module "address/index" {
18973
19069
  const resolveRelativeToA1: (tokens: (string | IRange.CellCoords)[], rowIndex: number, colIndex: number) => string;
18974
19070
  }
18975
19071
  }
18976
- declare module "selection/_RangeSelectionUtils" {
18977
- import { IRange } from '@sheetxl/primitives';
18978
- import { IRangeSelection } from "selection/IRangeSelection";
18979
- /**
18980
- * Scans until finds a visible (non hidden) header.
18981
- *
18982
- * @param hiddenAt Callback
18983
- * @param index The index to start from
18984
- * @param direction The direction to scan
18985
- */
18986
- export const traverseHiddenHeaders: (hiddenAt: HiddenHeadersAt | undefined, index: number, direction: IRange.Direction) => number;
18987
- export const getVisibleHeaders: (hiddenAt: HiddenHeadersAt | undefined, startIndex: number, stopIndex: number) => number[];
18988
- export const EmptyCell: IRange.CellCoords;
18989
- export const EmptyRanges: IRange.Coords[];
18990
- /**
18991
- * Frozen IRangeSelection.Coords for easy comparisons.
18992
- */
18993
- export const EmptySelection: IRangeSelection.Coords;
18994
- export const mergeSelection: (selection: IRangeSelection.Coords, activeSelection: IRangeSelection.Coords, maxRangeCoords: IRange.Coords) => IRangeSelection.Coords;
18995
- /**
18996
- * Cycles active cell within selection range. This has slightly different semantics than regular traversal
18997
- * * wraps
18998
- * * visits each cell once (skipping merged cells after first step)
18999
- * * jumps to next range if multiple ranges are selected
19000
- *
19001
- * @param selection
19002
- * @param direction
19003
- */
19004
- export const findNextCellWithinSelection: (selection: IRangeSelection.Coords, direction: IRange.Direction, getCellCoordsAsRangeCoords: (coords: IRange.CellCoords) => IRange.Coords, hiddenRowsAt?: HiddenHeadersAt, hiddenColumnsAt?: HiddenHeadersAt, originalSelection?: IRangeSelection.Coords) => IRangeSelection.Coords | null;
19005
- export interface HiddenHeadersAt {
19006
- /**
19007
- * A called back to traverse hidden headers
19008
- */
19009
- (index: number, reverse?: boolean): number;
19010
- }
19011
- export interface IsContentfulCell {
19012
- (coords: IRange.CellCoords): boolean;
19013
- }
19014
- export type CellFinder = (activeCoords: IRange.CellCoords, isContentfulCell: IsContentfulCell | undefined, hiddenAt: HiddenHeadersAt | undefined, direction: IRange.Direction, first: boolean, limit: number) => number;
19015
- /**
19016
- * Returns the cells as an ordered list of ranges. The first range is the active range.
19017
- * If there are no ranges then the active coord will be returns as a range.
19018
- * @remarks
19019
- * * Always return at least 1 range unless the selection is null.
19020
- */
19021
- export const selectionToRanges: (selection: Partial<IRangeSelection.Coords>) => IRange.Coords[];
19022
- }
19023
19072
  declare module "selection/RangeSelection" {
19024
19073
  import { IRange } from '@sheetxl/primitives';
19025
19074
  import { IListener } from "listener/index";
@@ -22374,9 +22423,7 @@ declare module "sheet/Sheet" {
22374
22423
  /** @internal */
22375
22424
  protected _realizeCalcedValues(results: ICalcGraph.Results): void;
22376
22425
  /** @internal */
22377
- protected _calculate(ranges: ICellRanges.Coords, options?: ICalcGraph.CalculateOptions): void;
22378
- /** @internal */
22379
- protected _waitForCalcs(): Promise<void>;
22426
+ protected _calculate(ranges: ICellRanges.Coords, options?: ICalculation.CalculateOptions): void;
22380
22427
  /** @internal */
22381
22428
  protected _calculateFull(): void;
22382
22429
  /** @internal */
@@ -22720,8 +22767,6 @@ declare module "sheet/SheetRange" {
22720
22767
  getValue(options?: ICellRange.GetValuesOptions): Scalar | JSScalar;
22721
22768
  /** {@inheritDoc ICellRange.calculate} */
22722
22769
  calculate(full: boolean): this;
22723
- /** {@inheritDoc ICellRange.waitForCalcs} */
22724
- waitForCalcs(): Promise<this>;
22725
22770
  /** {@inheritDoc ICellRange.getCells} */
22726
22771
  getCells(options?: ICellRange.GetValuesOptions): ICell[][];
22727
22772
  /** {@inheritDoc ICellRange.getCell} */
@@ -22959,6 +23004,7 @@ declare module "workbook/Workbook" {
22959
23004
  lastId: number;
22960
23005
  sheetsCreated: Set<ISheet>;
22961
23006
  listenersSheets: Map<number, IListener.Remove>;
23007
+ name: string | null;
22962
23008
  }
22963
23009
  interface InternalCreateSheet {
22964
23010
  (
@@ -23023,6 +23069,10 @@ declare module "workbook/Workbook" {
23023
23069
  protected _isDate1904: boolean;
23024
23070
  constructor(options?: IWorkbook.ConstructorOptions);
23025
23071
  protected _initState(): void;
23072
+ /** {@inheritDoc IWorkbook.getName} */
23073
+ getName(): string | null;
23074
+ /** {@inheritDoc IWorkbook.setName} */
23075
+ setName(name: string | null): IWorkbook;
23026
23076
  /** {@inheritDoc IWorkbook.getView} */
23027
23077
  getView(): IWorkbookView;
23028
23078
  /** {@inheritDoc IWorkbook.setView} */
@@ -23780,7 +23830,7 @@ declare module "sheet/ISheet" {
23780
23830
  * Returns the {@link IWorkbook} for the sheet.
23781
23831
  *
23782
23832
  * @remarks
23783
- * This may be null if not created via a workbook
23833
+ * This may be `null` if not created via a workbook.
23784
23834
  */
23785
23835
  getWorkbook(): IWorkbook | null;
23786
23836
  /**
@@ -24479,7 +24529,6 @@ declare module "sheet/_SheetUtils" {
24479
24529
  import { ITypes } from "type/index";
24480
24530
  import type { IStringCollection } from "string/index";
24481
24531
  import { ISort } from "sort/index";
24482
- import type { IRangeSelection } from "selection/index";
24483
24532
  import { type IStyle } from "style/index";
24484
24533
  import type { ICell, ICellHeader } from "cell/index";
24485
24534
  import type { ICellRange } from "cellRange/index";
@@ -24637,22 +24686,6 @@ declare module "sheet/_SheetUtils" {
24637
24686
  * Expands ranges to include merges.
24638
24687
  */
24639
24688
  export const expandToIncludeMerges: (ranges: readonly IRange.Coords[], mergeSpatial: ISpatialMap<MergeEntry>, entireCoords: IRange.Coords) => IRange.Coords[];
24640
- /**
24641
- * Creates a IRangeSelection.Coords from an array of ranges.
24642
- *
24643
- * @param ranges
24644
- * @param cell if provided will try to fit within the cell
24645
- * @param rangeIndex *default* `ranges.length 1 unless this is a single cell then -1`.
24646
- */
24647
- export const toRangeSelectionCoords: (ranges: readonly IRange.Coords[], cell?: IRange.CellCoords, rangeIndex?: number) => IRangeSelection.Coords;
24648
- /**
24649
- * Creates a IRangeSelection.Coords from an array of ranges.
24650
- *
24651
- * @param ranges
24652
- * @param rangeIndex @defaultValue ranges.length 1 unless this is a single cell then -1
24653
- * @deprecated use toRangeSelectionCoords
24654
- */
24655
- export const rangesToSelection: (ranges: readonly IRange.Coords[], rangeIndex?: number) => IRangeSelection.Coords;
24656
24689
  export type OrientedStyled = {
24657
24690
  orientations: IRange.Orientations;
24658
24691
  index: number;
@@ -25220,7 +25253,7 @@ declare module "calculation/graph/ICalcGraph" {
25220
25253
  * @remarks
25221
25254
  * For async functions this will return before they are completed.
25222
25255
  */
25223
- calculate(options?: ICalcGraph.CalculateOptions | boolean): Promise<ICalcGraph.Results>;
25256
+ calculate(options?: ICalculation.CalculateOptions | boolean): Promise<ICalcGraph.Results>;
25224
25257
  /**
25225
25258
  * The the value at a specific cell to a formula.
25226
25259
  *
@@ -25561,23 +25594,6 @@ declare module "calculation/graph/ICalcGraph" {
25561
25594
  */
25562
25595
  isEquals(other: ICalcGraph.IFormulaBlock): boolean;
25563
25596
  }
25564
- /**
25565
- * Options for when calculating.
25566
- */
25567
- interface CalculateOptions {
25568
- /**
25569
- * If true a full calc will be done not just invalid values
25570
- */
25571
- full?: boolean;
25572
- /**
25573
- * If true the the promise will not result until all pending calculations are complete.
25574
- *
25575
- * @remarks
25576
- * * Useful when wanting all results for a calculation such as a rest API call.
25577
- * * Streaming functions will return the first value and immediately unsubscribe.
25578
- */
25579
- waitForPending?: boolean;
25580
- }
25581
25597
  /**
25582
25598
  * Options for shifting the calc graph.
25583
25599
  */
@@ -25792,6 +25808,7 @@ declare module "calculation/graph/CalcGraph" {
25792
25808
  graph: CalcGraph;
25793
25809
  };
25794
25810
  _iterationId: number;
25811
+ _uuid: string;
25795
25812
  _options: ICalcGraph.ConstructorOptions;
25796
25813
  _getEntireCoords: () => IRange.Coords;
25797
25814
  _calculation: ICalculation;
@@ -25849,7 +25866,7 @@ declare module "calculation/graph/CalcGraph" {
25849
25866
  /** {@inheritDoc ICalcGraph.autoFill} */
25850
25867
  autoFill(template: IRange.Coords | string, destination: IRange.Coords | string): this;
25851
25868
  protected _scheduleRecalculation(nodes?: CalcNode | CalcNode[]): void;
25852
- protected _notifyCalculated(options: ICalcGraph.CalculateOptions | boolean): Promise<ICalcGraph.Results>;
25869
+ protected _notifyCalculated(options: ICalculation.CalculateOptions | boolean): Promise<ICalcGraph.Results>;
25853
25870
  _setInputs(values: Tuple.BoundedTuples<Scalar>, formulas: readonly ISpatialMap.Entry<string>[], deleteRange?: IRange.Coords): ISpatialMap.Updates<ICalcGraph.FormulaInsert>;
25854
25871
  protected _invalidate(invalidations: ISpatialMap.Entry[]): void;
25855
25872
  /**
@@ -25870,7 +25887,7 @@ declare module "calculation/graph/CalcGraph" {
25870
25887
  protected _markAndPlan(isFullCalc: boolean, initial: CalcNode[], markId: number): MarkResults;
25871
25888
  protected _evaluate(forceFull: boolean): EvalResults;
25872
25889
  /** {@inheritDoc ICalcGraph.calculate} */
25873
- calculate(options?: ICalcGraph.CalculateOptions | boolean): Promise<ICalcGraph.Results>;
25890
+ calculate(options?: ICalculation.CalculateOptions | boolean): Promise<ICalcGraph.Results>;
25874
25891
  protected _clearScope(): void;
25875
25892
  protected _resetScope(): ICalcGraphScope;
25876
25893
  /**
@@ -27193,7 +27210,7 @@ declare module ".generated/formulas/impl/financial/Financial" {
27193
27210
  rate: number, pr: number, basis?: number): number;
27194
27211
  }
27195
27212
  declare module ".generated/formulas/impl/information/Information" {
27196
- import { Scalar, FormulaError, IReferenceRange, IRange } from '@sheetxl/primitives';
27213
+ import { FormulaError, type Scalar, type IReferenceRange, type IRange } from '@sheetxl/primitives';
27197
27214
  /**
27198
27215
  * @summary Returns information about the cell.
27199
27216
  * @param {'address' | 'col' | 'contents' | 'row' | 'type'} infoType The type of information to return.
@@ -29910,6 +29927,8 @@ declare module "calculation/Calculation" {
29910
29927
  export class Calculation extends AbstractModel<State, ICalculation.JSON, CommitView, ICalculation.IListeners> implements ICalculation {
29911
29928
  protected _context: CalculationContext;
29912
29929
  protected _scope: ICalcGraphScope;
29930
+ protected _graphsCalcing: Map<string, ICalcGraph>;
29931
+ protected _graphsAll: Map<string, ICalcGraph>;
29913
29932
  protected _functions: IFunctionCollection;
29914
29933
  protected _runtime: IRuntime;
29915
29934
  protected _formulaParser: IFormulaParser;
@@ -29919,6 +29938,8 @@ declare module "calculation/Calculation" {
29919
29938
  constructor(options?: Calculation.ConstructorOptions);
29920
29939
  protected _getContext(): CalculationContext;
29921
29940
  protected _getScope(): ICalcGraphScope;
29941
+ protected _getCalcingGraphs(): Map<string, ICalcGraph>;
29942
+ protected _getAllGraphs(): Map<string, ICalcGraph>;
29922
29943
  /** @inheritdoc ICalculation.start */
29923
29944
  start(): Promise<void>;
29924
29945
  protected _createGraph(options: ICalcGraph.ConstructorOptions): ICalcGraph;
@@ -29926,8 +29947,8 @@ declare module "calculation/Calculation" {
29926
29947
  stop(): Promise<void>;
29927
29948
  /** @inheritdoc ICalculation.getStatus */
29928
29949
  getStatus(): ICalculation.Status;
29929
- /** @inheritdoc ICalculation.waitForFinish */
29930
- waitForFinish(): Promise<void>;
29950
+ /** @inheritdoc ICalculation.calculate */
29951
+ calculate(options?: ICalculation.CalculateOptions): Promise<void>;
29931
29952
  /** @inheritdoc ICalculation.getFunctions */
29932
29953
  getFunctions(): IFunctionCollection;
29933
29954
  /** @inheritdoc IFormulaContext.getRuntime */
@@ -32795,13 +32816,6 @@ declare module "cellRange/ICellRange" {
32795
32816
  * @param full If `true` then all formulas will be recalculated.
32796
32817
  */
32797
32818
  calculate(full?: boolean): this;
32798
- /**
32799
- * Waits for all calculations to finish.
32800
- *
32801
- * @remarks
32802
- * Useful for ensuring that all calculations are complete before proceeding.
32803
- */
32804
- waitForCalcs(): Promise<this>;
32805
32819
  /**
32806
32820
  * Fill the range to a destination using an array of {@link IAutoFill.Filler}.
32807
32821
  *