@fileverse-dev/dsheet 4.1.23-stabilise-package-5 → 4.1.23-stabilise-package-7

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 (24) hide show
  1. package/dist/editor/hooks/use-celldata-compaction.d.ts +21 -0
  2. package/dist/{executeStringFunction-BEXVKyb4.js → executeStringFunction-B27MIrxE.js} +9407 -9141
  3. package/dist/formula.js +1 -1
  4. package/dist/{index-B2qRWUrt.js → index-BvLQlh3C.js} +7026 -7051
  5. package/dist/index.es.js +20 -20
  6. package/dist/sheet-engine/core/api/cell.d.ts +8 -3
  7. package/dist/sheet-engine/core/modules/formula-dep-text.d.ts +9 -1
  8. package/dist/sheet-engine/core/modules/formula-edge-update.d.ts +13 -0
  9. package/dist/sheet-engine/core/modules/formula-tab-load.test.d.ts +1 -0
  10. package/dist/sheet-engine/core/modules/formula-transitive-deps.d.ts +24 -3
  11. package/dist/sheet-engine/core/modules/formula-warmup.d.ts +2 -1
  12. package/dist/sheet-engine/core/modules/formula.d.ts +24 -0
  13. package/dist/sheet-engine/core/modules/history-celldata.d.ts +25 -0
  14. package/dist/sheet-engine/core/modules/rowcol-refused-edit.test.d.ts +1 -0
  15. package/dist/sheet-engine/core/modules/rowcol-unloaded-history.test.d.ts +1 -0
  16. package/dist/sheet-engine/core/modules/structural-edit-prep.d.ts +18 -0
  17. package/dist/sheet-engine/core/modules/structural-edit-prep.test.d.ts +1 -0
  18. package/dist/sheet-engine/react/components/NotationBoxes/shown-comments.d.ts +5 -1
  19. package/dist/sheet-engine/react/components/SheetOverlay/hover-tracker.d.ts +5 -1
  20. package/dist/{use-xlsx-import-impl-C8P5kg6K.js → use-xlsx-import-impl-DeSRTbbq.js} +4 -4
  21. package/dist/{xlsx-defined-names-BPf5_A0O.js → xlsx-defined-names-TZ-vTErq.js} +2 -2
  22. package/dist/{xlsx-export-impl-GUjuzWHG.js → xlsx-export-impl-CNlXZdep.js} +4 -4
  23. package/dist/{xlsx-hyperlink-inline-yhXVMMJ9.js → xlsx-hyperlink-inline-CYEnkzt-.js} +2 -2
  24. package/package.json +1 -1
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import { C as s, f as o, g as t, S as r, h as l, j as n, k as d, T as S, l as c, n as i, o as h, p as m, q as p, t as C, u, v as E, w as F, x, z as g, A as R, B as f, D as A, E as I, F as L, G as w, H as T, I as v, J as y, K as D, L as M, M as O, N as b, O as k, P, Q as V } from "./index-B2qRWUrt.js";
2
- import { cG as B, cH as G, cI as H, cO as K, by as U, e as X, f as _, l as J, a as j, du as q, dv as N, bh as Q, dw as Y, dx as Z, dB as W, dC as $, dE as ee, J as ae, dS as se, eq as oe, ba as te } from "./executeStringFunction-BEXVKyb4.js";
1
+ import { C as s, f as o, g as t, S as r, h as l, j as n, k as d, T as S, l as c, n as i, o as h, p as m, q as p, t as C, u, v as F, w as E, x, z as g, A as R, B as f, D as A, E as I, F as L, G as w, H as y, I as T, J as v, K as D, L as M, M as b, N as k, O as K, P as O, Q as P } from "./index-BvLQlh3C.js";
2
+ import { cI as z, cJ as J, cK as U, cQ as X, by as _, e as B, f as G, l as H, a as j, dv as q, dw as N, bh as Q, dx as Y, dy as Z, dC as W, dD as $, dF as ee, J as ae, dS as se, eq as oe, ba as te } from "./executeStringFunction-B27MIrxE.js";
3
3
  import { FLVURL as le } from "@fileverse-dev/formulajs";
4
4
  import { E as de, S as Se } from "./constants-8Ij49Lxv.js";
