@sheetxl/grid-react 0.7.28-beta.2 → 0.7.28-beta.4
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/browser/cjs/index.cjs +2 -2
- package/browser/esm/index.mjs +766 -727
- package/node/esm/index.mjs +368 -329
- package/package.json +3 -3
- package/types/src/range/DragHandle.d.ts +8 -0
- package/types/src/range/Draggable.d.ts +12 -0
- package/types/src/range/FillHandle.d.ts +7 -0
- package/types/src/range/useDoubleClick.d.ts +19 -0
- package/types/src/selection/SelectionLayer.d.ts +17 -1
package/node/esm/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/grid-react - Grid React - Advanced grid component for React - v0.7.28-beta.
|
|
2
|
+
* @license @sheetxl/grid-react - Grid React - Advanced grid component for React - v0.7.28-beta.4
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -2256,9 +2256,27 @@ var Zt = (e) => {
|
|
|
2256
2256
|
dragMode: n
|
|
2257
2257
|
};
|
|
2258
2258
|
}, Qt = (e) => {
|
|
2259
|
-
const
|
|
2259
|
+
const t = f(null), n = f(!1);
|
|
2260
|
+
return c(() => {
|
|
2261
|
+
const e = (e) => {
|
|
2262
|
+
n.current && (n.current = !1, e.stopPropagation(), e.preventDefault());
|
|
2263
|
+
};
|
|
2264
|
+
return window.addEventListener("dblclick", e, !0), () => window.removeEventListener("dblclick", e, !0);
|
|
2265
|
+
}, []), (o) => {
|
|
2266
|
+
if (!e || 0 !== o.button) return !1;
|
|
2267
|
+
const r = t.current, l = !!r && o.timeStamp - r.time <= 500 && Math.abs(o.clientX - r.x) <= 4 && Math.abs(o.clientY - r.y) <= 4;
|
|
2268
|
+
return t.current = l ? null : {
|
|
2269
|
+
time: o.timeStamp,
|
|
2270
|
+
x: o.clientX,
|
|
2271
|
+
y: o.clientY
|
|
2272
|
+
}, !!l && (o.stopPropagation(), n.current = !0, window.setTimeout(() => {
|
|
2273
|
+
n.current = !1;
|
|
2274
|
+
}, 500), !0);
|
|
2275
|
+
};
|
|
2276
|
+
}, en = (e) => {
|
|
2277
|
+
const { range: t, anchor: n, size: o = 8, cursor: r, dragCursor: l, background: i = "var(--sxl-color-primary, rgb(33, 115, 70))", onDragStart: s, onDragMove: a, onDragEnd: c, onDragCancel: d, onDoubleClick: u, onHoverChange: g, hoverStyle: h, animatedTransition: f, renderHandle: m, children: v, className: y, style: b, preserveFocus: E, clampToView: I } = e, C = qe(), [R, M] = p(!1), P = Qt(!!u), { start: k, dragMode: D } = Jt((e, t) => {
|
|
2260
2278
|
if (0 !== t.button) return null;
|
|
2261
|
-
t.stopPropagation(),
|
|
2279
|
+
t.stopPropagation(), E && t.preventDefault();
|
|
2262
2280
|
const n = e;
|
|
2263
2281
|
let o = e;
|
|
2264
2282
|
return s?.(n, t), {
|
|
@@ -2273,64 +2291,67 @@ var Zt = (e) => {
|
|
|
2273
2291
|
d?.();
|
|
2274
2292
|
}
|
|
2275
2293
|
};
|
|
2276
|
-
}),
|
|
2277
|
-
if (!
|
|
2278
|
-
const
|
|
2279
|
-
let
|
|
2280
|
-
if (
|
|
2281
|
-
if (!
|
|
2282
|
-
const e =
|
|
2283
|
-
!0 !==
|
|
2294
|
+
}), T = null !== D && l ? l : r ?? rn[n], z = C.getBoundsFromRange(t);
|
|
2295
|
+
if (!z) return null;
|
|
2296
|
+
const O = S.getDevicePixelRatio();
|
|
2297
|
+
let $ = on(z.x, z.x + z.width, tn[n], O), L = on(z.y, z.y + z.height, nn[n], O);
|
|
2298
|
+
if (I) {
|
|
2299
|
+
if (!C.toClipBounds(C.getBoundsFromRange(t))) return null;
|
|
2300
|
+
const e = C.getPaneBounds(), n = o / 2 + 1;
|
|
2301
|
+
!0 !== I && "x" !== I || ($ = Math.max(n, Math.min(e.width - n, $))), !0 !== I && "y" !== I || (L = Math.max(n, Math.min(e.height - n, L)));
|
|
2284
2302
|
}
|
|
2285
|
-
const
|
|
2303
|
+
const B = {
|
|
2286
2304
|
position: "absolute",
|
|
2287
|
-
cursor:
|
|
2305
|
+
cursor: T,
|
|
2288
2306
|
pointerEvents: "all",
|
|
2289
2307
|
left: 0,
|
|
2290
2308
|
top: 0,
|
|
2291
|
-
transform: `translate(${
|
|
2292
|
-
...
|
|
2309
|
+
transform: `translate(${$}px, ${L}px) translate(-50%, -50%)`,
|
|
2310
|
+
...f ? {
|
|
2293
2311
|
transition: "transform 60ms ease-in-out",
|
|
2294
2312
|
willChange: "transform"
|
|
2295
2313
|
} : void 0
|
|
2296
|
-
},
|
|
2297
|
-
onPointerDown: (e) =>
|
|
2314
|
+
}, A = {
|
|
2315
|
+
onPointerDown: (e) => {
|
|
2316
|
+
P(e) ? u(e) : k(e);
|
|
2317
|
+
},
|
|
2318
|
+
onDoubleClick: u ? (e) => e.stopPropagation() : void 0,
|
|
2298
2319
|
onPointerEnter: () => {
|
|
2299
|
-
|
|
2320
|
+
M(!0), g?.(!0);
|
|
2300
2321
|
},
|
|
2301
2322
|
onPointerLeave: () => {
|
|
2302
|
-
|
|
2323
|
+
M(!1), g?.(!1);
|
|
2303
2324
|
}
|
|
2304
2325
|
};
|
|
2305
|
-
return
|
|
2326
|
+
return m ? x(w, { children: m({
|
|
2306
2327
|
anchor: n,
|
|
2307
2328
|
size: o,
|
|
2308
|
-
cursor:
|
|
2329
|
+
cursor: T,
|
|
2309
2330
|
background: i,
|
|
2310
|
-
hovered:
|
|
2331
|
+
hovered: R,
|
|
2311
2332
|
handleProps: {
|
|
2312
|
-
...
|
|
2313
|
-
style:
|
|
2333
|
+
...A,
|
|
2334
|
+
style: B
|
|
2314
2335
|
}
|
|
2315
2336
|
}) }) : x("div", {
|
|
2316
|
-
className:
|
|
2317
|
-
...
|
|
2337
|
+
className: y,
|
|
2338
|
+
...A,
|
|
2318
2339
|
style: {
|
|
2319
|
-
|
|
2340
|
+
...B,
|
|
2320
2341
|
width: o,
|
|
2321
2342
|
height: o,
|
|
2322
|
-
background: null ==
|
|
2323
|
-
border: null ==
|
|
2343
|
+
background: null == v ? i : void 0,
|
|
2344
|
+
border: null == v ? "1px solid var(--sxl-color-base-100, white)" : void 0,
|
|
2324
2345
|
borderRadius: 1,
|
|
2325
2346
|
boxSizing: "border-box",
|
|
2326
|
-
...
|
|
2327
|
-
...
|
|
2347
|
+
...b,
|
|
2348
|
+
...R ? h : void 0
|
|
2328
2349
|
},
|
|
2329
|
-
children:
|
|
2350
|
+
children: v
|
|
2330
2351
|
});
|
|
2331
2352
|
};
|
|
2332
|
-
|
|
2333
|
-
var
|
|
2353
|
+
en.displayName = "DragHandle";
|
|
2354
|
+
var tn = {
|
|
2334
2355
|
tl: "leading",
|
|
2335
2356
|
l: "leading",
|
|
2336
2357
|
bl: "leading",
|
|
@@ -2339,7 +2360,7 @@ var en = {
|
|
|
2339
2360
|
tr: "trailing",
|
|
2340
2361
|
r: "trailing",
|
|
2341
2362
|
br: "trailing"
|
|
2342
|
-
},
|
|
2363
|
+
}, nn = {
|
|
2343
2364
|
tl: "leading",
|
|
2344
2365
|
t: "leading",
|
|
2345
2366
|
tr: "leading",
|
|
@@ -2348,7 +2369,7 @@ var en = {
|
|
|
2348
2369
|
bl: "trailing",
|
|
2349
2370
|
b: "trailing",
|
|
2350
2371
|
br: "trailing"
|
|
2351
|
-
},
|
|
2372
|
+
}, on = (e, t, n, o) => "center" === n ? S.snapDeviceEdge((e + t) / 2, o) : S.edgeCenter("leading" === n ? e : t, n, 2, o), rn = {
|
|
2352
2373
|
tl: "nwse-resize",
|
|
2353
2374
|
br: "nwse-resize",
|
|
2354
2375
|
tr: "nesw-resize",
|
|
@@ -2357,8 +2378,8 @@ var en = {
|
|
|
2357
2378
|
b: "ns-resize",
|
|
2358
2379
|
l: "ew-resize",
|
|
2359
2380
|
r: "ew-resize"
|
|
2360
|
-
},
|
|
2361
|
-
const { range: t, children: n, grip: o = "entire", hitSize: r = 10, onHoverChange: l, onDragStateChange: i, onDragStart: s, onDragMove: a, onDragEnd: c, renderMove: d, preserveFocus: u } = e,
|
|
2381
|
+
}, ln = (e) => {
|
|
2382
|
+
const { range: t, children: n, grip: o = "entire", hitSize: r = 10, onHoverChange: l, onDragStateChange: i, onDragStart: s, onDragMove: a, onDragEnd: c, renderMove: d, preserveFocus: u, onEdgeDoubleClick: g } = e, h = qe(), p = t ? `range-move:${t.rowStart}:${t.colStart}:${t.rowEnd}:${t.colEnd}` : "range-move", m = f(null), [y, b] = Je(p, null), { start: E, dragMode: I } = Jt((e, n) => {
|
|
2362
2383
|
if (0 !== n.button) return null;
|
|
2363
2384
|
if (!t) return null;
|
|
2364
2385
|
n.stopPropagation(), u && n.preventDefault();
|
|
@@ -2368,58 +2389,70 @@ var en = {
|
|
|
2368
2389
|
return {
|
|
2369
2390
|
dragMode: "move",
|
|
2370
2391
|
drag: (e, t) => {
|
|
2371
|
-
l = ((e) =>
|
|
2392
|
+
l = ((e) => sn(r, e.rowIndex - o.rowIndex, e.colIndex - o.colIndex, h.getTotalRange()))(e), d && b(l), a?.(l, t ?? n);
|
|
2372
2393
|
},
|
|
2373
2394
|
end: (e) => {
|
|
2374
|
-
i?.(!1), d &&
|
|
2395
|
+
i?.(!1), d && b(null), U.isEqualRanges(l, r) || c?.(l, e);
|
|
2375
2396
|
},
|
|
2376
2397
|
cancel: () => {
|
|
2377
|
-
i?.(!1), d &&
|
|
2398
|
+
i?.(!1), d && b(null);
|
|
2378
2399
|
}
|
|
2379
2400
|
};
|
|
2380
|
-
}),
|
|
2401
|
+
}), C = Qt(!!g), R = null !== I ? "grabbing" : "move";
|
|
2381
2402
|
if (!t) return null;
|
|
2382
|
-
const
|
|
2403
|
+
const M = { onPointerDown: (e) => {
|
|
2404
|
+
if (C(e)) {
|
|
2405
|
+
const n = ((e) => {
|
|
2406
|
+
const n = h?.getPanePointFromPointer(e.clientX, e.clientY), o = h?.getBoundsFromRange(t);
|
|
2407
|
+
if (!n || !o) return null;
|
|
2408
|
+
const r = Math.abs(n.y - o.y), l = Math.abs(n.y - (o.y + o.height)), i = Math.abs(n.x - o.x), s = Math.abs(n.x - (o.x + o.width)), a = Math.min(r, l, i, s);
|
|
2409
|
+
return a === r ? "top" : a === l ? "bottom" : a === i ? "left" : "right";
|
|
2410
|
+
})(e);
|
|
2411
|
+
n && g(t, n, e);
|
|
2412
|
+
return;
|
|
2413
|
+
}
|
|
2414
|
+
E(e, m.current);
|
|
2415
|
+
} }, P = l ? {
|
|
2383
2416
|
onPointerEnter: () => l(!0),
|
|
2384
2417
|
onPointerLeave: () => l(!1)
|
|
2385
|
-
} : void 0,
|
|
2386
|
-
x:
|
|
2387
|
-
y:
|
|
2388
|
-
width:
|
|
2389
|
-
height:
|
|
2418
|
+
} : void 0, k = r / S.getDevicePixelRatio(), D = h?.getBoundsFromRange(t), T = D ? {
|
|
2419
|
+
x: D.x - k,
|
|
2420
|
+
y: D.y - k,
|
|
2421
|
+
width: D.width + 2 * k,
|
|
2422
|
+
height: D.height + 2 * k
|
|
2390
2423
|
} : void 0;
|
|
2391
2424
|
return v(w, { children: [
|
|
2392
2425
|
x(lt, "entire" === o ? {
|
|
2393
|
-
ref:
|
|
2394
|
-
...
|
|
2395
|
-
style: { cursor:
|
|
2396
|
-
...
|
|
2397
|
-
...
|
|
2426
|
+
ref: m,
|
|
2427
|
+
...T ? { bounds: T } : { range: t },
|
|
2428
|
+
style: { cursor: R },
|
|
2429
|
+
...M,
|
|
2430
|
+
...P
|
|
2398
2431
|
} : {
|
|
2399
|
-
ref:
|
|
2432
|
+
ref: m,
|
|
2400
2433
|
range: t,
|
|
2401
|
-
clipInsets: -
|
|
2434
|
+
clipInsets: -k / 2,
|
|
2402
2435
|
style: {
|
|
2403
2436
|
pointerEvents: "none",
|
|
2404
|
-
cursor:
|
|
2437
|
+
cursor: R
|
|
2405
2438
|
},
|
|
2406
|
-
...
|
|
2439
|
+
...M,
|
|
2407
2440
|
children: x(se, {
|
|
2408
2441
|
stroke: "transparent",
|
|
2409
2442
|
alignWidth: r,
|
|
2410
2443
|
propsStrokePath: {
|
|
2411
2444
|
cursor: "move",
|
|
2412
2445
|
pointerEvents: "stroke",
|
|
2413
|
-
...
|
|
2446
|
+
...P
|
|
2414
2447
|
}
|
|
2415
2448
|
})
|
|
2416
2449
|
}),
|
|
2417
2450
|
n,
|
|
2418
|
-
|
|
2451
|
+
y && d?.(y)
|
|
2419
2452
|
] });
|
|
2420
2453
|
};
|
|
2421
|
-
|
|
2422
|
-
var
|
|
2454
|
+
ln.displayName = "Draggable";
|
|
2455
|
+
var sn = (e, t, n, o) => {
|
|
2423
2456
|
const r = e.rowEnd - e.rowStart, l = e.colEnd - e.colStart, i = ge(e.rowStart + t, o.rowStart, o.rowEnd - r), s = ge(e.colStart + n, o.colStart, o.colEnd - l);
|
|
2424
2457
|
return {
|
|
2425
2458
|
rowStart: i,
|
|
@@ -2427,12 +2460,12 @@ var ln = (e, t, n, o) => {
|
|
|
2427
2460
|
rowEnd: i + r,
|
|
2428
2461
|
colEnd: s + l
|
|
2429
2462
|
};
|
|
2430
|
-
},
|
|
2463
|
+
}, an = [
|
|
2431
2464
|
"tl",
|
|
2432
2465
|
"tr",
|
|
2433
2466
|
"br",
|
|
2434
2467
|
"bl"
|
|
2435
|
-
],
|
|
2468
|
+
], cn = [
|
|
2436
2469
|
"tl",
|
|
2437
2470
|
"t",
|
|
2438
2471
|
"tr",
|
|
@@ -2441,8 +2474,8 @@ var ln = (e, t, n, o) => {
|
|
|
2441
2474
|
"b",
|
|
2442
2475
|
"bl",
|
|
2443
2476
|
"l"
|
|
2444
|
-
],
|
|
2445
|
-
const { range: t, anchors: n =
|
|
2477
|
+
], dn = (e) => {
|
|
2478
|
+
const { range: t, anchors: n = cn, onDragStart: o, onDragMove: r, onDragEnd: l, onDragCancel: i, onHandleHoverChange: s, size: a = 8, renderHandle: c, preserveFocus: d, ...u } = e, g = {
|
|
2446
2479
|
..._t,
|
|
2447
2480
|
...u
|
|
2448
2481
|
}, h = g.stroke ?? "rgb(33, 115, 70)", m = qe(), [y, b] = p(null), S = f(null);
|
|
@@ -2451,7 +2484,7 @@ var ln = (e, t, n, o) => {
|
|
|
2451
2484
|
return v(w, { children: [x(Wt, {
|
|
2452
2485
|
range: E,
|
|
2453
2486
|
...g
|
|
2454
|
-
}), n.map((e) => x(
|
|
2487
|
+
}), n.map((e) => x(en, {
|
|
2455
2488
|
range: E,
|
|
2456
2489
|
anchor: e,
|
|
2457
2490
|
size: a,
|
|
@@ -2470,11 +2503,11 @@ var ln = (e, t, n, o) => {
|
|
|
2470
2503
|
S.current = t, o?.(t, n);
|
|
2471
2504
|
},
|
|
2472
2505
|
onDragMove: (n, o, l) => {
|
|
2473
|
-
const i =
|
|
2506
|
+
const i = un(S.current ?? t, e, o, m.getTotalRange());
|
|
2474
2507
|
b(i), r?.(i, l);
|
|
2475
2508
|
},
|
|
2476
2509
|
onDragEnd: (n, o, r) => {
|
|
2477
|
-
const i =
|
|
2510
|
+
const i = un(S.current ?? t, e, o, m.getTotalRange());
|
|
2478
2511
|
S.current = null, b(null), l?.(i, r);
|
|
2479
2512
|
},
|
|
2480
2513
|
onDragCancel: () => {
|
|
@@ -2482,8 +2515,8 @@ var ln = (e, t, n, o) => {
|
|
|
2482
2515
|
}
|
|
2483
2516
|
}, e))] });
|
|
2484
2517
|
};
|
|
2485
|
-
|
|
2486
|
-
var
|
|
2518
|
+
dn.displayName = "RangeResizer";
|
|
2519
|
+
var un = (e, t, n, o) => {
|
|
2487
2520
|
let { rowStart: r, colStart: l, rowEnd: i, colEnd: s } = e;
|
|
2488
2521
|
return t.includes("t") && (r = ge(n.rowIndex, o.rowStart, o.rowEnd)), t.includes("b") && (i = ge(n.rowIndex, o.rowStart, o.rowEnd)), t.includes("l") && (l = ge(n.colIndex, o.colStart, o.colEnd)), t.includes("r") && (s = ge(n.colIndex, o.colStart, o.colEnd)), {
|
|
2489
2522
|
rowStart: Math.min(r, i),
|
|
@@ -2491,20 +2524,20 @@ var dn = (e, t, n, o) => {
|
|
|
2491
2524
|
rowEnd: Math.max(r, i),
|
|
2492
2525
|
colEnd: Math.max(l, s)
|
|
2493
2526
|
};
|
|
2494
|
-
},
|
|
2495
|
-
const { range: t, snapDestination: n, onDragStart: o, onDragMove: r, onDragEnd: l, onDragDone: i,
|
|
2527
|
+
}, gn = (e) => {
|
|
2528
|
+
const { range: t, snapDestination: n, onDragStart: o, onDragMove: r, onDragEnd: l, onDragDone: i, onDoubleClick: s, renderHandle: a, ...c } = e, d = {
|
|
2496
2529
|
..._t,
|
|
2497
2530
|
fill: void 0,
|
|
2498
|
-
...
|
|
2499
|
-
},
|
|
2500
|
-
...
|
|
2531
|
+
...c
|
|
2532
|
+
}, u = d.stroke, g = {
|
|
2533
|
+
...d,
|
|
2501
2534
|
strokeDasharray: "3 2"
|
|
2502
|
-
},
|
|
2535
|
+
}, h = qe(), p = f(null), [m, y] = Je("range-fill", null);
|
|
2503
2536
|
if (!t) return null;
|
|
2504
|
-
const
|
|
2505
|
-
if (
|
|
2506
|
-
const
|
|
2507
|
-
return
|
|
2537
|
+
const b = h.getTotalRange(), S = t.rowStart === b.rowStart && t.rowEnd === b.rowEnd, E = t.colStart === b.colStart && t.colEnd === b.colEnd;
|
|
2538
|
+
if (S && E) return null;
|
|
2539
|
+
const I = Object.keys(h.getAllPanes()).length <= 1, C = h.getBoundsFromRange(t), R = h.getPaneBounds(), M = I && C.y >= 0 && C.y + C.height <= R.height, P = I && C.x >= 0 && C.x + C.width <= R.width, k = S && !M ? "tr" : E && !P ? "bl" : "br", D = "tr" === k ? "y" : "bl" === k && "x";
|
|
2540
|
+
return D && !((e, t, n, o) => {
|
|
2508
2541
|
const r = e.getAllPanes();
|
|
2509
2542
|
if (Object.keys(r).length <= 1) return !0;
|
|
2510
2543
|
const l = e.getAnchor(), i = !!r[_.TopLeft], s = !!r[_.Top], a = !!r[_.Left], c = e.getVisibleRange();
|
|
@@ -2524,15 +2557,16 @@ var dn = (e, t, n, o) => {
|
|
|
2524
2557
|
rowIndex: t.rowStart
|
|
2525
2558
|
}, c))) return !1;
|
|
2526
2559
|
return !0;
|
|
2527
|
-
})(
|
|
2560
|
+
})(h, t, S, E) ? null : v(w, { children: [x(en, {
|
|
2528
2561
|
range: t,
|
|
2529
|
-
anchor:
|
|
2530
|
-
clampToView:
|
|
2562
|
+
anchor: k,
|
|
2563
|
+
clampToView: D,
|
|
2531
2564
|
cursor: "crosshair",
|
|
2532
|
-
background:
|
|
2533
|
-
renderHandle:
|
|
2565
|
+
background: u,
|
|
2566
|
+
renderHandle: a,
|
|
2567
|
+
onDoubleClick: s ? (e) => s(t, e) : void 0,
|
|
2534
2568
|
onDragStart: (e, n) => {
|
|
2535
|
-
|
|
2569
|
+
p.current = null, y(null), o?.(t, n);
|
|
2536
2570
|
},
|
|
2537
2571
|
onDragMove: (e, o, l) => {
|
|
2538
2572
|
let i = ((e, t, n) => {
|
|
@@ -2550,35 +2584,35 @@ var dn = (e, t, n, o) => {
|
|
|
2550
2584
|
...e,
|
|
2551
2585
|
colStart: Math.max(n.colStart, t.colIndex)
|
|
2552
2586
|
};
|
|
2553
|
-
})(t, o,
|
|
2554
|
-
i && n && (i = n(t, i)),
|
|
2587
|
+
})(t, o, h.getTotalRange());
|
|
2588
|
+
i && n && (i = n(t, i)), p.current = i, y(i), i && r?.(i, l);
|
|
2555
2589
|
},
|
|
2556
2590
|
onDragEnd: (e, t, n) => {
|
|
2557
|
-
const o =
|
|
2558
|
-
|
|
2591
|
+
const o = p.current;
|
|
2592
|
+
p.current = null, y(null), o && l?.(o, n), i?.(n);
|
|
2559
2593
|
},
|
|
2560
2594
|
onDragCancel: () => {
|
|
2561
|
-
|
|
2595
|
+
p.current = null, y(null), i?.();
|
|
2562
2596
|
}
|
|
2563
|
-
}),
|
|
2564
|
-
range:
|
|
2565
|
-
...
|
|
2597
|
+
}), m && x(Wt, {
|
|
2598
|
+
range: m,
|
|
2599
|
+
...g
|
|
2566
2600
|
})] });
|
|
2567
2601
|
};
|
|
2568
|
-
|
|
2569
|
-
var
|
|
2602
|
+
gn.displayName = "FillHandle";
|
|
2603
|
+
var hn = i((e) => {
|
|
2570
2604
|
const { value: t, pane: n, bounds: o, cell: r, range: l, children: i, className: s, ...a } = e;
|
|
2571
2605
|
return x("div", {
|
|
2572
2606
|
className: V(s, "cell"),
|
|
2573
2607
|
...a,
|
|
2574
2608
|
children: t
|
|
2575
2609
|
});
|
|
2576
|
-
}),
|
|
2610
|
+
}), fn = Object.freeze({
|
|
2577
2611
|
cells: [],
|
|
2578
2612
|
rangesH: [],
|
|
2579
2613
|
rangesV: []
|
|
2580
|
-
}),
|
|
2581
|
-
const n = e.getVisibleRange(), o = e.getScrollTopLeft(), r = t.bufferRange, l = !!r, i = r ? r.rowStart : 0, s = r ? r.colStart : 0, a = r ? r.rowEnd : 0, c = r ? r.colEnd : 0, d =
|
|
2614
|
+
}), pn = !1, mn = /* @__PURE__ */ new WeakMap(), wn = (e, t = {}) => {
|
|
2615
|
+
const n = e.getVisibleRange(), o = e.getScrollTopLeft(), r = t.bufferRange, l = !!r, i = r ? r.rowStart : 0, s = r ? r.colStart : 0, a = r ? r.rowEnd : 0, c = r ? r.colEnd : 0, d = mn.get(e);
|
|
2582
2616
|
if (d && d.rowStart === n.rowStart && d.colStart === n.colStart && d.rowEnd === n.rowEnd && d.colEnd === n.colEnd && d.scrollLeft === o.left && d.scrollTop === o.top && d.hasBuffer === l && d.bRowStart === i && d.bColStart === s && d.bRowEnd === a && d.bColEnd === c && d.options.cacheToken === t.cacheToken && d.options.getVisibleCells === t.getVisibleCells && d.options.hiddenCellAt === t.hiddenCellAt) return d.model;
|
|
2583
2617
|
const u = ((e, t = {}) => {
|
|
2584
2618
|
const { getVisibleCells: n, hiddenCellAt: o, bufferRange: r } = t, l = e.getTotalRange(), i = r ? {
|
|
@@ -2587,7 +2621,7 @@ var gn = i((e) => {
|
|
|
2587
2621
|
colStart: Math.max(r.colStart, l.colStart),
|
|
2588
2622
|
colEnd: Math.min(r.colEnd, l.colEnd)
|
|
2589
2623
|
} : null, s = i ? e.getVisibleColumns(i.colStart, i.colEnd) : e.getVisibleColumns(), a = i ? e.getVisibleRows(i.rowStart, i.rowEnd) : e.getVisibleRows();
|
|
2590
|
-
if (0 === s.length || 0 === a.length) return
|
|
2624
|
+
if (0 === s.length || 0 === a.length) return fn;
|
|
2591
2625
|
const c = (t) => e.getRangeFromCell(t);
|
|
2592
2626
|
let d;
|
|
2593
2627
|
if (n) d = n(e, r);
|
|
@@ -2609,7 +2643,7 @@ var gn = i((e) => {
|
|
|
2609
2643
|
}
|
|
2610
2644
|
}
|
|
2611
2645
|
const u = d ? d.length : 0;
|
|
2612
|
-
if (0 === u) return
|
|
2646
|
+
if (0 === u) return fn;
|
|
2613
2647
|
const g = e.getVisibleRange(), h = r ?? g, f = [], p = [], m = [], w = /* @__PURE__ */ new Set();
|
|
2614
2648
|
for (let t = 0; t < u; t++) {
|
|
2615
2649
|
const n = d[t];
|
|
@@ -2631,7 +2665,7 @@ var gn = i((e) => {
|
|
|
2631
2665
|
rowIndex: t.rowStart,
|
|
2632
2666
|
colIndex: t.colStart
|
|
2633
2667
|
});
|
|
2634
|
-
const n =
|
|
2668
|
+
const n = bn(l.rowStart, l.colStart);
|
|
2635
2669
|
if (w.has(n)) continue;
|
|
2636
2670
|
w.add(n), l.rowEnd - l.rowStart > 0 && p.push(l), l.colEnd - l.colStart > 0 && m.push(l), s = e.getBoundsFromRange(l);
|
|
2637
2671
|
} else {
|
|
@@ -2648,7 +2682,7 @@ var gn = i((e) => {
|
|
|
2648
2682
|
range: l,
|
|
2649
2683
|
bounds: s,
|
|
2650
2684
|
value: n?.value
|
|
2651
|
-
}) :
|
|
2685
|
+
}) : pn || (pn = !0, console.warn("grid-react: no bounds for cell", bn(l.rowStart, l.colStart)));
|
|
2652
2686
|
}
|
|
2653
2687
|
return {
|
|
2654
2688
|
cells: f,
|
|
@@ -2656,7 +2690,7 @@ var gn = i((e) => {
|
|
|
2656
2690
|
rangesV: m
|
|
2657
2691
|
};
|
|
2658
2692
|
})(e, t);
|
|
2659
|
-
return
|
|
2693
|
+
return mn.set(e, {
|
|
2660
2694
|
rowStart: n.rowStart,
|
|
2661
2695
|
colStart: n.colStart,
|
|
2662
2696
|
rowEnd: n.rowEnd,
|
|
@@ -2671,17 +2705,17 @@ var gn = i((e) => {
|
|
|
2671
2705
|
options: t,
|
|
2672
2706
|
model: u
|
|
2673
2707
|
}), u;
|
|
2674
|
-
},
|
|
2708
|
+
}, xn = Object.freeze({
|
|
2675
2709
|
rangesH: [],
|
|
2676
2710
|
rangesV: []
|
|
2677
|
-
}),
|
|
2678
|
-
const n = e.getVisibleRange(), o =
|
|
2711
|
+
}), vn = /* @__PURE__ */ new WeakMap(), yn = (e, t = {}) => {
|
|
2712
|
+
const n = e.getVisibleRange(), o = vn.get(e);
|
|
2679
2713
|
if (o && o.rowStart === n.rowStart && o.colStart === n.colStart && o.rowEnd === n.rowEnd && o.colEnd === n.colEnd && o.cacheToken === t.cacheToken && o.getVisibleCells === t.getVisibleCells) return o.ranges;
|
|
2680
2714
|
const r = ((e, t = {}) => {
|
|
2681
2715
|
const { getVisibleCells: n } = t, o = e.getVisibleRange(), r = [], l = [], i = /* @__PURE__ */ new Set(), s = (e) => {
|
|
2682
2716
|
if (U.isSingleCell(e)) return;
|
|
2683
2717
|
if (!U.isRangesIntersect(e, o) && !U.isRangeWithinRange(e, o)) return;
|
|
2684
|
-
const t =
|
|
2718
|
+
const t = bn(e.rowStart, e.colStart);
|
|
2685
2719
|
i.has(t) || (i.add(t), e.rowEnd - e.rowStart > 0 && r.push(e), e.colEnd - e.colStart > 0 && l.push(e));
|
|
2686
2720
|
};
|
|
2687
2721
|
if (n) {
|
|
@@ -2700,12 +2734,12 @@ var gn = i((e) => {
|
|
|
2700
2734
|
}));
|
|
2701
2735
|
}
|
|
2702
2736
|
}
|
|
2703
|
-
return 0 === r.length && 0 === l.length ?
|
|
2737
|
+
return 0 === r.length && 0 === l.length ? xn : {
|
|
2704
2738
|
rangesH: r,
|
|
2705
2739
|
rangesV: l
|
|
2706
2740
|
};
|
|
2707
2741
|
})(e, t);
|
|
2708
|
-
return
|
|
2742
|
+
return vn.set(e, {
|
|
2709
2743
|
rowStart: n.rowStart,
|
|
2710
2744
|
colStart: n.colStart,
|
|
2711
2745
|
rowEnd: n.rowEnd,
|
|
@@ -2714,10 +2748,10 @@ var gn = i((e) => {
|
|
|
2714
2748
|
cacheToken: t.cacheToken,
|
|
2715
2749
|
ranges: r
|
|
2716
2750
|
}), r;
|
|
2717
|
-
},
|
|
2751
|
+
}, bn = (e, t) => `${e}:${t}`, Sn = {
|
|
2718
2752
|
tiles: "_tiles_ikr1b_7",
|
|
2719
2753
|
gridlines: "_gridlines_ikr1b_26"
|
|
2720
|
-
},
|
|
2754
|
+
}, En = i((e) => {
|
|
2721
2755
|
const { renderCell: t, cacheToken: n, getVisibleCells: o, hiddenCellAt: r, suppressCell: l, className: i, style: s } = e, a = qe(), c = a.getAnchor(), u = d(), h = g(() => `sxl-cl-${u.replace(/[^a-zA-Z0-9_-]/g, "")}`, [u]), p = f({
|
|
2722
2756
|
token: void 0,
|
|
2723
2757
|
renderCell: void 0,
|
|
@@ -2727,43 +2761,43 @@ var gn = i((e) => {
|
|
|
2727
2761
|
rebaseLeft: 0,
|
|
2728
2762
|
rebaseTop: 0,
|
|
2729
2763
|
map: /* @__PURE__ */ new Map()
|
|
2730
|
-
}), m = a.getScrollTopLeft(), y = a.getFreezeTopLeft(), b = m.left + y.left, S = m.top + y.top, E = Math.floor(b /
|
|
2764
|
+
}), m = a.getScrollTopLeft(), y = a.getFreezeTopLeft(), b = m.left + y.left, S = m.top + y.top, E = Math.floor(b / Rn) * Rn, I = Math.floor(S / Rn) * Rn, C = a.getVisibleRange();
|
|
2731
2765
|
let R = 0, M = -1, P = 0, k = -1;
|
|
2732
|
-
C && (R = Math.max(0, Math.floor(C.rowStart /
|
|
2766
|
+
C && (R = Math.max(0, Math.floor(C.rowStart / Cn) - Mn), M = Math.floor(C.rowEnd / Cn) + Mn, P = Math.max(0, Math.floor(C.colStart / Cn) - Mn), k = Math.floor(C.colEnd / Cn) + Mn);
|
|
2733
2767
|
const D = g(() => {
|
|
2734
2768
|
if (!C || M < R) return null;
|
|
2735
2769
|
const e = p.current;
|
|
2736
2770
|
e.token === n && e.pane === a && e.renderCell === t && e.getVisibleCells === o && e.hiddenCellAt === r && e.rebaseLeft === E && e.rebaseTop === I || (e.map = /* @__PURE__ */ new Map(), e.token = n, e.pane = a, e.renderCell = t, e.getVisibleCells = o, e.hiddenCellAt = r, e.rebaseLeft = E, e.rebaseTop = I);
|
|
2737
2771
|
const l = e.map, i = a.getTotalRange(), s = {
|
|
2738
|
-
rowStart: Math.max(i.rowStart, R *
|
|
2739
|
-
colStart: Math.max(i.colStart, P *
|
|
2740
|
-
rowEnd: Math.min(i.rowEnd, (M + 1) *
|
|
2741
|
-
colEnd: Math.min(i.colEnd, (k + 1) *
|
|
2742
|
-
}, { cells: d } =
|
|
2772
|
+
rowStart: Math.max(i.rowStart, R * Cn),
|
|
2773
|
+
colStart: Math.max(i.colStart, P * Cn),
|
|
2774
|
+
rowEnd: Math.min(i.rowEnd, (M + 1) * Cn - 1),
|
|
2775
|
+
colEnd: Math.min(i.colEnd, (k + 1) * Cn - 1)
|
|
2776
|
+
}, { cells: d } = wn(a, {
|
|
2743
2777
|
getVisibleCells: o,
|
|
2744
2778
|
hiddenCellAt: r,
|
|
2745
2779
|
bufferRange: s,
|
|
2746
2780
|
cacheToken: n
|
|
2747
2781
|
}), u = /* @__PURE__ */ new Map();
|
|
2748
2782
|
for (let e = 0; e < d.length; e++) {
|
|
2749
|
-
const t = d[e], n = `${Math.floor(t.cell.rowIndex /
|
|
2783
|
+
const t = d[e], n = `${Math.floor(t.cell.rowIndex / Cn)}:${Math.floor(t.cell.colIndex / Cn)}`;
|
|
2750
2784
|
let o = u.get(n);
|
|
2751
2785
|
o || (o = [], u.set(n, o)), o.push(t);
|
|
2752
2786
|
}
|
|
2753
2787
|
const g = [], h = (e, n) => {
|
|
2754
|
-
if (e *
|
|
2788
|
+
if (e * Cn > i.rowEnd || n * Cn > i.colEnd) return;
|
|
2755
2789
|
const o = e >= R && e <= M && n >= P && n <= k, r = `${e}:${n}`;
|
|
2756
2790
|
let s = l.get(r);
|
|
2757
2791
|
if (void 0 === s) {
|
|
2758
2792
|
const d = u.get(r);
|
|
2759
|
-
if (!d && !
|
|
2793
|
+
if (!d && !kn) return;
|
|
2760
2794
|
const g = a.getBoundsFromRange({
|
|
2761
|
-
rowStart: e *
|
|
2762
|
-
colStart: n *
|
|
2763
|
-
rowEnd: Math.min(i.rowEnd, e *
|
|
2764
|
-
colEnd: Math.min(i.colEnd, n *
|
|
2795
|
+
rowStart: e * Cn,
|
|
2796
|
+
colStart: n * Cn,
|
|
2797
|
+
rowEnd: Math.min(i.rowEnd, e * Cn + Cn - 1),
|
|
2798
|
+
colEnd: Math.min(i.colEnd, n * Cn + Cn - 1)
|
|
2765
2799
|
}), h = b + g.x - E, f = S + g.y - I, p = [];
|
|
2766
|
-
if (
|
|
2800
|
+
if (kn && p.push(x("div", { style: {
|
|
2767
2801
|
position: "absolute",
|
|
2768
2802
|
left: 0,
|
|
2769
2803
|
top: 0,
|
|
@@ -2774,13 +2808,13 @@ var gn = i((e) => {
|
|
|
2774
2808
|
} }, "__bg")), d) for (let e = 0; e < d.length; e++) {
|
|
2775
2809
|
const { cell: n, range: o, bounds: r, value: l } = d[e];
|
|
2776
2810
|
r && p.push(t({
|
|
2777
|
-
key: `pane:${c}:cell:${
|
|
2811
|
+
key: `pane:${c}:cell:${bn(n.rowIndex, n.colIndex)}`,
|
|
2778
2812
|
cell: n,
|
|
2779
2813
|
bounds: r,
|
|
2780
2814
|
range: o,
|
|
2781
2815
|
pane: a,
|
|
2782
2816
|
value: l,
|
|
2783
|
-
"data-rc":
|
|
2817
|
+
"data-rc": bn(n.rowIndex, n.colIndex),
|
|
2784
2818
|
style: {
|
|
2785
2819
|
left: r.x - g.x,
|
|
2786
2820
|
top: r.y - g.y,
|
|
@@ -2793,15 +2827,15 @@ var gn = i((e) => {
|
|
|
2793
2827
|
className: "tile",
|
|
2794
2828
|
style: { transform: `translate(${h}px, ${f}px)` },
|
|
2795
2829
|
children: p
|
|
2796
|
-
}, `pane:${c}:tile:${e}:${n}`), o && (l.set(r, s), l.size >
|
|
2830
|
+
}, `pane:${c}:tile:${e}:${n}`), o && (l.set(r, s), l.size > Pn)) {
|
|
2797
2831
|
const e = l.keys().next().value;
|
|
2798
2832
|
void 0 !== e && l.delete(e);
|
|
2799
2833
|
}
|
|
2800
2834
|
}
|
|
2801
2835
|
s && g.push(s);
|
|
2802
2836
|
};
|
|
2803
|
-
if (
|
|
2804
|
-
for (let e = R; e <= M && !(e *
|
|
2837
|
+
if (kn) {
|
|
2838
|
+
for (let e = R; e <= M && !(e * Cn > i.rowEnd); e++) for (let t = P; t <= k && !(t * Cn > i.colEnd); t++) h(e, t);
|
|
2805
2839
|
for (const e of u.keys()) {
|
|
2806
2840
|
const t = e.indexOf(":"), n = Number(e.slice(0, t)), o = Number(e.slice(t + 1));
|
|
2807
2841
|
(n < R || n > M || o < P || o > k) && h(n, o);
|
|
@@ -2824,7 +2858,7 @@ var gn = i((e) => {
|
|
|
2824
2858
|
]);
|
|
2825
2859
|
return v(w, { children: [x(lt, {
|
|
2826
2860
|
fill: !0,
|
|
2827
|
-
className: V(
|
|
2861
|
+
className: V(Sn.tiles, h, i),
|
|
2828
2862
|
style: {
|
|
2829
2863
|
pointerEvents: "none",
|
|
2830
2864
|
...s,
|
|
@@ -2832,15 +2866,15 @@ var gn = i((e) => {
|
|
|
2832
2866
|
willChange: "transform"
|
|
2833
2867
|
},
|
|
2834
2868
|
children: D
|
|
2835
|
-
}), l ? x("style", { children: `.${h} [data-rc="${
|
|
2869
|
+
}), l ? x("style", { children: `.${h} [data-rc="${bn(l.rowIndex, l.colIndex)}"]{visibility:hidden !important;}` }) : null] });
|
|
2836
2870
|
});
|
|
2837
|
-
|
|
2838
|
-
var
|
|
2871
|
+
En.displayName = "CellTileDiv";
|
|
2872
|
+
var In = i((e) => {
|
|
2839
2873
|
const { renderCell: t, cacheToken: n, getVisibleCells: o, hiddenCellAt: r, suppressCell: l, className: i, style: s, ...a } = e;
|
|
2840
2874
|
return x(et, {
|
|
2841
2875
|
className: V(i, "tiles"),
|
|
2842
2876
|
...a,
|
|
2843
|
-
children: x(
|
|
2877
|
+
children: x(En, {
|
|
2844
2878
|
renderCell: t,
|
|
2845
2879
|
cacheToken: n,
|
|
2846
2880
|
getVisibleCells: o,
|
|
@@ -2850,9 +2884,9 @@ var En = i((e) => {
|
|
|
2850
2884
|
})
|
|
2851
2885
|
});
|
|
2852
2886
|
});
|
|
2853
|
-
|
|
2854
|
-
var
|
|
2855
|
-
const o = S.getDevicePixelRatio(), r =
|
|
2887
|
+
In.displayName = "CellLayer";
|
|
2888
|
+
var Cn = 8, Rn = 1 << 19, Mn = 1, Pn = 512, kn = !1, Dn = (e, t, n) => {
|
|
2889
|
+
const o = S.getDevicePixelRatio(), r = $n / o, l = e.getVisibleRange(), i = (t) => e.getColumnSize(t).offset, s = (t) => {
|
|
2856
2890
|
const n = e.getColumnSize(t);
|
|
2857
2891
|
return n.offset + n.size;
|
|
2858
2892
|
}, a = (t) => e.getRowSize(t).offset, c = (t) => {
|
|
@@ -2924,16 +2958,16 @@ var In = 8, Cn = 1 << 19, Rn = 1, Mn = 512, Pn = !1, kn = (e, t, n) => {
|
|
|
2924
2958
|
}
|
|
2925
2959
|
}
|
|
2926
2960
|
return h;
|
|
2927
|
-
},
|
|
2961
|
+
}, Tn = (e) => {
|
|
2928
2962
|
let t = "";
|
|
2929
2963
|
for (let n = 0; n < e.length; n++) {
|
|
2930
2964
|
const o = e[n];
|
|
2931
2965
|
t += `${o.rowStart},${o.colStart},${o.rowEnd},${o.colEnd};`;
|
|
2932
2966
|
}
|
|
2933
2967
|
return t;
|
|
2934
|
-
},
|
|
2968
|
+
}, zn = (e, t, n, o, r) => {
|
|
2935
2969
|
if (!n) return null;
|
|
2936
|
-
const l = e.getPaneBounds(), i = Math.ceil(l.width), s = Math.ceil(l.height), a = String(
|
|
2970
|
+
const l = e.getPaneBounds(), i = Math.ceil(l.width), s = Math.ceil(l.height), a = String($n / S.getDevicePixelRatio());
|
|
2937
2971
|
return x("svg", {
|
|
2938
2972
|
className: V(t ? "horizontal" : "vertical"),
|
|
2939
2973
|
width: `${i}`,
|
|
@@ -2949,15 +2983,15 @@ var In = 8, Cn = 1 << 19, Rn = 1, Mn = 512, Pn = !1, kn = (e, t, n) => {
|
|
|
2949
2983
|
...r
|
|
2950
2984
|
})
|
|
2951
2985
|
});
|
|
2952
|
-
},
|
|
2953
|
-
const { showGridLines: t = !0, gridLineColor: n = "var(--sxl-color-base-300, rgb(224, 224, 224))", propsRows: o, propsColumns: r, getVisibleCells: l, hiddenCellAt: i, cacheToken: s, bufferRange: a, className: c, style: d, ...u } = e, h = qe(), f = t, p = !0 === t || !0 === f?.horizontal, m = !0 === t || !0 === f?.vertical, { rangesH: w, rangesV: y } =
|
|
2986
|
+
}, On = i((e) => {
|
|
2987
|
+
const { showGridLines: t = !0, gridLineColor: n = "var(--sxl-color-base-300, rgb(224, 224, 224))", propsRows: o, propsColumns: r, getVisibleCells: l, hiddenCellAt: i, cacheToken: s, bufferRange: a, className: c, style: d, ...u } = e, h = qe(), f = t, p = !0 === t || !0 === f?.horizontal, m = !0 === t || !0 === f?.vertical, { rangesH: w, rangesV: y } = yn(h, {
|
|
2954
2988
|
getVisibleCells: l,
|
|
2955
2989
|
cacheToken: s
|
|
2956
|
-
}), b = S.getDevicePixelRatio(), { top: E, left: I } = h.getScrollTopLeft(), C = h.getPaneBounds(), R = h.getVisibleRange(), M = h.getColumnSize(R.colEnd), P = h.getRowSize(R.rowEnd), k = Math.min(C.width, M ? M.offset + M.size : C.width), D = Math.min(C.height, P ? P.offset + P.size : C.height), T = 0 === w.length ? `${E}|${k}|${b}` : `${E}|${I}|${k}|${b}|${
|
|
2990
|
+
}), b = S.getDevicePixelRatio(), { top: E, left: I } = h.getScrollTopLeft(), C = h.getPaneBounds(), R = h.getVisibleRange(), M = h.getColumnSize(R.colEnd), P = h.getRowSize(R.rowEnd), k = Math.min(C.width, M ? M.offset + M.size : C.width), D = Math.min(C.height, P ? P.offset + P.size : C.height), T = 0 === w.length ? `${E}|${k}|${b}` : `${E}|${I}|${k}|${b}|${Tn(w)}`, z = 0 === y.length ? `${I}|${D}|${b}` : `${I}|${E}|${D}|${b}|${Tn(y)}`, O = g(() => p ? Dn(h, !0, w) : null, [
|
|
2957
2991
|
h,
|
|
2958
2992
|
p,
|
|
2959
2993
|
T
|
|
2960
|
-
]), $ = g(() => m ?
|
|
2994
|
+
]), $ = g(() => m ? Dn(h, !1, y) : null, [
|
|
2961
2995
|
h,
|
|
2962
2996
|
m,
|
|
2963
2997
|
z
|
|
@@ -2967,17 +3001,17 @@ var In = 8, Cn = 1 << 19, Rn = 1, Mn = 512, Pn = !1, kn = (e, t, n) => {
|
|
|
2967
3001
|
className: V(c, "gridlines"),
|
|
2968
3002
|
children: v(lt, {
|
|
2969
3003
|
fill: !0,
|
|
2970
|
-
className:
|
|
3004
|
+
className: Sn.gridlines,
|
|
2971
3005
|
style: {
|
|
2972
3006
|
pointerEvents: "none",
|
|
2973
3007
|
...d
|
|
2974
3008
|
},
|
|
2975
|
-
children: [p && O ?
|
|
3009
|
+
children: [p && O ? zn(h, !0, O, n, o) : null, m && $ ? zn(h, !1, $, n, r) : null]
|
|
2976
3010
|
})
|
|
2977
3011
|
}) : null;
|
|
2978
3012
|
});
|
|
2979
|
-
|
|
2980
|
-
var
|
|
3013
|
+
On.displayName = "GridlineLayer";
|
|
3014
|
+
var $n = 1, Ln = -10, Bn = class {
|
|
2981
3015
|
constructor(e = {}) {
|
|
2982
3016
|
this.listeners = /* @__PURE__ */ new Set(), this._coords = e.initial ?? {
|
|
2983
3017
|
cell: {
|
|
@@ -2986,7 +3020,7 @@ var On = 1, $n = -10, Ln = class {
|
|
|
2986
3020
|
},
|
|
2987
3021
|
ranges: U.EmptyRanges,
|
|
2988
3022
|
rangeIndex: -1
|
|
2989
|
-
}, this._getBounds = e.getBounds ?? (() =>
|
|
3023
|
+
}, this._getBounds = e.getBounds ?? (() => Fn);
|
|
2990
3024
|
}
|
|
2991
3025
|
getSelection() {
|
|
2992
3026
|
return this._coords;
|
|
@@ -3047,12 +3081,12 @@ var On = 1, $n = -10, Ln = class {
|
|
|
3047
3081
|
return e >= 0 ? this._coords.ranges[e] : U.cellToRange(this._coords.cell);
|
|
3048
3082
|
}
|
|
3049
3083
|
modify(e, t = this._coords.cell) {
|
|
3050
|
-
const n = this._activeRange(), r =
|
|
3084
|
+
const n = this._activeRange(), r = An({
|
|
3051
3085
|
rowStart: Math.min(e.rowIndex ?? n.rowStart, t.rowIndex ?? n.rowStart),
|
|
3052
3086
|
colStart: Math.min(e.colIndex ?? n.colStart, t.colIndex ?? n.colStart),
|
|
3053
3087
|
rowEnd: Math.max(e.rowIndex ?? n.rowEnd, t.rowIndex ?? n.rowEnd),
|
|
3054
3088
|
colEnd: Math.max(e.colIndex ?? n.colEnd, t.colIndex ?? n.colEnd)
|
|
3055
|
-
}, this._getBounds()), l = this._coords, i = this._activeIndex(), s = i >= 0 ? l.ranges.map((e, t) => t === i ? r : e) : [r], a =
|
|
3089
|
+
}, this._getBounds()), l = this._coords, i = this._activeIndex(), s = i >= 0 ? l.ranges.map((e, t) => t === i ? r : e) : [r], a = Nn(l.cell, r);
|
|
3056
3090
|
this.setSelection({
|
|
3057
3091
|
cell: a,
|
|
3058
3092
|
ranges: s,
|
|
@@ -3060,7 +3094,7 @@ var On = 1, $n = -10, Ln = class {
|
|
|
3060
3094
|
});
|
|
3061
3095
|
}
|
|
3062
3096
|
append(e, t = e) {
|
|
3063
|
-
const n =
|
|
3097
|
+
const n = An({
|
|
3064
3098
|
rowStart: Math.min(e.rowIndex, t.rowIndex),
|
|
3065
3099
|
colStart: Math.min(e.colIndex, t.colIndex),
|
|
3066
3100
|
rowEnd: Math.max(e.rowIndex, t.rowIndex),
|
|
@@ -3136,53 +3170,53 @@ var On = 1, $n = -10, Ln = class {
|
|
|
3136
3170
|
this.listeners.delete(e);
|
|
3137
3171
|
};
|
|
3138
3172
|
}
|
|
3139
|
-
},
|
|
3173
|
+
}, An = (e, t) => ({
|
|
3140
3174
|
rowStart: ge(e.rowStart, t.rowStart, t.rowEnd),
|
|
3141
3175
|
colStart: ge(e.colStart, t.colStart, t.colEnd),
|
|
3142
3176
|
rowEnd: ge(e.rowEnd, t.rowStart, t.rowEnd),
|
|
3143
3177
|
colEnd: ge(e.colEnd, t.colStart, t.colEnd)
|
|
3144
|
-
}),
|
|
3178
|
+
}), Nn = (e, t) => ({
|
|
3145
3179
|
rowIndex: ge(e.rowIndex, t.rowStart, t.rowEnd),
|
|
3146
3180
|
colIndex: ge(e.colIndex, t.colStart, t.colEnd)
|
|
3147
|
-
}),
|
|
3181
|
+
}), Fn = {
|
|
3148
3182
|
rowStart: 0,
|
|
3149
3183
|
colStart: 0,
|
|
3150
3184
|
rowEnd: Number.MAX_SAFE_INTEGER,
|
|
3151
3185
|
colEnd: Number.MAX_SAFE_INTEGER
|
|
3152
|
-
},
|
|
3153
|
-
fill: { fill:
|
|
3186
|
+
}, Vn = "var(--sxl-color-primary, rgb(33, 115, 70))", Hn = "var(--sxl-color-base-100, rgb(255, 255, 255))", _n = "var(--sxl-color-warning, rgb(255, 0, 0))", Wn = (e) => `color-mix(in srgb, var(--sxl-color-primary, rgb(33, 115, 70)) ${e}%, transparent)`, Un = {
|
|
3187
|
+
fill: { fill: Wn(10) },
|
|
3154
3188
|
border: {
|
|
3155
|
-
stroke:
|
|
3189
|
+
stroke: Vn,
|
|
3156
3190
|
alignWidth: 2,
|
|
3157
3191
|
style: { filter: "drop-shadow(1px 1px 0.3px var(--sxl-color-shadow, rgba(0, 0, 0, 0.24)))" }
|
|
3158
3192
|
},
|
|
3159
3193
|
inner: {
|
|
3160
|
-
stroke:
|
|
3194
|
+
stroke: Hn,
|
|
3161
3195
|
alignWidth: 2,
|
|
3162
3196
|
inset: 1
|
|
3163
3197
|
}
|
|
3164
|
-
},
|
|
3165
|
-
fill: { fill:
|
|
3198
|
+
}, Kn = {
|
|
3199
|
+
fill: { fill: Wn(6) },
|
|
3166
3200
|
border: {
|
|
3167
|
-
stroke:
|
|
3201
|
+
stroke: Vn,
|
|
3168
3202
|
alignWidth: 1
|
|
3169
3203
|
},
|
|
3170
3204
|
inner: {
|
|
3171
|
-
stroke:
|
|
3205
|
+
stroke: Hn,
|
|
3172
3206
|
alignWidth: 1,
|
|
3173
3207
|
inset: 1
|
|
3174
3208
|
}
|
|
3175
|
-
},
|
|
3176
|
-
stroke:
|
|
3209
|
+
}, jn = {
|
|
3210
|
+
stroke: Vn,
|
|
3177
3211
|
alignWidth: 1,
|
|
3178
3212
|
inset: 2
|
|
3179
|
-
},
|
|
3180
|
-
fill: { fill: `color-mix(in srgb, ${
|
|
3213
|
+
}, Gn = {
|
|
3214
|
+
fill: { fill: `color-mix(in srgb, ${_n} 10%, transparent)` },
|
|
3181
3215
|
border: {
|
|
3182
|
-
stroke:
|
|
3216
|
+
stroke: _n,
|
|
3183
3217
|
alignWidth: 2
|
|
3184
3218
|
}
|
|
3185
|
-
},
|
|
3219
|
+
}, Xn = (e, t) => {
|
|
3186
3220
|
const n = qe(), o = t?.allowDeselect ?? !0, r = t?.allowMulti ?? !0, l = f(null), [i, s] = p(null), a = f(t?.onSelectionEnd);
|
|
3187
3221
|
a.current = t?.onSelectionEnd;
|
|
3188
3222
|
const c = Zt((t, i) => {
|
|
@@ -3272,8 +3306,8 @@ var On = 1, $n = -10, Ln = class {
|
|
|
3272
3306
|
removePreview: i,
|
|
3273
3307
|
dragMode: c.dragMode
|
|
3274
3308
|
};
|
|
3275
|
-
},
|
|
3276
|
-
const { selection: t, color: n = "var(--sxl-color-primary, rgb(33, 115, 70))", size: o = 22 } = e, r = Ze(), i =
|
|
3309
|
+
}, Yn = (e) => {
|
|
3310
|
+
const { selection: t, color: n = "var(--sxl-color-primary, rgb(33, 115, 70))", size: o = 22 } = e, r = Ze(), i = Jn(T(t, (e) => e.getSelection())), s = r ? r.getAllPanes()[_.Center] ?? r : void 0, a = ((e, t, n) => {
|
|
3277
3311
|
const o = !!t && e.rowStart === t.rowStart && e.rowEnd === t.rowEnd, r = !!t && e.colStart === t.colStart && e.colEnd === t.colEnd;
|
|
3278
3312
|
if (o && r) return [];
|
|
3279
3313
|
if (o) {
|
|
@@ -3394,7 +3428,7 @@ var On = 1, $n = -10, Ln = class {
|
|
|
3394
3428
|
}), void 0, (t, n) => (e.getPaneFromPointer(t, n) ?? e).getCellFromPointer(t, n));
|
|
3395
3429
|
g.current = s, s.start(r, r.currentTarget);
|
|
3396
3430
|
};
|
|
3397
|
-
return x(w, { children: a.map((e) => x(
|
|
3431
|
+
return x(w, { children: a.map((e) => x(qn, {
|
|
3398
3432
|
spec: e,
|
|
3399
3433
|
size: o,
|
|
3400
3434
|
color: n,
|
|
@@ -3402,14 +3436,14 @@ var On = 1, $n = -10, Ln = class {
|
|
|
3402
3436
|
onBeginDrag: h
|
|
3403
3437
|
}, e.key)) });
|
|
3404
3438
|
};
|
|
3405
|
-
|
|
3406
|
-
var
|
|
3439
|
+
Yn.displayName = "SelectionTouchGrips";
|
|
3440
|
+
var qn = (e) => {
|
|
3407
3441
|
const { spec: t, size: n, color: o, dragging: r, onBeginDrag: l } = e;
|
|
3408
3442
|
return x(Et, {
|
|
3409
3443
|
anchor: { cell: t.cell },
|
|
3410
3444
|
placement: t.placement,
|
|
3411
3445
|
whenOff: "hide",
|
|
3412
|
-
children: (e) => e.slid ? null : x(
|
|
3446
|
+
children: (e) => e.slid ? null : x(Zn, {
|
|
3413
3447
|
state: e,
|
|
3414
3448
|
size: n,
|
|
3415
3449
|
color: o,
|
|
@@ -3420,7 +3454,7 @@ var Yn = (e) => {
|
|
|
3420
3454
|
}
|
|
3421
3455
|
})
|
|
3422
3456
|
});
|
|
3423
|
-
},
|
|
3457
|
+
}, Zn = (e) => {
|
|
3424
3458
|
const { state: t, size: n, color: o, dragging: r, pin: l, onBeginDrag: i } = e, { getPortalContainer: s } = $(), { className: a, attrs: c } = Rt(t.pane);
|
|
3425
3459
|
let { x: d, y: u } = t.anchorPoint;
|
|
3426
3460
|
if (l) {
|
|
@@ -3452,51 +3486,51 @@ var Yn = (e) => {
|
|
|
3452
3486
|
0 !== e.button && "touch" !== e.pointerType || t.pane && (e.preventDefault(), e.stopPropagation(), i(e));
|
|
3453
3487
|
}
|
|
3454
3488
|
}), s());
|
|
3455
|
-
},
|
|
3489
|
+
}, Jn = (e) => {
|
|
3456
3490
|
const { ranges: t, rangeIndex: n, cell: o } = e;
|
|
3457
3491
|
if (t && t.length > 0) {
|
|
3458
3492
|
const e = n ?? -1;
|
|
3459
3493
|
return t[e >= 0 ? e : t.length - 1];
|
|
3460
3494
|
}
|
|
3461
3495
|
return U.cellToRange(o);
|
|
3462
|
-
},
|
|
3496
|
+
}, Qn = [
|
|
3463
3497
|
j.Left,
|
|
3464
3498
|
j.Right,
|
|
3465
3499
|
j.Up,
|
|
3466
3500
|
j.Down
|
|
3467
|
-
],
|
|
3501
|
+
], eo = {
|
|
3468
3502
|
[j.Left]: "ArrowLeft",
|
|
3469
3503
|
[j.Right]: "ArrowRight",
|
|
3470
3504
|
[j.Up]: "ArrowUp",
|
|
3471
3505
|
[j.Down]: "ArrowDown"
|
|
3472
|
-
},
|
|
3506
|
+
}, to = {
|
|
3473
3507
|
[j.Left]: "Left",
|
|
3474
3508
|
[j.Right]: "Right",
|
|
3475
3509
|
[j.Up]: "Up",
|
|
3476
3510
|
[j.Down]: "Down"
|
|
3477
3511
|
};
|
|
3478
|
-
var
|
|
3512
|
+
var no = (e, t) => void 0 === t ? e : null === t ? null : {
|
|
3479
3513
|
...e,
|
|
3480
3514
|
...t
|
|
3481
|
-
},
|
|
3482
|
-
fill:
|
|
3483
|
-
border:
|
|
3484
|
-
inner:
|
|
3485
|
-
} : e,
|
|
3515
|
+
}, oo = (e, t) => t ? {
|
|
3516
|
+
fill: no(e.fill, t.fill),
|
|
3517
|
+
border: no(e.border, t.border),
|
|
3518
|
+
inner: no(e.inner, t.inner)
|
|
3519
|
+
} : e, ro = {
|
|
3486
3520
|
side: "b",
|
|
3487
3521
|
align: "end"
|
|
3488
|
-
},
|
|
3489
|
-
const { selection: o, getContentBounds: r, getRegionBounds: l, scrollIntoView: i, singleStyle: s, multiStyle: a, multiAnchorStyle: c, singleAnchorStyle: d, removePreviewStyle: u, singleLayer: g, multiLayer: h, enabledMove: f, onMove: p, onMoveStart: m, onMoveUpdate: y, onMoveEnd: S, enableFill: E, snapFillDestination: I, onFill: C, onFillStart: R, onFillPreview: M, onFillEnd: P,
|
|
3490
|
-
|
|
3491
|
-
const
|
|
3492
|
-
|
|
3493
|
-
const
|
|
3494
|
-
|
|
3495
|
-
const
|
|
3496
|
-
|
|
3497
|
-
const
|
|
3498
|
-
|
|
3499
|
-
const
|
|
3522
|
+
}, lo = e.forwardRef((t, n) => {
|
|
3523
|
+
const { selection: o, getContentBounds: r, getRegionBounds: l, scrollIntoView: i, singleStyle: s, multiStyle: a, multiAnchorStyle: c, singleAnchorStyle: d, removePreviewStyle: u, singleLayer: g, multiLayer: h, enabledMove: f, onMove: p, onMoveStart: m, onMoveUpdate: y, onMoveEnd: S, enableFill: E, snapFillDestination: I, onFill: C, onFillStart: R, onFillPreview: M, onFillEnd: P, resolveFillExtent: k, onEdgeDoubleClick: D, onSelectionEnd: z, renderTip: O, tipPlacement: $, disableKeyboard: L, anchorHole: B = !0, ...A } = t, N = T(o, (e) => e.getSelection()), F = Xn(o, { onSelectionEnd: z }), [V, H] = e.useState(null), _ = qe(), K = e.useRef(o);
|
|
3524
|
+
K.current = o;
|
|
3525
|
+
const X = e.useRef(_);
|
|
3526
|
+
X.current = _;
|
|
3527
|
+
const Y = e.useRef(r);
|
|
3528
|
+
Y.current = r;
|
|
3529
|
+
const q = e.useRef(l);
|
|
3530
|
+
q.current = l;
|
|
3531
|
+
const Z = e.useRef(i);
|
|
3532
|
+
Z.current = i;
|
|
3533
|
+
const J = e.useMemo(() => function(e) {
|
|
3500
3534
|
const { getSelection: t, getPane: n, getContentBounds: o, getScrollIntoView: r = () => {}, getRegionBounds: l = () => null } = e, i = () => t(), s = () => n(), a = () => s().getTotalRange(), c = o ?? a, d = (e) => l(e), u = (e) => {
|
|
3501
3535
|
const t = r();
|
|
3502
3536
|
t ? t(e) : s().scrollCellCoordsIntoView(e);
|
|
@@ -3587,8 +3621,8 @@ var to = (e, t) => void 0 === t ? e : null === t ? null : {
|
|
|
3587
3621
|
run: n
|
|
3588
3622
|
});
|
|
3589
3623
|
}, S = b.Shift, E = b.Ctrl, I = b.Alt;
|
|
3590
|
-
for (const e of
|
|
3591
|
-
const t =
|
|
3624
|
+
for (const e of Qn) {
|
|
3625
|
+
const t = to[e], n = eo[e];
|
|
3592
3626
|
y(`move${t}`, { key: n }, () => f(e, !1)), y(`select${t}`, {
|
|
3593
3627
|
key: n,
|
|
3594
3628
|
modifiers: [S]
|
|
@@ -3706,17 +3740,17 @@ var to = (e, t) => void 0 === t ? e : null === t ? null : {
|
|
|
3706
3740
|
}
|
|
3707
3741
|
};
|
|
3708
3742
|
}({
|
|
3709
|
-
getSelection: () =>
|
|
3710
|
-
getPane: () =>
|
|
3711
|
-
getContentBounds: () =>
|
|
3712
|
-
getScrollIntoView: () =>
|
|
3713
|
-
getRegionBounds: (e) =>
|
|
3743
|
+
getSelection: () => K.current,
|
|
3744
|
+
getPane: () => X.current,
|
|
3745
|
+
getContentBounds: () => Y.current?.() ?? X.current.getTotalRange(),
|
|
3746
|
+
getScrollIntoView: () => Z.current,
|
|
3747
|
+
getRegionBounds: (e) => q.current?.(e) ?? null
|
|
3714
3748
|
}), []);
|
|
3715
|
-
e.useImperativeHandle(n, () =>
|
|
3716
|
-
const
|
|
3717
|
-
...
|
|
3749
|
+
e.useImperativeHandle(n, () => J, [J]);
|
|
3750
|
+
const Q = !!N.ranges && N.ranges.length > 0, ee = Q ? [...N.ranges] : [U.cellToRange(N.cell)], te = ee.length > 1, ne = N.rangeIndex ?? -1, oe = Q ? ne >= 0 ? ne : ee.length - 1 : 0, re = _.getRangeFromCell(N.cell), le = U.unionRanges(ee[oe] ?? U.cellToRange(N.cell), re), ie = ee.filter((e, t) => t !== oe), se = te ? oo(Kn, a) : oo(Un, s), ae = {
|
|
3751
|
+
...jn,
|
|
3718
3752
|
...c
|
|
3719
|
-
},
|
|
3753
|
+
}, ce = oo(Gn, u), de = (e) => {
|
|
3720
3754
|
const t = o.getSelection(), n = t.ranges, r = !!n && n.length > 0, l = r ? void 0 !== t.rangeIndex && t.rangeIndex >= 0 && t.rangeIndex < n.length ? t.rangeIndex : n.length - 1 : 0, i = r ? n.map((t, n) => n === l ? e : t) : [e], s = U.isCellWithinRange(t.cell, e) ? t.cell : {
|
|
3721
3755
|
rowIndex: e.rowStart,
|
|
3722
3756
|
colIndex: e.colStart
|
|
@@ -3726,67 +3760,68 @@ var to = (e, t) => void 0 === t ? e : null === t ? null : {
|
|
|
3726
3760
|
ranges: i,
|
|
3727
3761
|
rangeIndex: l
|
|
3728
3762
|
});
|
|
3729
|
-
},
|
|
3763
|
+
}, ue = V ?? ("extend" === F.dragMode ? {
|
|
3730
3764
|
kind: "select",
|
|
3731
|
-
range:
|
|
3732
|
-
} : null),
|
|
3765
|
+
range: le
|
|
3766
|
+
} : null), ge = ue && O ? O(ue) : null, he = e.Children.map(te ? h : g, (t) => {
|
|
3733
3767
|
if (!e.isValidElement(t)) return t;
|
|
3734
3768
|
const n = t.props;
|
|
3735
3769
|
return e.cloneElement(t, {
|
|
3736
|
-
range:
|
|
3770
|
+
range: le,
|
|
3737
3771
|
onDragEnd: (e, t) => {
|
|
3738
|
-
n.onDragEnd?.(e, t),
|
|
3772
|
+
n.onDragEnd?.(e, t), de(e);
|
|
3739
3773
|
}
|
|
3740
3774
|
});
|
|
3741
3775
|
});
|
|
3742
3776
|
return v(et, {
|
|
3743
|
-
...
|
|
3744
|
-
onPointerDown:
|
|
3745
|
-
onPointerMove:
|
|
3746
|
-
onPointerUp:
|
|
3747
|
-
onKeyDown:
|
|
3748
|
-
|
|
3777
|
+
...A,
|
|
3778
|
+
onPointerDown: F.onPointerDown,
|
|
3779
|
+
onPointerMove: F.onPointerMove,
|
|
3780
|
+
onPointerUp: F.onPointerUp,
|
|
3781
|
+
onKeyDown: L ? void 0 : (e) => {
|
|
3782
|
+
J.handleKey(e) && (e.preventDefault(), e.stopPropagation());
|
|
3749
3783
|
},
|
|
3750
3784
|
children: [
|
|
3751
|
-
v(w,
|
|
3752
|
-
|
|
3753
|
-
|
|
3785
|
+
v(w, te ? { children: [
|
|
3786
|
+
ie.map((t, n) => x(e.Fragment, { children: io(se, t) }, `other-${n}`)),
|
|
3787
|
+
io(se, le, B ? re : void 0),
|
|
3754
3788
|
x(Wt, {
|
|
3755
|
-
range:
|
|
3756
|
-
...
|
|
3789
|
+
range: re,
|
|
3790
|
+
...ae
|
|
3757
3791
|
})
|
|
3758
|
-
] } : { children: [
|
|
3759
|
-
range:
|
|
3792
|
+
] } : { children: [io(se, le, B ? re : void 0), d && x(Wt, {
|
|
3793
|
+
range: re,
|
|
3760
3794
|
...d
|
|
3761
3795
|
})] }),
|
|
3762
|
-
!
|
|
3763
|
-
range:
|
|
3796
|
+
!te && f && x(ln, {
|
|
3797
|
+
range: le,
|
|
3764
3798
|
grip: "edges",
|
|
3765
|
-
renderMove: (e) =>
|
|
3799
|
+
renderMove: (e) => se.border && x(Wt, {
|
|
3766
3800
|
range: e,
|
|
3767
|
-
...
|
|
3801
|
+
...se.border,
|
|
3768
3802
|
animatedTransition: !0,
|
|
3769
3803
|
style: { opacity: .6 }
|
|
3770
3804
|
}),
|
|
3805
|
+
onEdgeDoubleClick: D,
|
|
3771
3806
|
onDragStart: (e, t) => {
|
|
3772
|
-
m?.(e, t),
|
|
3807
|
+
m?.(e, t), H({
|
|
3773
3808
|
kind: "move",
|
|
3774
3809
|
from: e,
|
|
3775
3810
|
to: e
|
|
3776
3811
|
});
|
|
3777
3812
|
},
|
|
3778
3813
|
onDragMove: (e, t) => {
|
|
3779
|
-
y?.(
|
|
3814
|
+
y?.(le, e, t), H({
|
|
3780
3815
|
kind: "move",
|
|
3781
|
-
from:
|
|
3816
|
+
from: le,
|
|
3782
3817
|
to: e
|
|
3783
3818
|
});
|
|
3784
3819
|
},
|
|
3785
3820
|
onDragStateChange: (e) => {
|
|
3786
|
-
e || (S?.(),
|
|
3821
|
+
e || (S?.(), H(null));
|
|
3787
3822
|
},
|
|
3788
3823
|
onDragEnd: (e, t) => {
|
|
3789
|
-
p?.(
|
|
3824
|
+
p?.(le, e, t), o.modify({
|
|
3790
3825
|
rowIndex: e.rowEnd,
|
|
3791
3826
|
colIndex: e.colEnd
|
|
3792
3827
|
}, {
|
|
@@ -3795,48 +3830,52 @@ var to = (e, t) => void 0 === t ? e : null === t ? null : {
|
|
|
3795
3830
|
});
|
|
3796
3831
|
}
|
|
3797
3832
|
}),
|
|
3798
|
-
!
|
|
3799
|
-
range:
|
|
3833
|
+
!te && E && x(gn, {
|
|
3834
|
+
range: le,
|
|
3800
3835
|
snapDestination: I,
|
|
3801
|
-
...
|
|
3836
|
+
...se.border,
|
|
3802
3837
|
onDragStart: (e, t) => {
|
|
3803
|
-
R?.(e, t),
|
|
3838
|
+
R?.(e, t), H({
|
|
3804
3839
|
kind: "fill",
|
|
3805
3840
|
template: e,
|
|
3806
3841
|
destination: e
|
|
3807
3842
|
});
|
|
3808
3843
|
},
|
|
3809
3844
|
onDragMove: (e, t) => {
|
|
3810
|
-
M?.(
|
|
3845
|
+
M?.(le, e, t), H({
|
|
3811
3846
|
kind: "fill",
|
|
3812
|
-
template:
|
|
3847
|
+
template: le,
|
|
3813
3848
|
destination: e
|
|
3814
3849
|
});
|
|
3815
3850
|
},
|
|
3816
3851
|
onDragEnd: (e, t) => {
|
|
3817
|
-
C?.(
|
|
3852
|
+
C?.(le, e, t), de(e);
|
|
3818
3853
|
},
|
|
3819
3854
|
onDragDone: () => {
|
|
3820
|
-
P?.(),
|
|
3821
|
-
}
|
|
3855
|
+
P?.(), H(null);
|
|
3856
|
+
},
|
|
3857
|
+
onDoubleClick: k ? (e, t) => {
|
|
3858
|
+
const n = k(e);
|
|
3859
|
+
n && !U.isEqualRanges(n, e) && (C?.(e, n, t), de(n));
|
|
3860
|
+
} : void 0
|
|
3822
3861
|
}),
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
null !=
|
|
3826
|
-
anchor: { range: (
|
|
3827
|
-
placement:
|
|
3862
|
+
F.removePreview && io(ce, F.removePreview),
|
|
3863
|
+
he,
|
|
3864
|
+
null != ge && ue && x(kt, {
|
|
3865
|
+
anchor: { range: (fe = ue, "move" === fe.kind ? fe.to : "fill" === fe.kind ? fe.destination : fe.range) },
|
|
3866
|
+
placement: $ ?? ro,
|
|
3828
3867
|
offset: 8,
|
|
3829
3868
|
whenOff: "clamp",
|
|
3830
3869
|
open: !0,
|
|
3831
3870
|
style: { pointerEvents: "none" },
|
|
3832
|
-
children:
|
|
3871
|
+
children: ge
|
|
3833
3872
|
})
|
|
3834
3873
|
]
|
|
3835
3874
|
});
|
|
3836
|
-
var
|
|
3875
|
+
var fe;
|
|
3837
3876
|
});
|
|
3838
|
-
|
|
3839
|
-
var
|
|
3877
|
+
lo.displayName = "SelectionLayer";
|
|
3878
|
+
var io = (e, t, n, o = !1) => v(w, { children: [
|
|
3840
3879
|
e.fill && x(Wt, {
|
|
3841
3880
|
className: "fill",
|
|
3842
3881
|
animatedTransition: o,
|
|
@@ -3856,7 +3895,7 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3856
3895
|
range: t,
|
|
3857
3896
|
...e.border
|
|
3858
3897
|
})
|
|
3859
|
-
] }),
|
|
3898
|
+
] }), so = [
|
|
3860
3899
|
"#1a73e8",
|
|
3861
3900
|
"#d93025",
|
|
3862
3901
|
"#1e8e3e",
|
|
@@ -3864,13 +3903,13 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3864
3903
|
"#e37400",
|
|
3865
3904
|
"#12a4af",
|
|
3866
3905
|
"#d01884"
|
|
3867
|
-
],
|
|
3906
|
+
], ao = Array.from({ length: E }, (e, t) => `var(--sxl-color-series-${t + 1}, ${so[t]})`), co = "var(--sxl-color-primary, rgb(0, 120, 215))", uo = (e, t, n) => ({
|
|
3868
3907
|
rowStart: Math.max(n.rowStart, Math.min(e.rowIndex, t.rowIndex)),
|
|
3869
3908
|
colStart: Math.max(n.colStart, Math.min(e.colIndex, t.colIndex)),
|
|
3870
3909
|
rowEnd: Math.min(n.rowEnd, Math.max(e.rowIndex, t.rowIndex)),
|
|
3871
3910
|
colEnd: Math.min(n.colEnd, Math.max(e.colIndex, t.colIndex))
|
|
3872
|
-
}),
|
|
3873
|
-
const { selection: t, getRangeStyle: n =
|
|
3911
|
+
}), go = (e) => ({ stroke: ao.length ? ao[e % ao.length] : co }), ho = (e) => {
|
|
3912
|
+
const { selection: t, getRangeStyle: n = go, anchors: o = an, enabledMove: r, disableDraw: l, allowMulti: i = !0, size: s, animated: a, renderHandle: d, preserveFocus: u = !0, onDragActiveChange: g, rangeStyle: h = W.EmptyObject, className: m, ...w } = e, y = qe(), b = T(t, (e) => e.getSelection()), S = b.ranges ?? U.EmptyRanges, E = Math.min(Math.max(0, b.rangeIndex ?? S.length - 1), Math.max(0, S.length - 1)), [I, C] = p(null), [R, M] = p(null), [P, k] = p(!1), D = null !== R || P, z = f(g);
|
|
3874
3913
|
z.current = g, c(() => {
|
|
3875
3914
|
z.current?.(D, R);
|
|
3876
3915
|
}, [D, R]), c(() => () => {
|
|
@@ -3904,15 +3943,15 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3904
3943
|
rowIndex: S[n].rowStart,
|
|
3905
3944
|
colIndex: S[n].colStart
|
|
3906
3945
|
};
|
|
3907
|
-
return k(!0), L(n,
|
|
3908
|
-
drag: (e) => L(n,
|
|
3946
|
+
return k(!0), L(n, uo(t, e, y.getTotalRange())), {
|
|
3947
|
+
drag: (e) => L(n, uo(t, e, y.getTotalRange())),
|
|
3909
3948
|
end: () => k(!1),
|
|
3910
3949
|
captureEvents: !1
|
|
3911
3950
|
};
|
|
3912
3951
|
}
|
|
3913
3952
|
const o = (!t.ctrlKey && !t.metaKey || !i) && n >= 0 ? n : S.length;
|
|
3914
3953
|
return k(!0), L(o, U.cellToRange(e)), {
|
|
3915
|
-
drag: (t) => L(o,
|
|
3954
|
+
drag: (t) => L(o, uo(e, t, y.getTotalRange())),
|
|
3916
3955
|
end: () => k(!1),
|
|
3917
3956
|
captureEvents: !1
|
|
3918
3957
|
};
|
|
@@ -3932,7 +3971,7 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3932
3971
|
e.stopPropagation(), A.onPointerUp(e);
|
|
3933
3972
|
}
|
|
3934
3973
|
}),
|
|
3935
|
-
r && F.map((e) => x(
|
|
3974
|
+
r && F.map((e) => x(ln, {
|
|
3936
3975
|
range: S[e],
|
|
3937
3976
|
grip: "edges",
|
|
3938
3977
|
preserveFocus: u,
|
|
@@ -3945,7 +3984,7 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3945
3984
|
}, `move-${e}`)),
|
|
3946
3985
|
F.map((e) => {
|
|
3947
3986
|
const t = e === E, n = e === O, r = ((e, t, n) => {
|
|
3948
|
-
const o = e.stroke ?? h.stroke ??
|
|
3987
|
+
const o = e.stroke ?? h.stroke ?? co;
|
|
3949
3988
|
return {
|
|
3950
3989
|
...h,
|
|
3951
3990
|
...e,
|
|
@@ -3955,7 +3994,7 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3955
3994
|
...a && t ? { animatedStroke: !0 } : void 0
|
|
3956
3995
|
};
|
|
3957
3996
|
})(N[e], t, n);
|
|
3958
|
-
return x(
|
|
3997
|
+
return x(dn, {
|
|
3959
3998
|
range: S[e],
|
|
3960
3999
|
anchors: o,
|
|
3961
4000
|
size: s,
|
|
@@ -3975,8 +4014,8 @@ var lo = (e, t, n, o = !1) => v(w, { children: [
|
|
|
3975
4014
|
]
|
|
3976
4015
|
});
|
|
3977
4016
|
};
|
|
3978
|
-
|
|
3979
|
-
var
|
|
4017
|
+
ho.displayName = "RangesPickerLayer";
|
|
4018
|
+
var fo = 0, po = class {
|
|
3980
4019
|
constructor(e, t = {}) {
|
|
3981
4020
|
this.listeners = /* @__PURE__ */ new Set(), this.commitListeners = /* @__PURE__ */ new Set(), this.cancelListeners = /* @__PURE__ */ new Set(), this.editors = /* @__PURE__ */ new Set(), this.activeEditor = null, this.activeEditorId = null, this.auxState = null, this.commitFn = e.commit, this.state = {
|
|
3982
4021
|
mode: t.mode ?? "enter",
|
|
@@ -3985,7 +4024,7 @@ var ho = 0, fo = class {
|
|
|
3985
4024
|
dirty: t.dirty,
|
|
3986
4025
|
initialSelection: t.initialSelection ?? null,
|
|
3987
4026
|
autoFocus: t.autoFocus ?? !0,
|
|
3988
|
-
token: ++
|
|
4027
|
+
token: ++fo
|
|
3989
4028
|
};
|
|
3990
4029
|
}
|
|
3991
4030
|
getState() {
|
|
@@ -4090,7 +4129,7 @@ var ho = 0, fo = class {
|
|
|
4090
4129
|
notify() {
|
|
4091
4130
|
this.listeners.forEach((e) => e());
|
|
4092
4131
|
}
|
|
4093
|
-
},
|
|
4132
|
+
}, mo = (e) => e.ctrlKey || e.metaKey || e.altKey || e.isComposing ? null : "Process" === e.key || 229 === e.keyCode ? {
|
|
4094
4133
|
mode: "enter",
|
|
4095
4134
|
dirty: ""
|
|
4096
4135
|
} : 1 === e.key.length ? " " === e.key && e.shiftKey ? null : {
|
|
@@ -4099,7 +4138,7 @@ var ho = 0, fo = class {
|
|
|
4099
4138
|
} : e.shiftKey ? null : "F2" === e.key ? { mode: "edit" } : "Backspace" === e.key ? {
|
|
4100
4139
|
mode: "enter",
|
|
4101
4140
|
dirty: ""
|
|
4102
|
-
} : null,
|
|
4141
|
+
} : null, wo = (e, t) => {
|
|
4103
4142
|
const n = f(null);
|
|
4104
4143
|
return u(() => {
|
|
4105
4144
|
const t = n.current;
|
|
@@ -4107,7 +4146,7 @@ var ho = 0, fo = class {
|
|
|
4107
4146
|
}, [t]), z((e) => {
|
|
4108
4147
|
n.current = e;
|
|
4109
4148
|
}, []);
|
|
4110
|
-
},
|
|
4149
|
+
}, xo = (e) => {
|
|
4111
4150
|
const { mode: t, value: n, onDirtyChange: o, onModeChange: r, onCommit: l, onCancel: i, onNavigate: s, onTraverse: a, setCaret: c } = e;
|
|
4112
4151
|
return z((e) => {
|
|
4113
4152
|
const d = e.nativeEvent;
|
|
@@ -4153,7 +4192,7 @@ var ho = 0, fo = class {
|
|
|
4153
4192
|
a,
|
|
4154
4193
|
c
|
|
4155
4194
|
]);
|
|
4156
|
-
},
|
|
4195
|
+
}, vo = class {
|
|
4157
4196
|
constructor(e, t, n) {
|
|
4158
4197
|
this.current = null, this.listeners = /* @__PURE__ */ new Set(), this.anchor = e, this.createEdit = t, this.revertAnchor = n?.revertAnchor, this.unsubscribeAnchor = e.subscribe(() => this.onAnchorChange());
|
|
4159
4198
|
}
|
|
@@ -4175,7 +4214,7 @@ var ho = 0, fo = class {
|
|
|
4175
4214
|
}
|
|
4176
4215
|
startEdit(e, t = {}) {
|
|
4177
4216
|
const n = this.createEdit(e);
|
|
4178
|
-
return !!n && (this.current = new
|
|
4217
|
+
return !!n && (this.current = new po({
|
|
4179
4218
|
coords: e,
|
|
4180
4219
|
...n
|
|
4181
4220
|
}, t), this.notify(), !0);
|
|
@@ -4194,7 +4233,7 @@ var ho = 0, fo = class {
|
|
|
4194
4233
|
notify() {
|
|
4195
4234
|
this.listeners.forEach((e) => e());
|
|
4196
4235
|
}
|
|
4197
|
-
},
|
|
4236
|
+
}, yo = (e, t, n, o = "left", r = 0) => {
|
|
4198
4237
|
if (!t) return null;
|
|
4199
4238
|
const l = e.getRangeFromCell(t), i = e.getBoundsFromRange(l);
|
|
4200
4239
|
if (!i) return null;
|
|
@@ -4216,7 +4255,7 @@ var ho = 0, fo = class {
|
|
|
4216
4255
|
},
|
|
4217
4256
|
inView: s
|
|
4218
4257
|
};
|
|
4219
|
-
},
|
|
4258
|
+
}, bo = 96 / 72 * 11, So = "Calibri, sans-serif", Eo = (e) => {
|
|
4220
4259
|
const { open: t, mode: n, clean: o, dirty: r, token: l, autoFocus: i, initialSelection: s, zoom: a, readOnly: c, onDirtyChange: d, onModeChange: g, onCommit: h, onCancel: p, onNaturalSize: m } = e, y = r ?? o ?? "", b = f(null), S = f(null), E = f(0);
|
|
4221
4260
|
u(() => {
|
|
4222
4261
|
if (!t || !i) return;
|
|
@@ -4241,14 +4280,14 @@ var ho = 0, fo = class {
|
|
|
4241
4280
|
height: e.offsetHeight
|
|
4242
4281
|
});
|
|
4243
4282
|
}, [y, m]);
|
|
4244
|
-
const I =
|
|
4283
|
+
const I = xo({
|
|
4245
4284
|
mode: n,
|
|
4246
4285
|
value: y,
|
|
4247
4286
|
onDirtyChange: d,
|
|
4248
4287
|
onModeChange: g,
|
|
4249
4288
|
onCommit: h,
|
|
4250
4289
|
onCancel: p,
|
|
4251
|
-
setCaret:
|
|
4290
|
+
setCaret: wo(b, y)
|
|
4252
4291
|
});
|
|
4253
4292
|
return v(w, { children: [x("textarea", {
|
|
4254
4293
|
ref: b,
|
|
@@ -4268,8 +4307,8 @@ var ho = 0, fo = class {
|
|
|
4268
4307
|
resize: "none",
|
|
4269
4308
|
overflow: "hidden",
|
|
4270
4309
|
background: "transparent",
|
|
4271
|
-
fontFamily:
|
|
4272
|
-
fontSize:
|
|
4310
|
+
fontFamily: So,
|
|
4311
|
+
fontSize: bo * a + "px",
|
|
4273
4312
|
lineHeight: 1.2,
|
|
4274
4313
|
whiteSpace: "pre",
|
|
4275
4314
|
userSelect: "text"
|
|
@@ -4289,21 +4328,21 @@ var ho = 0, fo = class {
|
|
|
4289
4328
|
visibility: "hidden",
|
|
4290
4329
|
pointerEvents: "none",
|
|
4291
4330
|
whiteSpace: "pre",
|
|
4292
|
-
fontFamily:
|
|
4293
|
-
fontSize: `${
|
|
4331
|
+
fontFamily: So,
|
|
4332
|
+
fontSize: `${bo}px`,
|
|
4294
4333
|
lineHeight: 1.2
|
|
4295
4334
|
},
|
|
4296
4335
|
children: 0 === y.length ? " " : y
|
|
4297
4336
|
})] });
|
|
4298
4337
|
};
|
|
4299
|
-
function
|
|
4338
|
+
function Io(e) {
|
|
4300
4339
|
const { editable: t, renderEditor: n, alignment: o = "left", background: r = "var(--sxl-color-base-100, rgb(255, 255, 255))", borderColor: l = "var(--sxl-color-primary, rgb(33, 115, 70))", borderWidth: i = 2, zIndex: s, className: a, style: d, ...u } = e, g = Ze(), h = T(t, (e) => e.getSession()), f = B(h, (e) => e.getState()), [m, w] = p(null), v = z((e) => {
|
|
4301
4340
|
w((t) => t && t.width === e.width && t.height === e.height ? t : e);
|
|
4302
4341
|
}, []), y = z((e) => {
|
|
4303
4342
|
if (t.getSession()) return;
|
|
4304
4343
|
const n = t.getAnchor().getCoords();
|
|
4305
4344
|
if (!n) return;
|
|
4306
|
-
const o =
|
|
4345
|
+
const o = mo(e.nativeEvent);
|
|
4307
4346
|
o && ("Process" !== e.nativeEvent.key && 229 !== e.nativeEvent.keyCode && e.preventDefault(), e.stopPropagation(), t.startEdit(n, o));
|
|
4308
4347
|
}, [t]), b = z((e) => {
|
|
4309
4348
|
if (t.getSession()) return;
|
|
@@ -4328,7 +4367,7 @@ function Eo(e) {
|
|
|
4328
4367
|
rowEnd: e.rowStart,
|
|
4329
4368
|
colEnd: e.colStart
|
|
4330
4369
|
})), f) {
|
|
4331
|
-
const e =
|
|
4370
|
+
const e = yo(g, I, m, o, i);
|
|
4332
4371
|
C = e?.bounds ?? null, R = e?.inView ?? !1;
|
|
4333
4372
|
} else C = g.getBoundsFromRange(e);
|
|
4334
4373
|
}
|
|
@@ -4376,11 +4415,11 @@ function Eo(e) {
|
|
|
4376
4415
|
opacity: k ? 1 : 0,
|
|
4377
4416
|
pointerEvents: k ? "auto" : "none"
|
|
4378
4417
|
},
|
|
4379
|
-
children: n ? n(D) : x(
|
|
4418
|
+
children: n ? n(D) : x(Eo, { ...D })
|
|
4380
4419
|
}) : null
|
|
4381
4420
|
});
|
|
4382
4421
|
}
|
|
4383
|
-
function
|
|
4422
|
+
function Co(e) {
|
|
4384
4423
|
const { editable: t, renderEditor: n, idleClean: o = null, mapClean: r, editorId: l, readOnly: i, className: s, style: a } = e, c = T(t, (e) => e.getSession()), d = B(c, (e) => e.getState()), u = d?.clean ?? o, g = r ? r(u) : u, h = z((e) => t.commit(e), [t]), f = z(() => t.cancel(), [t]), p = z(() => {
|
|
4385
4424
|
i || (t.getSession() || t.startEdit(t.getAnchor().getCoords(), {
|
|
4386
4425
|
mode: "edit",
|
|
@@ -4410,11 +4449,11 @@ function Io(e) {
|
|
|
4410
4449
|
className: s,
|
|
4411
4450
|
style: a,
|
|
4412
4451
|
onFocus: p,
|
|
4413
|
-
children: n ? n(m) : x(
|
|
4452
|
+
children: n ? n(m) : x(Eo, { ...m })
|
|
4414
4453
|
});
|
|
4415
4454
|
}
|
|
4416
|
-
|
|
4417
|
-
var
|
|
4455
|
+
Eo.displayName = "DefaultEditorInput", Co.displayName = "EditorDiv";
|
|
4456
|
+
var Ro = "ew-resize", Mo = "ns-resize", Po = i(r((e, t) => {
|
|
4418
4457
|
const { axis: n, index: o, className: r, style: l, disabled: i = !1, disabledResize: s = !1, isNextHidden: a, isHidden: c, isSelected: d, isSelectedAll: u, showTouchDivider: g, bounds: h, onPointerDown: f, onAutoFit: p, ...m } = e, w = qe(), y = n === G.Column, b = 1 / S.getDevicePixelRatio(), E = d || u, I = E ? "color-mix(in srgb, var(--sxl-color-primary, rgb(33, 115, 70)) 35%, var(--sxl-color-base-300, rgb(171, 171, 171)))" : "var(--sxl-color-base-300, rgb(171, 171, 171))", C = "var(--sxl-color-base-100, #f5f5f5)", R = "touch" === S.detectIt().primaryInput;
|
|
4419
4458
|
let M = y ? 14 : 8;
|
|
4420
4459
|
const P = w.getZoom();
|
|
@@ -4435,7 +4474,7 @@ var Co = "ew-resize", Ro = "ns-resize", Mo = i(r((e, t) => {
|
|
|
4435
4474
|
position: "absolute",
|
|
4436
4475
|
overflow: "visible",
|
|
4437
4476
|
pointerEvents: "auto",
|
|
4438
|
-
cursor: i || s || R ? void 0 : y ?
|
|
4477
|
+
cursor: i || s || R ? void 0 : y ? Ro : Mo,
|
|
4439
4478
|
...l
|
|
4440
4479
|
},
|
|
4441
4480
|
...m,
|
|
@@ -4479,8 +4518,8 @@ var Co = "ew-resize", Ro = "ns-resize", Mo = i(r((e, t) => {
|
|
|
4479
4518
|
} })
|
|
4480
4519
|
}) : null]
|
|
4481
4520
|
});
|
|
4482
|
-
})),
|
|
4483
|
-
const { axis: n, index: o, disabled: r = !1, disabledResize: l = !1, resizeThreshold: i = 1, renderDivider: s =
|
|
4521
|
+
})), ko = (e) => x(Po, { ...e }), Do = i(r((e, t) => {
|
|
4522
|
+
const { axis: n, index: o, disabled: r = !1, disabledResize: l = !1, resizeThreshold: i = 1, renderDivider: s = ko, onDividerMouseDown: a, onDividerResizeStart: c, onDividerResize: d, onDividerResizeEnd: u, onDividerMouseUp: g, onDividerAutoFit: h, onPointerDown: m, ...y } = e, b = qe(), E = z(m, [m]), I = z(h, [h]), C = n === G.Column;
|
|
4484
4523
|
let R = C ? b.getVisibleColumns() : b.getVisibleRows(), M = null;
|
|
4485
4524
|
R.length > 0 && (M = C ? b.getBoundsFromRange({
|
|
4486
4525
|
rowStart: 0,
|
|
@@ -4546,7 +4585,7 @@ var Co = "ew-resize", Ro = "ns-resize", Mo = i(r((e, t) => {
|
|
|
4546
4585
|
let K = null;
|
|
4547
4586
|
return k && k.isResizing && k.index === o && (K = Y(x("div", { style: {
|
|
4548
4587
|
position: "absolute",
|
|
4549
|
-
cursor: C ?
|
|
4588
|
+
cursor: C ? Ro : Mo,
|
|
4550
4589
|
left: 0,
|
|
4551
4590
|
top: 0,
|
|
4552
4591
|
width: "100%",
|
|
@@ -4566,26 +4605,26 @@ var Co = "ew-resize", Ro = "ns-resize", Mo = i(r((e, t) => {
|
|
|
4566
4605
|
children: U
|
|
4567
4606
|
})] });
|
|
4568
4607
|
}));
|
|
4569
|
-
|
|
4570
|
-
var
|
|
4608
|
+
Do.displayName = "HeaderDividerAnchor";
|
|
4609
|
+
var To = (e, t, n) => t === G.Column ? {
|
|
4571
4610
|
rowIndex: n.rowStart,
|
|
4572
4611
|
colIndex: e.colIndex
|
|
4573
4612
|
} : {
|
|
4574
4613
|
rowIndex: e.rowIndex,
|
|
4575
4614
|
colIndex: n.colStart
|
|
4576
|
-
},
|
|
4615
|
+
}, zo = (e, t, n) => t === G.Column ? {
|
|
4577
4616
|
rowIndex: n.rowEnd,
|
|
4578
4617
|
colIndex: e.colIndex
|
|
4579
4618
|
} : {
|
|
4580
4619
|
rowIndex: e.rowIndex,
|
|
4581
4620
|
colIndex: n.colEnd
|
|
4582
|
-
},
|
|
4621
|
+
}, Oo = (e, t, n) => t === G.Column ? {
|
|
4583
4622
|
rowIndex: n.rowStart,
|
|
4584
4623
|
colIndex: e.colIndex
|
|
4585
4624
|
} : {
|
|
4586
4625
|
rowIndex: e.rowIndex,
|
|
4587
4626
|
colIndex: n.colStart
|
|
4588
|
-
},
|
|
4627
|
+
}, $o = (e, t, n, o) => n === G.Column ? {
|
|
4589
4628
|
rowStart: o.rowStart,
|
|
4590
4629
|
rowEnd: o.rowEnd,
|
|
4591
4630
|
colStart: Math.min(e.colIndex, t.colIndex),
|
|
@@ -4595,7 +4634,7 @@ var Do = (e, t, n) => t === G.Column ? {
|
|
|
4595
4634
|
colEnd: o.colEnd,
|
|
4596
4635
|
rowStart: Math.min(e.rowIndex, t.rowIndex),
|
|
4597
4636
|
rowEnd: Math.max(e.rowIndex, t.rowIndex)
|
|
4598
|
-
},
|
|
4637
|
+
}, Lo = (e, t, n) => {
|
|
4599
4638
|
let o = null, r = null, l = 0;
|
|
4600
4639
|
const i = () => t.getAllPanes()[_.Center] ?? t, s = (t, n, o) => {
|
|
4601
4640
|
if (!e) return;
|
|
@@ -4638,7 +4677,7 @@ var Do = (e, t, n) => t === G.Column ? {
|
|
|
4638
4677
|
let s = null;
|
|
4639
4678
|
return t === G.Column ? e.x >= r.right - 24 && l.colEnd < o.colEnd ? s = { colIndex: l.colEnd + 1 } : e.x <= r.left + 24 && l.colStart > o.colStart && (s = { colIndex: l.colStart - 1 }) : e.y >= r.bottom - 24 && l.rowEnd < o.rowEnd ? s = { rowIndex: l.rowEnd + 1 } : e.y <= r.top + 24 && l.rowStart > o.rowStart && (s = { rowIndex: l.rowStart - 1 }), !!s && (c(s), !0);
|
|
4640
4679
|
}, u = (e) => {
|
|
4641
|
-
const { axis: t, entireRange: c, replaceActive: d = !1 } = n(), u =
|
|
4680
|
+
const { axis: t, entireRange: c, replaceActive: d = !1 } = n(), u = $o(o ?? e, e, t, c), g = r ?? Oo(e, t, i().getVisibleRange());
|
|
4642
4681
|
d ? a(l, u, g) : s(u, g, "replace");
|
|
4643
4682
|
};
|
|
4644
4683
|
return Yt(t, (t, g) => {
|
|
@@ -4648,11 +4687,11 @@ var Do = (e, t, n) => t === G.Column ? {
|
|
|
4648
4687
|
const { axis: p, entireRange: m, allowMulti: w = !0, replaceActive: x = !1, preserveFocus: v = !1, onPointerDownInterceptor: y, onDragStart: b, onDragEnd: S, onPointerUp: E } = n();
|
|
4649
4688
|
if (!1 === y?.(g, t)) return null;
|
|
4650
4689
|
x && g.stopPropagation(), v && h && g.preventDefault(), b?.();
|
|
4651
|
-
const I =
|
|
4690
|
+
const I = Oo(t, p, i().getVisibleRange()), C = g.shiftKey, R = (g.ctrlKey || g.metaKey) && w;
|
|
4652
4691
|
if (x) {
|
|
4653
4692
|
const n = e.getSelection(), i = n.ranges ?? [], s = n.rangeIndex ?? -1;
|
|
4654
|
-
C && o ? (l = s >= 0 ? s : Math.max(0, i.length - 1), a(l,
|
|
4655
|
-
} else C && o ? s(
|
|
4693
|
+
C && o ? (l = s >= 0 ? s : Math.max(0, i.length - 1), a(l, $o(o, t, p, m), r ?? I)) : (o = t, r = I, l = R || s < 0 ? i.length : s, a(l, $o(t, t, p, m), I));
|
|
4694
|
+
} else C && o ? s($o(o, t, p, m), r ?? I, "replace") : R ? (o = t, r = I, s($o(t, t, p, m), I, "append")) : (o = t, r = I, s($o(t, t, p, m), I, "clear"));
|
|
4656
4695
|
return ((e) => {
|
|
4657
4696
|
c(n().axis === G.Column ? { colIndex: e.colIndex } : { rowIndex: e.rowIndex });
|
|
4658
4697
|
})(t), {
|
|
@@ -4665,16 +4704,16 @@ var Do = (e, t, n) => t === G.Column ? {
|
|
|
4665
4704
|
captureEvents: x
|
|
4666
4705
|
};
|
|
4667
4706
|
});
|
|
4668
|
-
},
|
|
4707
|
+
}, Bo = (e, t) => {
|
|
4669
4708
|
const n = qe(), o = f(t);
|
|
4670
4709
|
o.current = t;
|
|
4671
|
-
const r = g(() =>
|
|
4710
|
+
const r = g(() => Lo(e, n, () => o.current), [e, n]);
|
|
4672
4711
|
return c(() => () => r.dispose(), [r]), {
|
|
4673
4712
|
onPointerDown: r.onPointerDown,
|
|
4674
4713
|
onPointerMove: r.onPointerMove,
|
|
4675
4714
|
onPointerUp: r.onPointerUp
|
|
4676
4715
|
};
|
|
4677
|
-
},
|
|
4716
|
+
}, Ao = (e) => null == e ? [] : Array.isArray(e) ? e : [e], No = i(r((e, t) => {
|
|
4678
4717
|
const { rowCount: n = 1, columnCount: o = 1, getRowHeight: r, getColumnWidth: l, metrics: i, renderCells: a, renderBorders: c, showGridLines: d = !0, gridLineColor: u, propsGridLineRows: f, propsGridLineColumns: p, getVisibleCells: m, hiddenCellAt: w, renderBelow: v, children: y, ...b } = e, S = oe({
|
|
4679
4718
|
rowCount: n,
|
|
4680
4719
|
columnCount: o,
|
|
@@ -4684,19 +4723,19 @@ var Do = (e, t, n) => t === G.Column ? {
|
|
|
4684
4723
|
C();
|
|
4685
4724
|
}, []), P = L(t, () => ({ invalidate: M }), [M]), k = g(() => {
|
|
4686
4725
|
const e = [];
|
|
4687
|
-
return !1 !== d && e.push(x(
|
|
4726
|
+
return !1 !== d && e.push(x(On, {
|
|
4688
4727
|
showGridLines: d,
|
|
4689
4728
|
gridLineColor: u,
|
|
4690
4729
|
propsRows: f,
|
|
4691
4730
|
propsColumns: p,
|
|
4692
4731
|
getVisibleCells: m,
|
|
4693
4732
|
hiddenCellAt: w
|
|
4694
|
-
}, "__gridlines")), e.push(...
|
|
4733
|
+
}, "__gridlines")), e.push(...Ao(v)), e.push(...Ao(c)), a && e.push(x(In, {
|
|
4695
4734
|
renderCell: a,
|
|
4696
4735
|
getVisibleCells: m,
|
|
4697
4736
|
hiddenCellAt: w,
|
|
4698
4737
|
cacheToken: R
|
|
4699
|
-
}, "__cells")), e.push(...
|
|
4738
|
+
}, "__cells")), e.push(...Ao(y)), e;
|
|
4700
4739
|
}, [
|
|
4701
4740
|
d,
|
|
4702
4741
|
u,
|
|
@@ -4719,17 +4758,17 @@ var Do = (e, t, n) => t === G.Column ? {
|
|
|
4719
4758
|
children: k
|
|
4720
4759
|
});
|
|
4721
4760
|
}));
|
|
4722
|
-
|
|
4723
|
-
var
|
|
4761
|
+
No.displayName = "Grid";
|
|
4762
|
+
var Fo = {
|
|
4724
4763
|
fill: { fill: "color-mix(in srgb, var(--sxl-color-primary, rgb(0, 120, 215)) 14%, transparent)" },
|
|
4725
4764
|
border: null,
|
|
4726
4765
|
inner: null
|
|
4727
|
-
},
|
|
4766
|
+
}, Vo = {
|
|
4728
4767
|
stroke: "var(--sxl-color-primary, rgb(0, 120, 215))",
|
|
4729
4768
|
alignWidth: 1,
|
|
4730
4769
|
inset: 1
|
|
4731
|
-
},
|
|
4732
|
-
const { itemCount: n, renderItem: o, itemHeight: r = 24, selection: l, onKeyDown: i, cacheToken: a, className: c, style: d, children: u, ...h } = e, f = L(t, () => ({ isList: () => !0 }), []), p = g(() => new M(), []), m = g(() => new
|
|
4770
|
+
}, Ho = r(function(e, t) {
|
|
4771
|
+
const { itemCount: n, renderItem: o, itemHeight: r = 24, selection: l, onKeyDown: i, cacheToken: a, className: c, style: d, children: u, ...h } = e, f = L(t, () => ({ isList: () => !0 }), []), p = g(() => new M(), []), m = g(() => new Bn({ getBounds: () => ({
|
|
4733
4772
|
rowStart: 0,
|
|
4734
4773
|
colStart: 0,
|
|
4735
4774
|
rowEnd: Math.max(0, n - 1),
|
|
@@ -4791,14 +4830,14 @@ var No = {
|
|
|
4791
4830
|
columnCount: 1,
|
|
4792
4831
|
metrics: S,
|
|
4793
4832
|
children: [
|
|
4794
|
-
x(
|
|
4833
|
+
x(lo, {
|
|
4795
4834
|
selection: w,
|
|
4796
4835
|
anchorHole: !1,
|
|
4797
|
-
singleStyle:
|
|
4798
|
-
singleAnchorStyle:
|
|
4799
|
-
multiAnchorStyle:
|
|
4836
|
+
singleStyle: Fo,
|
|
4837
|
+
singleAnchorStyle: Vo,
|
|
4838
|
+
multiAnchorStyle: Vo
|
|
4800
4839
|
}, "__selection"),
|
|
4801
|
-
x(
|
|
4840
|
+
x(In, {
|
|
4802
4841
|
renderCell: E,
|
|
4803
4842
|
cacheToken: a
|
|
4804
4843
|
}, "__cells"),
|
|
@@ -4808,7 +4847,7 @@ var No = {
|
|
|
4808
4847
|
})
|
|
4809
4848
|
})
|
|
4810
4849
|
});
|
|
4811
|
-
}),
|
|
4850
|
+
}), _o = (e, t) => x("input", {
|
|
4812
4851
|
type: "checkbox",
|
|
4813
4852
|
checked: e,
|
|
4814
4853
|
ref: (e) => {
|
|
@@ -4817,8 +4856,8 @@ var No = {
|
|
|
4817
4856
|
readOnly: !0,
|
|
4818
4857
|
tabIndex: -1,
|
|
4819
4858
|
style: { margin: 0 }
|
|
4820
|
-
}),
|
|
4821
|
-
const { itemCount: n, isChecked: o, onCheckedChange: r, renderValue: l, renderCheckbox: i =
|
|
4859
|
+
}), Wo = r(function(e, t) {
|
|
4860
|
+
const { itemCount: n, isChecked: o, onCheckedChange: r, renderValue: l, renderCheckbox: i = _o, renderDivider: a, selectAllLabel: c, itemHeight: d, selection: u, cacheToken: h, className: f, style: p, children: m, ...y } = e, b = L(t, () => ({ isCheckboxList: () => !0 }), []), S = g(() => new Bn({ getBounds: () => ({
|
|
4822
4861
|
rowStart: 0,
|
|
4823
4862
|
colStart: 0,
|
|
4824
4863
|
rowEnd: Math.max(0, n - 1),
|
|
@@ -4912,7 +4951,7 @@ var No = {
|
|
|
4912
4951
|
},
|
|
4913
4952
|
children: i(R, M)
|
|
4914
4953
|
}), c]
|
|
4915
|
-
}), a?.()] }), x(
|
|
4954
|
+
}), a?.()] }), x(Ho, {
|
|
4916
4955
|
itemCount: n,
|
|
4917
4956
|
itemHeight: d,
|
|
4918
4957
|
selection: E,
|
|
@@ -4925,13 +4964,13 @@ var No = {
|
|
|
4925
4964
|
}
|
|
4926
4965
|
})]
|
|
4927
4966
|
});
|
|
4928
|
-
}),
|
|
4967
|
+
}), Uo = {
|
|
4929
4968
|
light: {},
|
|
4930
4969
|
dark: {
|
|
4931
4970
|
"color-base-100": "#1e1e1e",
|
|
4932
4971
|
"color-base-300": "#3a3a3a"
|
|
4933
4972
|
}
|
|
4934
|
-
},
|
|
4973
|
+
}, Ko = {
|
|
4935
4974
|
light: {
|
|
4936
4975
|
"color-base-100": "#f2f2f2",
|
|
4937
4976
|
"color-base-hover": "#ececec",
|
|
@@ -4942,7 +4981,7 @@ var No = {
|
|
|
4942
4981
|
"color-base-hover": "#2e2e2e",
|
|
4943
4982
|
"color-base-300": "#4a4a4a"
|
|
4944
4983
|
}
|
|
4945
|
-
},
|
|
4984
|
+
}, jo = (e, ...t) => D(e, Uo[e], ...t), Go = (e, ...t) => D(e, Ko[e], ...t), Xo = ({ app: e, grid: t = Uo, header: n = Ko, layer: o = "sxl-defaults", scope: r } = {}) => {
|
|
4946
4985
|
const l = e ?? k, i = Object.fromEntries(Object.keys(n).map((e) => [e, {
|
|
4947
4986
|
"color-base-100": l[e]?.["color-base-200"],
|
|
4948
4987
|
...n[e]
|
|
@@ -4957,4 +4996,4 @@ var No = {
|
|
|
4957
4996
|
scope: r
|
|
4958
4997
|
});
|
|
4959
4998
|
};
|
|
4960
|
-
export { Kt as AUTO_SCROLL_INTERVAL_MS,
|
|
4999
|
+
export { Kt as AUTO_SCROLL_INTERVAL_MS, In as CellLayer, En as CellTileDiv, Wo as CheckboxList, jn as DEFAULT_ANCHOR_STYLE, _t as DEFAULT_HANDLE_STYLE, Kn as DEFAULT_MULTI_STYLE, Gn as DEFAULT_REMOVE_PREVIEW_STYLE, Un as DEFAULT_SINGLE_STYLE, hn as DefaultCellRenderer, vo as DefaultEditable, Eo as DefaultEditorInput, Po as DefaultHeaderDivider, Bn as DefaultSelection, en as DragHandle, ln as Draggable, jt as EDGE_AUTO_SCROLL_MARGIN_PX, po as EditSession, Co as EditorDiv, Io as EditorLayer, gn as FillHandle, Uo as GRID_SURFACE, No as Grid, Fe as GridSurface, On as GridlineLayer, Ko as HEADER_SURFACE, Do as HeaderDividerAnchor, Ot as HoverTipLayer, et as Layer, ie as LineSVG, Ho as List, ao as PICKER_COLORS, an as RESIZE_ANCHORS_4, cn as RESIZE_ANCHORS_8, Ht as RangePrompt, Wt as RangeRect, dn as RangeResizer, ho as RangesPickerLayer, se as RectangleSVG, Ln as SELECTION_CLIP_INSETS, lo as SelectionLayer, Yn as SelectionTouchGrips, re as ShapeBoundsContext, Et as StickyAnchor, kt as StickyFloat, Be as SurfaceStateContext, Ae as SurfaceStateProvider, lt as VirtualDiv, Xo as buildGridThemeCSS, ne as createAxis, Yt as createDragCells, Lo as createHeaderSelectionPointer, Le as createSurfaceStateStore, qt as createWindowDragCells, go as defaultRangeStyle, Gt as edgeScrollPane, yo as expandEditorBounds, jo as gridThemeVars, Oo as headerAnchorCell, zo as headerEntireEnd, To as headerEntireStart, $o as headerRange, Go as headerThemeVars, mo as startEventFromKey, Zt as useDragCells, xo as useEditorKeymap, Rt as useGridFloatTheme, oe as useGridMetrics, qe as useGridPane, Ze as useGridPaneOptional, Bo as useHeaderSelectionPointer, Tt as useHoverIntent, Qe as useLayer, wo as usePendingCaret, zt as useRangeHover, Xn as useSelectionPointer, le as useShapeBounds, bt as useSticky, St as useStickyOptional, Je as useSurfaceState, Jt as useWindowDragCells };
|