@work-zhanguo/light-file-preview 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,551 +0,0 @@
1
- import { d as kt, g as ke, o as Nt, a as At, b as d, c as m, f as u, F as L, h as U, e as Ne, i as tt, t as b, n as M, r as H, j as pe } from "./vue2-BEoHyqmm.js";
2
- import { r as Dt } from "./text-Bqxn_tMI.js";
3
- const Et = { class: "lfp-document lfp-sheet" }, It = { class: "lfp-sheet__toolbar" }, Tt = {
4
- key: 0,
5
- class: "lfp-sheet__tabs",
6
- role: "tablist",
7
- "aria-label": "工作表切换"
8
- }, Ot = ["onClick"], Bt = { class: "lfp-sheet__tab-label" }, Ft = { class: "lfp-sheet__tab-meta" }, Vt = {
9
- key: 1,
10
- class: "lfp-sheet__summary"
11
- }, Lt = { class: "lfp-sheet__summary-item" }, Ut = { class: "lfp-sheet__summary-item" }, Mt = {
12
- key: 0,
13
- class: "lfp-sheet__formula-bar"
14
- }, Ht = { class: "lfp-sheet__name-box" }, Wt = { class: "lfp-sheet__name-box-text" }, jt = { class: "lfp-sheet__formula-input" }, zt = { class: "lfp-sheet__formula-text" }, Pt = {
15
- key: 1,
16
- class: "lfp-hint"
17
- }, Kt = {
18
- key: 2,
19
- class: "lfp-sheet__table-wrap"
20
- }, Gt = { class: "lfp-sheet__grid" }, qt = { class: "lfp-sheet__table" }, Zt = { class: "lfp-sheet__header-row" }, Jt = ["rowspan", "colspan", "title", "onMouseenter", "onFocus", "onClick"], Qt = { class: "lfp-sheet__cell-text" }, Yt = {
21
- class: "lfp-sheet__images",
22
- "aria-hidden": "true"
23
- }, Xt = ["src", "alt"], eo = {
24
- key: 3,
25
- class: "lfp-sheet__empty"
26
- }, to = 28, oo = 14, W = 46, he = 28, Me = 24, ot = 64, ro = /* @__PURE__ */ kt({
27
- __name: "SheetRenderer",
28
- props: {
29
- source: {},
30
- maxRows: {},
31
- maxCols: {}
32
- },
33
- emits: ["loading", "error"],
34
- setup(nt, { emit: st }) {
35
- const Ae = nt, De = st, He = new AbortController(), Ee = H(0), j = H([]), C = H(""), Ie = H(null), Te = H(null), Oe = H([]), c = ke(() => j.value[Ee.value]), We = ke(() => {
36
- var t;
37
- const e = c.value;
38
- return !e || !C.value ? null : (t = e.cellMap[C.value]) != null ? t : null;
39
- }), rt = ke(() => {
40
- var e, t;
41
- return (t = (e = We.value) == null ? void 0 : e.address) != null ? t : "A1";
42
- }), lt = ke(() => {
43
- const e = We.value;
44
- return e ? e.formula ? `=${e.formula}` : e.value : "";
45
- });
46
- function je() {
47
- for (const e of Oe.value)
48
- URL.revokeObjectURL(e);
49
- Oe.value = [];
50
- }
51
- function it(e) {
52
- let t = e + 1, o = "";
53
- for (; t > 0; ) {
54
- const n = (t - 1) % 26;
55
- o = String.fromCharCode(65 + n) + o, t = Math.floor((t - 1) / 26);
56
- }
57
- return o;
58
- }
59
- function z(e, t) {
60
- Ie.value = e, Te.value = t;
61
- }
62
- function at(e) {
63
- C.value = e;
64
- }
65
- function ze(e) {
66
- Ee.value = e;
67
- const t = j.value[e];
68
- C.value = t ? `${t.firstVisibleRow}:${t.firstVisibleCol}` : "", z(null, null);
69
- }
70
- function Pe(e, t) {
71
- return e != null && (e === Ie.value || e === Ke()) || t != null && (t === Te.value || t === Ge());
72
- }
73
- function Ke() {
74
- if (!C.value)
75
- return null;
76
- const [e] = C.value.split(":");
77
- return Number.isFinite(Number(e)) ? Number(e) : null;
78
- }
79
- function Ge() {
80
- if (!C.value)
81
- return null;
82
- const [, e] = C.value.split(":");
83
- return Number.isFinite(Number(e)) ? Number(e) : null;
84
- }
85
- function ct(e) {
86
- if (e) {
87
- if (["thin", "hair"].includes(e) || ["medium", "dashed", "dotted", "dashDot", "dashDotDot"].includes(e))
88
- return "1px solid";
89
- if (["thick", "double", "mediumDashed", "mediumDashDot", "mediumDashDotDot"].includes(e))
90
- return "2px solid";
91
- }
92
- }
93
- function ge(e) {
94
- if (!e || typeof e != "object")
95
- return;
96
- const t = "rgb" in e && typeof e.rgb == "string" ? e.rgb : "argb" in e && typeof e.argb == "string" ? e.argb : void 0;
97
- if (!t)
98
- return;
99
- const o = t.replace(/^#/, "");
100
- if (/^[0-9a-fA-F]{8}$/.test(o))
101
- return `#${o.slice(2)}`;
102
- if (/^[0-9a-fA-F]{6}$/.test(o))
103
- return `#${o}`;
104
- }
105
- function be(e, t, o) {
106
- var s;
107
- if (!o)
108
- return;
109
- const n = ct(o.style), r = (s = ge(o.color)) != null ? s : "rgba(31, 44, 61, 0.12)";
110
- n && (t === "left" ? e.borderLeft = `${n} ${r}` : t === "right" ? e.borderRight = `${n} ${r}` : t === "top" ? e.borderTop = `${n} ${r}` : t === "bottom" && (e.borderBottom = `${n} ${r}`));
111
- }
112
- function qe(e) {
113
- const t = typeof (e == null ? void 0 : e.hpx) == "number" ? e.hpx : typeof (e == null ? void 0 : e.hpt) == "number" ? e.hpt * 1.3334 : void 0;
114
- return Math.max(t != null ? t : Me, Me);
115
- }
116
- function ut(e) {
117
- return { height: `${qe(e)}px` };
118
- }
119
- function Ze(e) {
120
- return typeof (e == null ? void 0 : e.wpx) == "number" ? Math.max(e.wpx, 42) : typeof (e == null ? void 0 : e.width) == "number" ? Math.max(Math.round(e.width * 7.2 + 5), 42) : ot;
121
- }
122
- function Je(e) {
123
- return `${Ze(e)}px`;
124
- }
125
- function ft(e) {
126
- if (!e)
127
- return {};
128
- const t = {};
129
- return e.horizontal && (t.textAlign = e.horizontal), e.vertical && (t.verticalAlign = e.vertical === "center" ? "middle" : e.vertical), e.wrapText && (t.whiteSpace = "pre-wrap", t.wordBreak = "break-word"), t;
130
- }
131
- function dt(e, t, o) {
132
- var f;
133
- const n = {};
134
- if (o ? (n.minWidth = o, n.width = o) : t && (n.minWidth = t, n.width = t), !(e != null && e.s) || typeof e.s != "object")
135
- return n;
136
- const r = e.s.fill, s = e.s.font, l = e.s.border, a = (f = ge(r == null ? void 0 : r.fgColor)) != null ? f : ge(r == null ? void 0 : r.bgColor), h = ge(s == null ? void 0 : s.color);
137
- return a && (r == null ? void 0 : r.patternType) !== "none" && (n.backgroundColor = a), h && (n.color = h), s != null && s.bold && (n.fontWeight = "700"), s != null && s.italic && (n.fontStyle = "italic"), s != null && s.underline && (n.textDecoration = "underline"), typeof (s == null ? void 0 : s.sz) == "number" && (n.fontSize = `${s.sz}px`), typeof (s == null ? void 0 : s.name) == "string" && s.name.trim() && (n.fontFamily = s.name), Object.assign(n, ft(e.s.alignment)), be(n, "left", l == null ? void 0 : l.left), be(n, "right", l == null ? void 0 : l.right), be(n, "top", l == null ? void 0 : l.top), be(n, "bottom", l == null ? void 0 : l.bottom), n;
138
- }
139
- function mt(e, t) {
140
- var o, n;
141
- return t ? typeof t.w == "string" ? t.w : (o = e.utils) != null && o.format_cell ? String(e.utils.format_cell(t, (n = t.v) != null ? n : "")) : t.v != null ? String(t.v) : typeof t.f == "string" && t.f.trim() ? `=${t.f}` : "" : "";
142
- }
143
- function pt(e, t, o) {
144
- const n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Map();
145
- for (const s of e) {
146
- const l = t.filter((f) => f >= s.s.r && f <= s.e.r), a = o.filter((f) => f >= s.s.c && f <= s.e.c);
147
- if (!l.length || !a.length)
148
- continue;
149
- const h = `${s.s.r}:${s.s.c}`;
150
- r.set(h, {
151
- rowSpan: l.length,
152
- colSpan: a.length,
153
- colsInRange: a
154
- });
155
- for (const f of l)
156
- for (const _ of a)
157
- f === s.s.r && _ === s.s.c || n.add(`${f}:${_}`);
158
- }
159
- return { coveredCells: n, mergeStarts: r };
160
- }
161
- function Qe(e) {
162
- return e ? e instanceof Uint8Array ? e : e instanceof ArrayBuffer ? new Uint8Array(e) : typeof e == "string" ? new TextEncoder().encode(e) : null : null;
163
- }
164
- function ve(e) {
165
- if (!e)
166
- return "";
167
- if (typeof e == "string")
168
- return e;
169
- const t = Qe(e);
170
- return t ? new TextDecoder("utf-8").decode(t) : "";
171
- }
172
- function _e(e) {
173
- if (!e.trim())
174
- return null;
175
- const t = new DOMParser().parseFromString(e, "application/xml");
176
- return t.querySelector("parsererror") ? null : t;
177
- }
178
- function ye(e, t) {
179
- var o;
180
- return e && (o = Array.from(e.children).find((n) => n.localName === t)) != null ? o : null;
181
- }
182
- function Be(e, t) {
183
- var o;
184
- return e && (o = Array.from(e.getElementsByTagName("*")).find((n) => n.localName === t)) != null ? o : null;
185
- }
186
- function S(e, t) {
187
- var r, s;
188
- const o = (s = (r = ye(e, t)) == null ? void 0 : r.textContent) != null ? s : "", n = Number.parseInt(o, 10);
189
- return Number.isFinite(n) ? n : 0;
190
- }
191
- function Ye(e) {
192
- const t = e.lastIndexOf("/"), o = t >= 0 ? e.slice(0, t) : "", n = t >= 0 ? e.slice(t + 1) : e;
193
- return `${o}/_rels/${n}.rels`;
194
- }
195
- function Fe(e, t) {
196
- if (!t)
197
- return e;
198
- const o = e.split("/");
199
- o.pop();
200
- const n = t.split("/");
201
- for (const r of n)
202
- !r || r === "." || (r === ".." ? o.pop() : o.push(r));
203
- return o.join("/");
204
- }
205
- function Ve(e, t) {
206
- var s;
207
- const o = ve((s = e[t]) == null ? void 0 : s.content), n = _e(o);
208
- if (!n)
209
- return {};
210
- const r = {};
211
- for (const l of Array.from(n.getElementsByTagName("*"))) {
212
- if (l.localName !== "Relationship")
213
- continue;
214
- const a = l.getAttribute("Id"), h = l.getAttribute("Target");
215
- a && h && (r[a] = h);
216
- }
217
- return r;
218
- }
219
- function ht(e) {
220
- var r;
221
- const t = "xl/workbook.xml", o = _e(ve((r = e[t]) == null ? void 0 : r.content));
222
- if (!o)
223
- return [];
224
- const n = Ve(e, "xl/_rels/workbook.xml.rels");
225
- return Array.from(o.getElementsByTagName("*")).filter((s) => s.localName === "sheet").map((s) => {
226
- var a, h, f, _;
227
- const l = (h = (a = s.getAttribute("r:id")) != null ? a : s.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "id")) != null ? h : "";
228
- return {
229
- name: (f = s.getAttribute("name")) != null ? f : "",
230
- path: Fe(t, (_ = n[l]) != null ? _ : "")
231
- };
232
- }).filter((s) => s.name && s.path);
233
- }
234
- function gt(e) {
235
- var o;
236
- const t = (o = e.split(".").pop()) == null ? void 0 : o.toLowerCase();
237
- return t === "png" ? "image/png" : t === "jpg" || t === "jpeg" ? "image/jpeg" : t === "gif" ? "image/gif" : t === "webp" ? "image/webp" : t === "svg" ? "image/svg+xml" : "application/octet-stream";
238
- }
239
- function O(e) {
240
- return e / 9525;
241
- }
242
- function we(e, t, o, n) {
243
- var s;
244
- let r = n;
245
- for (let l = 0; l < e.length; l += 1) {
246
- if (e[l] === o)
247
- return r;
248
- r += (s = t[l]) != null ? s : 0;
249
- }
250
- return null;
251
- }
252
- function xe(e, t, o) {
253
- return Math.min(Math.max(e, t), o);
254
- }
255
- function bt(e, t, o, n, r, s) {
256
- var Re, J, Q, Y, X, ee, te, oe, ne, se, re, le, ie;
257
- const l = _e(ve((Re = e[t]) == null ? void 0 : Re.content));
258
- if (!l)
259
- return [];
260
- const a = Array.from(l.getElementsByTagName("*")).find((p) => p.localName === "drawing");
261
- if (!a)
262
- return [];
263
- const h = (Q = (J = a.getAttribute("r:id")) != null ? J : a.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "id")) != null ? Q : "";
264
- if (!h)
265
- return [];
266
- const f = Ve(e, Ye(t)), _ = Fe(t, (Y = f[h]) != null ? Y : ""), x = _e(ve((X = e[_]) == null ? void 0 : X.content));
267
- if (!x)
268
- return [];
269
- const $ = Ve(e, Ye(_)), P = /* @__PURE__ */ new Map(), K = /* @__PURE__ */ new Map();
270
- let G = W, q = he;
271
- n.forEach((p, R) => {
272
- var g;
273
- P.set(p, G), G += (g = s[R]) != null ? g : ot;
274
- }), o.forEach((p, R) => {
275
- var g;
276
- K.set(p, q), q += (g = r[R]) != null ? g : Me;
277
- });
278
- const Z = G, B = q, Ce = [], $e = Array.from(x.getElementsByTagName("*")).filter(
279
- (p) => ["oneCellAnchor", "twoCellAnchor"].includes(p.localName)
280
- );
281
- for (const p of $e) {
282
- const R = Be(p, "pic"), g = Be(R, "blip"), i = (te = (ee = g == null ? void 0 : g.getAttribute("r:embed")) != null ? ee : g == null ? void 0 : g.getAttributeNS("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "embed")) != null ? te : "";
283
- if (!i)
284
- continue;
285
- const ae = Fe(_, (oe = $[i]) != null ? oe : ""), A = Qe((ne = e[ae]) == null ? void 0 : ne.content);
286
- if (!A)
287
- continue;
288
- const D = ye(p, "from"), ce = S(D, "col"), ue = S(D, "row"), fe = we(n, s, ce, W), de = we(o, r, ue, he);
289
- if (fe == null || de == null)
290
- continue;
291
- const Se = O(S(D, "colOff")), E = O(S(D, "rowOff")), k = fe + Se, I = de + E;
292
- let y = 160, v = 120;
293
- if (p.localName === "twoCellAnchor") {
294
- const w = ye(p, "to"), wt = S(w, "col"), xt = S(w, "row"), Ct = O(S(w, "colOff")), $t = O(S(w, "rowOff")), Le = we(n, s, wt, W), Ue = we(o, r, xt, he), Rt = (Le != null ? Le : Z) + Ct, St = (Ue != null ? Ue : B) + $t;
295
- y = Math.max(Rt - k, 32), v = Math.max(St - I, 32);
296
- } else {
297
- const w = ye(p, "ext");
298
- y = Math.max(O(Number.parseInt((se = w == null ? void 0 : w.getAttribute("cx")) != null ? se : "0", 10)), 32), v = Math.max(O(Number.parseInt((re = w == null ? void 0 : w.getAttribute("cy")) != null ? re : "0", 10)), 32);
299
- }
300
- const F = xe(k, W, Z), T = xe(I, he, B), N = xe(k + y, W, Z), V = xe(I + v, he, B), me = N - F, Xe = V - T;
301
- if (me <= 6 || Xe <= 6)
302
- continue;
303
- const yt = A.buffer.slice(
304
- A.byteOffset,
305
- A.byteOffset + A.byteLength
306
- ), et = URL.createObjectURL(new Blob([yt], { type: gt(ae) }));
307
- Oe.value.push(et), Ce.push({
308
- key: `${t}-${ue}-${ce}-${ae}`,
309
- src: et,
310
- alt: (ie = (le = Be(R, "cNvPr")) == null ? void 0 : le.getAttribute("name")) != null ? ie : "embedded image",
311
- left: F,
312
- top: T,
313
- width: me,
314
- height: Xe,
315
- frameStyle: {
316
- transform: `translate(${F - k}px, ${T - I}px)`,
317
- width: `${y}px`,
318
- height: `${v}px`
319
- }
320
- });
321
- }
322
- return Ce;
323
- }
324
- function vt(e, t, o, n, r) {
325
- var J, Q, Y, X, ee, te, oe, ne, se, re, le, ie, p, R, g;
326
- const s = (J = o["!ref"]) != null ? J : "A1", l = e.utils.decode_range(s), a = Math.max(Math.min(Ae.maxRows, Math.max(l.e.r + 1, to)), 1), h = Math.max(Math.min(Ae.maxCols, Math.max(l.e.c + 1, oo)), 1), f = [], _ = [], x = [], $ = [], P = [], K = [];
327
- for (let i = 0; i <= l.e.r; i += 1)
328
- (Y = (Q = o["!rows"]) == null ? void 0 : Q[i]) != null && Y.hidden || f.push(i);
329
- for (let i = 0; i <= l.e.c; i += 1)
330
- (ee = (X = o["!cols"]) == null ? void 0 : X[i]) != null && ee.hidden || _.push(i);
331
- for (let i = 0; i < a; i += 1)
332
- (oe = (te = o["!rows"]) == null ? void 0 : te[i]) != null && oe.hidden || (x.push(i), P.push(qe((ne = o["!rows"]) == null ? void 0 : ne[i])));
333
- for (let i = 0; i < h; i += 1)
334
- (re = (se = o["!cols"]) == null ? void 0 : se[i]) != null && re.hidden || ($.push(i), K.push(Ze((le = o["!cols"]) == null ? void 0 : le[i])));
335
- const G = (ie = o["!merges"]) != null ? ie : [], { coveredCells: q, mergeStarts: Z } = pt(G, x, $), B = {}, Ce = x.map((i) => {
336
- var ce, ue, fe, de, Se;
337
- const ae = (ce = o["!rows"]) == null ? void 0 : ce[i], A = ut(ae), D = [];
338
- for (const E of $) {
339
- const k = `${i}:${E}`;
340
- if (q.has(k))
341
- continue;
342
- const I = e.utils.encode_cell({ r: i, c: E }), y = o[I], v = Z.get(k), F = ((ue = v == null ? void 0 : v.colsInRange) != null ? ue : [E]).map((N) => {
343
- var V;
344
- return Je((V = o["!cols"]) == null ? void 0 : V[N]);
345
- }).filter(Boolean).reduce((N, V) => {
346
- const me = Number.parseFloat(V);
347
- return Number.isFinite(me) ? (N != null ? N : 0) + me : N;
348
- }, null), T = {
349
- key: k,
350
- address: I,
351
- value: mt(e, y),
352
- formula: typeof (y == null ? void 0 : y.f) == "string" ? y.f : "",
353
- rowIndex: i,
354
- colIndex: E,
355
- rowSpan: (fe = v == null ? void 0 : v.rowSpan) != null ? fe : 1,
356
- colSpan: (de = v == null ? void 0 : v.colSpan) != null ? de : 1,
357
- style: dt(
358
- y,
359
- Je((Se = o["!cols"]) == null ? void 0 : Se[E]),
360
- F ? `${F}px` : void 0
361
- )
362
- };
363
- D.push(T), B[T.key] = T;
364
- }
365
- return {
366
- key: `${t}-${i}`,
367
- rowIndex: i,
368
- cells: D,
369
- style: A
370
- };
371
- }), $e = (p = r[t]) != null ? p : "", Re = $e ? bt(n, $e, x, $, P, K) : [];
372
- return {
373
- name: t,
374
- rows: Ce,
375
- totalRows: f.length,
376
- totalCols: _.length,
377
- visibleRows: x.length,
378
- visibleCols: $.length,
379
- visibleRowIndexes: x,
380
- visibleColIndexes: $,
381
- firstVisibleRow: (R = x[0]) != null ? R : 0,
382
- firstVisibleCol: (g = $[0]) != null ? g : 0,
383
- rowHeights: P,
384
- colWidths: K,
385
- images: Re,
386
- cellMap: B
387
- };
388
- }
389
- async function _t() {
390
- var e;
391
- De("loading", !0), je();
392
- try {
393
- const t = await Dt(Ae.source, He.signal), o = await import("./xlsx-j9Zzywas.js"), n = o.read(t, {
394
- type: "array",
395
- cellStyles: !0,
396
- cellNF: !0,
397
- cellText: !0,
398
- cellFormula: !0,
399
- bookFiles: !0
400
- }), r = (e = n.files) != null ? e : {}, s = ht(r), l = Object.fromEntries(s.map((a) => [a.name, a.path]));
401
- j.value = n.SheetNames.map(
402
- (a) => vt(
403
- o,
404
- a,
405
- n.Sheets[a],
406
- r,
407
- l
408
- )
409
- ), ze(0);
410
- } catch (t) {
411
- De("error", t instanceof Error ? t : new Error("表格预览失败"));
412
- } finally {
413
- De("loading", !1);
414
- }
415
- }
416
- return Nt(() => {
417
- _t();
418
- }), At(() => {
419
- He.abort(), je();
420
- }), (e, t) => (d(), m("div", Et, [
421
- u("div", It, [
422
- j.value.length > 1 ? (d(), m("div", Tt, [
423
- (d(!0), m(L, null, U(j.value, (o, n) => (d(), m("button", {
424
- key: o.name,
425
- class: pe(["lfp-sheet__tab", { "is-active": n === Ee.value }]),
426
- type: "button",
427
- onClick: (r) => ze(n)
428
- }, [
429
- u("span", Bt, b(o.name), 1),
430
- u("span", Ft, b(o.totalRows) + " × " + b(o.totalCols), 1)
431
- ], 10, Ot))), 128))
432
- ])) : Ne("", !0),
433
- c.value ? (d(), m("div", Vt, [
434
- u("span", Lt, [
435
- t[2] || (t[2] = tt(" 当前工作表 ", -1)),
436
- u("strong", null, b(c.value.name), 1)
437
- ]),
438
- u("span", Ut, [
439
- t[3] || (t[3] = tt(" 总览 ", -1)),
440
- u("strong", null, b(c.value.totalRows) + " 行 / " + b(c.value.totalCols) + " 列", 1)
441
- ])
442
- ])) : Ne("", !0)
443
- ]),
444
- c.value ? (d(), m("div", Mt, [
445
- u("span", Ht, [
446
- u("span", Wt, b(rt.value), 1),
447
- t[4] || (t[4] = u("span", {
448
- class: "lfp-sheet__name-box-caret",
449
- "aria-hidden": "true"
450
- }, null, -1))
451
- ]),
452
- u("div", jt, [
453
- t[5] || (t[5] = u("span", { class: "lfp-sheet__formula-label" }, "fx", -1)),
454
- u("span", zt, b(lt.value), 1)
455
- ])
456
- ])) : Ne("", !0),
457
- c.value ? (d(), m("p", Pt, " 共 " + b(c.value.totalRows) + " 行," + b(c.value.totalCols) + " 列。当前展示 " + b(c.value.visibleRows) + " 行、" + b(c.value.visibleCols) + " 列。 ", 1)) : Ne("", !0),
458
- c.value ? (d(), m("div", Kt, [
459
- u("div", Gt, [
460
- u("table", qt, [
461
- u("colgroup", null, [
462
- u("col", {
463
- style: M({ width: `${W}px` })
464
- }, null, 4),
465
- (d(!0), m(L, null, U(c.value.colWidths, (o, n) => (d(), m("col", {
466
- key: `col-width-${c.value.visibleColIndexes[n]}`,
467
- style: M({ width: `${o}px` })
468
- }, null, 4))), 128))
469
- ]),
470
- u("tbody", null, [
471
- u("tr", Zt, [
472
- t[6] || (t[6] = u("th", {
473
- class: "lfp-sheet__corner-header",
474
- scope: "col",
475
- "aria-label": "表格左上角"
476
- }, null, -1)),
477
- (d(!0), m(L, null, U(c.value.visibleColIndexes, (o) => (d(), m("th", {
478
- key: `col-header-${o}`,
479
- class: pe(["lfp-sheet__col-header", {
480
- "is-first-data-col": o === c.value.firstVisibleCol,
481
- "is-related": Pe(null, o)
482
- }]),
483
- scope: "col"
484
- }, b(it(o)), 3))), 128))
485
- ]),
486
- (d(!0), m(L, null, U(c.value.rows, (o) => (d(), m("tr", {
487
- key: o.key,
488
- class: pe(["lfp-sheet__row", { "is-first-row": o.rowIndex === c.value.firstVisibleRow }]),
489
- style: M(o.style)
490
- }, [
491
- u("th", {
492
- class: pe(["lfp-sheet__row-header", {
493
- "is-first-data-row": o.rowIndex === c.value.firstVisibleRow,
494
- "is-related": Pe(o.rowIndex, null)
495
- }]),
496
- scope: "row"
497
- }, b(o.rowIndex + 1), 3),
498
- (d(!0), m(L, null, U(o.cells, (n) => (d(), m("td", {
499
- key: n.key,
500
- class: pe({
501
- "is-first-row": n.rowIndex === c.value.firstVisibleRow,
502
- "is-first-col": n.colIndex === c.value.firstVisibleCol,
503
- "is-corner-cell": n.rowIndex === c.value.firstVisibleRow && n.colIndex === c.value.firstVisibleCol,
504
- "is-selected": C.value === n.key,
505
- "is-row-active": Ie.value === n.rowIndex || Ke() === n.rowIndex,
506
- "is-col-active": Te.value === n.colIndex || Ge() === n.colIndex,
507
- "is-formula-cell": !!n.formula
508
- }),
509
- rowspan: n.rowSpan,
510
- colspan: n.colSpan,
511
- style: M(n.style),
512
- title: n.formula ? `=${n.formula}` : n.value,
513
- tabindex: "0",
514
- onMouseenter: (r) => z(n.rowIndex, n.colIndex),
515
- onMouseleave: t[0] || (t[0] = (r) => z(null, null)),
516
- onFocus: (r) => z(n.rowIndex, n.colIndex),
517
- onBlur: t[1] || (t[1] = (r) => z(null, null)),
518
- onClick: (r) => at(n.key)
519
- }, [
520
- u("span", Qt, b(n.value), 1)
521
- ], 46, Jt))), 128))
522
- ], 6))), 128))
523
- ])
524
- ]),
525
- u("div", Yt, [
526
- (d(!0), m(L, null, U(c.value.images, (o) => (d(), m("div", {
527
- key: o.key,
528
- style: M({
529
- left: `${o.left}px`,
530
- top: `${o.top}px`,
531
- width: `${o.width}px`,
532
- height: `${o.height}px`
533
- }),
534
- class: "lfp-sheet__image-frame"
535
- }, [
536
- u("img", {
537
- class: "lfp-sheet__floating-image",
538
- src: o.src,
539
- alt: o.alt,
540
- style: M(o.frameStyle)
541
- }, null, 12, Xt)
542
- ], 4))), 128))
543
- ])
544
- ])
545
- ])) : (d(), m("p", eo, "当前工作表没有可展示的数据。"))
546
- ]));
547
- }
548
- });
549
- export {
550
- ro as default
551
- };