logisheets-formula-editor 1.13.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/inline.js CHANGED
@@ -1,71 +1,72 @@
1
- import { getCellRefColor as he, createFormulaEditor as pe, measureText as me } from "./core.js";
2
- import { createEngineFormulaSource as ye } from "./engine.js";
3
- import { b as we } from "./functions-BQSDgn1G.js";
4
- import { getReferenceHighlightRects as be, isCellInGridWindow as Ee, getCellRect as Z, getReferenceString as ee, qualifyReference as te, buildSelectedDataFromCell as D, isErrorMessage as Se } from "logisheets-engine";
5
- const ve = '13px Consolas, Monaco, "Courier New", monospace';
6
- function Pe(H) {
1
+ import { getCellRefColor as pe, createFormulaEditor as me, measureText as ye } from "./core.js";
2
+ import { createEngineFormulaSource as we } from "./engine.js";
3
+ import { b as be } from "./functions-BQSDgn1G.js";
4
+ import { getReferenceHighlightRects as Ee, isCellInGridWindow as Se, getCellRect as ee, getReferenceString as te, qualifyReference as ie, buildSelectedDataFromCell as H, isErrorMessage as ve } from "logisheets-engine";
5
+ const Re = '13px Consolas, Monaco, "Courier New", monospace';
6
+ function Ne(U) {
7
7
  const {
8
8
  container: T,
9
9
  eventSource: m,
10
10
  dataService: W,
11
- viewId: ie,
11
+ viewId: oe,
12
12
  getViewSheetIdx: y,
13
- getSheetName: U,
14
- inputCell: oe,
13
+ getSheetName: X,
14
+ inputCell: ne,
15
15
  setSelection: F,
16
16
  setViewSheet: z,
17
17
  coordinator: n,
18
18
  origin: w = { x: 32, y: 24 },
19
- canEdit: ne = () => !0,
20
- formulaFunctions: re = we,
21
- getHighlightColor: le = he,
22
- editorConfig: se,
19
+ canEdit: re = () => !0,
20
+ onEditRefused: A,
21
+ formulaFunctions: le = be,
22
+ getHighlightColor: se = pe,
23
+ editorConfig: ce,
23
24
  onInvalidFormula: b,
24
25
  onEditingChange: E,
25
26
  onContentChanged: s,
26
- onArrowKey: ce
27
- } = H;
28
- let u = H.grid ?? null, g = !1, t = null, c = null, A = [], f = null, I = !1, h = "", C = "", P = null, p = !1, r = null;
29
- const k = [], M = ye(W, {
30
- formulaFunctions: re,
27
+ onArrowKey: fe
28
+ } = U;
29
+ let a = U.grid ?? null, g = !1, t = null, c = null, k = [], f = null, I = !1, h = "", C = "", P = null, p = !1, r = null;
30
+ const M = [], B = we(W, {
31
+ formulaFunctions: le,
31
32
  onCellRefs: (e) => {
32
- A = e, q();
33
+ k = e, G();
33
34
  }
34
35
  });
35
36
  function v() {
36
37
  return g && h.trim().startsWith("=");
37
38
  }
38
- function X() {
39
+ function Y() {
39
40
  const e = T.querySelector("canvas");
40
41
  e == null || e.focus({ preventScroll: !0 });
41
42
  }
42
- function Y() {
43
- for (const e of k) e.remove();
44
- k.length = 0;
45
- }
46
43
  function q() {
47
- if (Y(), !u) return;
48
- const e = be(A, u, U(), {
44
+ for (const e of M) e.remove();
45
+ M.length = 0;
46
+ }
47
+ function G() {
48
+ if (q(), !a) return;
49
+ const e = Ee(k, a, X(), {
49
50
  originX: w.x,
50
51
  originY: w.y
51
52
  });
52
53
  for (const i of e) {
53
54
  const o = document.createElement("div");
54
- o.style.cssText = `position:absolute;pointer-events:none;opacity:0.3;z-index:0;left:${i.x}px;top:${i.y}px;width:${i.width}px;height:${i.height}px;background-color:${le(i.colorIndex)};`, T.appendChild(o), k.push(o);
55
+ o.style.cssText = `position:absolute;pointer-events:none;opacity:0.3;z-index:0;left:${i.x}px;top:${i.y}px;width:${i.width}px;height:${i.height}px;background-color:${se(i.colorIndex)};`, T.appendChild(o), M.push(o);
55
56
  }
56
57
  }
57
- function G() {
58
+ function K() {
58
59
  !r || !t || (r.style.left = `${t.position.x}px`, r.style.top = `${t.position.y}px`, r.style.height = `${t.position.height}px`);
59
60
  }
60
- function K(e) {
61
+ function V(e) {
61
62
  if (!r || !t) return;
62
- const i = me(e, ve) + 20;
63
+ const i = ye(e, Re) + 20;
63
64
  r.style.width = `${Math.max(t.position.width, i)}px`;
64
65
  }
65
- function fe(e) {
66
- h = e, K(e), I || (f = null, P = null, C = ""), I = !1, V();
67
- }
68
66
  function ue(e) {
67
+ h = e, V(e), I || (f = null, P = null, C = ""), I = !1, O();
68
+ }
69
+ function ae(e) {
69
70
  if (!c) return;
70
71
  const i = c.getCursorPosition();
71
72
  I = !0, f ? c.replaceRange(
@@ -74,71 +75,74 @@ function Pe(H) {
74
75
  e
75
76
  ) : c.insertText(e), f = { text: e, startPos: (f == null ? void 0 : f.startPos) ?? i };
76
77
  }
77
- function B(e, i) {
78
+ function D(e, i) {
78
79
  if (!t) return;
79
- const o = ee(i);
80
+ const o = te(i);
80
81
  if (!o) return;
81
- const l = e === t.sheetIdx ? o : te(
82
+ const l = e === t.sheetIdx ? o : ie(
82
83
  o,
83
84
  W.getSheetNameByIdx(e)
84
85
  );
85
- l !== C && (C = l, ue(l));
86
+ l !== C && (C = l, ae(l));
86
87
  }
87
- function ae(e, i) {
88
- return !t || !v() ? !1 : (de(e, i.ctrl), !0);
88
+ function de(e, i) {
89
+ return !t || !v() ? !1 : (ge(e, i.ctrl), !0);
89
90
  }
90
- async function de(e, i) {
91
+ async function ge(e, i) {
91
92
  if (!t) return;
92
- const o = y(), l = P ?? { row: t.row, col: t.col }, a = { sheetIdx: o, rowIdx: l.row, colIdx: l.col, direction: e }, x = W.getWorkbook(), d = i ? await x.getDataBoundary(a) : await x.getNextVisibleCell(a);
93
- if (!d || Se(d)) return;
94
- const { x: S, y: L } = d;
95
- P = { row: L, col: S };
96
- const Q = D(L, S, "none");
97
- B(o, Q), F(Q), s == null || s();
93
+ const o = y(), l = P ?? { row: t.row, col: t.col }, u = { sheetIdx: o, rowIdx: l.row, colIdx: l.col, direction: e }, x = W.getWorkbook(), d = i ? await x.getDataBoundary(u) : await x.getNextVisibleCell(u);
94
+ if (!d || ve(d)) return;
95
+ const { x: S, y: Q } = d;
96
+ P = { row: Q, col: S };
97
+ const Z = H(Q, S, "none");
98
+ D(o, Z), F(Z), s == null || s();
98
99
  }
99
100
  const R = {
100
- viewId: ie,
101
+ viewId: oe,
101
102
  getEditSheetIdx: () => (t == null ? void 0 : t.sheetIdx) ?? -1,
102
103
  getCellRef: () => {
103
104
  if (!t) return "";
104
- const e = ee(
105
- D(t.row, t.col, "none")
105
+ const e = te(
106
+ H(t.row, t.col, "none")
106
107
  );
107
- return te(e, t.sheetName);
108
+ return ie(e, t.sheetName);
108
109
  },
109
110
  getText: () => h,
110
- insertExternalRef: (e, i) => B(e, i),
111
+ insertExternalRef: (e, i) => D(e, i),
111
112
  focus: () => c == null ? void 0 : c.focus(),
112
113
  commit: () => $(h, !0),
113
- cancel: () => O()
114
+ cancel: () => _()
114
115
  };
115
- function V() {
116
+ function O() {
116
117
  var i;
117
118
  const e = v();
118
119
  e && !p ? (p = !0, n == null || n.setActive(R)) : !e && p && (p = !1, n == null || n.clear(R)), p && ((i = n == null ? void 0 : n.notifyChange) == null || i.call(n, R));
119
120
  }
120
- function ge() {
121
+ function xe() {
121
122
  c == null || c.destroy(), c = null, r == null || r.remove(), r = null;
122
123
  }
123
124
  function N() {
124
- p && (p = !1, n == null || n.clear(R)), g = !1, t = null, A = [], f = null, I = !1, h = "", C = "", P = null, ge(), Y(), E == null || E(!1);
125
+ p && (p = !1, n == null || n.clear(R)), g = !1, t = null, k = [], f = null, I = !1, h = "", C = "", P = null, xe(), q(), E == null || E(!1);
125
126
  }
126
- function xe(e, i, o, l = "end") {
127
- if (!u) return;
128
- const a = y();
129
- if (!ne(a, e, i, u)) return;
127
+ function he(e, i, o, l = "end") {
128
+ if (!a) return;
129
+ const u = y();
130
+ if (!re(u, e, i, a)) {
131
+ A == null || A(u, e, i);
132
+ return;
133
+ }
130
134
  g && N();
131
- const x = Z(u, e, i, {
135
+ const x = ee(a, e, i, {
132
136
  originX: w.x,
133
137
  originY: w.y,
134
138
  defaultWidth: 100,
135
139
  defaultHeight: 25
136
140
  });
137
- h = o, t = { sheetName: U(), sheetIdx: a, row: e, col: i, position: x }, g = !0, E == null || E(!0), r = document.createElement("div"), r.className = "logisheets-inline-cell-editor", r.style.cssText = "position:absolute;display:flex;align-items:center;box-sizing:border-box;z-index:1000;background:#fff;overflow:hidden;border:1px solid #4a90d9;box-shadow:0 1px 4px rgba(0,0,0,0.18);", T.appendChild(r);
141
+ h = o, t = { sheetName: X(), sheetIdx: u, row: e, col: i, position: x }, g = !0, E == null || E(!0), r = document.createElement("div"), r.className = "logisheets-inline-cell-editor", r.style.cssText = "position:absolute;display:flex;align-items:center;box-sizing:border-box;z-index:1000;background:#fff;overflow:hidden;border:1px solid #4a90d9;box-shadow:0 1px 4px rgba(0,0,0,0.18);", T.appendChild(r);
138
142
  const d = document.createElement("div");
139
- d.style.width = "100%", d.style.boxSizing = "border-box", r.appendChild(d), G(), K(o), c = pe(d, {
140
- getDisplayUnits: M.getDisplayUnits,
141
- formulaFunctions: M.formulaFunctions,
143
+ d.style.width = "100%", d.style.boxSizing = "border-box", r.appendChild(d), K(), V(o), c = me(d, {
144
+ getDisplayUnits: B.getDisplayUnits,
145
+ formulaFunctions: B.formulaFunctions,
142
146
  sheetName: t.sheetName,
143
147
  defaultValue: o,
144
148
  initialCursorPosition: l,
@@ -148,10 +152,10 @@ function Pe(H) {
148
152
  autoFocus: !0,
149
153
  placeholder: "",
150
154
  showBorder: !1,
151
- ...se
155
+ ...ce
152
156
  },
153
157
  style: { width: "100%", boxSizing: "border-box" },
154
- onChange: fe,
158
+ onChange: ue,
155
159
  // While picking references for a formula (point mode), losing focus
156
160
  // — clicking a sheet tab, another view, the reminder — must NOT
157
161
  // commit (Excel behavior); only Enter / the reminder button do.
@@ -160,29 +164,29 @@ function Pe(H) {
160
164
  v() || $(S, !1);
161
165
  },
162
166
  onSubmit: (S) => $(S, !0),
163
- onCancel: O,
167
+ onCancel: _,
164
168
  // Point mode: default to moving the grid selection (host may override).
165
- onArrowKey: ce ?? ae
166
- }), V();
169
+ onArrowKey: fe ?? de
170
+ }), O();
167
171
  }
168
172
  async function $(e, i = !0) {
169
173
  if (!t) return;
170
- const { row: o, col: l, sheetIdx: a } = t, x = e.trim();
171
- if (x.startsWith("=") && !await M.checkFormula(x)) {
174
+ const { row: o, col: l, sheetIdx: u } = t, x = e.trim();
175
+ if (x.startsWith("=") && !await B.checkFormula(x)) {
172
176
  b == null || b();
173
177
  return;
174
178
  }
175
- await oe(a, o, l, x), i && (y() !== a && (z == null || z(a)), F(D(o, l, "none"))), N(), s == null || s(), X();
179
+ await ne(u, o, l, x), i && (y() !== u && (z == null || z(u)), F(H(o, l, "none"))), N(), s == null || s(), Y();
176
180
  }
177
- function O() {
178
- N(), X();
181
+ function _() {
182
+ N(), Y();
179
183
  }
180
- const _ = async (e) => {
181
- await Promise.resolve(), xe(e.row, e.col, e.initialText);
182
- }, j = (e) => {
184
+ const j = async (e) => {
185
+ await Promise.resolve(), he(e.row, e.col, e.initialText);
186
+ }, J = (e) => {
183
187
  var i;
184
188
  if (v()) {
185
- B(y(), e);
189
+ D(y(), e);
186
190
  return;
187
191
  }
188
192
  if (!g) {
@@ -197,30 +201,30 @@ function Pe(H) {
197
201
  (o !== t.row || l !== t.col) && $(h, !1);
198
202
  }
199
203
  F(e), s == null || s();
200
- }, J = () => b == null ? void 0 : b();
201
- return m.on("startEdit", _), m.on("selectionChange", j), m.on("invalidFormula", J), {
204
+ }, L = () => b == null ? void 0 : b();
205
+ return m.on("startEdit", j), m.on("selectionChange", J), m.on("invalidFormula", L), {
202
206
  setGrid(e) {
203
- if (u = e, g && t && u) {
204
- if (y() !== t.sheetIdx || !Ee(u, t.row, t.col))
207
+ if (a = e, g && t && a) {
208
+ if (y() !== t.sheetIdx || !Se(a, t.row, t.col))
205
209
  t.position.x = -9999, t.position.y = -9999;
206
210
  else {
207
- const { x: i, y: o } = Z(u, t.row, t.col, {
211
+ const { x: i, y: o } = ee(a, t.row, t.col, {
208
212
  originX: w.x,
209
213
  originY: w.y
210
214
  });
211
215
  t.position.x = i, t.position.y = o;
212
216
  }
213
- G();
217
+ K();
214
218
  }
215
- q();
219
+ G();
216
220
  },
217
221
  isEditing: () => g,
218
222
  isEditingFormula: v,
219
223
  destroy() {
220
- m.off("startEdit", _), m.off("selectionChange", j), m.off("invalidFormula", J), N();
224
+ m.off("startEdit", j), m.off("selectionChange", J), m.off("invalidFormula", L), N();
221
225
  }
222
226
  };
223
227
  }
224
228
  export {
225
- Pe as createInlineCellEditor
229
+ Ne as createInlineCellEditor
226
230
  };
@@ -70,6 +70,13 @@ export interface InlineCellEditorOptions {
70
70
  };
71
71
  /** Permission gate before opening. Default: always editable. */
72
72
  canEdit?: (sheetIdx: number, row: number, col: number, grid: Grid) => boolean;
73
+ /**
74
+ * Called instead of opening the editor when {@link canEdit} refuses.
75
+ * Without it a keystroke on a read-only cell does nothing at all, which
76
+ * reads as a broken grid rather than a locked one — hosts use this to say
77
+ * why. Default: no-op.
78
+ */
79
+ onEditRefused?: (sheetIdx: number, row: number, col: number) => void;
73
80
  /** Autocomplete / signature functions. Default: bundled built-ins. */
74
81
  formulaFunctions?: FormulaFunction[];
75
82
  /** Maps a reference index to a CSS color. Default: built-in palette. */
@@ -1 +1 @@
1
- {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/lib/inline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAA4B,KAAK,qBAAqB,EAAC,MAAM,UAAU,CAAA;AAG9E,OAAO,EAAkB,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAC,MAAM,SAAS,CAAA;AAUvF,OAAO,KAAK,EACR,IAAI,EACJ,YAAY,EACZ,OAAO,EAEV,MAAM,mBAAmB,CAAA;AAE1B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,eAAe,IAAI,MAAM,CAAA;IACzB,8DAA8D;IAC9D,UAAU,IAAI,MAAM,CAAA;IACpB,mCAAmC;IACnC,OAAO,IAAI,MAAM,CAAA;IACjB,mEAAmE;IACnE,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;IACnE;4BACwB;IACxB,KAAK,IAAI,IAAI,CAAA;IACb,yEAAyE;IACzE,MAAM,IAAI,IAAI,CAAA;IACd,MAAM,IAAI,IAAI,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACxC,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACpC,SAAS,IAAI,gBAAgB,GAAG,IAAI,CAAA;IACpC,gBAAgB,IAAI,OAAO,CAAA;IAC3B,2EAA2E;IAC3E,YAAY,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAC/C;AAED,MAAM,WAAW,uBAAuB;IACpC;sEACkE;IAClE,SAAS,EAAE,WAAW,CAAA;IACtB;2EACuE;IACvE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,CAAC,CAAA;IACxC,gEAAgE;IAChE,WAAW,EAAE,qBAAqB,CAAA;IAClC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,eAAe,EAAE,MAAM,MAAM,CAAA;IAC7B,yEAAyE;IACzE,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B;wEACoE;IACpE,SAAS,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,KACX,OAAO,CAAA;IACZ,yDAAyD;IACzD,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C;+DAC2D;IAC3D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,2EAA2E;IAC3E,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,+EAA+E;IAC/E,MAAM,CAAC,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;IAC/B,gEAAgE;IAChE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IAC7E,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;IACpC,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7C,6DAA6D;IAC7D,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,kFAAkF;IAClF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CACT,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC3C,SAAS,EAAE;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,KACzC,OAAO,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACnC;8EAC0E;IAC1E,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAChC,SAAS,IAAI,OAAO,CAAA;IACpB,gBAAgB,IAAI,OAAO,CAAA;IAC3B,OAAO,IAAI,IAAI,CAAA;CAClB;AAcD,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,uBAAuB,GACjC,sBAAsB,CA6axB"}
1
+ {"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/lib/inline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "logisheets-formula-editor",
3
- "version": "1.13.0",
3
+ "version": "1.14.1",
4
4
  "description": "Excel-style formula editor for spreadsheets — syntax highlighting, per-reference cell-ref coloring, and function autocomplete, built on CodeMirror 6. Ships a React component and a framework-agnostic core.",
5
5
  "author": "Jeremy He",
6
6
  "license": "MIT",