@sheetxl/sdk 0.7.12 → 0.7.14

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/{BtThYQ_xJKRRyHva.cjs → -fzmLbmKCBzK9oRZ.cjs} +1 -1
  2. package/browser/cjs/{DrKICIc8x71fjYk9.cjs → 0lUbfhtrd_wufhL3.cjs} +1 -1
  3. package/browser/cjs/{B2USJzhMx0gKp_xB.cjs → B07Y1ERwDVHXTEuI.cjs} +1 -1
  4. package/browser/cjs/{Bkzf07hHXxJshocL.cjs → B1KDlf4Fbft4tjjj.cjs} +1 -1
  5. package/browser/cjs/{1CfjeWL6bDBG9-ag.cjs → BPlMwBvlv1U2gJLp.cjs} +2 -2
  6. package/browser/cjs/{BSm1vufvss-H9NbR.cjs → BRR-eS8_1BbDQfVT.cjs} +1 -1
  7. package/browser/cjs/{e2MkfbbzEhKy8YyW.cjs → BSjBjEqcjdqeygtj.cjs} +1 -1
  8. package/browser/cjs/{DbXxA7VgCTQL8GVr.cjs → BWPBBRKOt1TnEQW2.cjs} +1 -1
  9. package/browser/cjs/{C4IRg2q0tpytF4VU.cjs → BihhzXuYuVZlH947.cjs} +3 -3
  10. package/browser/cjs/{YjLWaeMwa9C_R1s5.cjs → C9EhsP1LNyShLPae.cjs} +1 -1
  11. package/browser/cjs/{E6VF-dQbtwGm8ZKJ.cjs → CBZAbsOH-qLoLVYi.cjs} +1 -1
  12. package/browser/cjs/{ClKtiswJz42sFi44.cjs → CMA0dCN-jx8mUVpC.cjs} +1 -1
  13. package/browser/cjs/{D5f6Io_7gWntl6eJ.cjs → CMcvl1Zwdr7xqxk-.cjs} +1 -1
  14. package/browser/cjs/{DRD2V03RHZ3FhUo9.cjs → CPSnUEg6iB67D_fE.cjs} +1 -1
  15. package/browser/cjs/{D_0CPRkAn_JdC7QW.cjs → CaBb29bMjYq4FPC4.cjs} +1 -1
  16. package/browser/cjs/{CmCdKX0dS361BDF_.cjs → CfhCVN63umYqcdux.cjs} +1 -1
  17. package/browser/cjs/{D08eDP1nShWTKp9c.cjs → CflowdD2ofBImyxf.cjs} +1 -1
  18. package/browser/cjs/{CzRnWLos_wVaK8Fw.cjs → Cjw_osDdQOhlKISB.cjs} +1 -1
  19. package/browser/cjs/{DyjC8TEGJk-hny2D.cjs → D8hRvoPQOnDRVPAe.cjs} +1 -1
  20. package/browser/cjs/{D908eIvK1UZZam0d.cjs → DJJI0nPForZ7Fyw8.cjs} +1 -1
  21. package/browser/cjs/{BwbyX4MNaa1zIjER.cjs → DPnnTvpwZeCYEQjl.cjs} +1 -1
  22. package/browser/cjs/{BosMy9ewpwF9NuGB.cjs → DkAdWdbvFE7n1Hcq.cjs} +1 -1
  23. package/browser/cjs/{CQeXdseMKMBAVqkr.cjs → DkV8Vz21n9mOoxZg.cjs} +1 -1
  24. package/browser/cjs/{vzFUQnmdHHRhq6jV.cjs → IHhWVKf3y4GPDEsu.cjs} +2 -2
  25. package/browser/cjs/{CKzpvrOe3DiGVZcc.cjs → LysRTzmqVW8lE0wn.cjs} +1 -1
  26. package/browser/cjs/QK4uMmDx2ivy6yLv.cjs +55 -0
  27. package/browser/cjs/{ToviSt9hOTH-9baV.cjs → b5Qta6o-hfdLsZ2C.cjs} +1 -1
  28. package/browser/cjs/index.cjs +2 -2
  29. package/browser/esm/{Cya5XpqQkpsIhhU6.mjs → 5UT-S_8enFmksHUV.mjs} +1 -1
  30. package/browser/esm/{BpvAje6jcdacLYbX.mjs → 7VJFgeFQVJmSYXYk.mjs} +1 -1
  31. package/browser/esm/{dXzMDWrDA5Lwl6Mj.mjs → BGxFMxgIc6_Du8sb.mjs} +1 -1
  32. package/browser/esm/{D5rbSNG1lRMqamJK.mjs → BY5jOMg7oXwIKByq.mjs} +1 -1
  33. package/browser/esm/{TQ7P4hzcSvakAO7N.mjs → Bb0n7WwiIdOtgnRw.mjs} +1 -1
  34. package/browser/esm/{C333Bk9rZ2_V-1cQ.mjs → BdsrnU901jI-wd-4.mjs} +1 -1
  35. package/browser/esm/{BvMu0XjKqyboy-lE.mjs → BmsSmazArGNZbNeZ.mjs} +4449 -4282
  36. package/{node/esm/CTnYczv8sdymPont.mjs → browser/esm/C-dC3AjFyCjRGGOv.mjs} +1 -1
  37. package/{node/esm/C2TJUuObLI3XbkGW.mjs → browser/esm/C7vIejJBnmBAEaEW.mjs} +1 -1
  38. package/{node/esm/C9rJUO6w8U4r-ZLU.mjs → browser/esm/CGD1FZtnkDQ0SSBz.mjs} +1 -1
  39. package/browser/esm/{CcrvxZgcfX9XaIQ5.mjs → CgPPHJJUMVCN32D6.mjs} +1 -1
  40. package/browser/esm/{Dw7XkqUHobOgiSxg.mjs → DHNBXeBjLI3QVhcQ.mjs} +1 -1
  41. package/browser/esm/{DyrGEURqMZbZUei0.mjs → DJ-ZyaCf_y5KqImf.mjs} +1 -1
  42. package/{node/esm/Cq8Z_7xKAy_l-nRD.mjs → browser/esm/DJjQwq79V0wl9qhG.mjs} +1 -1
  43. package/browser/esm/{BM-O3SE_q7zMdUWU.mjs → DLLkKYL-X-v73Z0R.mjs} +2 -2
  44. package/browser/esm/{DHM5MROBjTGyyJxE.mjs → DMASuJhDm2I6PXCN.mjs} +1 -1
  45. package/browser/esm/{DBqZtOc04qqODM6B.mjs → DSD5aS6kewydAsCA.mjs} +1 -1
  46. package/browser/esm/{z5RyyAq0YqPAgm3C.mjs → DbcMNEUrgozG6pB0.mjs} +1 -1
  47. package/browser/esm/{DkKcmgQirssZLyAt.mjs → DyG4EtOyTUl5wrhc.mjs} +2 -2
  48. package/{node/esm/wGQlPDrRhZBNmqXr.mjs → browser/esm/G5zHU3-mFg8u8npr.mjs} +1 -1
  49. package/browser/esm/{D9emWaogFZ_qGmes.mjs → ItKDnjJiNUadHt-H.mjs} +3 -3
  50. package/browser/esm/{DFPhSySbg8tF2p3h.mjs → PjxOQ4QiwWz0c6Ph.mjs} +1 -1
  51. package/browser/esm/index.mjs +53 -51
  52. package/browser/esm/{Dy616gUfJgTEn2Lk.mjs → myjs_Lwk8vlrSFNh.mjs} +1 -1
  53. package/browser/esm/{CSrVbEwBx2NnAYvL.mjs → tO5paHU0QdSdv1Jc.mjs} +1 -1
  54. package/browser/esm/{Bj-vyyFRt_LQ3p4k.mjs → vLCpNb3EvVHobA40.mjs} +1 -1
  55. package/browser/esm/{CaxUhEKBf5-rWlgP.mjs → zY-nSDUmnavhQata.mjs} +1 -1
  56. package/{node/esm/jAZwRNd8wzT9q-Kf.mjs → browser/esm/zeLLXOAGHLwXQiRi.mjs} +1 -1
  57. package/node/esm/{SG4_v0bpY55xYUOj.mjs → 0iGTcd9ooWNCeX4c.mjs} +1 -1
  58. package/node/esm/{BpvAje6jcdacLYbX.mjs → 7VJFgeFQVJmSYXYk.mjs} +1 -1
  59. package/node/esm/{OmF7uWO8nNEAcgRL.mjs → 9tEJsH5MtfgJF2X4.mjs} +1 -1
  60. package/node/esm/{BmoVFEKACjsgqtqW.mjs → BNhLhktE2XilaoxK.mjs} +2 -2
  61. package/node/esm/{C3dNwSBxZydPNIa6.mjs → BPBgVCP0v-ej5g24.mjs} +1 -1
  62. package/node/esm/{D5rbSNG1lRMqamJK.mjs → BY5jOMg7oXwIKByq.mjs} +1 -1
  63. package/node/esm/{TQ7P4hzcSvakAO7N.mjs → Bb0n7WwiIdOtgnRw.mjs} +1 -1
  64. package/{browser/esm/CTnYczv8sdymPont.mjs → node/esm/C-dC3AjFyCjRGGOv.mjs} +1 -1
  65. package/node/esm/{CGUEDkuo3-Y2_wZV.mjs → C0uCmd6tFf75Wgtv.mjs} +1 -1
  66. package/node/esm/{BGDBKHouRITQ69Y_.mjs → C1CvI8x7vaaCFzua.mjs} +1 -1
  67. package/{browser/esm/C2TJUuObLI3XbkGW.mjs → node/esm/C7vIejJBnmBAEaEW.mjs} +1 -1
  68. package/{browser/esm/C9rJUO6w8U4r-ZLU.mjs → node/esm/CGD1FZtnkDQ0SSBz.mjs} +1 -1
  69. package/node/esm/{BOC_DgdvRX0-0ZaJ.mjs → CaTmPKI90a8j_ksw.mjs} +1 -1
  70. package/node/esm/{CcrvxZgcfX9XaIQ5.mjs → CgPPHJJUMVCN32D6.mjs} +1 -1
  71. package/{browser/esm/Cq8Z_7xKAy_l-nRD.mjs → node/esm/DJjQwq79V0wl9qhG.mjs} +1 -1
  72. package/node/esm/{DHM5MROBjTGyyJxE.mjs → DMASuJhDm2I6PXCN.mjs} +1 -1
  73. package/node/esm/{DBqZtOc04qqODM6B.mjs → DSD5aS6kewydAsCA.mjs} +1 -1
  74. package/node/esm/{Ci5zjsTKJE1WXg-8.mjs → DeRbIp5DJRZ2hJCs.mjs} +1 -1
  75. package/{browser/esm/wGQlPDrRhZBNmqXr.mjs → node/esm/G5zHU3-mFg8u8npr.mjs} +1 -1
  76. package/node/esm/{DFPhSySbg8tF2p3h.mjs → PjxOQ4QiwWz0c6Ph.mjs} +1 -1
  77. package/node/esm/index.mjs +3092 -2945
  78. package/node/esm/{Dy616gUfJgTEn2Lk.mjs → myjs_Lwk8vlrSFNh.mjs} +1 -1
  79. package/node/esm/{CSrVbEwBx2NnAYvL.mjs → tO5paHU0QdSdv1Jc.mjs} +1 -1
  80. package/node/esm/{ClxQXzVr71QV--QR.mjs → yS3knP21QkdRIsvW.mjs} +1 -1
  81. package/node/esm/{CaxUhEKBf5-rWlgP.mjs → zY-nSDUmnavhQata.mjs} +1 -1
  82. package/{browser/esm/jAZwRNd8wzT9q-Kf.mjs → node/esm/zeLLXOAGHLwXQiRi.mjs} +1 -1
  83. package/package.json +4 -4
  84. package/types/index.d.ts +236 -65
  85. package/types/scripting.d.ts +620 -400
  86. package/browser/cjs/ibSKVNiJ2VncQNAS.cjs +0 -55
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.12
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.14
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.12
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.14
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.12
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.14
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.12
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.14
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.12
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.7.14
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sheetxl/sdk",
3
3
  "description": "SDK - A high-performance, embeddable spreadsheet engine.",
