@synopackageland/ui 0.25.14 → 0.25.16
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/CHANGELOG.md +24 -1
- package/README.md +24 -2
- package/dist/components/app/app-layout/pageTitle.d.ts +6 -0
- package/dist/components/app/app-layout/shellBack.d.ts +4 -4
- package/dist/components/composite/data-grid/DataGrid.vue.d.ts +6 -0
- package/dist/components/composite/expand-all/ExpandAllButtons.vue.d.ts +30 -0
- package/dist/components/composite/expand-all/expandAll.d.ts +12 -0
- package/dist/components/composite/tag-picker/TagPicker.vue.d.ts +77 -0
- package/dist/components/composite/tag-picker/TagPickerList.vue.d.ts +56 -0
- package/dist/components/composite/tag-picker/tagPicker.d.ts +44 -0
- package/dist/grid.js +291 -210
- package/dist/i18n/text.d.ts +10 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +12654 -11957
- package/dist/json-preview/preview.js +4908 -4798
- package/dist/lib/nativeShell.d.ts +37 -5
- package/dist/reka-runtime.json +1 -1
- package/dist/theme.css +1 -1
- package/dist/themes/dsm7-embedded-theme.css +1 -1
- package/dist/themes/dsm7-embedded.css +1 -1
- package/dist/themes/dsm7.css +1 -1
- package/docs/adaptive-layout.md +40 -10
- package/docs/component-defaults.md +2 -0
- package/docs/theme-hooks.md +3 -0
- package/package.json +1 -1
package/dist/grid.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! @synopackageland/ui/grid: MIT, Copyright (c) 2023-2025 Teable, Inc. and Copyright (c) 2019-present Baserow B.V. in parts; see LICENSES/source-notices.md */
|
|
2
|
-
import { watch as ue, toValue as to, getCurrentScope as
|
|
2
|
+
import { watch as ue, toValue as to, getCurrentScope as Xo, onScopeDispose as no, shallowRef as ce, defineComponent as Yo, useId as jo, ref as xe, computed as _, onMounted as Qo, onBeforeUnmount as Zo, openBlock as pe, createElementBlock as Ce, unref as J, createElementVNode as ee, toDisplayString as we, normalizeStyle as Be, Fragment as Jo, renderList as ei, createCommentVNode as Oe, renderSlot as hn, createTextVNode as ti, inject as ni } from "vue";
|
|
3
3
|
import { useUiText as oi } from "./index.js";
|
|
4
|
-
var H = /* @__PURE__ */ ((e) => (e.Rows = "Rows", e.Columns = "Columns", e.Cells = "Cells", e.None = "None", e))(H || {}), x = /* @__PURE__ */ ((e) => (e.Cell = "Cell", e.ActiveCell = "ActiveCell", e.AppendRow = "AppendRow", e.AppendColumn = "AppendColumn", e.ColumnHeader = "ColumnHeader", e.ColumnHeaderMenu = "ColumnHeaderMenu", e.ColumnPrimaryIcon = "ColumnPrimaryIcon", e.ColumnDescription = "ColumnDescription", e.ColumnResizeHandler = "ColumnResizeHandler", e.ColumnFreezeHandler = "ColumnFreezeHandler", e.RowHeaderDragHandler = "RowHeaderDragHandler", e.RowHeaderExpandHandler = "RowHeaderExpandHandler", e.RowHeaderCheckbox = "RowHeaderCheckbox", e.RowGroupControl = "RowGroupControl", e.RowGroupHeader = "RowGroupHeader", e.RowHeader = "RowHeader", e.AllCheckbox = "AllCheckbox", e.FillHandler = "FillHandler", e.Blank = "Blank", e.None = "None", e))(x || {}), O = /* @__PURE__ */ ((e) => (e.Rows = "Rows", e.Columns = "Columns", e.None = "None", e))(O || {}),
|
|
4
|
+
var H = /* @__PURE__ */ ((e) => (e.Rows = "Rows", e.Columns = "Columns", e.Cells = "Cells", e.None = "None", e))(H || {}), x = /* @__PURE__ */ ((e) => (e.Cell = "Cell", e.ActiveCell = "ActiveCell", e.AppendRow = "AppendRow", e.AppendColumn = "AppendColumn", e.ColumnHeader = "ColumnHeader", e.ColumnHeaderMenu = "ColumnHeaderMenu", e.ColumnPrimaryIcon = "ColumnPrimaryIcon", e.ColumnDescription = "ColumnDescription", e.ColumnResizeHandler = "ColumnResizeHandler", e.ColumnFreezeHandler = "ColumnFreezeHandler", e.RowHeaderDragHandler = "RowHeaderDragHandler", e.RowHeaderExpandHandler = "RowHeaderExpandHandler", e.RowHeaderCheckbox = "RowHeaderCheckbox", e.RowGroupControl = "RowGroupControl", e.RowGroupHeader = "RowGroupHeader", e.RowHeader = "RowHeader", e.AllCheckbox = "AllCheckbox", e.FillHandler = "FillHandler", e.Blank = "Blank", e.None = "None", e))(x || {}), O = /* @__PURE__ */ ((e) => (e.Rows = "Rows", e.Columns = "Columns", e.None = "None", e))(O || {}), X = /* @__PURE__ */ ((e) => (e.Spacer = "Spacer", e.Drag = "Drag", e.Expand = "Expand", e.Checkbox = "Checkbox", e))(X || {}), de = /* @__PURE__ */ ((e) => (e.All = "all", e.None = "none", e.Column = "column", e.Row = "row", e))(de || {}), $ = /* @__PURE__ */ ((e) => (e.All = "all", e.None = "none", e.Column = "column", e.Row = "row", e.Cell = "cell", e))($ || {}), se = /* @__PURE__ */ ((e) => (e[e.Group = 0] = "Group", e[e.Row = 1] = "Row", e[e.Append = 2] = "Append", e))(se || {});
|
|
5
5
|
const Wt = (e) => ({ type: 1, displayIndex: e + 1, realIndex: e }), oo = (e) => e;
|
|
6
6
|
var Q = /* @__PURE__ */ ((e) => (e.Row = "Row", e.Column = "Column", e))(Q || {});
|
|
7
7
|
const B = {
|
|
@@ -102,32 +102,32 @@ const rt = "…", mn = new ct(1e3), gn = new ct(1e3), io = () => ({
|
|
|
102
102
|
let I = 0;
|
|
103
103
|
const k = (M, E) => {
|
|
104
104
|
C.push({ text: M, width: E, start: v });
|
|
105
|
-
}, P = (M, E,
|
|
106
|
-
p === "" && (v =
|
|
105
|
+
}, P = (M, E, N) => {
|
|
106
|
+
p === "" && (v = N), p += M, w += E;
|
|
107
107
|
}, A = (M, E = 0) => {
|
|
108
|
-
const
|
|
109
|
-
if (w >
|
|
110
|
-
const W = ro(e, p,
|
|
108
|
+
const N = a - S;
|
|
109
|
+
if (w > N) {
|
|
110
|
+
const W = ro(e, p, N);
|
|
111
111
|
p = W.text, w = W.width;
|
|
112
112
|
} else if (M) {
|
|
113
113
|
let W = E;
|
|
114
114
|
for (const { segment: K } of Ht.segment(M)) {
|
|
115
115
|
const G = e.measureText(K).width;
|
|
116
|
-
if (w + G >
|
|
116
|
+
if (w + G > N) break;
|
|
117
117
|
P(K, G, W), W += K.length;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
k(p + rt, w + S), p = "", w = 0;
|
|
121
|
-
},
|
|
121
|
+
}, L = (M, E, N) => {
|
|
122
122
|
if (w + E <= a) {
|
|
123
|
-
P(M, E,
|
|
123
|
+
P(M, E, N);
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
126
|
if (E <= a) {
|
|
127
|
-
C.length < s - 1 ? (k(p, w), p = "", w = 0, P(M, E,
|
|
127
|
+
C.length < s - 1 ? (k(p, w), p = "", w = 0, P(M, E, N)) : A(M, N);
|
|
128
128
|
return;
|
|
129
129
|
}
|
|
130
|
-
let W =
|
|
130
|
+
let W = N;
|
|
131
131
|
for (const { segment: K } of Ht.segment(M)) {
|
|
132
132
|
if (C.length >= s) break;
|
|
133
133
|
const G = e.measureText(K).width;
|
|
@@ -140,20 +140,20 @@ const rt = "…", mn = new ct(1e3), gn = new ct(1e3), io = () => ({
|
|
|
140
140
|
`)) {
|
|
141
141
|
const E = M.split(`
|
|
142
142
|
`);
|
|
143
|
-
for (let
|
|
144
|
-
if (
|
|
143
|
+
for (let N = 0; N < E.length && !(C.length >= s); N++) {
|
|
144
|
+
if (N > 0) {
|
|
145
145
|
if (I++, C.length + 1 === s && I < i.length) {
|
|
146
146
|
A();
|
|
147
147
|
break;
|
|
148
148
|
}
|
|
149
149
|
k(p, w), p = "", w = 0, v = I;
|
|
150
150
|
}
|
|
151
|
-
const W = E[
|
|
152
|
-
W.length > 0 && (I += W.length,
|
|
151
|
+
const W = E[N];
|
|
152
|
+
W.length > 0 && (I += W.length, L(W, e.measureText(W).width, I - W.length));
|
|
153
153
|
}
|
|
154
154
|
continue;
|
|
155
155
|
}
|
|
156
|
-
I += M.length,
|
|
156
|
+
I += M.length, L(M, e.measureText(M).width, I - M.length);
|
|
157
157
|
}
|
|
158
158
|
C.length < s && p !== "" && k(p, w), gn.set(y, C);
|
|
159
159
|
}
|
|
@@ -347,7 +347,7 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
347
347
|
return a + s / (o || 1) * (i + 0.5);
|
|
348
348
|
}, co = ({ width: e, theme: t, rowControls: n, rowControlPaddingX: o }) => {
|
|
349
349
|
if (!o) return e / 2;
|
|
350
|
-
const i = n.findIndex((a) => a.type ===
|
|
350
|
+
const i = n.findIndex((a) => a.type === X.Checkbox);
|
|
351
351
|
return i < 0 ? e / 2 : Gt(e, t, o, n.length, i);
|
|
352
352
|
}, pi = (e, t, n) => {
|
|
353
353
|
const { x: o, y: i } = n, { scrollLeft: a, scrollTop: s } = t, { freezeRegionWidth: r, totalWidth: c, rowInitSize: l, columnInitSize: u, columnCount: h } = e, { columnAppendBtnWidth: m } = B, g = i < 0 ? -1 / 0 : i <= l ? -1 : e.getRowStartIndex(s + i), C = o < 0 ? -1 / 0 : a + o > c && a + o < c + m ? -2 : o <= r ? o <= u ? -1 : e.getColumnStartIndex(o) : e.getColumnStartIndex(a + o);
|
|
@@ -356,16 +356,16 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
356
356
|
const { x: i, y: a } = n, { totalHeight: s, totalWidth: r, containerHeight: c } = e;
|
|
357
357
|
return t.scrollLeft + i > r + B.columnAppendBtnWidth || t.scrollTop + a > s && !V(a, c, o);
|
|
358
358
|
}, wi = {
|
|
359
|
-
[
|
|
360
|
-
[
|
|
361
|
-
[
|
|
359
|
+
[X.Drag]: x.RowHeaderDragHandler,
|
|
360
|
+
[X.Checkbox]: x.RowHeaderCheckbox,
|
|
361
|
+
[X.Expand]: x.RowHeaderExpandHandler
|
|
362
362
|
}, ne = {
|
|
363
363
|
type: x.Blank,
|
|
364
364
|
x: 1 / 0,
|
|
365
365
|
y: 1 / 0,
|
|
366
366
|
width: 0,
|
|
367
367
|
height: 0
|
|
368
|
-
}, { groupHeaderHeight: vi, columnHeadPadding: fn, columnResizeHandlerWidth: pn, rowHeadIconPaddingTop: Si, columnFreezeHandlerWidth: yi, fillHandlerSize: bi, fillHandlerPadding: xi } = B, Ri = (e) => Ii(e) ?? Wi(e) ?? Pi(e) ?? zi(e) ?? Mi(e) ?? Ai(e) ?? Ei(e) ?? Hi(e) ?? Ti(e) ??
|
|
368
|
+
}, { groupHeaderHeight: vi, columnHeadPadding: fn, columnResizeHandlerWidth: pn, rowHeadIconPaddingTop: Si, columnFreezeHandlerWidth: yi, fillHandlerSize: bi, fillHandlerPadding: xi } = B, Ri = (e) => Ii(e) ?? Wi(e) ?? Pi(e) ?? zi(e) ?? Mi(e) ?? Ai(e) ?? Ei(e) ?? Hi(e) ?? Ti(e) ?? Ni(e) ?? Li(e) ?? Fi(e) ?? Di(e) ?? Bi(e) ?? Oi(e) ?? ne, ki = (e, t, n) => {
|
|
369
369
|
const o = pi(e.coordInstance, e.scrollState, t), i = Ci(e.coordInstance, e.scrollState, t, n), a = Ri({
|
|
370
370
|
...e,
|
|
371
371
|
position: o,
|
|
@@ -396,15 +396,15 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
396
396
|
}, Ti = (e) => {
|
|
397
397
|
const { rowIndex: t, columnIndex: n } = e.position;
|
|
398
398
|
return e.isColumnAppendEnable && t >= -1 && n === -2 ? { ...ne, type: x.AppendColumn } : null;
|
|
399
|
-
},
|
|
399
|
+
}, Ni = (e) => {
|
|
400
400
|
const { position: t, theme: n, rowControls: o, rowControlPaddingX: i, coordInstance: a, isMultiSelectionEnable: s } = e, { x: r, y: c, rowIndex: l, columnIndex: u } = t;
|
|
401
|
-
if (!s || l !== -1 || u !== -1 || !o.some((v) => v.type ===
|
|
401
|
+
if (!s || l !== -1 || u !== -1 || !o.some((v) => v.type === X.Checkbox)) return null;
|
|
402
402
|
const { iconSizeXS: h } = n, m = h / 2, { rowInitSize: g, columnInitSize: C } = a, p = co({ width: C, theme: n, rowControls: o, rowControlPaddingX: i }) - m, w = g / 2 - m;
|
|
403
403
|
return V(r, p, p + h) && V(c, w, w + h) ? { type: x.AllCheckbox, x: p, y: w, width: h, height: h } : null;
|
|
404
|
-
},
|
|
404
|
+
}, Li = (e) => {
|
|
405
405
|
const { rowIndex: t, columnIndex: n } = e.position;
|
|
406
406
|
return n >= -1 && t > -1 ? e.getLinearRow(t).type !== se.Append ? null : { ...ne, type: x.AppendRow } : null;
|
|
407
|
-
},
|
|
407
|
+
}, Fi = (e) => {
|
|
408
408
|
const { position: t, theme: n, rowControls: o, rowControlPaddingX: i, scrollState: a, coordInstance: s } = e, { x: r, y: c, rowIndex: l, columnIndex: u } = t;
|
|
409
409
|
if (l <= -1 || u !== -1) return null;
|
|
410
410
|
const h = e.getLinearRow(l);
|
|
@@ -427,8 +427,8 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
427
427
|
if (!r) return null;
|
|
428
428
|
const { isCellSelection: l, ranges: u } = n, { x: h, y: m, rowIndex: g, columnIndex: C } = t;
|
|
429
429
|
if (!l || g < 0 || C < 0) return null;
|
|
430
|
-
const [S, p] = u[0], [w, v] = u[1], y = Math.max(S, w), R = Math.max(p, v), I = c(R), k = o.getColumnRelativeOffset(y, i.scrollLeft) + o.getColumnWidth(y),
|
|
431
|
-
return V(h,
|
|
430
|
+
const [S, p] = u[0], [w, v] = u[1], y = Math.max(S, w), R = Math.max(p, v), I = c(R), k = o.getColumnRelativeOffset(y, i.scrollLeft) + o.getColumnWidth(y), L = S === w && p === v && a != null && s != null && a[0] === y && a[1] === R && s ? s.height : o.getRowHeight(I), M = o.getRowOffset(I) + L - i.scrollTop, E = bi / 2 + xi, N = k - E, W = M - E;
|
|
431
|
+
return V(h, N, N + E * 2) && V(m, W, W + E * 2) ? { type: x.FillHandler, x: N, y: W, width: E * 2, height: E * 2 } : null;
|
|
432
432
|
}, Bi = (e) => {
|
|
433
433
|
const { coordInstance: t, position: n, scrollState: o, getLinearRow: i } = e, { rowIndex: a, columnIndex: s } = n;
|
|
434
434
|
return a > -1 && s > -1 ? i(a).type !== se.Row ? null : {
|
|
@@ -449,8 +449,8 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
449
449
|
const P = k - m - fn / 2, A = (C - m) / 2;
|
|
450
450
|
if (p && V(c, P, P + m) && V(l, A, A + m))
|
|
451
451
|
return { type: x.ColumnDescription, x: P, y: A, width: m, height: m };
|
|
452
|
-
const
|
|
453
|
-
return S && V(c,
|
|
452
|
+
const L = R + m / 2, M = (C - m) / 2;
|
|
453
|
+
return S && V(c, L, L + m) && V(l, M, M + m) ? { type: x.ColumnPrimaryIcon, x: L, y: M, width: m, height: m } : s && (h !== 0 && V(c, R, R + pn / 2) || V(c, I - pn / 2, I)) ? { ...ne, type: x.ColumnResizeHandler } : { type: x.ColumnHeader, x: R, y: 0, width: y, height: C };
|
|
454
454
|
}, {
|
|
455
455
|
fillHandlerSize: ot,
|
|
456
456
|
cellTextLineHeight: Cn,
|
|
@@ -461,7 +461,7 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
461
461
|
columnAppendBtnWidth: Sn,
|
|
462
462
|
columnResizeHandlerWidth: yn,
|
|
463
463
|
columnResizeHandlerPaddingTop: bn,
|
|
464
|
-
cellVerticalPaddingMD:
|
|
464
|
+
cellVerticalPaddingMD: Nt,
|
|
465
465
|
columnFreezeHandlerWidth: xn,
|
|
466
466
|
columnFreezeHandlerHeight: Rn
|
|
467
467
|
} = B, kn = (e, t) => {
|
|
@@ -477,52 +477,52 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
477
477
|
getLinearRow: e.getLinearRow ?? Wt,
|
|
478
478
|
real2RowIndex: e.real2RowIndex ?? oo
|
|
479
479
|
}), In = (e, t) => {
|
|
480
|
-
const { coordInstance: n, visibleRegion: o, activeCell: i, highlightedRowIndex: a, mouseState: s, scrollState: r, selection: c, isSelecting: l, theme: u, getLinearRow: h } = e, { freezeColumnCount: m, columnInitSize: g, totalWidth: C, rowCount: S } = n, { isRowSelection: p, isColumnSelection: w } = c, { scrollLeft: v, scrollTop: y } = r, { rowIndex: R, type: I, isOutOfBounds: k } = s, P = [], A = [],
|
|
481
|
-
if (!S) return { cellPropList: P, rowHeaderPropList: A, appendRowList:
|
|
482
|
-
const M = t === "freeze", E = M ? 0 : Math.max(m, o.startColumnIndex),
|
|
483
|
-
for (let z = E; z <=
|
|
484
|
-
const
|
|
480
|
+
const { coordInstance: n, visibleRegion: o, activeCell: i, highlightedRowIndex: a, mouseState: s, scrollState: r, selection: c, isSelecting: l, theme: u, getLinearRow: h } = e, { freezeColumnCount: m, columnInitSize: g, totalWidth: C, rowCount: S } = n, { isRowSelection: p, isColumnSelection: w } = c, { scrollLeft: v, scrollTop: y } = r, { rowIndex: R, type: I, isOutOfBounds: k } = s, P = [], A = [], L = [];
|
|
481
|
+
if (!S) return { cellPropList: P, rowHeaderPropList: A, appendRowList: L };
|
|
482
|
+
const M = t === "freeze", E = M ? 0 : Math.max(m, o.startColumnIndex), N = M ? Math.max(m - 1, 0) : o.stopColumnIndex, W = M && m === 0, { cellBg: K, cellBgHovered: G, cellBgSelected: ke } = u;
|
|
483
|
+
for (let z = E; z <= N; z++) {
|
|
484
|
+
const F = n.getColumnRelativeOffset(z, v), ge = n.getColumnWidth(z), Ye = w && c.includes([z, z]), ie = z === 0;
|
|
485
485
|
for (let re = o.startRowIndex; re <= o.stopRowIndex; re++) {
|
|
486
|
-
const Te = h(re),
|
|
486
|
+
const Te = h(re), Ne = n.getRowHeight(re), Le = n.getRowOffset(re) - y;
|
|
487
487
|
if (Te.type === se.Group) continue;
|
|
488
488
|
if (Te.type === se.Append) {
|
|
489
|
-
ie &&
|
|
489
|
+
ie && L.push({ x: 0.5, y: Le + 0.5, width: C - v, height: Ne, isHover: I === x.AppendRow && R === re });
|
|
490
490
|
continue;
|
|
491
491
|
}
|
|
492
|
-
const { displayIndex: mt, realIndex: Ie } = Te,
|
|
493
|
-
let
|
|
494
|
-
gt || ae || Ye ?
|
|
492
|
+
const { displayIndex: mt, realIndex: Ie } = Te, Fe = !k && !l && ii.has(I) && re === R, { isCellActive: Pe, isRowActive: ve } = hi(i, Ie, z), { isRowSelected: ae, isCellSelected: gt } = mi(c, Ie, z), le = a === Ie;
|
|
493
|
+
let q;
|
|
494
|
+
gt || ae || Ye ? q = ke : (Fe || ve || le) && (q = G), ie && A.push({
|
|
495
495
|
x: 0.5,
|
|
496
|
-
y:
|
|
496
|
+
y: Le + 0.5,
|
|
497
497
|
width: g + 0.5,
|
|
498
|
-
height:
|
|
498
|
+
height: Ne,
|
|
499
499
|
displayIndex: String(mt),
|
|
500
|
-
isHover:
|
|
500
|
+
isHover: Fe || ve || le,
|
|
501
501
|
isChecked: p && ae
|
|
502
502
|
}), !W && P.push({
|
|
503
|
-
x:
|
|
504
|
-
y:
|
|
503
|
+
x: F + 0.5,
|
|
504
|
+
y: Le + 0.5,
|
|
505
505
|
width: ge,
|
|
506
|
-
height:
|
|
506
|
+
height: Ne,
|
|
507
507
|
rowIndex: Ie,
|
|
508
508
|
columnIndex: z,
|
|
509
509
|
theme: u,
|
|
510
510
|
isActive: !1,
|
|
511
|
-
fill: Pe ? K :
|
|
511
|
+
fill: Pe ? K : q ?? K
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
|
-
return { cellPropList: P, rowHeaderPropList: A, appendRowList:
|
|
515
|
+
return { cellPropList: P, rowHeaderPropList: A, appendRowList: L };
|
|
516
516
|
}, Gi = (e, t, n) => {
|
|
517
517
|
const { x: o, y: i, width: a, height: s, displayIndex: r, isHover: c, isChecked: l } = t, { theme: u, rowControls: h, rowControlPaddingX: m, rowIndexVisible: g = !0, drawIcon: C } = n, { cellBg: S, cellBgHovered: p, cellBgSelected: w, cellLineColor: v, rowHeaderTextColor: y, iconSizeXS: R, staticWhite: I, iconBgSelected: k } = u;
|
|
518
518
|
D(e, { x: o, y: i, width: a, height: s, fill: l ? w : c ? p : S }), Ke(e, { x: o, y: i, points: [0, 0, a, 0], stroke: v }), Ke(e, { x: o, y: i, points: [0, s, a, s], stroke: v });
|
|
519
519
|
const A = R / 2;
|
|
520
520
|
if (e.font = `${u.fontSizeXXS}px ${u.fontFamily}`, (l || c || !g) && h.length > 0) {
|
|
521
|
-
for (let
|
|
522
|
-
const { type: M } = h[
|
|
523
|
-
if (M ===
|
|
524
|
-
const E = Gt(a, u, m, h.length,
|
|
525
|
-
if (M ===
|
|
521
|
+
for (let L = 0; L < h.length; L++) {
|
|
522
|
+
const { type: M } = h[L];
|
|
523
|
+
if (M === X.Spacer) continue;
|
|
524
|
+
const E = Gt(a, u, m, h.length, L);
|
|
525
|
+
if (M === X.Checkbox) {
|
|
526
526
|
Bt(e, {
|
|
527
527
|
x: o + E - A,
|
|
528
528
|
y: i + wn,
|
|
@@ -533,11 +533,11 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
533
533
|
});
|
|
534
534
|
continue;
|
|
535
535
|
}
|
|
536
|
-
l && !c && g && M ===
|
|
536
|
+
l && !c && g && M === X.Expand || C?.(e, { kind: M === X.Drag ? "drag" : "expand", x: o + E - A, y: i + wn, size: R, theme: u });
|
|
537
537
|
}
|
|
538
538
|
return;
|
|
539
539
|
}
|
|
540
|
-
$e(e, { x: o + a / 2, y: i +
|
|
540
|
+
$e(e, { x: o + a / 2, y: i + Nt + 1, text: r, textAlign: "center", fill: y, fontSize: u.fontSizeXXS });
|
|
541
541
|
}, Ui = (e, t, n) => {
|
|
542
542
|
const { x: o, y: i, width: a, height: s, isHover: r } = t, { theme: c, coordInstance: l, drawIcon: u } = n, { appendRowBgHovered: h, iconSizeSM: m, cellBg: g, cellLineColor: C } = c, S = m / 2;
|
|
543
543
|
e.save(), e.beginPath(), D(e, { x: o + 0.5, y: i + 0.5, width: a, height: s, fill: r ? h : g }), D(e, { x: o, y: i + s, width: a, height: 1, fill: C }), u?.(e, { kind: "add", x: o + l.columnInitSize / 2 - S + 0.5, y: i + s / 2 - S + 0.5, size: m, theme: c }), e.restore();
|
|
@@ -562,21 +562,21 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
562
562
|
}, $i = (e, t) => {
|
|
563
563
|
const { selection: n, mouseState: o, coordInstance: i, scrollState: a, theme: s, isFilling: r, isFillEnabled: c, real2RowIndex: l, getLinearRow: u } = t;
|
|
564
564
|
if (!r || !c || !n.isCellSelection) return;
|
|
565
|
-
const [h, m] = n.ranges, g = Math.min(h[0], m[0]), C = Math.max(h[0], m[0]), S = Math.min(h[1], m[1]), p = Math.max(h[1], m[1]), w = u(o.rowIndex).realIndex, { scrollLeft: v, scrollTop: y } = a, R = i.getColumnRelativeOffset(g, v), I = i.getColumnRelativeOffset(C, v) + i.getColumnWidth(C), k = (
|
|
565
|
+
const [h, m] = n.ranges, g = Math.min(h[0], m[0]), C = Math.max(h[0], m[0]), S = Math.min(h[1], m[1]), p = Math.max(h[1], m[1]), w = u(o.rowIndex).realIndex, { scrollLeft: v, scrollTop: y } = a, R = i.getColumnRelativeOffset(g, v), I = i.getColumnRelativeOffset(C, v) + i.getColumnWidth(C), k = (L) => i.getRowOffset(l(L)) + i.getRowHeight(l(L)) - y;
|
|
566
566
|
let P = null, A = null;
|
|
567
567
|
Number.isFinite(w) && w > p ? (P = i.getRowOffset(l(p + 1)) - y, A = k(w)) : Number.isFinite(w) && w < S && (P = i.getRowOffset(l(w)) - y, A = k(S - 1)), !(P == null || A == null) && (e.save(), e.globalAlpha = 0.12, D(e, { x: R + 0.5, y: P + 0.5, width: I - R, height: A - P, fill: s.interactionLineColorHighlight }), e.restore(), D(e, { x: R + 0.5, y: P + 0.5, width: I - R, height: A - P, stroke: s.interactionLineColorHighlight }));
|
|
568
|
-
},
|
|
568
|
+
}, qi = (e, t) => {
|
|
569
569
|
const { coordInstance: n, scrollState: o, selection: i, isSelecting: a, isEditing: s, theme: r, activeCellBound: c, isFillEnabled: l, real2RowIndex: u, getLinearRow: h } = t;
|
|
570
570
|
if (!l || s || a) return;
|
|
571
571
|
const m = di(i);
|
|
572
572
|
if (m == null) return;
|
|
573
573
|
const { freezeColumnCount: g, freezeRegionWidth: C, rowInitSize: S, containerWidth: p, containerHeight: w } = n, [v, y] = m, R = n.getColumnRelativeOffset(v, o.scrollLeft), I = u(y), k = n.getRowOffset(I) - o.scrollTop, P = n.getColumnWidth(v), M = Ot([i.ranges[0]], [i.ranges[1]]) && c != null && c.columnIndex === v && c.rowIndex === y && h(I).type === se.Row ? c.height : n.getRowHeight(I);
|
|
574
574
|
e.save(), e.beginPath(), v >= g && (e.rect(C, S, p - C, w - S), e.clip()), D(e, { x: R + P - ot / 2 - 0.5, y: k + M - ot / 2 - 0.5, width: ot, height: ot, stroke: r.cellLineColorActived, fill: r.cellBg }), e.restore();
|
|
575
|
-
},
|
|
575
|
+
}, Xi = (e, t, n) => {
|
|
576
576
|
const { x: o, y: i, width: a, height: s, fill: r, column: c, hasMenu: l } = t, { theme: u, drawIcon: h } = n, { name: m, description: g, hasMenu: C, isPrimary: S, hasIcon: p } = c, { cellLineColor: w, columnHeaderBg: v, iconFgCommon: y, columnHeaderNameColor: R, fontSizeSM: I, iconSizeXS: k } = u;
|
|
577
577
|
let P = a - te * 2, A = te;
|
|
578
|
-
const
|
|
579
|
-
if (D(e, { x: o + 0.5, y: i, width: a - 0.5, height: s, fill: r ?? v }), Ke(e, { x: o, y: i, points: [0, s, a, s, a, 0], stroke: w }), S && (P = P - k - te, h?.(e, { kind: "primary", x: o + A, y: M, size: k, theme: u, column: c }), A += k + te / 2), p && (P = P - k, h?.(e, { kind: "column", x: o + A, y: M, size: k, theme: u, column: c }), A += k + te / 2),
|
|
578
|
+
const L = l && C, M = i + (vn - k) / 2;
|
|
579
|
+
if (D(e, { x: o + 0.5, y: i, width: a - 0.5, height: s, fill: r ?? v }), Ke(e, { x: o, y: i, points: [0, s, a, s, a, 0], stroke: w }), S && (P = P - k - te, h?.(e, { kind: "primary", x: o + A, y: M, size: k, theme: u, column: c }), A += k + te / 2), p && (P = P - k, h?.(e, { kind: "column", x: o + A, y: M, size: k, theme: u, column: c }), A += k + te / 2), L) {
|
|
580
580
|
P = P - Me - te;
|
|
581
581
|
const E = i + vn / 2;
|
|
582
582
|
si(e, {
|
|
@@ -589,11 +589,11 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
589
589
|
fill: y
|
|
590
590
|
});
|
|
591
591
|
}
|
|
592
|
-
g && (h?.(e, { kind: "description", x:
|
|
592
|
+
g && (h?.(e, { kind: "description", x: L ? o + a - 2 * k - te : o + a - k - te, y: M, size: k, theme: u, column: c }), P = P - k - te), ai(e, {
|
|
593
593
|
x: o + A,
|
|
594
|
-
y: i +
|
|
594
|
+
y: i + Nt,
|
|
595
595
|
text: m,
|
|
596
|
-
maxLines: Math.max(1, Math.floor((s -
|
|
596
|
+
maxLines: Math.max(1, Math.floor((s - Nt) / Cn)),
|
|
597
597
|
lineHeight: Cn,
|
|
598
598
|
fontSize: I,
|
|
599
599
|
maxWidth: P,
|
|
@@ -601,7 +601,7 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
601
601
|
});
|
|
602
602
|
}, Yi = (e, t, n) => {
|
|
603
603
|
const { x: o, y: i, width: a, height: s, isChecked: r } = t, { theme: c, rowControls: l, rowControlPaddingX: u, isMultiSelectionEnable: h } = n, { iconSizeXS: m, staticWhite: g, columnHeaderBg: C, cellLineColor: S, rowHeaderTextColor: p, iconBgSelected: w } = c, v = m / 2;
|
|
604
|
-
if (D(e, { x: o, y: i, width: a, height: s, fill: C }), Ke(e, { x: o, y: i, points: [0, s, a, s], stroke: S }), h && l.some((y) => y.type ===
|
|
604
|
+
if (D(e, { x: o, y: i, width: a, height: s, fill: C }), Ke(e, { x: o, y: i, points: [0, s, a, s], stroke: S }), h && l.some((y) => y.type === X.Checkbox)) {
|
|
605
605
|
const y = co({ width: a, theme: c, rowControls: l, rowControlPaddingX: u });
|
|
606
606
|
Bt(e, {
|
|
607
607
|
x: o + y - v + 0.5,
|
|
@@ -613,18 +613,18 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
613
613
|
});
|
|
614
614
|
}
|
|
615
615
|
}, Pn = (e, t, n) => {
|
|
616
|
-
const { visibleRegion: o, coordInstance: i, columns: a, theme: s, mouseState: r, scrollState: c, selection: l, isInteracting: u, isColumnHeaderMenuVisible: h } = t, { containerWidth: m, freezeRegionWidth: g, rowInitSize: C, columnInitSize: S, freezeColumnCount: p, pureRowCount: w } = i, { isColumnSelection: v, isRowSelection: y, ranges: R } = l, { type: I, columnIndex: k } = r, P = n === "freeze", A = P ? 0 : Math.max(p, o.startColumnIndex),
|
|
616
|
+
const { visibleRegion: o, coordInstance: i, columns: a, theme: s, mouseState: r, scrollState: c, selection: l, isInteracting: u, isColumnHeaderMenuVisible: h } = t, { containerWidth: m, freezeRegionWidth: g, rowInitSize: C, columnInitSize: S, freezeColumnCount: p, pureRowCount: w } = i, { isColumnSelection: v, isRowSelection: y, ranges: R } = l, { type: I, columnIndex: k } = r, P = n === "freeze", A = P ? 0 : Math.max(p, o.startColumnIndex), L = P ? Math.max(p - 1, 0) : o.stopColumnIndex;
|
|
617
617
|
e.save(), e.beginPath(), e.rect(P ? 0 : g + 1, 0, P ? g + 1 : m - g, C + 1), e.clip(), e.font = `normal ${s.fontSizeSM}px ${s.fontFamily}`;
|
|
618
|
-
for (let E = A; E <=
|
|
619
|
-
const
|
|
620
|
-
if (
|
|
618
|
+
for (let E = A; E <= L; E++) {
|
|
619
|
+
const N = a[E];
|
|
620
|
+
if (N == null) continue;
|
|
621
621
|
const W = v && l.includes([E, E]), K = !u && (I === x.ColumnHeader || I === x.ColumnHeaderMenu) && k === E, G = W ? s.columnHeaderBgSelected : K ? s.columnHeaderBgHovered : void 0;
|
|
622
|
-
|
|
622
|
+
Xi(e, {
|
|
623
623
|
x: i.getColumnRelativeOffset(E, c.scrollLeft) + 0.5,
|
|
624
624
|
y: 0.5,
|
|
625
625
|
width: i.getColumnWidth(E),
|
|
626
626
|
height: C,
|
|
627
|
-
column:
|
|
627
|
+
column: N,
|
|
628
628
|
fill: G,
|
|
629
629
|
hasMenu: h
|
|
630
630
|
}, t);
|
|
@@ -697,7 +697,7 @@ const lo = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
697
697
|
pixelRatio: i,
|
|
698
698
|
shouldRerender: m,
|
|
699
699
|
draw: (C) => Ki(g, C, { ...a, shouldRerender: m })
|
|
700
|
-
}), g.save(), g.setTransform(1, 0, 0, 1, 0, 0), g.drawImage(t, 0, 0, u, h), g.restore(), s.rowInitSize > 0 && (Pn(g, a, "freeze"), Pn(g, a, "other"), ji(g, a)), ta(g, a), _i(g, a), $i(g, a),
|
|
700
|
+
}), g.save(), g.setTransform(1, 0, 0, 1, 0, 0), g.drawImage(t, 0, 0, u, h), g.restore(), s.rowInitSize > 0 && (Pn(g, a, "freeze"), Pn(g, a, "other"), ji(g, a)), ta(g, a), _i(g, a), $i(g, a), qi(g, a), Qi(g, a), Ji(g, a), Zi(g, a), ea(g, a), g.restore());
|
|
701
701
|
}, uo = {
|
|
702
702
|
staticWhite: "#FFFFFF",
|
|
703
703
|
staticBlack: "#000000",
|
|
@@ -956,7 +956,7 @@ const fa = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
956
956
|
}
|
|
957
957
|
})) : Promise.reject(a);
|
|
958
958
|
}
|
|
959
|
-
}, Ia = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), it = (e, t, n) => Math.min(n, Math.max(t, e)),
|
|
959
|
+
}, Ia = (e) => e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"), it = (e, t, n) => Math.min(n, Math.max(t, e)), qe = (e, t) => {
|
|
960
960
|
if (e.kind !== "cells" || e.ranges.length < 2 || t.rowCount <= 0 || t.columnCount <= 0) return null;
|
|
961
961
|
const [n, o] = e.ranges, i = t.columnCount - 1, a = t.rowCount - 1;
|
|
962
962
|
return {
|
|
@@ -979,7 +979,7 @@ const fa = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
979
979
|
if (n <= 0 || o <= 0) return null;
|
|
980
980
|
switch (e.kind) {
|
|
981
981
|
case "cells": {
|
|
982
|
-
const i =
|
|
982
|
+
const i = qe(e, t);
|
|
983
983
|
return i ? { rows: at(i.startRow, i.endRow), columns: at(i.startColumn, i.endColumn) } : null;
|
|
984
984
|
}
|
|
985
985
|
case "rows": {
|
|
@@ -995,7 +995,7 @@ const fa = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
995
995
|
}
|
|
996
996
|
}, Pa = (e, t) => {
|
|
997
997
|
if (e.kind === "cells") {
|
|
998
|
-
const o =
|
|
998
|
+
const o = qe(e, t);
|
|
999
999
|
return o ? [o.startColumn, o.startRow] : null;
|
|
1000
1000
|
}
|
|
1001
1001
|
const n = po(e, t);
|
|
@@ -1007,7 +1007,7 @@ const fa = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
1007
1007
|
if (!i) return null;
|
|
1008
1008
|
const { rowCount: a, columnCount: s } = n;
|
|
1009
1009
|
let r = o, c = !1;
|
|
1010
|
-
const l =
|
|
1010
|
+
const l = qe(t, n);
|
|
1011
1011
|
if (o.length === 1 && o[0].length === 1 && l && (l.endRow > l.startRow || l.endColumn > l.startColumn)) {
|
|
1012
1012
|
const w = o[0][0];
|
|
1013
1013
|
r = Array.from({ length: l.endRow - l.startRow + 1 }, () => Array.from({ length: l.endColumn - l.startColumn + 1 }, () => w)), c = !0;
|
|
@@ -1092,10 +1092,10 @@ function Ea(e) {
|
|
|
1092
1092
|
return g;
|
|
1093
1093
|
}
|
|
1094
1094
|
const Co = "data-ui-ignore-outside", Pt = /* @__PURE__ */ new WeakMap(), Tn = /* @__PURE__ */ new WeakSet();
|
|
1095
|
-
function
|
|
1095
|
+
function Nn(e) {
|
|
1096
1096
|
return [...e.options.elements()].filter((t) => !!t);
|
|
1097
1097
|
}
|
|
1098
|
-
function
|
|
1098
|
+
function Ln(e, t) {
|
|
1099
1099
|
return e.some((n) => n instanceof Node && t.some((o) => o === n || o.contains(n)));
|
|
1100
1100
|
}
|
|
1101
1101
|
function Ha(e) {
|
|
@@ -1104,7 +1104,7 @@ function Ha(e) {
|
|
|
1104
1104
|
function Ta(e, t) {
|
|
1105
1105
|
return e.length > 0 && !e.includes(t);
|
|
1106
1106
|
}
|
|
1107
|
-
function
|
|
1107
|
+
function Na(e, t = 400) {
|
|
1108
1108
|
let n = 0;
|
|
1109
1109
|
const o = () => {
|
|
1110
1110
|
e.clearTimeout(n), e.removeEventListener("click", i, !0), e.removeEventListener("pointerdown", o, !0), e.removeEventListener("keydown", o, !0);
|
|
@@ -1113,7 +1113,7 @@ function Fa(e, t = 400) {
|
|
|
1113
1113
|
};
|
|
1114
1114
|
return e.addEventListener("click", i, !0), e.addEventListener("pointerdown", o, !0), e.addEventListener("keydown", o, !0), n = e.setTimeout(o, t), o;
|
|
1115
1115
|
}
|
|
1116
|
-
function
|
|
1116
|
+
function La(e) {
|
|
1117
1117
|
const t = e.document, n = { layers: [], guard: fo(e), teardown: () => {
|
|
1118
1118
|
} }, o = (a) => {
|
|
1119
1119
|
if (Tn.has(a)) return;
|
|
@@ -1122,10 +1122,10 @@ function Na(e) {
|
|
|
1122
1122
|
if (!(Ha(s) || Ta(s, t)))
|
|
1123
1123
|
for (const r of [...n.layers].reverse()) {
|
|
1124
1124
|
if (r.disposed) continue;
|
|
1125
|
-
const c =
|
|
1126
|
-
if (
|
|
1125
|
+
const c = Nn(r);
|
|
1126
|
+
if (Ln(s, c) || Mn(s, c)) return;
|
|
1127
1127
|
if (r.options.onOutside?.(a) === "veto") {
|
|
1128
|
-
a.preventDefault(), a.stopImmediatePropagation(),
|
|
1128
|
+
a.preventDefault(), a.stopImmediatePropagation(), Na(e);
|
|
1129
1129
|
return;
|
|
1130
1130
|
}
|
|
1131
1131
|
}
|
|
@@ -1133,17 +1133,17 @@ function Na(e) {
|
|
|
1133
1133
|
if (a.key !== "Escape" || a.defaultPrevented || n.guard.ownsKey(a)) return;
|
|
1134
1134
|
const s = n.layers.at(-1);
|
|
1135
1135
|
if (!s?.options.onEscape) return;
|
|
1136
|
-
const r = a.composedPath(), c =
|
|
1136
|
+
const r = a.composedPath(), c = Nn(s);
|
|
1137
1137
|
if (Mn(r, c)) return;
|
|
1138
1138
|
const l = r.find((u) => u instanceof Element && u.hasAttribute(Co));
|
|
1139
|
-
l && !
|
|
1139
|
+
l && !Ln([l], c) || s.options.onEscape(a) && (a.preventDefault(), a.stopPropagation());
|
|
1140
1140
|
};
|
|
1141
1141
|
return e.addEventListener("pointerdown", o, !0), e.addEventListener("keydown", i, !0), n.teardown = () => {
|
|
1142
1142
|
e.removeEventListener("pointerdown", o, !0), e.removeEventListener("keydown", i, !0), n.guard.dispose();
|
|
1143
1143
|
}, n;
|
|
1144
1144
|
}
|
|
1145
|
-
function
|
|
1146
|
-
const n = Pt.get(e) ??
|
|
1145
|
+
function Fa(e, t) {
|
|
1146
|
+
const n = Pt.get(e) ?? La(e);
|
|
1147
1147
|
Pt.set(e, n);
|
|
1148
1148
|
const o = { options: t, disposed: !1 };
|
|
1149
1149
|
return n.layers.push(o), {
|
|
@@ -1155,21 +1155,21 @@ function La(e, t) {
|
|
|
1155
1155
|
}
|
|
1156
1156
|
};
|
|
1157
1157
|
}
|
|
1158
|
-
function
|
|
1158
|
+
function Fn(e) {
|
|
1159
1159
|
const t = to(e);
|
|
1160
1160
|
return Array.isArray(t) ? [...t] : [t];
|
|
1161
1161
|
}
|
|
1162
1162
|
function Da(e, t, n) {
|
|
1163
1163
|
const o = ue(() => to(t), (i, a, s) => {
|
|
1164
1164
|
if (!i || typeof window > "u") return;
|
|
1165
|
-
const r =
|
|
1166
|
-
elements: () =>
|
|
1165
|
+
const r = Fn(e).find(Boolean)?.ownerDocument?.defaultView ?? window, c = Fa(r, {
|
|
1166
|
+
elements: () => Fn(e),
|
|
1167
1167
|
onOutside: (l) => n.onOutside?.(l),
|
|
1168
1168
|
onEscape: (l) => n.onEscape?.(l)
|
|
1169
1169
|
});
|
|
1170
1170
|
s(() => c.dispose());
|
|
1171
1171
|
}, { immediate: !0, flush: "sync" });
|
|
1172
|
-
return
|
|
1172
|
+
return Xo() && no(o), o;
|
|
1173
1173
|
}
|
|
1174
1174
|
const wo = 2, Wa = 4, zt = 20, Ba = 2, Oa = 5, lt = 16;
|
|
1175
1175
|
function Va(e, t, n) {
|
|
@@ -1281,8 +1281,8 @@ function $a(e) {
|
|
|
1281
1281
|
"pointer-events": "none"
|
|
1282
1282
|
};
|
|
1283
1283
|
}
|
|
1284
|
-
const
|
|
1285
|
-
class
|
|
1284
|
+
const qa = (e, t) => !!e && !!t && e[0] === t[0] && e[1] === t[1];
|
|
1285
|
+
class Xa {
|
|
1286
1286
|
session;
|
|
1287
1287
|
options;
|
|
1288
1288
|
mode = "edit";
|
|
@@ -1337,7 +1337,7 @@ class qa {
|
|
|
1337
1337
|
* edited (the IME keydown, then its `compositionstart`) changes nothing.
|
|
1338
1338
|
*/
|
|
1339
1339
|
begin(t) {
|
|
1340
|
-
if (this.state.active &&
|
|
1340
|
+
if (this.state.active && qa(this.state.cell, t.cell)) return null;
|
|
1341
1341
|
this.state.active && this.commit("selection", "none");
|
|
1342
1342
|
const n = t.mode === "edit" && (t.trigger === "key" || t.trigger === "composition");
|
|
1343
1343
|
this.mode = t.mode, this.kind = t.kind, this.pending = { move: "none", reason: "blur" };
|
|
@@ -1406,7 +1406,7 @@ class qa {
|
|
|
1406
1406
|
function Ya(e) {
|
|
1407
1407
|
const t = ce(1);
|
|
1408
1408
|
let n = null;
|
|
1409
|
-
const o = new
|
|
1409
|
+
const o = new Xa({
|
|
1410
1410
|
validate: (u, h) => {
|
|
1411
1411
|
const m = e.columnAt(u[0]);
|
|
1412
1412
|
return m && e.validate ? e.validate(u, m, h) : null;
|
|
@@ -2076,7 +2076,7 @@ class hs {
|
|
|
2076
2076
|
return;
|
|
2077
2077
|
}
|
|
2078
2078
|
const R = u.includes(y);
|
|
2079
|
-
p(v, H.Rows), this.options.onRowControlClick?.(v,
|
|
2079
|
+
p(v, H.Rows), this.options.onRowControlClick?.(v, X.Checkbox, !R);
|
|
2080
2080
|
};
|
|
2081
2081
|
switch (r) {
|
|
2082
2082
|
case x.ColumnHeader: {
|
|
@@ -2166,9 +2166,9 @@ const ms = (e, t, n) => {
|
|
|
2166
2166
|
const o = 10 ** n;
|
|
2167
2167
|
return Math.round(e * o) / o;
|
|
2168
2168
|
}, On = 20, Mt = {
|
|
2169
|
-
drag:
|
|
2170
|
-
expand:
|
|
2171
|
-
checkbox:
|
|
2169
|
+
drag: X.Drag,
|
|
2170
|
+
expand: X.Expand,
|
|
2171
|
+
checkbox: X.Checkbox
|
|
2172
2172
|
}, Cs = {
|
|
2173
2173
|
none: $.None,
|
|
2174
2174
|
cell: $.Cell,
|
|
@@ -2242,7 +2242,7 @@ class Is {
|
|
|
2242
2242
|
ks(i, this.lastSelection) || (this.lastSelection = i, this.hooks.selectionChange(i), this.hooks.render());
|
|
2243
2243
|
},
|
|
2244
2244
|
onRowControlClick: (i, a) => {
|
|
2245
|
-
a ===
|
|
2245
|
+
a === X.Expand && this.hooks.rowExpand(i);
|
|
2246
2246
|
}
|
|
2247
2247
|
}), this.resize = new as({
|
|
2248
2248
|
coordInstance: () => this.coord,
|
|
@@ -2479,7 +2479,7 @@ class Is {
|
|
|
2479
2479
|
/** Returns true when the press belongs to the grid (the host then claims focus). */
|
|
2480
2480
|
pointerDown(t) {
|
|
2481
2481
|
const n = { x: t.x, y: t.y }, o = this.hitTest(n);
|
|
2482
|
-
return this.mouseState = o, this.down = { state: o, point: n }, this.lastPoint = n, this.lastModifiers = { shiftKey: t.shiftKey, commandKey: t.commandKey }, o.type === x.Blank || o.type === x.None ? (this.hooks.render(), !1) : o.type === x.FillHandler && (this.fillSource =
|
|
2482
|
+
return this.mouseState = o, this.down = { state: o, point: n }, this.lastPoint = n, this.lastModifiers = { shiftKey: t.shiftKey, commandKey: t.commandKey }, o.type === x.Blank || o.type === x.None ? (this.hooks.render(), !1) : o.type === x.FillHandler && (this.fillSource = qe(this.getSelection(), { rowCount: this.config.rowCount, columnCount: this.config.columns.length }), this.fillSource) ? (this.hooks.render(), !0) : (this.isResizeEnabled && this.resize.start(o) || (this.drag.start(o), this.selection.onSelectionStart({ shiftKey: t.shiftKey, metaKey: t.commandKey }, o), this.hooks.render()), !0);
|
|
2483
2483
|
}
|
|
2484
2484
|
/** Hover and gestures. `fromAutoScroll` re-derives the head after an auto-scroll tick. */
|
|
2485
2485
|
pointerMove(t, n = !1) {
|
|
@@ -2793,7 +2793,7 @@ const Ps = () => {
|
|
|
2793
2793
|
}, Ms = (e, t, n) => n > 0 ? Math.max(0, Math.floor((e - t) / n)) : 0, As = ["aria-labelledby", "aria-rowcount", "aria-colcount", "aria-readonly", "aria-busy", "data-ui-grid-skeleton"], Es = ["id"], Hs = { role: "rowgroup" }, Ts = {
|
|
2794
2794
|
role: "row",
|
|
2795
2795
|
"aria-rowindex": "1"
|
|
2796
|
-
},
|
|
2796
|
+
}, Ns = ["id", "aria-colindex"], Ls = { role: "rowgroup" }, Fs = ["aria-rowindex", "aria-hidden"], Ds = ["id"], Ws = ["aria-colindex", "aria-selected", "aria-readonly"], Bs = ["id"], Os = ["data-ui-grid-editing", "aria-labelledby", "aria-invalid", "aria-describedby", "readonly"], Vs = ["id"], Gs = {
|
|
2797
2797
|
key: 1,
|
|
2798
2798
|
role: "status",
|
|
2799
2799
|
class: "sr-only"
|
|
@@ -2801,7 +2801,7 @@ const Ps = () => {
|
|
|
2801
2801
|
key: 2,
|
|
2802
2802
|
"data-ui-grid-overlay": "",
|
|
2803
2803
|
style: { position: "absolute", inset: "0", "pointer-events": "none", "z-index": "3" }
|
|
2804
|
-
}, Ks = 6, _s = 250, $s = 100,
|
|
2804
|
+
}, Ks = 6, _s = 250, $s = 100, qs = 800, Xs = 300, Ys = 300, Nr = /* @__PURE__ */ Yo({
|
|
2805
2805
|
__name: "GridHost",
|
|
2806
2806
|
props: {
|
|
2807
2807
|
columns: {},
|
|
@@ -2837,7 +2837,7 @@ const Ps = () => {
|
|
|
2837
2837
|
setup(e, { expose: t, emit: n }) {
|
|
2838
2838
|
const o = e, i = n, a = oi(), s = jo(), r = xe(), c = xe(), l = xe(), u = xe(), h = xe(), m = ce({ rowHeight: B.rowHeight, headerHeight: B.columnHeadHeight }), g = ce({ ...uo, ...o.themeOverrides }), C = ce({ width: 0, height: 0 }), S = ce({ kind: "none", ranges: [], activeCell: null }), p = ce({ width: 0, height: 0 }), w = xe(!1), v = xe(!1), y = ce(0);
|
|
2839
2839
|
let R = Ue.danger;
|
|
2840
|
-
const I = ce(null), k = _(() => o.rowHeight ?? m.value.rowHeight), P = _(() => o.headerHeight ?? m.value.headerHeight), A = _(() => Ms(C.value.height, P.value, k.value)),
|
|
2840
|
+
const I = ce(null), k = _(() => o.rowHeight ?? m.value.rowHeight), P = _(() => o.headerHeight ?? m.value.headerHeight), A = _(() => Ms(C.value.height, P.value, k.value)), L = _(() => !o.loading && o.rowCount === 0), M = () => {
|
|
2841
2841
|
const d = o.loading && o.rowCount === 0;
|
|
2842
2842
|
return {
|
|
2843
2843
|
columns: o.columns,
|
|
@@ -2854,26 +2854,26 @@ const Ps = () => {
|
|
|
2854
2854
|
touch: v.value
|
|
2855
2855
|
};
|
|
2856
2856
|
}, E = () => o.loading && o.rowCount === 0;
|
|
2857
|
-
let
|
|
2858
|
-
const ke = () => o.editing ||
|
|
2857
|
+
let N = 0, W, K = null, G = null;
|
|
2858
|
+
const ke = () => o.editing || F.active, z = new Is(M(), {
|
|
2859
2859
|
render: () => ge(),
|
|
2860
2860
|
selectionChange: (d) => {
|
|
2861
|
-
const f =
|
|
2862
|
-
|
|
2861
|
+
const f = F.state.value.cell;
|
|
2862
|
+
F.active && f && (d.activeCell?.[0] !== f[0] || d.activeCell?.[1] !== f[1]) && F.commit("selection"), S.value = d, !ke() && h.value && (h.value.value = ""), Fe(), i("selection-change", d);
|
|
2863
2863
|
},
|
|
2864
2864
|
scrollTo: (d, f) => {
|
|
2865
2865
|
const b = l.value;
|
|
2866
2866
|
b && (b.scrollLeft = d, b.scrollTop = f);
|
|
2867
2867
|
},
|
|
2868
2868
|
editRequest: (d, f, b, T) => {
|
|
2869
|
-
if ((b !== "tap" || f.editor !== "long-text") &&
|
|
2869
|
+
if ((b !== "tap" || f.editor !== "long-text") && F.open(d, f, b, "edit")) {
|
|
2870
2870
|
je = b === "tap";
|
|
2871
2871
|
return;
|
|
2872
2872
|
}
|
|
2873
2873
|
i("edit-request", { cell: d, column: f, trigger: b, replace: T });
|
|
2874
2874
|
},
|
|
2875
2875
|
viewRequest: (d, f, b) => {
|
|
2876
|
-
|
|
2876
|
+
F.open(d, f, b, "view") && (je = b === "tap");
|
|
2877
2877
|
},
|
|
2878
2878
|
clearRequest: (d) => {
|
|
2879
2879
|
De(), i("clear-request", d);
|
|
@@ -2894,7 +2894,7 @@ const Ps = () => {
|
|
|
2894
2894
|
visibleRangeChange: (d) => {
|
|
2895
2895
|
E() || i("visible-range-change", d);
|
|
2896
2896
|
}
|
|
2897
|
-
}),
|
|
2897
|
+
}), F = Ya({
|
|
2898
2898
|
owner: () => h.value,
|
|
2899
2899
|
root: () => r.value,
|
|
2900
2900
|
enabled: () => !!o.getEditText,
|
|
@@ -2912,12 +2912,12 @@ const Ps = () => {
|
|
|
2912
2912
|
i("edit-end", { cell: d, column: f, committed: b }), ge();
|
|
2913
2913
|
},
|
|
2914
2914
|
moveSelection: (d) => {
|
|
2915
|
-
const f =
|
|
2915
|
+
const f = F.state.value.cell ?? S.value.activeCell;
|
|
2916
2916
|
f && z.moveAfterEdit(f, d);
|
|
2917
2917
|
},
|
|
2918
2918
|
clearSelection: () => z.setSelection({ kind: "none", ranges: [] }),
|
|
2919
2919
|
refocus: () => {
|
|
2920
|
-
if (je && !
|
|
2920
|
+
if (je && !F.active) {
|
|
2921
2921
|
je = !1, h.value?.blur();
|
|
2922
2922
|
return;
|
|
2923
2923
|
}
|
|
@@ -2925,10 +2925,10 @@ const Ps = () => {
|
|
|
2925
2925
|
}
|
|
2926
2926
|
});
|
|
2927
2927
|
function ge() {
|
|
2928
|
-
|
|
2928
|
+
N || typeof requestAnimationFrame > "u" || (N = requestAnimationFrame(Ye));
|
|
2929
2929
|
}
|
|
2930
2930
|
function Ye() {
|
|
2931
|
-
|
|
2931
|
+
N = 0;
|
|
2932
2932
|
const d = c.value;
|
|
2933
2933
|
if (!d || !K) return;
|
|
2934
2934
|
const f = {
|
|
@@ -2940,10 +2940,10 @@ const Ps = () => {
|
|
|
2940
2940
|
drawCell: mt,
|
|
2941
2941
|
drawIcon: o.drawIcon ? Ie : void 0
|
|
2942
2942
|
};
|
|
2943
|
-
ia(d, K, f, W), W = f, re(d), l.value && (l.value.style.cursor = z.cursor),
|
|
2943
|
+
ia(d, K, f, W), W = f, re(d), l.value && (l.value.style.cursor = z.cursor), Fe();
|
|
2944
2944
|
}
|
|
2945
2945
|
function ie() {
|
|
2946
|
-
|
|
2946
|
+
N && (cancelAnimationFrame(N), Ye());
|
|
2947
2947
|
}
|
|
2948
2948
|
function re(d) {
|
|
2949
2949
|
const f = Je;
|
|
@@ -2956,7 +2956,7 @@ const Ps = () => {
|
|
|
2956
2956
|
b.save(), b.setTransform(dn, 0, 0, dn, 0, 0), b.beginPath(), b.rect(Z, be, bt - Z, xt - be), b.clip(), b.setLineDash([4, 3]), b.lineWidth = 1, b.strokeStyle = g.value.interactionLineColorHighlight, b.strokeRect(T.x + 0.5, T.y + 0.5, U.x + U.width - T.x - 1, U.y + U.height - T.y - 1), b.restore();
|
|
2957
2957
|
}
|
|
2958
2958
|
const Te = (d) => Math.max(0, Math.min(d.width - 2 * B.cellHorizontalPadding, d.width * 0.6));
|
|
2959
|
-
function
|
|
2959
|
+
function Ne(d, f) {
|
|
2960
2960
|
D(d, {
|
|
2961
2961
|
x: f.x + B.cellHorizontalPadding,
|
|
2962
2962
|
y: f.y + (f.height - 8) / 2,
|
|
@@ -2966,7 +2966,7 @@ const Ps = () => {
|
|
|
2966
2966
|
fill: f.theme.cellBgLoading
|
|
2967
2967
|
});
|
|
2968
2968
|
}
|
|
2969
|
-
function
|
|
2969
|
+
function Le(d, f, b) {
|
|
2970
2970
|
if (!b) return;
|
|
2971
2971
|
const { fontSizeSM: T, cellTextColor: U } = f.theme;
|
|
2972
2972
|
$e(d, {
|
|
@@ -2993,17 +2993,17 @@ const Ps = () => {
|
|
|
2993
2993
|
isLoading: T
|
|
2994
2994
|
};
|
|
2995
2995
|
if (T) {
|
|
2996
|
-
|
|
2996
|
+
Ne(d, U);
|
|
2997
2997
|
return;
|
|
2998
2998
|
}
|
|
2999
2999
|
const Z = o.cellRenderer?.(b, f.columnIndex);
|
|
3000
|
-
Z ? Z.draw(d, U) :
|
|
3000
|
+
Z ? Z.draw(d, U) : Le(d, U, o.getCellText(U.cell));
|
|
3001
3001
|
}
|
|
3002
3002
|
function Ie(d, f) {
|
|
3003
3003
|
const b = f.column ? o.columns.find((T) => T.id === f.column?.id) : void 0;
|
|
3004
3004
|
o.drawIcon?.(d, { kind: f.kind, x: f.x, y: f.y, size: f.size, theme: f.theme, column: b });
|
|
3005
3005
|
}
|
|
3006
|
-
function
|
|
3006
|
+
function Fe() {
|
|
3007
3007
|
const d = u.value;
|
|
3008
3008
|
if (!d) return;
|
|
3009
3009
|
const f = z.selection.activeCell, b = f ? z.getCellRect(f) : null;
|
|
@@ -3026,13 +3026,13 @@ const Ps = () => {
|
|
|
3026
3026
|
const f = l.value, b = G;
|
|
3027
3027
|
return d.clientX - b.left >= f.clientWidth || d.clientY - b.top >= f.clientHeight;
|
|
3028
3028
|
}
|
|
3029
|
-
let le = null,
|
|
3030
|
-
const Qe = () => typeof performance > "u" ? Date.now() : performance.now(), Qt = () =>
|
|
3029
|
+
let le = null, q = null, Yt = -1 / 0, jt = -1 / 0, je = !1;
|
|
3030
|
+
const Qe = () => typeof performance > "u" ? Date.now() : performance.now(), Qt = () => q != null || Qe() - Yt < qs;
|
|
3031
3031
|
function Ze() {
|
|
3032
|
-
|
|
3032
|
+
q && clearTimeout(q.timer), q = null, Yt = Qe();
|
|
3033
3033
|
}
|
|
3034
3034
|
function Io(d) {
|
|
3035
|
-
if (
|
|
3035
|
+
if (q) {
|
|
3036
3036
|
Ze();
|
|
3037
3037
|
return;
|
|
3038
3038
|
}
|
|
@@ -3043,20 +3043,20 @@ const Ps = () => {
|
|
|
3043
3043
|
flingStop: Qe() - jt < $s,
|
|
3044
3044
|
longPressed: !1,
|
|
3045
3045
|
timer: setTimeout(() => {
|
|
3046
|
-
|
|
3046
|
+
q !== f || f.flingStop || ke() || (f.longPressed = !0, z.longPress(ae(d)), ie());
|
|
3047
3047
|
}, _s)
|
|
3048
3048
|
};
|
|
3049
|
-
|
|
3049
|
+
q = f;
|
|
3050
3050
|
}
|
|
3051
3051
|
function Po(d) {
|
|
3052
|
-
const f =
|
|
3052
|
+
const f = q;
|
|
3053
3053
|
!f || f.id !== d.pointerId || Math.hypot(d.clientX - f.x, d.clientY - f.y) > Ks && Ze();
|
|
3054
3054
|
}
|
|
3055
3055
|
function zo(d) {
|
|
3056
|
-
const f =
|
|
3057
|
-
!f || f.id !== d.pointerId || (Ze(), !(f.longPressed || f.flingStop) && (
|
|
3056
|
+
const f = q;
|
|
3057
|
+
!f || f.id !== d.pointerId || (Ze(), !(f.longPressed || f.flingStop) && (F.active && !F.commit("pointer") || o.editing || (z.tap(ae(d)), ie(), le && clearTimeout(le), le = setTimeout(() => {
|
|
3058
3058
|
le = null, z.clearTapFeedback();
|
|
3059
|
-
},
|
|
3059
|
+
}, Xs))));
|
|
3060
3060
|
}
|
|
3061
3061
|
function Mo(d) {
|
|
3062
3062
|
if (G = r.value.getBoundingClientRect(), d.pointerType === "touch") {
|
|
@@ -3064,7 +3064,7 @@ const Ps = () => {
|
|
|
3064
3064
|
return;
|
|
3065
3065
|
}
|
|
3066
3066
|
if (d.button !== 0 || gt(d)) return;
|
|
3067
|
-
if (
|
|
3067
|
+
if (F.active && !F.commit("pointer")) {
|
|
3068
3068
|
d.preventDefault();
|
|
3069
3069
|
return;
|
|
3070
3070
|
}
|
|
@@ -3100,7 +3100,7 @@ const Ps = () => {
|
|
|
3100
3100
|
}
|
|
3101
3101
|
function Zt(d) {
|
|
3102
3102
|
if (d.pointerType === "touch") {
|
|
3103
|
-
|
|
3103
|
+
q?.id === d.pointerId && Ze();
|
|
3104
3104
|
return;
|
|
3105
3105
|
}
|
|
3106
3106
|
z.cancelGesture(), ie();
|
|
@@ -3111,20 +3111,20 @@ const Ps = () => {
|
|
|
3111
3111
|
function To(d) {
|
|
3112
3112
|
ke() || Qt() || z.doubleClick(ae(d));
|
|
3113
3113
|
}
|
|
3114
|
-
function
|
|
3114
|
+
function No(d) {
|
|
3115
3115
|
if (Qt()) {
|
|
3116
3116
|
d.preventDefault();
|
|
3117
3117
|
return;
|
|
3118
3118
|
}
|
|
3119
3119
|
G = r.value.getBoundingClientRect(), z.contextMenu(ae(d)) && (d.preventDefault(), Pe());
|
|
3120
3120
|
}
|
|
3121
|
-
function
|
|
3121
|
+
function Lo() {
|
|
3122
3122
|
const d = l.value;
|
|
3123
3123
|
d && (G = null, jt = Qe(), z.setScroll(d.scrollLeft, d.scrollTop));
|
|
3124
3124
|
}
|
|
3125
|
-
function
|
|
3126
|
-
if (
|
|
3127
|
-
|
|
3125
|
+
function Fo(d) {
|
|
3126
|
+
if (F.active) {
|
|
3127
|
+
F.keyDown(d, ve(d)) && d.stopPropagation();
|
|
3128
3128
|
return;
|
|
3129
3129
|
}
|
|
3130
3130
|
if (o.editing) return;
|
|
@@ -3158,10 +3158,10 @@ const Ps = () => {
|
|
|
3158
3158
|
!d || d.value || (d.value = " ", d.select(), fe && clearTimeout(fe), fe = setTimeout(Jt, 0));
|
|
3159
3159
|
}
|
|
3160
3160
|
function Jt() {
|
|
3161
|
-
fe && clearTimeout(fe), fe = null, h.value && !
|
|
3161
|
+
fe && clearTimeout(fe), fe = null, h.value && !F.active && (h.value.value = "");
|
|
3162
3162
|
}
|
|
3163
3163
|
function pt(d, f, b, T) {
|
|
3164
|
-
T && (Je =
|
|
3164
|
+
T && (Je = qe(d, ft()), ge()), i("clipboard-copy", { block: f, cellCount: za(f), cut: b, ok: T }), T && b && !o.readonly && i("clear-request", d);
|
|
3165
3165
|
}
|
|
3166
3166
|
function en(d, f) {
|
|
3167
3167
|
const b = z.getSelection(), T = po(b, ft());
|
|
@@ -3180,7 +3180,7 @@ const Ps = () => {
|
|
|
3180
3180
|
);
|
|
3181
3181
|
}
|
|
3182
3182
|
function tn(d, f) {
|
|
3183
|
-
|
|
3183
|
+
F.active || o.editing || (Jt(), d.preventDefault(), en(f, d));
|
|
3184
3184
|
}
|
|
3185
3185
|
function nn(d) {
|
|
3186
3186
|
if (o.readonly) return null;
|
|
@@ -3191,7 +3191,7 @@ const Ps = () => {
|
|
|
3191
3191
|
return f ? (De(), i("paste-request", f), f) : null;
|
|
3192
3192
|
}
|
|
3193
3193
|
function Bo(d) {
|
|
3194
|
-
|
|
3194
|
+
F.active || fa({ isEditing: o.editing, eventTarget: d.target, hiddenFocusEl: h.value ?? null }) && (d.preventDefault(), S.value.kind !== "none" && nn(d.clipboardData?.getData("text/plain") ?? ""));
|
|
3195
3195
|
}
|
|
3196
3196
|
const Ct = /* @__PURE__ */ new Map();
|
|
3197
3197
|
let ze = null;
|
|
@@ -3205,10 +3205,10 @@ const Ps = () => {
|
|
|
3205
3205
|
Ct.set(d, f), ze && clearTimeout(ze), ze = setTimeout(on, Ys);
|
|
3206
3206
|
}
|
|
3207
3207
|
function Vo() {
|
|
3208
|
-
o.editing || (
|
|
3208
|
+
o.editing || (F.active || z.compositionStart(), F.active && F.compositionStart());
|
|
3209
3209
|
}
|
|
3210
3210
|
function Go() {
|
|
3211
|
-
|
|
3211
|
+
F.compositionEnd();
|
|
3212
3212
|
}
|
|
3213
3213
|
let wt = null, vt = null, St = null, We = null;
|
|
3214
3214
|
function an() {
|
|
@@ -3249,23 +3249,23 @@ const Ps = () => {
|
|
|
3249
3249
|
}
|
|
3250
3250
|
St = typeof matchMedia == "function" ? matchMedia("(prefers-color-scheme: dark)") : null, St?.addEventListener?.("change", ye), We = typeof matchMedia == "function" ? matchMedia("(pointer: coarse)") : null, v.value = !!We?.matches, We?.addEventListener?.("change", an), ge();
|
|
3251
3251
|
}), Zo(() => {
|
|
3252
|
-
|
|
3252
|
+
N && cancelAnimationFrame(N), Se && clearTimeout(Se), wt?.disconnect(), vt?.disconnect(), St?.removeEventListener?.("change", ye), We?.removeEventListener?.("change", an), q && clearTimeout(q.timer), le && clearTimeout(le), z.dispose(), fe && clearTimeout(fe), on(), K = null;
|
|
3253
3253
|
});
|
|
3254
3254
|
const Y = _(() => S.value.activeCell), Uo = _(() => Y.value ? o.columns[Y.value[0]] : void 0), Ko = _(() => {
|
|
3255
3255
|
const d = Y.value;
|
|
3256
3256
|
return d ? o.getRowLabel?.(d[1]) ?? String(d[1] + 1) : "";
|
|
3257
|
-
}), _o = _(() => Y.value && o.rowCount > 0 ? o.getCellText(Y.value) : ""), rn = (d) => `${s}-col-${d}`, $o = _(() => Y.value ? `${rn(Y.value[0])} ${s}-rowheader ${s}-cell` : `${s}-label`), ln = (d) => z.getCellRect(d), j = _(() =>
|
|
3257
|
+
}), _o = _(() => Y.value && o.rowCount > 0 ? o.getCellText(Y.value) : ""), rn = (d) => `${s}-col-${d}`, $o = _(() => Y.value ? `${rn(Y.value[0])} ${s}-rowheader ${s}-cell` : `${s}-label`), ln = (d) => z.getCellRect(d), j = _(() => F.state.value), cn = _(() => j.value.active && j.value.mode === "edit" && j.value.kind === "long-text" && !!o.editHint), et = _(() => ({
|
|
3258
3258
|
open: j.value.active,
|
|
3259
3259
|
kind: j.value.kind,
|
|
3260
3260
|
view: j.value.mode === "view",
|
|
3261
3261
|
invalid: !!j.value.error,
|
|
3262
3262
|
hint: cn.value,
|
|
3263
3263
|
rowHeight: k.value,
|
|
3264
|
-
lines:
|
|
3264
|
+
lines: F.lines.value,
|
|
3265
3265
|
theme: g.value,
|
|
3266
3266
|
dangerColor: R,
|
|
3267
3267
|
textBox: I.value
|
|
3268
|
-
})),
|
|
3268
|
+
})), qo = _(() => Ka(et.value)), un = _(() => j.value.active ? vo(et.value) : k.value), tt = _(() => {
|
|
3269
3269
|
if (y.value, j.value.active) return j.value.error;
|
|
3270
3270
|
const d = S.value.activeCell, f = d && o.cellStatus ? o.cellStatus(d) : null;
|
|
3271
3271
|
return f?.state === "error" ? f.message : null;
|
|
@@ -3281,9 +3281,9 @@ const Ps = () => {
|
|
|
3281
3281
|
y.value++, z.invalidate();
|
|
3282
3282
|
},
|
|
3283
3283
|
refreshTheme: ye,
|
|
3284
|
-
isEditing: () =>
|
|
3285
|
-
commitEdit: () => !
|
|
3286
|
-
cancelEdit: () =>
|
|
3284
|
+
isEditing: () => F.active,
|
|
3285
|
+
commitEdit: () => !F.active || F.commit("selection"),
|
|
3286
|
+
cancelEdit: () => F.cancel(),
|
|
3287
3287
|
copy: (d = !1) => en(d),
|
|
3288
3288
|
paste: (d) => nn(d)
|
|
3289
3289
|
}), (d, f) => (pe(), Ce("div", {
|
|
@@ -3317,7 +3317,7 @@ const Ps = () => {
|
|
|
3317
3317
|
"data-ui-grid-scroller": "",
|
|
3318
3318
|
"aria-hidden": "true",
|
|
3319
3319
|
style: { position: "absolute", inset: "0", overflow: "auto", "overscroll-behavior": "contain", "z-index": "1", "touch-action": "pan-x pan-y", "-webkit-overflow-scrolling": "touch", "-webkit-touch-callout": "none", "-webkit-user-select": "none", "user-select": "none", "-webkit-tap-highlight-color": "transparent" },
|
|
3320
|
-
onScrollPassive:
|
|
3320
|
+
onScrollPassive: Lo,
|
|
3321
3321
|
onPointerdown: Mo,
|
|
3322
3322
|
onPointermove: Ao,
|
|
3323
3323
|
onPointerup: Eo,
|
|
@@ -3325,7 +3325,7 @@ const Ps = () => {
|
|
|
3325
3325
|
onLostpointercapture: Zt,
|
|
3326
3326
|
onPointerleave: Ho,
|
|
3327
3327
|
onDblclick: To,
|
|
3328
|
-
onContextmenu:
|
|
3328
|
+
onContextmenu: No
|
|
3329
3329
|
}, [
|
|
3330
3330
|
ee("div", {
|
|
3331
3331
|
style: Be({ width: `${p.value.width}px`, height: `${p.value.height}px` })
|
|
@@ -3339,10 +3339,10 @@ const Ps = () => {
|
|
|
3339
3339
|
role: "columnheader",
|
|
3340
3340
|
class: "sr-only",
|
|
3341
3341
|
"aria-colindex": T + 1
|
|
3342
|
-
}, we(b.name), 9,
|
|
3342
|
+
}, we(b.name), 9, Ns))), 128))
|
|
3343
3343
|
])
|
|
3344
3344
|
]),
|
|
3345
|
-
ee("div",
|
|
3345
|
+
ee("div", Ls, [
|
|
3346
3346
|
ee("div", {
|
|
3347
3347
|
role: "row",
|
|
3348
3348
|
"aria-rowindex": Y.value ? Y.value[1] + 2 : 2,
|
|
@@ -3380,12 +3380,12 @@ const Ps = () => {
|
|
|
3380
3380
|
autocapitalize: "off",
|
|
3381
3381
|
spellcheck: "false",
|
|
3382
3382
|
rows: "1",
|
|
3383
|
-
style: Be(
|
|
3384
|
-
onKeydown:
|
|
3383
|
+
style: Be(qo.value),
|
|
3384
|
+
onKeydown: Fo,
|
|
3385
3385
|
onCompositionstart: Vo,
|
|
3386
3386
|
onCompositionend: Go,
|
|
3387
|
-
onInput: f[0] || (f[0] = (b) => J(
|
|
3388
|
-
onBlur: f[1] || (f[1] = (b) => J(
|
|
3387
|
+
onInput: f[0] || (f[0] = (b) => J(F).input()),
|
|
3388
|
+
onBlur: f[1] || (f[1] = (b) => J(F).blur()),
|
|
3389
3389
|
onCopy: f[2] || (f[2] = (b) => tn(b, !1)),
|
|
3390
3390
|
onCut: f[3] || (f[3] = (b) => tn(b, !0))
|
|
3391
3391
|
}, null, 44, Os),
|
|
@@ -3402,9 +3402,9 @@ const Ps = () => {
|
|
|
3402
3402
|
style: Be({ ...J($a)(et.value), top: `${un.value + 4}px` })
|
|
3403
3403
|
}, we(tt.value), 13, Vs)) : Oe("", !0)
|
|
3404
3404
|
], 8, Ws)
|
|
3405
|
-
], 8,
|
|
3405
|
+
], 8, Fs)
|
|
3406
3406
|
]),
|
|
3407
|
-
|
|
3407
|
+
L.value ? (pe(), Ce("div", {
|
|
3408
3408
|
key: 0,
|
|
3409
3409
|
"data-ui-grid-empty": "",
|
|
3410
3410
|
style: Be([{ top: `${P.value}px` }, { position: "absolute", left: "0", right: "0", bottom: "0", display: "flex", "align-items": "center", "justify-content": "center", overflow: "hidden", color: "var(--ui-text-muted)", "font-size": "var(--ui-font-size)", "pointer-events": "none", "z-index": "1" }])
|
|
@@ -3542,7 +3542,7 @@ const _e = 4, Re = 6, er = 4, Ae = 4, he = (e, t, n, o = "") => {
|
|
|
3542
3542
|
const a = o;
|
|
3543
3543
|
e.save(), e.strokeStyle = i, e.lineWidth = Math.max(1.25, a / 11), e.lineCap = "round", e.lineJoin = "round", e.beginPath(), e.moveTo(t + a * 0.45, n + a * 0.2), e.lineTo(t + a * 0.2, n + a * 0.2), e.lineTo(t + a * 0.2, n + a * 0.8), e.lineTo(t + a * 0.8, n + a * 0.8), e.lineTo(t + a * 0.8, n + a * 0.55), e.moveTo(t + a * 0.55, n + a * 0.2), e.lineTo(t + a * 0.8, n + a * 0.2), e.lineTo(t + a * 0.8, n + a * 0.45), e.moveTo(t + a * 0.8, n + a * 0.2), e.lineTo(t + a * 0.48, n + a * 0.52), e.stroke(), e.restore();
|
|
3544
3544
|
};
|
|
3545
|
-
class
|
|
3545
|
+
class qt {
|
|
3546
3546
|
cache = new ct(200);
|
|
3547
3547
|
set(t, n) {
|
|
3548
3548
|
this.cache.set(t, n);
|
|
@@ -3554,7 +3554,7 @@ class Xt {
|
|
|
3554
3554
|
this.cache.clear();
|
|
3555
3555
|
}
|
|
3556
3556
|
}
|
|
3557
|
-
const
|
|
3557
|
+
const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.y + t.height, ir = { type: "decimal", precision: 2 }, $n = (e, t) => {
|
|
3558
3558
|
if (!Number.isFinite(e) || Math.abs(e) <= Number.MAX_SAFE_INTEGER) return e.toFixed(t);
|
|
3559
3559
|
const n = String(e), o = n.includes("e") ? "" : "0".repeat(t);
|
|
3560
3560
|
return o ? `${n}.${o}` : n;
|
|
@@ -3566,7 +3566,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3566
3566
|
return s + a + r;
|
|
3567
3567
|
}
|
|
3568
3568
|
return t.type === "percent" ? `${$n(o * 100, i)}%` : $n(o, i);
|
|
3569
|
-
},
|
|
3569
|
+
}, Lr = (e, t) => {
|
|
3570
3570
|
if (e == null || e === "") return null;
|
|
3571
3571
|
const n = String(e), o = t?.type === "percent" || n.includes("%"), i = n.replace(/[^\d.+-]/g, "").replace(/([+\-.])+/g, "$1"), a = Number.parseFloat(i);
|
|
3572
3572
|
return Number.isNaN(a) ? null : o ? a / 100 : a;
|
|
@@ -3593,24 +3593,24 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3593
3593
|
me(e, t, n.text, { color: t.cellTheme.textMuted, align: n.align === "end" ? "right" : "left" });
|
|
3594
3594
|
},
|
|
3595
3595
|
describe: (e) => e.text
|
|
3596
|
-
},
|
|
3596
|
+
}, qn = (e, t) => e.text ?? ar(e.value, e.format, t), dr = {
|
|
3597
3597
|
draw: (e, t, n) => {
|
|
3598
|
-
me(e, t,
|
|
3598
|
+
me(e, t, qn(n, t.locale), { align: "right" });
|
|
3599
3599
|
},
|
|
3600
|
-
describe: (e, t) =>
|
|
3601
|
-
},
|
|
3600
|
+
describe: (e, t) => qn(e, t.locale)
|
|
3601
|
+
}, Xn = (e, t, n) => {
|
|
3602
3602
|
const o = n.icon;
|
|
3603
3603
|
return { x: e - n.padding - o, y: (t - o) / 2, width: o, height: o };
|
|
3604
3604
|
}, hr = {
|
|
3605
3605
|
draw: (e, t, n) => {
|
|
3606
|
-
const { metrics: o, cellTheme: i } = t, a =
|
|
3606
|
+
const { metrics: o, cellTheme: i } = t, a = Xn(t.width, t.height, o);
|
|
3607
3607
|
n.text && (me(e, t, n.text, { color: i.link, maxWidth: Math.max(0, a.x - Ae - o.padding) }), or(e, t.x + a.x, t.y + a.y, a.width, i.link));
|
|
3608
3608
|
},
|
|
3609
3609
|
describe: (e) => e.text,
|
|
3610
3610
|
hitTest: (e, { point: t, size: n, metrics: o }) => {
|
|
3611
3611
|
if (!e.text || !e.href) return null;
|
|
3612
|
-
const i =
|
|
3613
|
-
return
|
|
3612
|
+
const i = Xn(n.width, n.height, o), a = { x: i.x - 4, y: Math.max(0, i.y - 4), width: i.width + 8, height: Math.min(n.height, i.height + 8) };
|
|
3613
|
+
return Xe(t, a) ? { action: { type: "open-url", href: e.href }, area: a } : null;
|
|
3614
3614
|
}
|
|
3615
3615
|
}, Yn = (e, t, n) => {
|
|
3616
3616
|
const o = n.icon;
|
|
@@ -3633,7 +3633,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3633
3633
|
hitTest: (e, { point: t, size: n, metrics: o }) => {
|
|
3634
3634
|
if (e.readonly) return null;
|
|
3635
3635
|
const i = Yn(n.width, n.height, o), a = { x: i.x - 4, y: Math.max(0, i.y - 4), width: i.width + 8, height: Math.min(n.height, i.height + 8) };
|
|
3636
|
-
return
|
|
3636
|
+
return Xe(t, a) ? { action: jn(e), area: a } : null;
|
|
3637
3637
|
},
|
|
3638
3638
|
keyAction: (e, t) => !e.readonly && (t === "Enter" || t === " ") ? jn(e) : null
|
|
3639
3639
|
}, At = 2, st = (e) => Math.max(1, Math.min(10, Math.round(e.max ?? 5))), gr = {
|
|
@@ -3648,7 +3648,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3648
3648
|
hitTest: (e, { point: t, size: n, metrics: o }) => {
|
|
3649
3649
|
if (e.readonly) return null;
|
|
3650
3650
|
const i = o.icon + At, a = st(e), s = { x: o.padding, y: Math.max(0, n.height / 2 - o.icon), width: a * i, height: Math.min(n.height, 2 * o.icon) };
|
|
3651
|
-
if (!
|
|
3651
|
+
if (!Xe(t, s)) return null;
|
|
3652
3652
|
const r = Math.min(a, Math.max(1, Math.ceil((t.x - o.padding) / i)));
|
|
3653
3653
|
return { action: { type: "update", value: r !== e.value ? r : null }, area: s };
|
|
3654
3654
|
},
|
|
@@ -3660,7 +3660,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3660
3660
|
const n = Math.min(st(e), Number(t));
|
|
3661
3661
|
return { type: "update", value: n === 0 || n === e.value ? null : n };
|
|
3662
3662
|
}
|
|
3663
|
-
}, He = (e, t, n) => `${e}|${t.width}|${t.metrics.rowHeight}|${n.join("\0")}`,
|
|
3663
|
+
}, He = (e, t, n) => `${e}|${t.width}|${t.metrics.rowHeight}|${n.join("\0")}`, Lt = new qt(), Ro = (e, t, n) => {
|
|
3664
3664
|
const { metrics: o, theme: i } = t;
|
|
3665
3665
|
if (!n.length) return [];
|
|
3666
3666
|
he(e, o.chipFontSize, i.fontFamily);
|
|
@@ -3679,13 +3679,13 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3679
3679
|
}, pr = {
|
|
3680
3680
|
draw: (e, t, n) => {
|
|
3681
3681
|
const o = { fill: t.cellTheme.badgeFill, color: t.cellTheme.text }, i = Ro(e, t, n.records.map((a) => ({ label: a.label, colors: o })));
|
|
3682
|
-
|
|
3682
|
+
Lt.set(He("link", t, n.records.map((a) => a.id)), i);
|
|
3683
3683
|
},
|
|
3684
3684
|
describe: (e) => dt(e.records.map((t) => t.label)),
|
|
3685
|
-
hitTest: (e, t) => ko(
|
|
3686
|
-
},
|
|
3685
|
+
hitTest: (e, t) => ko(Lt.get(He("link", Xt(t), e.records.map((n) => n.id))), t, (n) => ({ type: "open-record", id: e.records[n].id }))
|
|
3686
|
+
}, Xt = (e) => ({ width: e.size.width, metrics: e.metrics }), ko = (e, t, n, o = !1) => {
|
|
3687
3687
|
if (!t.wasActive && !o || !e) return null;
|
|
3688
|
-
const i = e.findIndex((a) =>
|
|
3688
|
+
const i = e.findIndex((a) => Xe(t.point, a));
|
|
3689
3689
|
return i < 0 ? null : { action: n(i), area: e[i] };
|
|
3690
3690
|
}, Cr = (e, t, n, o, i, a, s) => {
|
|
3691
3691
|
const { cellTheme: r, theme: c } = t, l = s ? t.images.get(s) : void 0;
|
|
@@ -3717,7 +3717,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3717
3717
|
}, Qn = (e) => {
|
|
3718
3718
|
const t = /\.([\p{L}\p{N}]{1,5})$/u.exec(e);
|
|
3719
3719
|
return t ? t[1].toUpperCase() : "";
|
|
3720
|
-
},
|
|
3720
|
+
}, Ft = new qt(), vr = {
|
|
3721
3721
|
draw: (e, t, n) => {
|
|
3722
3722
|
const { metrics: o, cellTheme: i, theme: a } = t;
|
|
3723
3723
|
if (!n.files.length) return;
|
|
@@ -3729,10 +3729,10 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3729
3729
|
l.widths.forEach((g, C) => {
|
|
3730
3730
|
const S = n.files[C], p = S.thumbnailUrl ? t.images.get(S.thumbnailUrl) : void 0;
|
|
3731
3731
|
p ? (e.save(), D(e, { x: h, y: u, width: g, height: s, radius: 3 }), e.clip(), e.drawImage(p, h, u, g, s), e.restore(), D(e, { x: h + 0.5, y: u + 0.5, width: g - 1, height: s - 1, radius: 3, stroke: a.cellLineColor })) : (D(e, { x: h, y: u, width: g, height: s, radius: 3, fill: i.badgeFill }), he(e, r, a.fontFamily, "600"), e.fillStyle = i.badgeText, e.textAlign = "center", e.textBaseline = "middle", e.fillText(Qn(S.name) || "?", h + g / 2, u + s / 2 + 0.5, g - 4)), m.push({ x: h - t.x, y: u - t.y, width: g, height: s }), h += g + _e;
|
|
3732
|
-
}), l.more > 0 && $t(e, t, h, l.more, l.badgeWidth),
|
|
3732
|
+
}), l.more > 0 && $t(e, t, h, l.more, l.badgeWidth), Ft.set(He("attachment", t, n.files.map((g) => g.id)), m);
|
|
3733
3733
|
},
|
|
3734
3734
|
describe: (e) => dt(e.files.map((t) => t.name)),
|
|
3735
|
-
hitTest: (e, t) => ko(
|
|
3735
|
+
hitTest: (e, t) => ko(Ft.get(He("attachment", Xt(t), e.files.map((n) => n.id))), t, (n) => ({ type: "open-attachment", id: e.files[n].id }), !0)
|
|
3736
3736
|
}, Zn = (e) => `${Math.round(Math.max(0, Math.min(1, e)) * 100)}%`, Sr = {
|
|
3737
3737
|
draw: (e, t, n) => {
|
|
3738
3738
|
if (n.value == null) return;
|
|
@@ -3740,7 +3740,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3740
3740
|
e.save(), e.lineWidth = 2.5, e.beginPath(), e.arc(r, c, l, 0, Math.PI * 2), e.strokeStyle = i.progressTrack, e.stroke(), s > 0 && (e.beginPath(), e.arc(r, c, l, -Math.PI / 2, -Math.PI / 2 + s * Math.PI * 2), e.strokeStyle = i.progressFill, e.lineCap = s < 1 ? "round" : "butt", e.stroke()), e.restore(), me(e, t, Zn(s), { x: t.x + o.padding + a + Ae + 2 });
|
|
3741
3741
|
},
|
|
3742
3742
|
describe: (e) => e.value == null ? "" : Zn(e.value)
|
|
3743
|
-
}, Et = 10, Dt = new
|
|
3743
|
+
}, Et = 10, Dt = new qt(), yr = {
|
|
3744
3744
|
draw: (e, t, n) => {
|
|
3745
3745
|
const { metrics: o, cellTheme: i, theme: a } = t;
|
|
3746
3746
|
if (!n.label) return;
|
|
@@ -3751,8 +3751,8 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3751
3751
|
describe: (e) => e.label,
|
|
3752
3752
|
hitTest: (e, t) => {
|
|
3753
3753
|
if (e.disabled || !e.label) return null;
|
|
3754
|
-
const n = Dt.get(He("button",
|
|
3755
|
-
return n &&
|
|
3754
|
+
const n = Dt.get(He("button", Xt(t), [e.label]))?.[0];
|
|
3755
|
+
return n && Xe(t.point, n) ? { action: { type: "press" }, area: n } : null;
|
|
3756
3756
|
},
|
|
3757
3757
|
keyAction: (e, t) => !e.disabled && (t === "Enter" || t === " ") ? { type: "press" } : null
|
|
3758
3758
|
}, Jn = 4, br = {
|
|
@@ -3770,8 +3770,8 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3770
3770
|
progress: Sr,
|
|
3771
3771
|
button: yr,
|
|
3772
3772
|
derived: ur
|
|
3773
|
-
},
|
|
3774
|
-
|
|
3773
|
+
}, Fr = () => {
|
|
3774
|
+
Lt.clear(), Ft.clear(), Dt.clear();
|
|
3775
3775
|
}, xr = 6, Rr = (e, t, n, o) => {
|
|
3776
3776
|
if (e.save(), n === "pending") {
|
|
3777
3777
|
const i = xr / 2, a = t.x + t.width - 3 - i, s = t.y + 3 + i;
|
|
@@ -3830,7 +3830,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3830
3830
|
if (!k || I.kind !== "cells" || !eo(I.ranges[0], I.ranges[1])) return;
|
|
3831
3831
|
const P = y.currentTarget?.querySelector("[data-ui-grid]"), A = R.getCellRect(k);
|
|
3832
3832
|
if (!P || !A) return;
|
|
3833
|
-
const
|
|
3833
|
+
const L = P.getBoundingClientRect(), M = { x: y.clientX - L.left - A.x, y: y.clientY - L.top - A.y };
|
|
3834
3834
|
if (M.x < 0 || M.y < 0 || M.x >= A.width || M.y >= A.height) return;
|
|
3835
3835
|
const E = g(k, M, A, eo(v, k));
|
|
3836
3836
|
E && w(E.action, k);
|
|
@@ -3952,7 +3952,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3952
3952
|
"Free now {now}, free after {after}": "Free now {now}, free after {after}",
|
|
3953
3953
|
Sections: "Sections",
|
|
3954
3954
|
"Back to the previous page": "Back",
|
|
3955
|
-
"
|
|
3955
|
+
"Launcher home": "Home",
|
|
3956
3956
|
"Page actions": "Page actions",
|
|
3957
3957
|
Slider: "Slider",
|
|
3958
3958
|
"Increase value": "Increase value",
|
|
@@ -4107,7 +4107,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4107
4107
|
"Not checked": "Not checked",
|
|
4108
4108
|
"Rating {value} of {max}": "Rating {value} of {max}",
|
|
4109
4109
|
Saving: "Saving",
|
|
4110
|
-
"Not saved": "Not saved"
|
|
4110
|
+
"Not saved": "Not saved",
|
|
4111
|
+
"Choose tags": "Choose tags",
|
|
4112
|
+
"Choose a tag": "Choose a tag",
|
|
4113
|
+
"Search tags": "Search tags",
|
|
4114
|
+
'Create "{name}"': 'Create "{name}"',
|
|
4115
|
+
"No matching tags": "No matching tags",
|
|
4116
|
+
"Loading tags": "Loading tags",
|
|
4117
|
+
"At most {max} tags": "At most {max} tags",
|
|
4118
|
+
"Expand all": "Expand all",
|
|
4119
|
+
"Collapse all": "Collapse all"
|
|
4111
4120
|
}, Pr = {
|
|
4112
4121
|
en: Ir,
|
|
4113
4122
|
"zh-TW": {
|
|
@@ -4217,7 +4226,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4217
4226
|
"Free now {now}, free after {after}": "目前可用 {now},清理後可用 {after}",
|
|
4218
4227
|
Sections: "區段",
|
|
4219
4228
|
"Back to the previous page": "返回",
|
|
4220
|
-
"
|
|
4229
|
+
"Launcher home": "主畫面",
|
|
4221
4230
|
"Page actions": "頁面動作",
|
|
4222
4231
|
Slider: "滑桿",
|
|
4223
4232
|
"Increase value": "增加數值",
|
|
@@ -4372,7 +4381,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4372
4381
|
"Not checked": "未勾選",
|
|
4373
4382
|
"Rating {value} of {max}": "評分 {value}/{max}",
|
|
4374
4383
|
Saving: "儲存中",
|
|
4375
|
-
"Not saved": "未儲存"
|
|
4384
|
+
"Not saved": "未儲存",
|
|
4385
|
+
"Choose tags": "選擇標籤",
|
|
4386
|
+
"Choose a tag": "選擇一個標籤",
|
|
4387
|
+
"Search tags": "搜尋標籤",
|
|
4388
|
+
'Create "{name}"': "建立「{name}」",
|
|
4389
|
+
"No matching tags": "沒有符合的標籤",
|
|
4390
|
+
"Loading tags": "正在讀取標籤",
|
|
4391
|
+
"At most {max} tags": "最多 {max} 個標籤",
|
|
4392
|
+
"Expand all": "全部展開",
|
|
4393
|
+
"Collapse all": "全部收合"
|
|
4376
4394
|
},
|
|
4377
4395
|
"zh-CN": {
|
|
4378
4396
|
"{count} failed": "{count} 个失败",
|
|
@@ -4481,7 +4499,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4481
4499
|
"Free now {now}, free after {after}": "当前可用 {now},清理后可用 {after}",
|
|
4482
4500
|
Sections: "区段",
|
|
4483
4501
|
"Back to the previous page": "返回",
|
|
4484
|
-
"
|
|
4502
|
+
"Launcher home": "主屏幕",
|
|
4485
4503
|
"Page actions": "页面操作",
|
|
4486
4504
|
Slider: "滑块",
|
|
4487
4505
|
"Increase value": "增加数值",
|
|
@@ -4636,7 +4654,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4636
4654
|
"Not checked": "未勾选",
|
|
4637
4655
|
"Rating {value} of {max}": "评分 {value}/{max}",
|
|
4638
4656
|
Saving: "保存中",
|
|
4639
|
-
"Not saved": "未保存"
|
|
4657
|
+
"Not saved": "未保存",
|
|
4658
|
+
"Choose tags": "选择标签",
|
|
4659
|
+
"Choose a tag": "选择一个标签",
|
|
4660
|
+
"Search tags": "搜索标签",
|
|
4661
|
+
'Create "{name}"': "创建“{name}”",
|
|
4662
|
+
"No matching tags": "没有匹配的标签",
|
|
4663
|
+
"Loading tags": "正在读取标签",
|
|
4664
|
+
"At most {max} tags": "最多 {max} 个标签",
|
|
4665
|
+
"Expand all": "全部展开",
|
|
4666
|
+
"Collapse all": "全部折叠"
|
|
4640
4667
|
},
|
|
4641
4668
|
ja: {
|
|
4642
4669
|
"{count} failed": "{count} 件失敗",
|
|
@@ -4745,7 +4772,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4745
4772
|
"Free now {now}, free after {after}": "現在の空き {now}、解放後の空き {after}",
|
|
4746
4773
|
Sections: "セクション",
|
|
4747
4774
|
"Back to the previous page": "戻る",
|
|
4748
|
-
"
|
|
4775
|
+
"Launcher home": "ホーム",
|
|
4749
4776
|
"Page actions": "ページの操作",
|
|
4750
4777
|
Slider: "スライダー",
|
|
4751
4778
|
"Increase value": "値を増やす",
|
|
@@ -4900,7 +4927,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4900
4927
|
"Not checked": "チェックなし",
|
|
4901
4928
|
"Rating {value} of {max}": "評価 {value}/{max}",
|
|
4902
4929
|
Saving: "保存中",
|
|
4903
|
-
"Not saved": "保存されていません"
|
|
4930
|
+
"Not saved": "保存されていません",
|
|
4931
|
+
"Choose tags": "タグを選択",
|
|
4932
|
+
"Choose a tag": "タグを 1 つ選択",
|
|
4933
|
+
"Search tags": "タグを検索",
|
|
4934
|
+
'Create "{name}"': "「{name}」を作成",
|
|
4935
|
+
"No matching tags": "一致するタグはありません",
|
|
4936
|
+
"Loading tags": "タグを読み込んでいます",
|
|
4937
|
+
"At most {max} tags": "タグは最大 {max} 個です",
|
|
4938
|
+
"Expand all": "すべて展開",
|
|
4939
|
+
"Collapse all": "すべて折りたたむ"
|
|
4904
4940
|
},
|
|
4905
4941
|
ko: {
|
|
4906
4942
|
"{count} failed": "{count}개 실패",
|
|
@@ -5009,7 +5045,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5009
5045
|
"Free now {now}, free after {after}": "현재 여유 공간 {now}, 정리 후 여유 공간 {after}",
|
|
5010
5046
|
Sections: "섹션",
|
|
5011
5047
|
"Back to the previous page": "뒤로",
|
|
5012
|
-
"
|
|
5048
|
+
"Launcher home": "홈",
|
|
5013
5049
|
"Page actions": "페이지 작업",
|
|
5014
5050
|
Slider: "슬라이더",
|
|
5015
5051
|
"Increase value": "값 증가",
|
|
@@ -5164,7 +5200,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5164
5200
|
"Not checked": "선택 안 됨",
|
|
5165
5201
|
"Rating {value} of {max}": "평점 {value}/{max}",
|
|
5166
5202
|
Saving: "저장 중",
|
|
5167
|
-
"Not saved": "저장되지 않음"
|
|
5203
|
+
"Not saved": "저장되지 않음",
|
|
5204
|
+
"Choose tags": "태그 선택",
|
|
5205
|
+
"Choose a tag": "태그 하나 선택",
|
|
5206
|
+
"Search tags": "태그 검색",
|
|
5207
|
+
'Create "{name}"': '"{name}" 만들기',
|
|
5208
|
+
"No matching tags": "일치하는 태그가 없습니다",
|
|
5209
|
+
"Loading tags": "태그를 읽는 중",
|
|
5210
|
+
"At most {max} tags": "태그는 최대 {max}개입니다",
|
|
5211
|
+
"Expand all": "모두 펼치기",
|
|
5212
|
+
"Collapse all": "모두 접기"
|
|
5168
5213
|
},
|
|
5169
5214
|
de: {
|
|
5170
5215
|
"{count} failed": "{count} fehlgeschlagen",
|
|
@@ -5273,7 +5318,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5273
5318
|
"Free now {now}, free after {after}": "Jetzt frei {now}, danach frei {after}",
|
|
5274
5319
|
Sections: "Abschnitte",
|
|
5275
5320
|
"Back to the previous page": "Zurück",
|
|
5276
|
-
"
|
|
5321
|
+
"Launcher home": "Startseite",
|
|
5277
5322
|
"Page actions": "Seitenaktionen",
|
|
5278
5323
|
Slider: "Schieberegler",
|
|
5279
5324
|
"Increase value": "Wert erhöhen",
|
|
@@ -5428,7 +5473,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5428
5473
|
"Not checked": "Nicht aktiviert",
|
|
5429
5474
|
"Rating {value} of {max}": "Bewertung {value} von {max}",
|
|
5430
5475
|
Saving: "Wird gespeichert",
|
|
5431
|
-
"Not saved": "Nicht gespeichert"
|
|
5476
|
+
"Not saved": "Nicht gespeichert",
|
|
5477
|
+
"Choose tags": "Tags auswählen",
|
|
5478
|
+
"Choose a tag": "Tag auswählen",
|
|
5479
|
+
"Search tags": "Tags suchen",
|
|
5480
|
+
'Create "{name}"': "„{name}“ erstellen",
|
|
5481
|
+
"No matching tags": "Keine passenden Tags",
|
|
5482
|
+
"Loading tags": "Tags werden gelesen",
|
|
5483
|
+
"At most {max} tags": "Höchstens {max} Tags",
|
|
5484
|
+
"Expand all": "Alle aufklappen",
|
|
5485
|
+
"Collapse all": "Alle zuklappen"
|
|
5432
5486
|
},
|
|
5433
5487
|
fr: {
|
|
5434
5488
|
"{count} failed": "{count} en échec",
|
|
@@ -5537,7 +5591,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5537
5591
|
"Free now {now}, free after {after}": "Libre maintenant {now}, libre ensuite {after}",
|
|
5538
5592
|
Sections: "Sections",
|
|
5539
5593
|
"Back to the previous page": "Retour",
|
|
5540
|
-
"
|
|
5594
|
+
"Launcher home": "Accueil",
|
|
5541
5595
|
"Page actions": "Actions de la page",
|
|
5542
5596
|
Slider: "Curseur",
|
|
5543
5597
|
"Increase value": "Augmenter la valeur",
|
|
@@ -5692,7 +5746,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5692
5746
|
"Not checked": "Non coché",
|
|
5693
5747
|
"Rating {value} of {max}": "Note {value} sur {max}",
|
|
5694
5748
|
Saving: "Enregistrement",
|
|
5695
|
-
"Not saved": "Non enregistré"
|
|
5749
|
+
"Not saved": "Non enregistré",
|
|
5750
|
+
"Choose tags": "Choisir des étiquettes",
|
|
5751
|
+
"Choose a tag": "Choisir une étiquette",
|
|
5752
|
+
"Search tags": "Rechercher des étiquettes",
|
|
5753
|
+
'Create "{name}"': "Créer « {name} »",
|
|
5754
|
+
"No matching tags": "Aucune étiquette correspondante",
|
|
5755
|
+
"Loading tags": "Lecture des étiquettes",
|
|
5756
|
+
"At most {max} tags": "Au plus {max} étiquettes",
|
|
5757
|
+
"Expand all": "Tout développer",
|
|
5758
|
+
"Collapse all": "Tout réduire"
|
|
5696
5759
|
},
|
|
5697
5760
|
es: {
|
|
5698
5761
|
"{count} failed": "{count} con error",
|
|
@@ -5801,7 +5864,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5801
5864
|
"Free now {now}, free after {after}": "Libre ahora {now}, libre después {after}",
|
|
5802
5865
|
Sections: "Secciones",
|
|
5803
5866
|
"Back to the previous page": "Atrás",
|
|
5804
|
-
"
|
|
5867
|
+
"Launcher home": "Inicio",
|
|
5805
5868
|
"Page actions": "Acciones de la página",
|
|
5806
5869
|
Slider: "Control deslizante",
|
|
5807
5870
|
"Increase value": "Aumentar valor",
|
|
@@ -5956,7 +6019,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5956
6019
|
"Not checked": "Sin marcar",
|
|
5957
6020
|
"Rating {value} of {max}": "Valoración {value} de {max}",
|
|
5958
6021
|
Saving: "Guardando",
|
|
5959
|
-
"Not saved": "No guardado"
|
|
6022
|
+
"Not saved": "No guardado",
|
|
6023
|
+
"Choose tags": "Elegir etiquetas",
|
|
6024
|
+
"Choose a tag": "Elegir una etiqueta",
|
|
6025
|
+
"Search tags": "Buscar etiquetas",
|
|
6026
|
+
'Create "{name}"': "Crear «{name}»",
|
|
6027
|
+
"No matching tags": "No hay etiquetas que coincidan",
|
|
6028
|
+
"Loading tags": "Cargando etiquetas",
|
|
6029
|
+
"At most {max} tags": "Como máximo {max} etiquetas",
|
|
6030
|
+
"Expand all": "Expandir todo",
|
|
6031
|
+
"Collapse all": "Contraer todo"
|
|
5960
6032
|
},
|
|
5961
6033
|
it: {
|
|
5962
6034
|
"{count} failed": "{count} non riusciti",
|
|
@@ -6065,7 +6137,7 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
6065
6137
|
"Free now {now}, free after {after}": "Libero ora {now}, libero dopo {after}",
|
|
6066
6138
|
Sections: "Sezioni",
|
|
6067
6139
|
"Back to the previous page": "Indietro",
|
|
6068
|
-
"
|
|
6140
|
+
"Launcher home": "Home",
|
|
6069
6141
|
"Page actions": "Azioni della pagina",
|
|
6070
6142
|
Slider: "Cursore",
|
|
6071
6143
|
"Increase value": "Aumenta valore",
|
|
@@ -6220,7 +6292,16 @@ const qe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
6220
6292
|
"Not checked": "Non selezionato",
|
|
6221
6293
|
"Rating {value} of {max}": "Valutazione {value} su {max}",
|
|
6222
6294
|
Saving: "Salvataggio",
|
|
6223
|
-
"Not saved": "Non salvato"
|
|
6295
|
+
"Not saved": "Non salvato",
|
|
6296
|
+
"Choose tags": "Scegli i tag",
|
|
6297
|
+
"Choose a tag": "Scegli un tag",
|
|
6298
|
+
"Search tags": "Cerca tag",
|
|
6299
|
+
'Create "{name}"': "Crea «{name}»",
|
|
6300
|
+
"No matching tags": "Nessun tag corrispondente",
|
|
6301
|
+
"Loading tags": "Caricamento dei tag",
|
|
6302
|
+
"At most {max} tags": "Al massimo {max} tag",
|
|
6303
|
+
"Expand all": "Espandi tutto",
|
|
6304
|
+
"Collapse all": "Comprimi tutto"
|
|
6224
6305
|
}
|
|
6225
6306
|
};
|
|
6226
6307
|
function zr(e, t, n = {}) {
|
|
@@ -6286,13 +6367,13 @@ function Br(e) {
|
|
|
6286
6367
|
export {
|
|
6287
6368
|
ja as GRID_CELL_TOKENS,
|
|
6288
6369
|
Qa as GRID_CHIP_TOKENS,
|
|
6289
|
-
|
|
6370
|
+
Nr as GridHost,
|
|
6290
6371
|
Ar as SAVING_MARK_DELAY_MS,
|
|
6291
6372
|
za as blockCellCount,
|
|
6292
6373
|
Ma as buildPasteProposal,
|
|
6293
|
-
|
|
6374
|
+
qe as cellRange,
|
|
6294
6375
|
Br as cellStatusMark,
|
|
6295
|
-
|
|
6376
|
+
Fr as clearGridCellRegions,
|
|
6296
6377
|
Wr as createCellStatusStore,
|
|
6297
6378
|
Za as createGridCellTheme,
|
|
6298
6379
|
kr as createGridCells,
|
|
@@ -6304,7 +6385,7 @@ export {
|
|
|
6304
6385
|
gs as filledRange,
|
|
6305
6386
|
ar as formatGridNumber,
|
|
6306
6387
|
Dn as gridCellMetrics,
|
|
6307
|
-
|
|
6388
|
+
Lr as parseGridNumber,
|
|
6308
6389
|
va as parseTsv,
|
|
6309
6390
|
ms as planFill,
|
|
6310
6391
|
So as readGridCellTheme,
|