5
5
  export {
@@ -15,22 +15,22 @@ export {
15
15
  d as SupportedChain,
16
16
  S as TEMPLATES,
17
17
  c as api,
18
- B as clearColumnsCellsFormat,
18
+ z as clearColumnsCellsFormat,
19
19
  i as clearFilter,
20
- G as clearRowsCellsFormat,
21
- H as clearSelectedCellFormat,
20
+ J as clearRowsCellsFormat,
21
+ U as clearSelectedCellFormat,
22
22
  h as createFilter,
23
23
  m as decryptForRoomKey,
24
- K as deleteRowCol,
25
- U as deleteSelectedCellText,
24
+ X as deleteRowCol,
25
+ _ as deleteSelectedCellText,
26
26
  p as describeMatchedShortcut,
27
27
  C as encryptForRoomKey,
28
- X as executeStringFunction,
28
+ B as executeStringFunction,
29
29
  u as fetchSessionState,
30
- _ as formulaResponseUiSync,
31
- J as getFlowdata,
32
- E as getRemoveDuplicatesErrorMessage,
33
- F as getRemoveDuplicatesPreview,
30
+ G as formulaResponseUiSync,
31
+ H as getFlowdata,
32
+ F as getRemoveDuplicatesErrorMessage,
33
+ E as getRemoveDuplicatesPreview,
34
34
  j as getSheetIndex,
35
35
  x as handleCSVUpload,
36
36
  g as handleCopy,
@@ -48,18 +48,18 @@ export {
48
48
  $ as handleVerticalAlign,
49
49
  w as importSpreadsheetFile,
50
50
  ee as insertRowCol,
51
- T as isBrowserZoomShortcut,
52
- v as isFormulaListShortcut,
53
- y as isOpenShortcutsModalShortcut,
51
+ y as isBrowserZoomShortcut,
52
+ T as isFormulaListShortcut,
53
+ v as isOpenShortcutsModalShortcut,
54
54
  ae as jfrefreshgrid,
55
55
  se as loadLocale,
56
56
  D as remapCommentAnchors,
57
57
  M as removeActiveImage,
58
- O as removeDuplicates,
59
- b as seedSession,
60
- k as showImgChooser,
58
+ b as removeDuplicates,
59
+ k as seedSession,
60
+ K as showImgChooser,
61
61
  oe as toolbarItemClickHandler,
62
62
  te as updateFormat,
63
- P as useEnsStatus,
64
- V as useXLSXImport
63
+ O as useEnsStatus,
64
+ P as useXLSXImport
65
65
  };
@@ -8,10 +8,15 @@ export declare function getCellValue(ctx: Context, row: number, column: number,
8
8
  export declare function setCellValue(ctx: Context, row: number, column: number, value: any, cellInput: HTMLDivElement | null, options?: CommonOptions, callAfterUpdate?: boolean): void;
9
9
  export declare function applyRemoteCellValue(ctx: Context, row: number, column: number, value: any, options?: CommonOptions): void;
10
10
  /**
11
- * Replace a sheet's formula list with the collaborator's value from Yjs and
12
- * reset the formula dependency indexes to a fresh mount's state (A4). This
13
- * is what the grid rebuild it replaces produced, without the rebuild. The
11
+ * Replace a sheet's formula list with the collaborator's value from Yjs (A4).
12
+ * This is what the grid rebuild it replaces produced, without the rebuild. The
14
13
  * caller runs it with noHistory.
14
+ *
15
+ * The dependency edges follow the change (C8): an entry that left the chain
16
+ * loses its edges, one that joined gets the edges its cell's text names (or
17
+ * runs on every commit until its cell arrives), and the rest are left alone, so
18
+ * `depGraphComplete` stays on. When the two chains can't be compared the
19
+ * indexes reset to a fresh mount's state.
15
20
  */
16
21
  export declare function setSheetCalcChain(ctx: Context, calcChain: Sheet['calcChain'], options?: CommonOptions): void;
17
22
  export type RemoteCellChange = {
@@ -1,12 +1,20 @@
1
1
  import { Context } from '../context';
2
+ import { WideRange } from './formula-transitive-deps';
2
3
 
3
4
  /** Same cap as `execfunction` (MAX_RANGE_DEPS in formula.ts). */
4
5
  export declare const MAX_TEXT_RANGE_DEPS = 10000;
5
6
  export type FormulaTextDeps = {
6
7
  /** `${sheetId}:${r}:${c}` of every cell the formula reads. */
7
8
  deps: Set<string>;
8
- /** Too wide or unresolvable to list: the formula runs on every commit. */
9
+ /** Too wide or unresolvable to list. */
9
10
  wide: boolean;
11
+ /**
12
+ * The ranges that made it wide, as `execfunction` records them. `null` when
13
+ * the formula is wide but its ranges can't be read from its text (an
14
+ * unresolved tab, INDIRECT, OFFSET, a whole row or column of a tab with no
15
+ * grid): it joins every commit's walk. `[]` when it is not wide.
16
+ */
17
+ wideRanges: WideRange[] | null;
10
18
  };
11
19
  /**
12
20
  * Collect the references of formula text `f` (with its leading `=`) written
@@ -0,0 +1,13 @@
1
+ import { Context } from '../context';
2
+
3
+ /**
4
+ * Set the edges of the formula `f` written in (`r`, `c`) of tab `sheetId`, or
5
+ * drop them when `f` is null (the value is no longer a formula).
6
+ */
7
+ export declare function setFormulaEdgesFromText(ctx: Context, r: number, c: number, sheetId: string, f: string | null): void;
8
+ /**
9
+ * A chain entry whose cell isn't here yet (a peer's chain can arrive before
10
+ * its cells): it can't be read, so it runs on every commit until the cell
11
+ * arrives and replaces this.
12
+ */
13
+ export declare function markFormulaEdgesUnknown(ctx: Context, r: number, c: number, sheetId: string): void;
@@ -1,11 +1,32 @@
1
1
  /** Cell / formula key format used in depsByCell and revDepsByCell. */
2
2
  export declare function toFormulaDepCellKey(sheetId: string, r: number, c: number): string;
3
+ /** A range a wide formula reads (more cells than get individual edges). */
4
+ export type WideRange = {
5
+ sheetId: string;
6
+ startRow: number;
7
+ endRow: number;
8
+ startCol: number;
9
+ endCol: number;
10
+ };
11
+ /**
12
+ * Wide formulas (ranges over MAX_RANGE_DEPS cells record no cell edges).
13
+ * `ranges` holds the ranges of those whose ranges could be read; a key in
14
+ * `keys` without an entry in `ranges` can't be bounded, so it joins every walk.
15
+ */
16
+ export type WideFormulaIndex = {
17
+ keys: Iterable<string>;
18
+ ranges: Map<string, WideRange[]>;
19
+ };
3
20
  /**
4
21
  * Walk revDepsByCell from a changed cell to collect every formula cell that
5
22
  * must recalculate (direct + transitive dependents).
6
23
  *
7
24
  * `extraFormulaSeeds` are formulas that run on every commit whatever the
8
- * graph says (very large ranges, named ranges covering the edited cell). They
9
- * join the same walk, so formulas that read their results are reached too.
25
+ * graph says (named ranges covering the edited cell). They join the same
26
+ * walk, so formulas that read their results are reached too.
27
+ *
28
+ * A wide formula joins the walk only when one of its ranges holds the edited
29
+ * cell or a formula cell the walk reaches; one whose ranges can't be read
30
+ * joins every walk. It then seeds the walk like any other formula.
10
31
  */
11
- export declare function collectTransitiveFormulaDependents(originCellKey: string, revDepsByCell: Map<string, Set<string>>, extraFormulaSeeds?: Iterable<string>): Set<string>;
32
+ export declare function collectTransitiveFormulaDependents(originCellKey: string, revDepsByCell: Map<string, Set<string>>, extraFormulaSeeds?: Iterable<string>, wide?: WideFormulaIndex): Set<string>;
@@ -14,7 +14,8 @@ export type FormulaWarmupOptions = {
14
14
  /**
15
15
  * Walk the calc chain in slices and read every formula's references, then
16
16
  * mark the graph complete (C8). Resolves 'aborted' if the graph is cleared
17
- * while it runs, a tab holding formulas is sparse, or `isCancelled` says so.
17
+ * while it runs or `isCancelled` says so. A tab with no grid is read from its
18
+ * `celldata`.
18
19
  *
19
20
  * Pass a getter to read the latest context in each slice (the Workbook does);
20
21
  * a plain context is used as is.
@@ -2,6 +2,7 @@ import { Cell, CellMatrix, Rect, Selection } from '../types';
2
2
  import { Context } from '../context';
3
3
  import { FormulaAsyncEvalJob } from './formula-async-eval';
4
4
  import { RangePassCacheEntry } from './formula-range-cache';
5
+ import { WideRange } from './formula-transitive-deps';
5
6
  import { SnapshotEvalOutput } from './formula-snapshot-eval';
6
7
 
7
8
  /** True when the formula is only numeric ops on TODAY()/NOW() (incl. unary +/−); used to display serials as dates. */
@@ -51,6 +52,14 @@ export declare class FormulaCache {
51
52
  * affect them even when no precise reverse edge exists.
52
53
  */
53
54
  formulasWithWideRangeDeps: Set<string>;
55
+ /**
56
+ * The ranges of the wide formulas whose ranges could be read, by formula
57
+ * key. A wide formula joins a commit's walk only when one of these holds the
58
+ * edited cell or a formula cell the walk reaches. A key in
59
+ * `formulasWithWideRangeDeps` with no entry here (an unresolved tab, an
60
+ * unreadable range) joins every walk.
61
+ */
62
+ wideRangesByFormula: Map<string, WideRange[]>;
54
63
  /**
55
64
  * True once a full pass has evaluated every formula in the chain since the
56
65
  * indexes were last reset, so `revDepsByCell` lists every dependent of every
@@ -77,6 +86,10 @@ export declare class FormulaCache {
77
86
  originKey: string;
78
87
  deps: Set<string>;
79
88
  hasWideRangeDep: boolean;
89
+ /** Ranges over the cap, in the order they were read. */
90
+ wideRanges: WideRange[];
91
+ /** A wide dependency whose range can't be bounded (unresolved tab). */
92
+ wideUnreadable: boolean;
80
93
  };
81
94
  /** Step 2: per execFunctionGroup pass cache for materialized range reads. */
82
95
  rangeValuePassCache?: Map<string, RangePassCacheEntry>;
@@ -110,6 +123,8 @@ export declare class FormulaCache {
110
123
  export declare function iscelldata(txt: string): boolean;
111
124
  export declare function getcellrange(ctx: Context, txt: string, formulaId?: string): any;
112
125
  export declare function getAllFunctionGroup(ctx: Context): any[];
126
+ /** Remove the dependency edges recorded for a cell that is no longer a formula. */
127
+ export declare function dropDependencyEdges(ctx: Context, r: number, c: number, id: string): void;
113
128
  /**
114
129
  * delFunctionGroup for many cells of one sheet: the chain and the dynamic
115
130
  * array list are filtered once, not scanned and copied per cell. Same result
@@ -131,6 +146,14 @@ export declare function resetFormulaDependencyIndexes(ctx: Context): void;
131
146
  * has recorded its dependencies, unless the graph was invalidated meanwhile.
132
147
  */
133
148
  export declare function finishFullFormulaPass(ctx: Context, epoch: number | null | undefined): void;
149
+ /**
150
+ * A tab that is loaded after the graph was completed keeps the flag on (K60,
151
+ * PR 466): loading builds the grid from `celldata` and does not change the
152
+ * tab's structure, and the text index already treated a whole-row or column
153
+ * reference to a tab with no grid as wide. Without a recorded size the first
154
+ * commit on the tab would take the full pass and clear the flag.
155
+ */
156
+ export declare function recordLoadedSheetSize(ctx: Context, sheetId: string | undefined, data: CellMatrix | null | undefined): void;
134
157
  /**
135
158
  * INDIRECT and OFFSET would resolve references at run time, which the graph
136
159
  * cannot see. Today both evaluate to an error (formulajs implements neither),
@@ -139,6 +162,7 @@ export declare function finishFullFormulaPass(ctx: Context, epoch: number | null
139
162
  export declare const RUNTIME_REFERENCE_RE: RegExp;
140
163
  export declare function execfunction(ctx: Context, txt: string, r: number, c: number, id?: string, calcChainSet?: Set<string>, isrefresh?: boolean, notInsertFunc?: boolean): any[];
141
164
  export declare function groupValuesRefresh(ctx: Context): void;
165
+ export declare function mergeFormulaDeps(ctx: Context, originKey: string, deps: Iterable<string>): void;
142
166
  /** Apply worker chunk output onto the live context (main thread only). */
143
167
  export declare function applyWorkerFormulaChunkResults(ctx: Context, output: SnapshotEvalOutput, impactedByCircular: Set<string>, cycleNodes: Set<string>, calcChainKeys?: string[], data?: CellMatrix | null): void;
144
168
  /** Run up to `chunkSize` formulas from an async job. Returns true when job is complete. */
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A structural edit rewrites the cross-tab formulas of a tab that is not
3
+ * loaded in its `celldata`, as one replacement of the whole array (PR 466 N1).
4
+ * Undo and redo replay that replacement, so the engine is right; the Yjs write
5
+ * for it compares the two arrays here.
6
+ *
7
+ * Only formulas that name another tab (they contain `!`) are compared. Those
8
+ * are the cells a structural edit on another tab can rewrite; a cell a
9
+ * collaborator changed in between is not written back.
10
+ */
11
+ type CelldataEntry = {
12
+ r: number;
13
+ c: number;
14
+ v?: any;
15
+ };
16
+ export type CelldataArrayChange = {
17
+ sheetId: string;
18
+ path: ['celldata'];
19
+ key: string;
20
+ value: CelldataEntry | null;
21
+ type: 'update' | 'delete';
22
+ };
23
+ /** The Yjs changes that turn `before` into `after` for the cross-tab formulas. */
24
+ export declare function celldataArrayChanges(sheetId: string, before: CelldataEntry[] | undefined, after: CelldataEntry[] | undefined): CelldataArrayChange[];
25
+ export {};
@@ -0,0 +1,18 @@
1
+ import { Context } from '../context';
2
+
3
+ /**
4
+ * Indexes of the tabs that are not loaded (no dense `data`) and hold a formula
5
+ * naming the edited tab. A structural edit rewrites those formulas (K6).
6
+ */
7
+ export declare function unloadedTabsReadingSheet(ctx: Context, editedSheetId: string): number[];
8
+ /**
9
+ * Load the tabs a structural edit will rewrite, before the edit and outside
10
+ * the change that history records (PR 466 N1, second review). The rewrite is
11
+ * then recorded as cell patches on `data`, which undo and redo replay for just
12
+ * the cells it touched: a peer's edits to the same tab are left alone, and the
13
+ * tab can be loaded or unloaded again at undo time (`handleUndo` loads it for
14
+ * `data` patches).
15
+ *
16
+ * Returns the same state object when nothing needs loading.
17
+ */
18
+ export declare function loadTabsReadingSheet(ctx: Context, editedSheetId: string | undefined): Context;
@@ -3,6 +3,8 @@ import { Cell } from '../../../core/types';
3
3
  export type ShownCommentCell = {
4
4
  r: number;
5
5
  c: number;
6
+ /** Position, size and text of the pinned box (see `shownCommentsKey`). */
7
+ sig: string;
6
8
  };
7
9
  /** Cells whose comment popup is pinned open (`ps.isShow`), in row-major order. */
8
10
  export declare function collectShownCommentCells(data: (Cell | null)[][]): ShownCommentCell[];
@@ -11,6 +13,8 @@ export declare function collectShownCommentCells(data: (Cell | null)[][]): Shown
11
13
  * when this changes, so an edit that leaves the set alone costs no second
12
14
  * context update. The sheet id is part of the key so that switching to a sheet
13
15
  * with an equal (for example empty) set still replaces the previous sheet's
14
- * boxes.
16
+ * boxes. Moving or resizing a pinned box, or a peer editing its text, writes
17
+ * `ps` but not `commentBoxes`, so each shown cell's `ps` position, size and
18
+ * text are part of the key too.
15
19
  */
16
20
  export declare function shownCommentsKey(sheetId: string | undefined, cells: ShownCommentCell[]): string;
@@ -34,7 +34,11 @@ export declare function createHoverTracker({ getRect, locate, isInteracting, req
34
34
  /**
35
35
  * True when `handleOverlayMouseMove` or `overShowLinkCard` do something that
36
36
  * depends on more than the hovered cell: a comment box, image, cell or dialog
37
- * drag, or a popup that must see the pointer leave it.
37
+ * drag, a popup that must see the pointer leave it, or one of the drag states
38
+ * after which `handleOverlayMouseMove` runs `mouseRender` on every move
39
+ * (`luckysheet_scroll_status` is set by every drag start). Outside the grid
40
+ * every position maps to "no cell", so auto-scroll and the resize guide need
41
+ * each move.
38
42
  */
39
43
  export declare function isHoverInteractionActive(ctx: Context, globalCache: GlobalCache): boolean;
40
44
  export {};
@@ -1,10 +1,10 @@
1
1
  import * as BZ from "yjs";
2
- import { i as Yl, a as hl, b as ul, s as eZ, r as Il, y as pl, d as Rl, m as sl } from "./index-B2qRWUrt.js";
3
- import { g as al } from "./executeStringFunction-BEXVKyb4.js";
2
+ import { i as Yl, a as hl, b as ul, s as eZ, r as Il, y as pl, d as Rl, m as sl } from "./index-BvLQlh3C.js";
3
+ import { g as al } from "./executeStringFunction-B27MIrxE.js";
4
4
  import { Workbook as Kl } from "exceljs";
5
5
  import Jl from "luckyexcel";
6
- import { e as xl, b as Ml, n as Sl } from "./xlsx-hyperlink-inline-yhXVMMJ9.js";
7
- import { parseDefinedNamesFromXlsxBuffer as Nl, excelEntriesToDefinedNames as OZ } from "./xlsx-defined-names-BPf5_A0O.js";
6
+ import { e as xl, b as Ml, n as Sl } from "./xlsx-hyperlink-inline-CYEnkzt-.js";
7
+ import { parseDefinedNamesFromXlsxBuffer as Nl, excelEntriesToDefinedNames as OZ } from "./xlsx-defined-names-TZ-vTErq.js";
8
8
  import { toast as fZ } from "@fileverse/ui";
9
9
  var Zl = { exports: {} };
10
10
  (function(m) {
@@ -1,5 +1,5 @@
1
- import { i as w } from "./executeStringFunction-BEXVKyb4.js";
2
- import { J as x } from "./xlsx-hyperlink-inline-yhXVMMJ9.js";
1
+ import { i as w } from "./executeStringFunction-B27MIrxE.js";
2
+ import { J as x } from "./xlsx-hyperlink-inline-CYEnkzt-.js";
3
3
  function g(o) {
4
4
  return o.startsWith("_xlnm.");
5
5
  }
@@ -1,9 +1,9 @@
1
1
  import { utils as S, write as nt } from "xlsx-js-style";
2
2
  import { Workbook as pt } from "exceljs";
3
3
  import { toast as rt } from "@fileverse/ui";
4
- import { J as dt, c as X, g as ht, a as mt } from "./xlsx-hyperlink-inline-yhXVMMJ9.js";
5
- import { b as gt } from "./executeStringFunction-BEXVKyb4.js";
6
- import { e as bt } from "./index-B2qRWUrt.js";
4
+ import { J as dt, c as X, g as ht, a as mt } from "./xlsx-hyperlink-inline-CYEnkzt-.js";
5
+ import { b as gt } from "./executeStringFunction-B27MIrxE.js";
6
+ import { e as bt } from "./index-BvLQlh3C.js";
7
7
  const xt = {
8
8
  1: "thin",
9
9
  2: "hair",
@@ -854,7 +854,7 @@ const Z = (t) => {
854
854
  O
855
855
  );
856
856
  });
857
- const { applyDefinedNamesToExcelWorkbook: ct } = await import("./xlsx-defined-names-BPf5_A0O.js");
857
+ const { applyDefinedNamesToExcelWorkbook: ct } = await import("./xlsx-defined-names-TZ-vTErq.js");
858
858
  ct(
859
859
  B,
860
860
  (k = (C = (s = t.current).getWorkbookContext) == null ? void 0 : C.call(s)) == null ? void 0 : k.definedNames,
@@ -1,5 +1,5 @@
1
- import { g as Rt, c as yt } from "./executeStringFunction-BEXVKyb4.js";
2
- import { c as wt } from "./index-B2qRWUrt.js";
1
+ import { g as Rt, c as yt } from "./executeStringFunction-B27MIrxE.js";
2
+ import { c as wt } from "./index-BvLQlh3C.js";
3
3
  function jt(J, nt) {
4
4
  const g = J.getImages();
5
5
  if (!g.length) return [];
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fileverse-dev/dsheet",
3
3
  "private": false,
4
4
  "description": "DSheet",
5
- "version": "4.1.23-stabilise-package-5",
5
+ "version": "4.1.23-stabilise-package-7",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/fileverse/fileverse-dsheets.git"