4
- "version": "0.7.12",
4
+ "version": "0.7.14",
5
5
  "license": "SEE LICENSE IN <LICENSE>",
6
6
  "type": "module",
7
7
  "exports": {
@@ -43,9 +43,9 @@
43
43
  "automation"
44
44
  ],
45
45
  "dependencies": {
46
- "@sheetxl/primitives": "^0.7.12",
47
- "@sheetxl/scripting": "^0.7.12",
48
- "@sheetxl/utils": "^0.7.12",
46
+ "@sheetxl/primitives": "^0.7.14",
47
+ "@sheetxl/scripting": "^0.7.14",
48
+ "@sheetxl/utils": "^0.7.14",
49
49
  "bahttext": "^2.3.0",
50
50
  "bessel": "^1.0.2",
51
51
  "chalk": "^5.6.2",
package/types/index.d.ts CHANGED
@@ -1042,10 +1042,21 @@ declare const DateUnit: {
1042
1042
 
1043
1043
  declare type DateUnit = typeof DateUnit[keyof typeof DateUnit];
1044
1044
 
1045
+ export declare namespace DateUtils {
1046
+ export {
1047
+ nowWithPrecision
1048
+ }
1049
+ }
1050
+
1045
1051
  declare const deepCull: (value: any, _min: number, _max: number) => boolean;
1046
1052
 
1047
1053
  declare const deepUpdate: (prevValue: any | null, newValue: any | null) => any | null;
1048
1054
 
1055
+ /**
1056
+ * A list of font sizes for showing in drop downs.
1057
+ */
1058
+ declare const DefaultFontSizes: readonly number[];
1059
+
1049
1060
  declare class DefaultProtection<T, P extends IProtection.Properties, J extends IProtection.JSON> implements IProtection<T, P, J> {
1050
1061
  protected _emitter: ListenerEmitter<this, IProtection.IListeners>;
1051
1062
  protected _isPaused: boolean;
@@ -1174,6 +1185,11 @@ declare const findIntersectMath: (p1: Point, p2: Point, min: number, max: number
1174
1185
  max: number;
1175
1186
  };
1176
1187
 
1188
+ /**
1189
+ * Searches an array of numbers for the next value.
1190
+ */
1191
+ declare const findNextFontSize: (size: number, increase?: boolean, steps?: readonly number[]) => number;
1192
+
1177
1193
  /**
1178
1194
  * Looks for a run going in a certain direction. If there isn't a run for this it will look for the next
1179
1195
  * run. If you only want the run if it is found then use {@link findRun}.
@@ -1227,6 +1243,13 @@ declare interface FontHandle {
1227
1243
  loaded: boolean;
1228
1244
  }
1229
1245
 
1246
+ export declare namespace FontUtils {
1247
+ export {
1248
+ DefaultFontSizes,
1249
+ findNextFontSize
1250
+ }
1251
+ }
1252
+
1230
1253
  declare class FormulaBlockEntry implements ISpatialMap.IUpdatableEntry<FormulaBlockEntry> {
1231
1254
  ref: IRange.Coords;
1232
1255
  formula: ICalcGraph.IFormulaBlock;
@@ -3975,29 +3998,41 @@ export declare interface ICellHeaderRange {
3975
3998
  /**
3976
3999
  * The RunCoords for the range.
3977
4000
  */
3978
- getCoords(): RunCoords;
4001
+ getCoords(): ICellHeaderRange.Coords;
3979
4002
  /**
3980
4003
  * Iterate over cells headers.
4004
+ *
3981
4005
  * @remarks
3982
4006
  * * Callbacks can return a 'break' value to stop the visit.
3983
4007
  */
3984
4008
  forEach<T = any>(callback: ICellHeaderRange.ForEachCallback<T>, options?: ICellHeaderRange.IteratorOptions): T | void;
3985
4009
  /**
3986
4010
  * Returns the header at a location relative to the range.
4011
+ *
3987
4012
  * @param index
3988
4013
  */
3989
4014
  at(index: number): ICellHeader;
3990
4015
  /**
3991
4016
  * Set the size of the headers.
3992
- * @param size
4017
+ *
4018
+ * @param size This can be a number of a string with units
3993
4019
  * @param options {@link ICellHeaderRange.SetSizeOptions}
3994
4020
  */
3995
4021
  setSize(size?: number | string, options?: ICellHeaderRange.SetSizeOptions): this;
3996
4022
  /**
3997
4023
  * Hides or show the columns for the given range.
4024
+ *
3998
4025
  * @defaultValue false
3999
4026
  */
4000
4027
  setHidden(hidden?: boolean): this;
4028
+ /**
4029
+ * Provides a convenient method for setting values with a range of calls.
4030
+ *
4031
+ * @remarks
4032
+ * If an array is provided then values will be in row-major order and will
4033
+ * repeat if the range is larger than the array
4034
+ */
4035
+ updateHeaders(values: ICellHeader.Update, options?: ICellHeaderRange.UpdateHeadersOptions): this;
4001
4036
  /**
4002
4037
  * Returns the data ranges for headers that contain information.
4003
4038
  *
@@ -4014,6 +4049,10 @@ export declare interface ICellHeaderRange {
4014
4049
  * Returns the number of headers included in the range.
4015
4050
  */
4016
4051
  getCount(): number;
4052
+ /**
4053
+ * Returns the number of headers.
4054
+ */
4055
+ getHeaderCount(): number;
4017
4056
  /**
4018
4057
  * Returns the number of visible headers in the range.
4019
4058
  */
@@ -4028,6 +4067,7 @@ export declare interface ICellHeaderRange {
4028
4067
  getOrientation(): IRange.Orientation;
4029
4068
  /**
4030
4069
  * Similar to {@link forEach} but only spans that are different.
4070
+ *
4031
4071
  * @remarks
4032
4072
  * * Callbacks can return a 'break' value to stop the visit.
4033
4073
  */
@@ -4039,20 +4079,13 @@ export declare interface ICellHeaderRange {
4039
4079
  * * If there are no hidden headers this will still be called once.
4040
4080
  */
4041
4081
  forEachVisibleSpan<T = any>(callback: ICellHeaderRange.ForEachVisibleSpanCallback<T>, options?: ICellHeaderRange.ForEachVisibleSpanOptions): T | void;
4042
- /**
4043
- * Provides a convenient method for setting values with a range of calls.
4044
- *
4045
- * @remarks
4046
- * If an array is provided then values will be in row-major order and will
4047
- * repeat if the range is larger than the array
4048
- */
4049
- updateHeaders(values: ICellHeader.Update, options?: ICellHeaderRange.UpdateHeadersOptions): this;
4050
4082
  /**
4051
4083
  * {@inheritDoc ICellRange.getSnapshot}
4052
4084
  */
4053
4085
  getSnapshot(options?: ICellHeaderRange.CopyOptions): ICellHeaderRange.ISnapshot;
4054
4086
  /**
4055
4087
  * Perform operation on all ranges.
4088
+ *
4056
4089
  * @see
4057
4090
  * {@link ICellRange.doBatch}
4058
4091
  */
@@ -4083,6 +4116,10 @@ export declare interface ICellHeaderRange {
4083
4116
  * {@link ICellHeaderRange}
4084
4117
  */
4085
4118
  export declare namespace ICellHeaderRange {
4119
+ /**
4120
+ * The coord type for a header range.
4121
+ */
4122
+ export type Coords = RunCoords;
4086
4123
  /**
4087
4124
  * Specify either a range a run or a string.
4088
4125
  * @remarks
@@ -4220,11 +4257,13 @@ export declare namespace ICellHeaderRange {
4220
4257
  relativeSize?: boolean;
4221
4258
  /**
4222
4259
  * If this is set to `true` then the value will not be an autoSize value.
4260
+ *
4223
4261
  * @defaultValue false
4224
4262
  */
4225
4263
  autoSize?: boolean;
4226
4264
  /**
4227
4265
  * If this is set to `true` then any headers that have custom sizes will be ignored.
4266
+ *
4228
4267
  * @defaultValue false
4229
4268
  */
4230
4269
  skipCustomSize?: boolean;
@@ -4269,6 +4308,109 @@ export declare namespace ICellHeaderRange {
4269
4308
  }
4270
4309
  }
4271
4310
 
4311
+ /**
4312
+ * An `ICellHeaderRanges` is a collection of {@link ICellHeaderRange}s.
4313
+ *
4314
+ * Useful when working with a discontinuous set of headers.
4315
+ */
4316
+ export declare interface ICellHeaderRanges {
4317
+ /**
4318
+ * The RunCoords for the range.
4319
+ */
4320
+ getCoords(): Readonly<ICellHeaderRanges.Coords>;
4321
+ /**
4322
+ * Returns the header range at a location relative to the range.
4323
+ *
4324
+ * @param index
4325
+ */
4326
+ at(index: number): ICellHeaderRange;
4327
+ /**
4328
+ * Returns the number of headers ranges.
4329
+ */
4330
+ getCount(): number;
4331
+ /**
4332
+ * {@inheritDoc ICellHeaderRange.setSize}
4333
+ */
4334
+ setSize(size?: number | string, options?: ICellHeaderRange.SetSizeOptions): this;
4335
+ /**
4336
+ * {@inheritDoc ICellHeaderRange.setHidden}
4337
+ */
4338
+ setHidden(hidden?: boolean): this;
4339
+ /**
4340
+ * {@inheritDoc ICellHeaderRange.clear}
4341
+ */
4342
+ clear(): this;
4343
+ /**
4344
+ * Returns the number of headers.
4345
+ *
4346
+ * @remarks
4347
+ * This will remove overlaps.
4348
+ */
4349
+ getHeaderCount(): number;
4350
+ /**
4351
+ * {@inheritDoc ICellHeaderRange.getVisibleCount}
4352
+ */
4353
+ getVisibleCount(): number;
4354
+ /**
4355
+ * Returns true if all of the ranges cover the entire headers.
4356
+ */
4357
+ isEntireHeaders(): boolean;
4358
+ /**
4359
+ * Returns true if any of the ranges cover entire headers.
4360
+ */
4361
+ isEntireHeadersAny(): boolean;
4362
+ /**
4363
+ * {@inheritDoc ICellHeaderRange.getOrientation}
4364
+ */
4365
+ getOrientation(): IRange.Orientation;
4366
+ /**
4367
+ * {@inheritDoc ICellHeaderRange.updateHeaders}
4368
+ */
4369
+ updateHeaders(values: ICellHeader.Update, options?: ICellHeaderRange.UpdateHeadersOptions): this;
4370
+ /**
4371
+ * {@inheritDoc ICellHeaderRange.doBatch}
4372
+ */
4373
+ doBatch<R>(callback: (commit: ITransaction.ICommit) => R | Promise<R>, options?: string | ICellHeaderRange.UpdateHeadersOptions): R | Promise<R>;
4374
+ /**
4375
+ * {@inheritDoc ICellHeaderRange.getSheetHeader}
4376
+ */
4377
+ getSheetHeader<S>(): S;
4378
+ /**
4379
+ * {@inheritDoc ICellHeaderRange.getA1}
4380
+ */
4381
+ getA1(): string;
4382
+ /**
4383
+ * {@inheritDoc ICellHeaderRange.toString}
4384
+ */
4385
+ toString(): string;
4386
+ /**
4387
+ * For runtime type checking.
4388
+ */
4389
+ readonly isICellHeaderRanges: true;
4390
+ }
4391
+
4392
+ /**
4393
+ * {@inheritDoc ICellHeaderRanges}
4394
+ * @see
4395
+ * ### **Interface**
4396
+ *
4397
+ * {@link ICellHeaderRanges}
4398
+ */
4399
+ export declare namespace ICellHeaderRanges {
4400
+ /**
4401
+ * The coord type for a header ranges.
4402
+ */
4403
+ export type Coords = RunCoords[];
4404
+ /**
4405
+ * Address for multiple {@link ICellHeaderRange}s.
4406
+ */
4407
+ export type Address = ICellHeaderRanges | string | ICellHeaderRange.Address | readonly ICellHeaderRange.Address[];
4408
+ /**
4409
+ * Shorthand for persisting.
4410
+ */
4411
+ export type RefJSON = RunCoords[] | RunCoords | string;
4412
+ }
4413
+
4272
4414
  /**
4273
4415
  * Additional cell protection properties.
4274
4416
  *
@@ -6009,6 +6151,14 @@ export declare interface ICellRanges {
6009
6151
  * {@inheritDoc ICellRange.getEntireColumns}
6010
6152
  */
6011
6153
  getEntireColumns(shiftRows?: boolean, options?: ICellRange.GetRangeOptions): this;
6154
+ /**
6155
+ * {@inheritDoc ICellRange.getRowHeaders}
6156
+ */
6157
+ getRowHeaders(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRanges;
6158
+ /**
6159
+ * {@inheritDoc ICellRange.getColumnHeaders}
6160
+ */
6161
+ getColumnHeaders(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRanges;
6012
6162
  /**
6013
6163
  * {@inheritDoc ICellRange.getDefaultShiftOrientation}
6014
6164
  */
@@ -6121,15 +6271,6 @@ export declare interface ICellRanges {
6121
6271
  * The RangeCoords.
6122
6272
  */
6123
6273
  getCoords(): readonly Readonly<IRange.FixableCoords>[];
6124
- /**
6125
- * Returns the total number of contiguous ranges in this collection.
6126
- */
6127
- getCount(): number;
6128
- /**
6129
- * Returns the range at a specific index.
6130
- * @param index
6131
- */
6132
- at(index: number): ICellRange;
6133
6274
  /**
6134
6275
  * Returns true if the range is invalid.
6135
6276
  * This can occur if a range is removed or created with invalid coordinates.
@@ -11219,6 +11360,14 @@ export declare interface IRangeSelection {
11219
11360
  * @returns The selection coordinates.
11220
11361
  */
11221
11362
  getCoords(): IRangeSelection.Coords;
11363
+ /**
11364
+ * Returns the selection as an array of IRange.Coords.
11365
+ *
11366
+ * @param coords Optional coordinates to convert. If not provided, uses the current selection.
11367
+ * @remarks
11368
+ * The first element is always the active range.
11369
+ */
11370
+ getRangesCoords(coord?: Partial<IRangeSelection.Coords>): IRange.Coords[];
11222
11371
  /**
11223
11372
  * Updates the selection coordinates.
11224
11373
  * @param coords The new coordinates.
@@ -12479,17 +12628,41 @@ export declare namespace ISheetCollection {
12479
12628
  * allowing for actions such as inserting, deleting, resizing, and applying formatting changes.
12480
12629
  */
12481
12630
  export declare interface ISheetHeader extends ITransaction.ITransactional, IListener.ISource<ISheetHeader> {
12631
+ /**
12632
+ * Returns the header at a given offset. Will only return null for invalid header offset. To get a list of headers use {@link getRange}.
12633
+ *
12634
+ * @param index 0-based absolute index.
12635
+ */
12636
+ at(index: number): ICellHeader;
12637
+ /**
12638
+ * Returns a displayable title for the given index.
12639
+ * @param index 0-based absolute index.
12640
+ */
12641
+ getTextAt(index: number): string;
12482
12642
  /**
12483
12643
  * Returns a range of cells for the specified range.
12484
12644
  *
12645
+ * @param address The address or addresses of the header range to retrieve.
12646
+ * @param options Options for retrieving the header ranges.
12485
12647
  * @see
12486
12648
  * {@link ICellHeaderRange}
12487
12649
  */
12488
12650
  getRange(address: ICellHeaderRange.Address, options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
12489
12651
  /**
12490
- * Returns the actives that are used in the selection.
12652
+ * Returns a collection of header ranges for the specified ranges.
12653
+ *
12654
+ * @param address The address or addresses of the header ranges to retrieve.
12655
+ * @param options Options for retrieving the header ranges.
12656
+ */
12657
+ getRanges(address: ICellHeaderRanges.Address, options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRanges;
12658
+ /**
12659
+ * Returns the active header range that is used in the selection.
12491
12660
  */
12492
12661
  getSelectedRange(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
12662
+ /**
12663
+ * Returns the active header ranges that are used in the selection.
12664
+ */
12665
+ getSelectedRanges(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRanges;
12493
12666
  /**
12494
12667
  * Returns the data ranges for headers that contain information.
12495
12668
  *
@@ -12508,46 +12681,6 @@ export declare interface ISheetHeader extends ITransaction.ITransactional, IList
12508
12681
  * The orientation the headers manage.
12509
12682
  */
12510
12683
  getOrientation(): IRange.Orientation;
12511
- /**
12512
- * @see
12513
- * {@link ICellHeaderRange.setSize}
12514
- */
12515
- setSize(address: ICellHeaderRange.Address | readonly ICellHeaderRange.Address[], size?: number | string, options?: ICellHeaderRange.SetSizeOptions): this;
12516
- /**
12517
- * @see
12518
- * {@link ICellHeaderRange.setHidden}
12519
- */
12520
- setHidden(address: ICellHeaderRange.Address | readonly ICellHeaderRange.Address[], hidden?: boolean): this;
12521
- /**
12522
- * Bulk update api.
12523
- * @remarks
12524
- * This only supports one range at a time but offers a few flavors
12525
- * * update(5, { size: '100px' }); // 0-based index
12526
- * * update({ min: 3, max: 4 }, { size: '100px' }); // 0-based index
12527
- * * update('e:f', { size: '100px' }); // 1-based a1 style
12528
- * * update({ colStart: 3, colEnd: 4 }, { size: '100px' }); // 0-based index
12529
- * * update('5:7', { size: '100px' }); // 1-based a1 style
12530
- * * update({ rowStart: 3, rowEnd: 4 }, { size: '100px' }); // 0-based index
12531
- */
12532
- update(address: ICellHeaderRange.Address | readonly ICellHeaderRange.Address[], update: ICellHeader.Update, options?: ICellHeaderRange.UpdateHeadersOptions): this;
12533
- /**
12534
- * Sets the headers. This supports setting values as a batch.
12535
- * @remarks
12536
- * When setting headers the cells references by this sheet will not update.
12537
- * To ensure they are updated on the sheet call updateHeaderPairs with the range from the header.
12538
- */
12539
- updateHeaderPairs(pairs: ICellHeaderRange.AddressUpdatePair[], options?: ICellHeaderRange.UpdateHeadersOptions): RunCoords[] | null;
12540
- /**
12541
- * Returns the header at a given offset. Will only return null for invalid header offset. To get a list of headers use {@link getRange}.
12542
- *
12543
- * @param index 0-based absolute index.
12544
- */
12545
- at(index: number): ICellHeader;
12546
- /**
12547
- * Returns a displayable title for the given index.
12548
- * @param index 0-based absolute index.
12549
- */
12550
- getTextAt(index: number): string;
12551
12684
  /**
12552
12685
  * Returns a flag indicating if the headers are protected by the sheet.
12553
12686
  */
@@ -12630,6 +12763,14 @@ export declare interface ISheetHeader extends ITransaction.ITransactional, IList
12630
12763
  * Returns a list of SelectedRuns.
12631
12764
  */
12632
12765
  getSelectedRuns(): readonly ITypes.RunCoordValue<ISheetHeader.SelectedRun>[];
12766
+ /**
12767
+ * Sets the headers. This supports setting values as a batch.
12768
+ *
12769
+ * @remarks
12770
+ * When setting headers the cells references by this sheet will not update.
12771
+ * To ensure they are updated on the sheet call updateHeaderPairs with the range from the header.
12772
+ */
12773
+ updateHeaderPairs(pairs: ICellHeaderRange.AddressUpdatePair[], options?: ICellHeaderRange.UpdateHeadersOptions): RunCoords[] | null;
12633
12774
  /**
12634
12775
  * Returns the sheet model used for the header.
12635
12776
  */
@@ -13275,7 +13416,7 @@ export declare namespace ISort {
13275
13416
  export interface DefaultSortCriteria {
13276
13417
  /**
13277
13418
  * The cords that will be sorted.
13278
- * This may ignore the header.
13419
+ * This will include headers even if the are ignored.
13279
13420
  */
13280
13421
  coords: IRange.Coords;
13281
13422
  /**
@@ -13289,6 +13430,10 @@ export declare namespace ISort {
13289
13430
  * If no headers are found this will be empty.
13290
13431
  */
13291
13432
  headers: Map<number, string>;
13433
+ /**
13434
+ * The coords without any headers.
13435
+ */
13436
+ sortCoords: IRange.Coords;
13292
13437
  }
13293
13438
  /**
13294
13439
  * Extends sort options to include options for sorting a range.
@@ -17970,6 +18115,14 @@ declare interface NotifyOptions<T = any> {
17970
18115
  transactional?: boolean;
17971
18116
  }
17972
18117
 
18118
+ /**
18119
+ * Returns Date.now() rounded to a nearest time.
18120
+ *
18121
+ * @param precision The precision of time. Set to 1 if exact.
18122
+ * @defaultValue The nearest minute.
18123
+ */
18124
+ declare const nowWithPrecision: (precision?: number) => Date;
18125
+
17973
18126
  /**
17974
18127
  * Capabilities for defining and applying number formats to cells.
17975
18128
  *
@@ -18221,6 +18374,8 @@ declare interface ParsedRuns {
18221
18374
 
18222
18375
  /* Excluded from this release type: parseHeaderRangeAddress */
18223
18376
 
18377
+ /* Excluded from this release type: parseHeaderRangesAddress */
18378
+
18224
18379
  /**
18225
18380
  * Options for parsing a NumberFormat.
18226
18381
  */
@@ -18509,6 +18664,11 @@ declare type RangeToString<R extends IRange.Coords = IRange.Coords, C extends IR
18509
18664
  */
18510
18665
  declare const rangeUnionFromSelection: (selection: IRangeSelection.Coords) => IRange.Coords;
18511
18666
 
18667
+ /**
18668
+ * Returns a list of merged and non-overlapping run coordinates.
18669
+ */
18670
+ declare const removeOverlappingRuns: (runs: readonly Readonly<Partial<RunCoords>>[], merge?: boolean) => RunCoords[];
18671
+
18512
18672
  export declare class Resource implements IResource {
18513
18673
  private _name;
18514
18674
  private _refs;
@@ -18561,6 +18721,11 @@ export declare class ResourceCollection implements IResourceCollection {
18561
18721
  */
18562
18722
  declare const rotatePoints: (points: Point[], deg: number, center?: Point) => Point[];
18563
18723
 
18724
+ /**
18725
+ * Converts a set of RunCoords into a set of Ranges.
18726
+ */
18727
+ declare const runCoordsToRangeCoords: (runs: readonly Readonly<Partial<RunCoords>>[], entireRange: IRange.Coords, isColumn: boolean) => Partial<IRange.FixableCoords>[];
18728
+
18564
18729
  /**
18565
18730
  * Use for tracking the accumulated sizes from the beginning of the headers.
18566
18731
  * @remarks
@@ -19057,8 +19222,12 @@ declare class SheetHeader implements ISheetHeader {
19057
19222
  } | void;
19058
19223
  /** {@inheritDoc ISheetHeader.getRange} */
19059
19224
  getRange(address: ICellHeaderRange.Address, options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
19225
+ /** {@inheritDoc ISheetHeader.getRanges} */
19226
+ getRanges(address: ICellHeaderRanges.Address, options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRanges;
19060
19227
  /** {@inheritDoc ISheetHeader.getSelectedRange} */
19061
19228
  getSelectedRange(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
19229
+ /** {@inheritDoc ISheetHeader.getSelectedRanges} */
19230
+ getSelectedRanges(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRanges;
19062
19231
  /** {@inheritDoc ISheetHeader.getUsedRange} */
19063
19232
  getUsedRange(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
19064
19233
  /** {@inheritDoc ISheetHeader.getEntireRange} */
@@ -19068,9 +19237,9 @@ declare class SheetHeader implements ISheetHeader {
19068
19237
  /** {@inheritDoc ISheetHeader.updateHeaderPairs} */
19069
19238
  updateHeaderPairs(pairs: ICellHeaderRange.AddressUpdatePair[], options?: ICellHeaderRange.UpdateHeadersOptions): RunCoords[] | null;
19070
19239
  protected _parseHeaderRangeAddress(address: ICellHeaderRange.Address): RunCoords;
19071
- update(addresses: ICellHeaderRange.Address | ICellHeaderRange.Address[], update: ICellHeader.Update, options?: ICellHeaderRange.UpdateHeadersOptions): this;
19072
- setSize(address: ICellHeaderRange.Address | ICellHeaderRange.Address[], size?: number | string, options?: ICellHeaderRange.SetSizeOptions): this;
19073
- setHidden(address: ICellHeaderRange.Address | ICellHeaderRange.Address[], hidden?: boolean): this;
19240
+ protected _update(addresses: ICellHeaderRange.Address | ICellHeaderRange.Address[], update: ICellHeader.Update, options?: ICellHeaderRange.UpdateHeadersOptions): this;
19241
+ protected _setSize(address: ICellHeaderRange.Address | ICellHeaderRange.Address[], size?: number | string, options?: ICellHeaderRange.SetSizeOptions): this;
19242
+ protected _setHidden(address: ICellHeaderRange.Address | ICellHeaderRange.Address[], hidden?: boolean): this;
19074
19243
  protected _clear(coords: RunCoords, options?: ICellHeaderRange.UpdateHeadersOptions): void;
19075
19244
  protected _getSnapshot(coordsFrom?: RunCoords, optionsMark?: ICellHeaderRange.CopyOptions): ICellHeaderRange.ISnapshot;
19076
19245
  /** {@inheritDoc ISheetHeader.isProtected} */
@@ -20834,7 +21003,9 @@ declare namespace _Utils {
20834
21003
  findRunningHiddenRuns,
20835
21004
  findRunningSpanLength,
20836
21005
  rangeUnionFromSelection,
20837
- createRunsFromSelection
21006
+ createRunsFromSelection,
21007
+ runCoordsToRangeCoords,
21008
+ removeOverlappingRuns
20838
21009
  }
20839
21010
  }
20840
21011