@synopackageland/ui 0.20.4 → 0.20.5
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 +13 -0
- package/LICENSES/THIRD_PARTY.md +2 -32
- package/dist/cli.js +0 -0
- package/dist/components/app/app-layout/AppLayout.vue.d.ts +21 -1
- package/dist/components/app/app-layout/pageTitle.d.ts +24 -0
- package/dist/components/app/app-tab-bar/AppTabBar.vue.d.ts +1 -1
- package/dist/components/app/aside-panel/AsidePanel.vue.d.ts +1 -1
- package/dist/components/app/section-tabs/SectionTabs.vue.d.ts +22 -4
- package/dist/components/composite/about-dialog/AboutDialog.vue.d.ts +1 -1
- package/dist/components/composite/adaptive-panel/AdaptivePanel.vue.d.ts +1 -1
- package/dist/components/composite/data-grid/DataGrid.vue.d.ts +19 -1
- package/dist/components/composite/data-grid/labels.d.ts +15 -0
- package/dist/components/composite/data-grid/listLayout.d.ts +26 -0
- package/dist/components/composite/data-table/DataTable.vue.d.ts +33 -7
- package/dist/components/composite/file-picker/FilePicker.vue.d.ts +2 -2
- package/dist/components/composite/form/FormGroup.vue.d.ts +1 -1
- package/dist/components/composite/form/context.d.ts +13 -0
- package/dist/components/composite/form-actions/FormActions.vue.d.ts +6 -2
- package/dist/components/composite/record-panel/RecordPanel.vue.d.ts +20 -6
- package/dist/components/composite/settings-section/SettingsSection.vue.d.ts +1 -1
- package/dist/components/composite/tag-editor/TagEditor.vue.d.ts +2 -2
- package/dist/components/composite/tree-view/TreeView.vue.d.ts +4 -4
- package/dist/components/composite/wizard/WizardDialog.vue.d.ts +2 -2
- package/dist/components/containers/list-detail/ListDetail.vue.d.ts +5 -3
- package/dist/components/feedback/validation-popup/ValidationPopup.vue.d.ts +1 -1
- package/dist/components/primitives/color-picker/ColorPicker.vue.d.ts +4 -4
- package/dist/components/primitives/combobox/Combobox.vue.d.ts +4 -4
- package/dist/components/primitives/context-menu/ContextMenu.vue.d.ts +2 -2
- package/dist/components/primitives/dialog/Dialog.vue.d.ts +17 -9
- package/dist/components/primitives/dropdown-menu/DropdownMenu.vue.d.ts +3 -3
- package/dist/components/primitives/dropdown-menu/DropdownMenuSheet.vue.d.ts +28 -0
- package/dist/components/primitives/input/Input.vue.d.ts +8 -1
- package/dist/components/primitives/input/Textarea.vue.d.ts +1 -1
- package/dist/components/primitives/input-steppers/InputSteppers.vue.d.ts +1 -1
- package/dist/components/primitives/motion/PushTransition.vue.d.ts +38 -0
- package/dist/components/primitives/multiple-select/MultipleSelect.vue.d.ts +4 -4
- package/dist/components/primitives/pagination/Pagination.vue.d.ts +22 -9
- package/dist/components/primitives/pagination/PaginationSheet.vue.d.ts +27 -0
- package/dist/components/primitives/pagination/labels.d.ts +6 -0
- package/dist/components/primitives/popover/Popover.vue.d.ts +1 -1
- package/dist/components/primitives/select/internal/ComboboxField.vue.d.ts +5 -5
- package/dist/components/primitives/select/internal/SelectSheet.vue.d.ts +42 -0
- package/dist/components/primitives/sheet/BottomSheet.vue.d.ts +69 -0
- package/dist/components/primitives/sheet/Sheet.vue.d.ts +13 -5
- package/dist/components/primitives/sheet/phone.d.ts +7 -0
- package/dist/components/primitives/superbox-select/SuperboxSelect.vue.d.ts +4 -4
- package/dist/components/rich-text-editor/RichTextEditor.vue.d.ts +1 -1
- package/dist/composables/formControl.d.ts +18 -0
- package/dist/composables/phoneSurface.d.ts +35 -0
- package/dist/feedback/StatusSlot.vue.d.ts +1 -1
- package/dist/grid/host/GridHost.vue.d.ts +1 -1
- package/dist/grid.js +358 -259
- package/dist/i18n/text.d.ts +11 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.js +23021 -18391
- package/dist/json-preview/preview.js +16926 -12450
- package/dist/reka-runtime.json +15 -12
- package/dist/rich-text.js +1 -1
- package/dist/theme.css +1 -1
- package/dist/themes/dsm7-embedded-reset.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 +11 -9
- package/docs/app-local-modal.md +1 -1
- package/docs/layout-rules.md +14 -0
- package/docs/list-detail.md +9 -3
- package/docs/mobile-native.md +299 -11
- package/docs/release-checks.md +5 -0
- package/docs/theme-hooks.md +2 -2
- package/package.json +64 -57
package/dist/grid.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! @synopackageland/ui/grid includes code ported from Teable packages/sdk (MIT, Copyright (c) 2023-2025 Teable, Inc.) and Baserow (MIT, Copyright (c) 2019-present Baserow B.V.); see LICENSES/ux-grid-teable.md and LICENSES/ux-grid-baserow.md */
|
|
2
|
-
import { watch as ue, toValue as eo, getCurrentScope as qo, onScopeDispose as to, shallowRef as ce, defineComponent as Xo, useId as Yo, ref as xe, computed as _, onMounted as jo, onBeforeUnmount as Qo, openBlock as pe, createElementBlock as Ce, unref as
|
|
2
|
+
import { watch as ue, toValue as eo, getCurrentScope as qo, onScopeDispose as to, shallowRef as ce, defineComponent as Xo, useId as Yo, ref as xe, computed as _, onMounted as jo, onBeforeUnmount as Qo, openBlock as pe, createElementBlock as Ce, unref as J, createElementVNode as ee, toDisplayString as we, normalizeStyle as Be, Fragment as Zo, renderList as Jo, createCommentVNode as Oe, renderSlot as hn, createTextVNode as ei, inject as ti } from "vue";
|
|
3
3
|
import { useUiText as ni } from "./index.js";
|
|
4
|
-
var
|
|
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 }), no = (e) => e;
|
|
6
6
|
var Q = /* @__PURE__ */ ((e) => (e.Row = "Row", e.Column = "Column", e))(Q || {});
|
|
7
7
|
const B = {
|
|
@@ -75,12 +75,12 @@ class ct {
|
|
|
75
75
|
}
|
|
76
76
|
const rt = "…", mn = new ct(1e3), gn = new ct(1e3), oo = () => ({
|
|
77
77
|
segment: (e) => Array.from(e, (t) => ({ segment: t }))
|
|
78
|
-
}), io = typeof Intl < "u" && typeof Intl.Segmenter == "function", ao = io ? new Intl.Segmenter(void 0, { granularity: "word" }) : oo(),
|
|
78
|
+
}), io = typeof Intl < "u" && typeof Intl.Segmenter == "function", ao = io ? new Intl.Segmenter(void 0, { granularity: "word" }) : oo(), Ht = io ? new Intl.Segmenter(void 0, { granularity: "grapheme" }) : oo(), so = (e, t, n) => {
|
|
79
79
|
let o = "", i = 0;
|
|
80
80
|
for (const { segment: a } of ao.segment(t)) {
|
|
81
81
|
const s = e.measureText(a).width;
|
|
82
82
|
if (i + s > n) {
|
|
83
|
-
for (const { segment: r } of
|
|
83
|
+
for (const { segment: r } of Ht.segment(a)) {
|
|
84
84
|
const c = e.measureText(r).width;
|
|
85
85
|
if (i + c > n) break;
|
|
86
86
|
o += r, i += c;
|
|
@@ -100,55 +100,55 @@ const rt = "…", mn = new ct(1e3), gn = new ct(1e3), oo = () => ({
|
|
|
100
100
|
C = R;
|
|
101
101
|
else {
|
|
102
102
|
let I = 0;
|
|
103
|
-
const k = (M,
|
|
104
|
-
C.push({ text: M, width:
|
|
105
|
-
}, P = (M,
|
|
106
|
-
p === "" && (v = F), p += M, w +=
|
|
107
|
-
},
|
|
103
|
+
const k = (M, E) => {
|
|
104
|
+
C.push({ text: M, width: E, start: v });
|
|
105
|
+
}, P = (M, E, F) => {
|
|
106
|
+
p === "" && (v = F), p += M, w += E;
|
|
107
|
+
}, A = (M, E = 0) => {
|
|
108
108
|
const F = a - S;
|
|
109
109
|
if (w > F) {
|
|
110
110
|
const W = so(e, p, F);
|
|
111
111
|
p = W.text, w = W.width;
|
|
112
112
|
} else if (M) {
|
|
113
|
-
let W =
|
|
114
|
-
for (const { segment: K } of
|
|
115
|
-
const
|
|
116
|
-
if (w +
|
|
117
|
-
P(K,
|
|
113
|
+
let W = E;
|
|
114
|
+
for (const { segment: K } of Ht.segment(M)) {
|
|
115
|
+
const G = e.measureText(K).width;
|
|
116
|
+
if (w + G > F) break;
|
|
117
|
+
P(K, G, W), W += K.length;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
k(p + rt, w + S), p = "", w = 0;
|
|
121
|
-
}, N = (M,
|
|
122
|
-
if (w +
|
|
123
|
-
P(M,
|
|
121
|
+
}, N = (M, E, F) => {
|
|
122
|
+
if (w + E <= a) {
|
|
123
|
+
P(M, E, F);
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
|
-
if (
|
|
127
|
-
C.length < s - 1 ? (k(p, w), p = "", w = 0, P(M,
|
|
126
|
+
if (E <= a) {
|
|
127
|
+
C.length < s - 1 ? (k(p, w), p = "", w = 0, P(M, E, F)) : A(M, F);
|
|
128
128
|
return;
|
|
129
129
|
}
|
|
130
130
|
let W = F;
|
|
131
|
-
for (const { segment: K } of
|
|
131
|
+
for (const { segment: K } of Ht.segment(M)) {
|
|
132
132
|
if (C.length >= s) break;
|
|
133
|
-
const
|
|
134
|
-
w +
|
|
133
|
+
const G = e.measureText(K).width;
|
|
134
|
+
w + G > a ? C.length < s - 1 ? (k(p, w), p = "", w = 0, P(K, G, W)) : A() : P(K, G, W), W += K.length;
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
for (const { segment: M } of ao.segment(i)) {
|
|
138
138
|
if (C.length >= s) break;
|
|
139
139
|
if (M.includes(`
|
|
140
140
|
`)) {
|
|
141
|
-
const
|
|
141
|
+
const E = M.split(`
|
|
142
142
|
`);
|
|
143
|
-
for (let F = 0; F <
|
|
143
|
+
for (let F = 0; F < E.length && !(C.length >= s); F++) {
|
|
144
144
|
if (F > 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 =
|
|
151
|
+
const W = E[F];
|
|
152
152
|
W.length > 0 && (I += W.length, N(W, e.measureText(W).width, I - W.length));
|
|
153
153
|
}
|
|
154
154
|
continue;
|
|
@@ -163,8 +163,8 @@ const rt = "…", mn = new ct(1e3), gn = new ct(1e3), oo = () => ({
|
|
|
163
163
|
for (let k = 0; k < C.length; k++) {
|
|
164
164
|
const P = C[k];
|
|
165
165
|
if (e.fillText(P.text, n, o + k * l + I), r) {
|
|
166
|
-
const
|
|
167
|
-
e.beginPath(), e.moveTo(n, o + k * l + c - 1), e.lineTo(n +
|
|
166
|
+
const A = e.measureText(P.text).width;
|
|
167
|
+
e.beginPath(), e.moveTo(n, o + k * l + c - 1), e.lineTo(n + A, o + k * l + c - 1), e.stroke();
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
}
|
|
@@ -223,8 +223,8 @@ const rt = "…", mn = new ct(1e3), gn = new ct(1e3), oo = () => ({
|
|
|
223
223
|
const y = u.radius !== void 0 ? u.radius : o, R = p / 2;
|
|
224
224
|
let I = Math.abs(Math.cos(R) * y / Math.sin(R)), k;
|
|
225
225
|
I > Math.min(m.len / 2, g.len / 2) ? (I = Math.min(m.len / 2, g.len / 2), k = Math.abs(I * Math.sin(R) / Math.cos(R))) : k = y;
|
|
226
|
-
let P = u.x + g.nx * I,
|
|
227
|
-
P += -g.ny * k * w,
|
|
226
|
+
let P = u.x + g.nx * I, A = u.y + g.ny * I;
|
|
227
|
+
P += -g.ny * k * w, A += g.nx * k * w, e.arc(P, A, k, m.ang + Math.PI / 2 * w, g.ang - Math.PI / 2 * w, v), c = u;
|
|
228
228
|
}
|
|
229
229
|
e.closePath(), i && e.fill(), a && e.stroke();
|
|
230
230
|
}, Bt = (e, t) => {
|
|
@@ -342,13 +342,13 @@ class mi {
|
|
|
342
342
|
this.setState(kt);
|
|
343
343
|
}
|
|
344
344
|
}
|
|
345
|
-
const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0, gi = (e, t, n) => Math.max(e - ro(t, n) * 2, 0),
|
|
345
|
+
const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0, gi = (e, t, n) => Math.max(e - ro(t, n) * 2, 0), Gt = (e, t, n, o, i) => {
|
|
346
346
|
const a = ro(t, n), s = gi(e, t, n);
|
|
347
347
|
return a + s / (o || 1) * (i + 0.5);
|
|
348
348
|
}, lo = ({ width: e, theme: t, rowControls: n, rowControlPaddingX: o }) => {
|
|
349
349
|
if (!o) return e / 2;
|
|
350
350
|
const i = n.findIndex((a) => a.type === X.Checkbox);
|
|
351
|
-
return i < 0 ? e / 2 :
|
|
351
|
+
return i < 0 ? e / 2 : Gt(e, t, o, n.length, i);
|
|
352
352
|
}, fi = (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);
|
|
354
354
|
return { x: o, y: i, rowIndex: g, columnIndex: Math.min(C, h - 1) };
|
|
@@ -365,7 +365,7 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
365
365
|
y: 1 / 0,
|
|
366
366
|
width: 0,
|
|
367
367
|
height: 0
|
|
368
|
-
}, { groupHeaderHeight: wi, columnHeadPadding: fn, columnResizeHandlerWidth: pn, rowHeadIconPaddingTop: vi, columnFreezeHandlerWidth: Si, fillHandlerSize: yi, fillHandlerPadding: bi } = B, xi = (e) => ki(e) ?? Di(e) ?? Ii(e) ?? Pi(e) ?? zi(e) ?? Mi(e) ??
|
|
368
|
+
}, { groupHeaderHeight: wi, columnHeadPadding: fn, columnResizeHandlerWidth: pn, rowHeadIconPaddingTop: vi, columnFreezeHandlerWidth: Si, fillHandlerSize: yi, fillHandlerPadding: bi } = B, xi = (e) => ki(e) ?? Di(e) ?? Ii(e) ?? Pi(e) ?? zi(e) ?? Mi(e) ?? Ai(e) ?? Ei(e) ?? Hi(e) ?? Ti(e) ?? Fi(e) ?? Ni(e) ?? Li(e) ?? Wi(e) ?? Bi(e) ?? ne, Ri = (e, t, n) => {
|
|
369
369
|
const o = fi(e.coordInstance, e.scrollState, t), i = pi(e.coordInstance, e.scrollState, t, n), a = xi({
|
|
370
370
|
...e,
|
|
371
371
|
position: o,
|
|
@@ -388,12 +388,12 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
388
388
|
if (g == null) return null;
|
|
389
389
|
const C = t.getRowOffset(g) - l, S = t.getColumnRelativeOffset(h, u), { width: p, height: w } = a;
|
|
390
390
|
return V(r, S, S + p) && V(c, C, C + w) ? { type: x.ActiveCell, x: S, y: C, width: p, height: w, rowIndex: g, columnIndex: h, isOutOfBounds: !1 } : null;
|
|
391
|
-
}, Pi = (e) => e.isOutOfBounds ? ne : null, zi = (e) => !e.isSelecting || !e.selection.isCellSelection ? null : { ...ne, type: x.Cell }, Mi = (e) => e.columnResizeState.columnIndex <= -1 ? null : { ...ne, type: x.ColumnResizeHandler },
|
|
391
|
+
}, Pi = (e) => e.isOutOfBounds ? ne : null, zi = (e) => !e.isSelecting || !e.selection.isCellSelection ? null : { ...ne, type: x.Cell }, Mi = (e) => e.columnResizeState.columnIndex <= -1 ? null : { ...ne, type: x.ColumnResizeHandler }, Ai = (e) => e.dragState.isDragging ? { ...ne, type: x.ColumnHeader } : null, Ei = (e) => {
|
|
392
392
|
const { position: t, scrollState: n, coordInstance: o, isColumnFreezable: i } = e;
|
|
393
393
|
if (!i) return null;
|
|
394
394
|
const { x: a, y: s } = t, { freezeRegionWidth: r, rowInitSize: c, rowCount: l, containerHeight: u } = o, h = o.getRowOffset(l) - n.scrollTop, m = Math.min(h, u), g = Si / 2;
|
|
395
395
|
return V(a, r - g, r + g) && V(s, c, m) ? { ...ne, type: x.ColumnFreezeHandler } : null;
|
|
396
|
-
},
|
|
396
|
+
}, Hi = (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
|
}, Ti = (e) => {
|
|
@@ -412,7 +412,7 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
412
412
|
if (h.type !== se.Row) return null;
|
|
413
413
|
const { iconSizeXS: m } = n, g = m / 2, C = s.getRowOffset(l) - a.scrollTop;
|
|
414
414
|
for (let S = 0; S < o.length; S++) {
|
|
415
|
-
const p = Ci[o[S].type], v =
|
|
415
|
+
const p = Ci[o[S].type], v = Gt(s.columnInitSize, n, i, o.length, S) - g, y = C + vi;
|
|
416
416
|
if (p && V(r, v, v + m) && V(c, y, y + m))
|
|
417
417
|
return { type: p, x: v, y, width: m, height: m };
|
|
418
418
|
}
|
|
@@ -427,8 +427,8 @@ const ro = (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), N = S === w && p === v && a != null && s != null && a[0] === y && a[1] === R && s ? s.height : o.getRowHeight(I), M = o.getRowOffset(I) + N - i.scrollTop,
|
|
431
|
-
return V(h, F, F +
|
|
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), N = S === w && p === v && a != null && s != null && a[0] === y && a[1] === R && s ? s.height : o.getRowHeight(I), M = o.getRowOffset(I) + N - i.scrollTop, E = yi / 2 + bi, F = k - E, W = M - E;
|
|
431
|
+
return V(h, F, F + E * 2) && V(m, W, W + E * 2) ? { type: x.FillHandler, x: F, y: W, width: E * 2, height: E * 2 } : null;
|
|
432
432
|
}, Wi = (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 : {
|
|
@@ -446,9 +446,9 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
446
446
|
const { rowInitSize: C } = o, { isPrimary: S, description: p, hasMenu: w } = g, v = !!(w && r), y = o.getColumnWidth(h), R = o.getColumnRelativeOffset(h, n.scrollLeft), I = R + y, k = v ? I - fn / 2 - m : I;
|
|
447
447
|
if (v && V(c, k, k + m))
|
|
448
448
|
return { type: x.ColumnHeaderMenu, x: R, y: 0, width: m, height: C };
|
|
449
|
-
const P = k - m - fn / 2,
|
|
450
|
-
if (p && V(c, P, P + m) && V(l,
|
|
451
|
-
return { type: x.ColumnDescription, x: P, y:
|
|
449
|
+
const P = k - m - fn / 2, A = (C - m) / 2;
|
|
450
|
+
if (p && V(c, P, P + m) && V(l, A, A + m))
|
|
451
|
+
return { type: x.ColumnDescription, x: P, y: A, width: m, height: m };
|
|
452
452
|
const N = R + m / 2, M = (C - m) / 2;
|
|
453
453
|
return S && V(c, N, N + m) && V(l, M, M + m) ? { type: x.ColumnPrimaryIcon, x: N, 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
|
}, {
|
|
@@ -477,10 +477,10 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
477
477
|
getLinearRow: e.getLinearRow ?? Wt,
|
|
478
478
|
real2RowIndex: e.real2RowIndex ?? no
|
|
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 = [],
|
|
481
|
-
if (!S) return { cellPropList: P, rowHeaderPropList:
|
|
482
|
-
const M = t === "freeze",
|
|
483
|
-
for (let z =
|
|
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 = [], N = [];
|
|
481
|
+
if (!S) return { cellPropList: P, rowHeaderPropList: A, appendRowList: N };
|
|
482
|
+
const M = t === "freeze", E = M ? 0 : Math.max(m, o.startColumnIndex), F = 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 <= F; z++) {
|
|
484
484
|
const L = 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
486
|
const Te = h(re), Fe = n.getRowHeight(re), Ne = n.getRowOffset(re) - y;
|
|
@@ -491,7 +491,7 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
491
491
|
}
|
|
492
492
|
const { displayIndex: mt, realIndex: Ie } = Te, Le = !k && !l && oi.has(I) && re === R, { isCellActive: Pe, isRowActive: ve } = di(i, Ie, z), { isRowSelected: ae, isCellSelected: gt } = hi(c, Ie, z), le = a === Ie;
|
|
493
493
|
let q;
|
|
494
|
-
gt || ae || Ye ? q = ke : (Le || ve || le) && (q =
|
|
494
|
+
gt || ae || Ye ? q = ke : (Le || ve || le) && (q = G), ie && A.push({
|
|
495
495
|
x: 0.5,
|
|
496
496
|
y: Ne + 0.5,
|
|
497
497
|
width: g + 0.5,
|
|
@@ -512,19 +512,19 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
|
-
return { cellPropList: P, rowHeaderPropList:
|
|
515
|
+
return { cellPropList: P, rowHeaderPropList: A, appendRowList: N };
|
|
516
516
|
}, Vi = (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
|
-
const
|
|
519
|
+
const A = R / 2;
|
|
520
520
|
if (e.font = `${u.fontSizeXXS}px ${u.fontFamily}`, (l || c || !g) && h.length > 0) {
|
|
521
521
|
for (let N = 0; N < h.length; N++) {
|
|
522
522
|
const { type: M } = h[N];
|
|
523
523
|
if (M === X.Spacer) continue;
|
|
524
|
-
const
|
|
524
|
+
const E = Gt(a, u, m, h.length, N);
|
|
525
525
|
if (M === X.Checkbox) {
|
|
526
526
|
Bt(e, {
|
|
527
|
-
x: o +
|
|
527
|
+
x: o + E - A,
|
|
528
528
|
y: i + wn,
|
|
529
529
|
size: R,
|
|
530
530
|
stroke: l ? I : y,
|
|
@@ -533,17 +533,17 @@ const ro = (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 === X.Expand || C?.(e, { kind: M === X.Drag ? "drag" : "expand", x: o +
|
|
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
540
|
$e(e, { x: o + a / 2, y: i + Ft + 1, text: r, textAlign: "center", fill: y, fontSize: u.fontSizeXXS });
|
|
541
|
-
},
|
|
541
|
+
}, Gi = (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();
|
|
544
|
-
},
|
|
544
|
+
}, Ui = (e, t, n) => {
|
|
545
545
|
const { coordInstance: o, theme: i, shouldRerender: a, drawCell: s } = n, { fontFamily: r, fontSizeSM: c, cellLineColor: l } = i, { rowInitSize: u, freezeRegionWidth: h, containerWidth: m, containerHeight: g } = o, C = In(n, "other"), S = In(n, "freeze"), p = { x: 0, y: u + 1, width: h + 1, height: g - u - 1 }, w = { x: h + 1, y: u + 1, width: m - h, height: g - u - 1 };
|
|
546
|
-
S.appendRowList.forEach((v) =>
|
|
546
|
+
S.appendRowList.forEach((v) => Gi(e, v, n)), nt(e, p, (v) => {
|
|
547
547
|
S.cellPropList.forEach(({ x: y, y: R, width: I, height: k, fill: P }) => D(v, { x: y, y: R, width: I, height: k, fill: P, stroke: l })), S.rowHeaderPropList.forEach((y) => Vi(v, y, n));
|
|
548
548
|
}), nt(e, w, (v) => {
|
|
549
549
|
C.cellPropList.forEach(({ x: y, y: R, width: I, height: k, fill: P }) => D(v, { x: y, y: R, width: I, height: k, fill: P, stroke: l }));
|
|
@@ -563,8 +563,8 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
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
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 = (N) => i.getRowOffset(l(N)) + i.getRowHeight(l(N)) - y;
|
|
566
|
-
let P = null,
|
|
567
|
-
Number.isFinite(w) && w > p ? (P = i.getRowOffset(l(p + 1)) - y,
|
|
566
|
+
let P = null, A = null;
|
|
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
|
}, $i = (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;
|
|
@@ -574,23 +574,23 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
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
|
}, qi = (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
|
-
let P = a - te * 2,
|
|
577
|
+
let P = a - te * 2, A = te;
|
|
578
578
|
const N = 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 +
|
|
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), N) {
|
|
580
580
|
P = P - Me - te;
|
|
581
|
-
const
|
|
581
|
+
const E = i + vn / 2;
|
|
582
582
|
ai(e, {
|
|
583
583
|
points: [
|
|
584
|
-
{ x: o + a - te - Me, y:
|
|
585
|
-
{ x: o + a - te, y:
|
|
586
|
-
{ x: o + a - te - Me / 2, y:
|
|
584
|
+
{ x: o + a - te - Me, y: E - Me / 4 },
|
|
585
|
+
{ x: o + a - te, y: E - Me / 4 },
|
|
586
|
+
{ x: o + a - te - Me / 2, y: E + Me / 4 }
|
|
587
587
|
],
|
|
588
588
|
radiusAll: 1,
|
|
589
589
|
fill: y
|
|
590
590
|
});
|
|
591
591
|
}
|
|
592
592
|
g && (h?.(e, { kind: "description", x: N ? o + a - 2 * k - te : o + a - k - te, y: M, size: k, theme: u, column: c }), P = P - k - te), ii(e, {
|
|
593
|
-
x: o +
|
|
593
|
+
x: o + A,
|
|
594
594
|
y: i + Ft,
|
|
595
595
|
text: m,
|
|
596
596
|
maxLines: Math.max(1, Math.floor((s - Ft) / Cn)),
|
|
@@ -613,19 +613,19 @@ const ro = (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",
|
|
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), N = 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
|
|
619
|
-
const F = a[
|
|
618
|
+
for (let E = A; E <= N; E++) {
|
|
619
|
+
const F = a[E];
|
|
620
620
|
if (F == null) continue;
|
|
621
|
-
const W = v && l.includes([
|
|
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
|
qi(e, {
|
|
623
|
-
x: i.getColumnRelativeOffset(
|
|
623
|
+
x: i.getColumnRelativeOffset(E, c.scrollLeft) + 0.5,
|
|
624
624
|
y: 0.5,
|
|
625
|
-
width: i.getColumnWidth(
|
|
625
|
+
width: i.getColumnWidth(E),
|
|
626
626
|
height: C,
|
|
627
627
|
column: F,
|
|
628
|
-
fill:
|
|
628
|
+
fill: G,
|
|
629
629
|
hasMenu: h
|
|
630
630
|
}, t);
|
|
631
631
|
}
|
|
@@ -657,14 +657,14 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
657
657
|
D(e, { x: o.x - u, y: 0.5, width: s.getColumnWidth(h), height: s.containerHeight, fill: n.columnDraggingPlaceholderBg });
|
|
658
658
|
const m = Vt(s, o, i, r), g = s.getColumnRelativeOffset(m, i.scrollLeft);
|
|
659
659
|
D(e, { x: g - 0.5, y: 0.5, width: 2, height: s.containerHeight, fill: n.interactionLineColorHighlight });
|
|
660
|
-
},
|
|
660
|
+
}, Zi = (e, t) => {
|
|
661
661
|
const { theme: n, mouseState: o, scrollState: i, dragState: a, coordInstance: s } = t, { type: r, isDragging: c, ranges: l, delta: u } = a;
|
|
662
662
|
if (!c || r !== O.Rows) return;
|
|
663
663
|
const h = l[0][0];
|
|
664
664
|
D(e, { x: 0.5, y: o.y - u, width: s.containerWidth, height: s.getRowHeight(h), fill: n.columnDraggingPlaceholderBg });
|
|
665
665
|
const m = Vt(s, o, i, r), g = s.getRowOffset(m) - i.scrollTop;
|
|
666
666
|
D(e, { x: 0.5, y: g - 0.5, width: s.containerWidth, height: 2, fill: n.interactionLineColorHighlight });
|
|
667
|
-
},
|
|
667
|
+
}, Ji = (e, t) => {
|
|
668
668
|
const { coordInstance: n, mouseState: o, scrollState: i, columnFreezeState: a, theme: s } = t, { isFreezing: r, targetIndex: c } = a;
|
|
669
669
|
if (o.type !== x.ColumnFreezeHandler && !r) return;
|
|
670
670
|
const { containerHeight: l, freezeRegionWidth: u } = n, h = s.interactionLineColorHighlight, m = r ? o.x : u;
|
|
@@ -696,8 +696,8 @@ const ro = (e, t) => t ? Math.max(t - (e.iconSizeMD - e.iconSizeXS) / 2, 0) : 0,
|
|
|
696
696
|
containerHeight: c,
|
|
697
697
|
pixelRatio: i,
|
|
698
698
|
shouldRerender: m,
|
|
699
|
-
draw: (C) =>
|
|
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"), Yi(g, a)), ea(g, a), Ki(g, a), _i(g, a), $i(g, a), ji(g, a),
|
|
699
|
+
draw: (C) => Ui(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"), Yi(g, a)), ea(g, a), Ki(g, a), _i(g, a), $i(g, a), ji(g, a), Zi(g, a), Qi(g, a), Ji(g, a), g.restore());
|
|
701
701
|
}, co = {
|
|
702
702
|
staticWhite: "#FFFFFF",
|
|
703
703
|
staticBlack: "#000000",
|
|
@@ -894,11 +894,11 @@ const ma = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
894
894
|
else if (l === "\r" || l === `
|
|
895
895
|
`) {
|
|
896
896
|
if (c(), i += l === "\r" && e[i + 1] === `
|
|
897
|
-
` ? 2 : 1, i >= s) return
|
|
897
|
+
` ? 2 : 1, i >= s) return An(t);
|
|
898
898
|
} else
|
|
899
899
|
o += l, i++;
|
|
900
900
|
}
|
|
901
|
-
return c(),
|
|
901
|
+
return c(), An(t);
|
|
902
902
|
}, wa = (e, t) => {
|
|
903
903
|
let n = t;
|
|
904
904
|
for (; n < e.length; ) {
|
|
@@ -913,7 +913,7 @@ const ma = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
913
913
|
` || i === "\r" ? o : -1;
|
|
914
914
|
}
|
|
915
915
|
return -1;
|
|
916
|
-
},
|
|
916
|
+
}, An = (e) => {
|
|
917
917
|
const t = Math.max(0, ...e.map((n) => n.length));
|
|
918
918
|
for (const n of e) for (; n.length < t; ) n.push("");
|
|
919
919
|
return e;
|
|
@@ -967,7 +967,7 @@ const ma = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
967
967
|
const n = [];
|
|
968
968
|
for (let o = e; o <= t; o++) n.push(o);
|
|
969
969
|
return n;
|
|
970
|
-
},
|
|
970
|
+
}, En = (e, t) => {
|
|
971
971
|
const n = /* @__PURE__ */ new Set(), o = [...e].map(([i, a]) => [Math.min(i, a), Math.max(i, a)]).sort((i, a) => i[0] - a[0]);
|
|
972
972
|
for (const [i, a] of o)
|
|
973
973
|
for (let s = Math.max(0, i); s <= Math.min(t - 1, a); s++) n.add(s);
|
|
@@ -981,11 +981,11 @@ const ma = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
981
981
|
return i ? { rows: at(i.startRow, i.endRow), columns: at(i.startColumn, i.endColumn) } : null;
|
|
982
982
|
}
|
|
983
983
|
case "rows": {
|
|
984
|
-
const i =
|
|
984
|
+
const i = En(e.ranges, n);
|
|
985
985
|
return i.length ? { rows: i, columns: at(0, o - 1) } : null;
|
|
986
986
|
}
|
|
987
987
|
case "columns": {
|
|
988
|
-
const i =
|
|
988
|
+
const i = En(e.ranges, o);
|
|
989
989
|
return i.length ? { rows: at(0, n - 1), columns: i } : null;
|
|
990
990
|
}
|
|
991
991
|
default:
|
|
@@ -1025,7 +1025,7 @@ const ma = ({ isEditing: e, eventTarget: t, hiddenFocusEl: n }) => {
|
|
|
1025
1025
|
readonlyColumns: p,
|
|
1026
1026
|
repeated: c
|
|
1027
1027
|
};
|
|
1028
|
-
},
|
|
1028
|
+
}, Hn = (e, t) => e.rows.map((n) => e.columns.map((o) => t([o, n]))), It = (e) => ({ text: pa(e), html: Sa(e) }), za = (e, t) => !t || e.rows.every((n) => t(n));
|
|
1029
1029
|
function Ma(e) {
|
|
1030
1030
|
const t = e.equals ?? Object.is;
|
|
1031
1031
|
let n = !1, o = null, i, a, s = !1, r = null, c = 0, l = !1;
|
|
@@ -1096,13 +1096,13 @@ function Fn(e) {
|
|
|
1096
1096
|
function Nn(e, t) {
|
|
1097
1097
|
return e.some((n) => n instanceof Node && t.some((o) => o === n || o.contains(n)));
|
|
1098
1098
|
}
|
|
1099
|
-
function
|
|
1099
|
+
function Aa(e) {
|
|
1100
1100
|
return e.some((t) => t instanceof Element && t.hasAttribute(po));
|
|
1101
1101
|
}
|
|
1102
|
-
function
|
|
1102
|
+
function Ea(e, t) {
|
|
1103
1103
|
return e.length > 0 && !e.includes(t);
|
|
1104
1104
|
}
|
|
1105
|
-
function
|
|
1105
|
+
function Ha(e, t = 400) {
|
|
1106
1106
|
let n = 0;
|
|
1107
1107
|
const o = () => {
|
|
1108
1108
|
e.clearTimeout(n), e.removeEventListener("click", i, !0), e.removeEventListener("pointerdown", o, !0), e.removeEventListener("keydown", o, !0);
|
|
@@ -1117,13 +1117,13 @@ function Ta(e) {
|
|
|
1117
1117
|
if (Tn.has(a)) return;
|
|
1118
1118
|
Tn.add(a);
|
|
1119
1119
|
const s = a.composedPath();
|
|
1120
|
-
if (!(
|
|
1120
|
+
if (!(Aa(s) || Ea(s, t)))
|
|
1121
1121
|
for (const r of [...n.layers].reverse()) {
|
|
1122
1122
|
if (r.disposed) continue;
|
|
1123
1123
|
const c = Fn(r);
|
|
1124
1124
|
if (Nn(s, c) || Mn(s, c)) return;
|
|
1125
1125
|
if (r.options.onOutside?.(a) === "veto") {
|
|
1126
|
-
a.preventDefault(), a.stopImmediatePropagation(),
|
|
1126
|
+
a.preventDefault(), a.stopImmediatePropagation(), Ha(e);
|
|
1127
1127
|
return;
|
|
1128
1128
|
}
|
|
1129
1129
|
}
|
|
@@ -1179,10 +1179,10 @@ function Ba(e, t, n) {
|
|
|
1179
1179
|
const { alphabeticBaseline: s } = o.measureText("Hg"), r = { ascent: i, descent: a, drop: -s };
|
|
1180
1180
|
return Object.values(r).every((c) => Number.isFinite(c) && Math.abs(c) < t * 2) ? r : null;
|
|
1181
1181
|
}
|
|
1182
|
-
const
|
|
1182
|
+
const Ut = (e) => e.view || e.kind === "long-text";
|
|
1183
1183
|
function ut(e) {
|
|
1184
1184
|
const t = e.textBox, n = e.rowHeight;
|
|
1185
|
-
if (!
|
|
1185
|
+
if (!Ut(e)) {
|
|
1186
1186
|
if (!t) return { top: 0, bottom: 0, lineHeight: n };
|
|
1187
1187
|
const a = Math.ceil(t.ascent + t.descent), s = Math.round(n / 2 + t.drop - t.ascent);
|
|
1188
1188
|
return { top: Math.max(0, Math.min(n - a, s)), bottom: 0, lineHeight: a };
|
|
@@ -1191,7 +1191,7 @@ function ut(e) {
|
|
|
1191
1191
|
return { top: Math.max(0, i), bottom: e.hint ? lt : o, lineHeight: zt };
|
|
1192
1192
|
}
|
|
1193
1193
|
function wo(e) {
|
|
1194
|
-
if (!
|
|
1194
|
+
if (!Ut(e)) return e.rowHeight;
|
|
1195
1195
|
const { top: t, bottom: n, lineHeight: o } = ut(e), i = e.view ? 1 : Da, a = Math.min(Wa, Math.max(i, Math.ceil(e.lines)));
|
|
1196
1196
|
return Math.max(e.rowHeight, t + n + a * o);
|
|
1197
1197
|
}
|
|
@@ -1215,9 +1215,9 @@ const Va = {
|
|
|
1215
1215
|
color: "transparent",
|
|
1216
1216
|
font: "inherit"
|
|
1217
1217
|
};
|
|
1218
|
-
function
|
|
1218
|
+
function Ga(e) {
|
|
1219
1219
|
if (!e.open) return Va;
|
|
1220
|
-
const { top: t, bottom: n, lineHeight: o } = ut(e), i = B.cellHorizontalPadding, a =
|
|
1220
|
+
const { top: t, bottom: n, lineHeight: o } = ut(e), i = B.cellHorizontalPadding, a = Ut(e), s = e.invalid ? e.dangerColor : e.theme.cellLineColorActived;
|
|
1221
1221
|
return {
|
|
1222
1222
|
display: "block",
|
|
1223
1223
|
"box-sizing": "border-box",
|
|
@@ -1243,7 +1243,7 @@ function Ua(e) {
|
|
|
1243
1243
|
transition: "none"
|
|
1244
1244
|
};
|
|
1245
1245
|
}
|
|
1246
|
-
function
|
|
1246
|
+
function Ua(e) {
|
|
1247
1247
|
return {
|
|
1248
1248
|
position: "absolute",
|
|
1249
1249
|
left: `${B.cellHorizontalPadding}px`,
|
|
@@ -1541,7 +1541,7 @@ const Xa = {
|
|
|
1541
1541
|
orange: { fill: "--ui-warning-soft", color: "--ui-warning-text" },
|
|
1542
1542
|
red: { fill: "--ui-danger-soft", color: "--ui-danger-text" },
|
|
1543
1543
|
gray: { fill: "--ui-neutral-soft", color: "--ui-neutral-text" }
|
|
1544
|
-
},
|
|
1544
|
+
}, Ue = {
|
|
1545
1545
|
text: "#414b55",
|
|
1546
1546
|
textMuted: "rgba(65, 75, 85, 0.82)",
|
|
1547
1547
|
link: "#0062b8",
|
|
@@ -1576,10 +1576,10 @@ const Xa = {
|
|
|
1576
1576
|
},
|
|
1577
1577
|
themeKey: "light"
|
|
1578
1578
|
}, ja = (e, t = {}) => {
|
|
1579
|
-
const n = (i, a) => e(i)?.trim() || a, o = { ...
|
|
1579
|
+
const n = (i, a) => e(i)?.trim() || a, o = { ...Ue, chips: { ...Ue.chips } };
|
|
1580
1580
|
for (const [i, a] of Object.entries(Xa)) o[i] = n(a, o[i]);
|
|
1581
1581
|
for (const [i, a] of Object.entries(Ya)) {
|
|
1582
|
-
const s =
|
|
1582
|
+
const s = Ue.chips[i];
|
|
1583
1583
|
o.chips[i] = { fill: n(a.fill, s.fill), color: n(a.color, s.color) };
|
|
1584
1584
|
}
|
|
1585
1585
|
return { ...o, ...t };
|
|
@@ -1602,7 +1602,7 @@ const Xa = {
|
|
|
1602
1602
|
icon: Math.max(12, Math.min(16, e - 8)),
|
|
1603
1603
|
fontSize: t,
|
|
1604
1604
|
chipFontSize: Math.min(n, Math.max(10, e - 12))
|
|
1605
|
-
}), Qa = 30,
|
|
1605
|
+
}), Qa = 30, Za = 2, Ja = 1200, es = (e, t, n, o = Qa) => {
|
|
1606
1606
|
const { x: i, y: a } = e, { containerWidth: s, containerHeight: r, freezeRegionWidth: c, columnInitSize: l, rowInitSize: u } = t;
|
|
1607
1607
|
let h = 0, m = 0;
|
|
1608
1608
|
if (!n || n === O.None || n === O.Columns) {
|
|
@@ -1611,7 +1611,7 @@ const Xa = {
|
|
|
1611
1611
|
}
|
|
1612
1612
|
return (!n || n === O.None || n === O.Rows) && (r - a < o ? m = 1 : a < u + o && (m = -1)), [h, m];
|
|
1613
1613
|
}, ts = (e, t, n) => {
|
|
1614
|
-
const o = Math.min(1, e + t /
|
|
1614
|
+
const o = Math.min(1, e + t / Ja), i = o * t * Za + (n ?? 0), a = Math.floor(i);
|
|
1615
1615
|
return { speed: o, motion: a, carry: n == null ? 0 : i - a };
|
|
1616
1616
|
};
|
|
1617
1617
|
class ns {
|
|
@@ -1897,33 +1897,33 @@ const as = 240, ss = ({
|
|
|
1897
1897
|
let o = e.ranges[0];
|
|
1898
1898
|
e.isColumnSelection && (o = [o[0], 0]);
|
|
1899
1899
|
const [i, a] = o, s = n ? a : Math.min(a + 1, t.pureRowCount - 1), r = [i, s];
|
|
1900
|
-
return { selection: e.set(
|
|
1900
|
+
return { selection: e.set(H.Cells, [r, r]), activeCell: r, scrollTo: r };
|
|
1901
1901
|
};
|
|
1902
1902
|
class oe {
|
|
1903
1903
|
type;
|
|
1904
1904
|
ranges;
|
|
1905
|
-
constructor(t =
|
|
1905
|
+
constructor(t = H.None, n = []) {
|
|
1906
1906
|
this.type = t, this.ranges = n;
|
|
1907
1907
|
}
|
|
1908
1908
|
get isColumnSelection() {
|
|
1909
|
-
return this.type ===
|
|
1909
|
+
return this.type === H.Columns;
|
|
1910
1910
|
}
|
|
1911
1911
|
get isRowSelection() {
|
|
1912
|
-
return this.type ===
|
|
1912
|
+
return this.type === H.Rows;
|
|
1913
1913
|
}
|
|
1914
1914
|
get isCellSelection() {
|
|
1915
|
-
return this.type ===
|
|
1915
|
+
return this.type === H.Cells;
|
|
1916
1916
|
}
|
|
1917
1917
|
get isNoneSelection() {
|
|
1918
|
-
return this.type ===
|
|
1918
|
+
return this.type === H.None;
|
|
1919
1919
|
}
|
|
1920
1920
|
reset() {
|
|
1921
|
-
return
|
|
1921
|
+
return Ge;
|
|
1922
1922
|
}
|
|
1923
1923
|
set(t, n) {
|
|
1924
1924
|
if (!Array.isArray(n)) throw new Error("Ranges of the selection should be an array type!");
|
|
1925
|
-
if (t ===
|
|
1926
|
-
if ((t ===
|
|
1925
|
+
if (t === H.Cells && n.length < 2) throw new Error("Ranges of type cells should have a length greater than 2!");
|
|
1926
|
+
if ((t === H.Columns || t === H.Rows) && !n.length) throw new Error("Ranges of type columns or rows should have a length greater than 1!");
|
|
1927
1927
|
return new oe(t, n);
|
|
1928
1928
|
}
|
|
1929
1929
|
setRanges(t) {
|
|
@@ -1935,30 +1935,30 @@ class oe {
|
|
|
1935
1935
|
/** Adds a run (rows/columns, merged with any it overlaps) or moves the head (cells). */
|
|
1936
1936
|
expand(t) {
|
|
1937
1937
|
switch (this.type) {
|
|
1938
|
-
case
|
|
1939
|
-
case
|
|
1938
|
+
case H.Rows:
|
|
1939
|
+
case H.Columns: {
|
|
1940
1940
|
let n = !1;
|
|
1941
1941
|
const o = this.ranges.map((i) => this.isOverlap(i, t) ? (n = !0, [Math.min(i[0], t[0]), Math.max(i[1], t[1])]) : i);
|
|
1942
1942
|
return n || o.push(t), new oe(this.type, Tt(o));
|
|
1943
1943
|
}
|
|
1944
|
-
case
|
|
1944
|
+
case H.Cells:
|
|
1945
1945
|
return new oe(this.type, [this.ranges[0], t]);
|
|
1946
1946
|
default:
|
|
1947
|
-
return
|
|
1947
|
+
return Ge;
|
|
1948
1948
|
}
|
|
1949
1949
|
}
|
|
1950
1950
|
/** Toggles a run (rows/columns; empty result clears) or moves the head (cells). */
|
|
1951
1951
|
merge(t) {
|
|
1952
1952
|
switch (this.type) {
|
|
1953
|
-
case
|
|
1954
|
-
case
|
|
1953
|
+
case H.Rows:
|
|
1954
|
+
case H.Columns: {
|
|
1955
1955
|
const n = ci(this.ranges, t);
|
|
1956
|
-
return n.length ? new oe(this.type, n) :
|
|
1956
|
+
return n.length ? new oe(this.type, n) : Ge;
|
|
1957
1957
|
}
|
|
1958
|
-
case
|
|
1958
|
+
case H.Cells:
|
|
1959
1959
|
return new oe(this.type, [this.ranges[0], t]);
|
|
1960
1960
|
default:
|
|
1961
|
-
return
|
|
1961
|
+
return Ge;
|
|
1962
1962
|
}
|
|
1963
1963
|
}
|
|
1964
1964
|
flatten() {
|
|
@@ -1968,10 +1968,10 @@ class oe {
|
|
|
1968
1968
|
/** Runs merged and sorted, or the cell rectangle as `[topLeft, bottomRight]`. */
|
|
1969
1969
|
serialize() {
|
|
1970
1970
|
switch (this.type) {
|
|
1971
|
-
case
|
|
1972
|
-
case
|
|
1971
|
+
case H.Rows:
|
|
1972
|
+
case H.Columns:
|
|
1973
1973
|
return Tt(this.ranges);
|
|
1974
|
-
case
|
|
1974
|
+
case H.Cells: {
|
|
1975
1975
|
const [t, n] = this.ranges;
|
|
1976
1976
|
return [
|
|
1977
1977
|
[Math.min(t[0], n[0]), Math.min(t[1], n[1])],
|
|
@@ -1986,10 +1986,10 @@ class oe {
|
|
|
1986
1986
|
includes(t) {
|
|
1987
1987
|
if (t == null) return !1;
|
|
1988
1988
|
switch (this.type) {
|
|
1989
|
-
case
|
|
1990
|
-
case
|
|
1989
|
+
case H.Rows:
|
|
1990
|
+
case H.Columns:
|
|
1991
1991
|
return si(t, this.ranges);
|
|
1992
|
-
case
|
|
1992
|
+
case H.Cells:
|
|
1993
1993
|
return li(t, this.ranges[0], this.ranges[1]);
|
|
1994
1994
|
default:
|
|
1995
1995
|
return !1;
|
|
@@ -1999,7 +1999,7 @@ class oe {
|
|
|
1999
1999
|
return Ot(this.ranges, t);
|
|
2000
2000
|
}
|
|
2001
2001
|
}
|
|
2002
|
-
const
|
|
2002
|
+
const Ge = new oe(H.None, []);
|
|
2003
2003
|
class us {
|
|
2004
2004
|
selection = new oe();
|
|
2005
2005
|
activeCell = null;
|
|
@@ -2036,7 +2036,7 @@ class us {
|
|
|
2036
2036
|
case x.ActiveCell: {
|
|
2037
2037
|
const { realIndex: u } = this.getLinearRow(a), h = [s, u], m = l && !r && c[0] != null, g = [m ? c[0] : h, h];
|
|
2038
2038
|
this.isMultiSelectionEnable && (this.isSelecting = !0), this.update({
|
|
2039
|
-
selection: this.selection.set(
|
|
2039
|
+
selection: this.selection.set(H.Cells, g),
|
|
2040
2040
|
...m ? {} : { activeCell: h }
|
|
2041
2041
|
});
|
|
2042
2042
|
return;
|
|
@@ -2074,13 +2074,13 @@ class us {
|
|
|
2074
2074
|
return;
|
|
2075
2075
|
}
|
|
2076
2076
|
const R = u.includes(y);
|
|
2077
|
-
p(v,
|
|
2077
|
+
p(v, H.Rows), this.options.onRowControlClick?.(v, X.Checkbox, !R);
|
|
2078
2078
|
};
|
|
2079
2079
|
switch (r) {
|
|
2080
2080
|
case x.ColumnHeader: {
|
|
2081
2081
|
if (C !== $.All && C !== $.Column) return;
|
|
2082
2082
|
const v = S && a && m ? h[0][0] : l, y = [[Math.min(v, l), Math.max(v, l)]];
|
|
2083
|
-
let R = u.set(
|
|
2083
|
+
let R = u.set(H.Columns, y);
|
|
2084
2084
|
if (S && s && m && (R = u.merge([l, l])), !a || !m) {
|
|
2085
2085
|
this.update({ selection: R, activeCell: R.isNoneSelection ? null : [R.ranges[0][0], 0] });
|
|
2086
2086
|
return;
|
|
@@ -2100,7 +2100,7 @@ class us {
|
|
|
2100
2100
|
w(v);
|
|
2101
2101
|
return;
|
|
2102
2102
|
}
|
|
2103
|
-
C === $.Column && p(l,
|
|
2103
|
+
C === $.Column && p(l, H.Columns);
|
|
2104
2104
|
return;
|
|
2105
2105
|
}
|
|
2106
2106
|
case x.AllCheckbox: {
|
|
@@ -2110,7 +2110,7 @@ class us {
|
|
|
2110
2110
|
this.update({ selection: u.reset() });
|
|
2111
2111
|
return;
|
|
2112
2112
|
}
|
|
2113
|
-
this.update({ selection: u.set(
|
|
2113
|
+
this.update({ selection: u.set(H.Rows, v) }), this.options.onRowRangeSelected?.(v);
|
|
2114
2114
|
return;
|
|
2115
2115
|
}
|
|
2116
2116
|
}
|
|
@@ -2127,13 +2127,13 @@ class us {
|
|
|
2127
2127
|
const { realIndex: C } = this.getLinearRow(s), S = l ? [a, C] : u ? [C, C] : h ? [a, a] : void 0;
|
|
2128
2128
|
if (c.includes(S)) return n(c, { x: o, y: i });
|
|
2129
2129
|
if (a > -1) {
|
|
2130
|
-
const p = [a, C], w = c.set(
|
|
2130
|
+
const p = [a, C], w = c.set(H.Cells, [p, p]);
|
|
2131
2131
|
return this.update({ selection: w, activeCell: p }), n(w, { x: o, y: i });
|
|
2132
2132
|
}
|
|
2133
2133
|
}
|
|
2134
2134
|
if (g) {
|
|
2135
2135
|
if (h && c.includes([a, a])) return n(c, { x: o, y: i });
|
|
2136
|
-
const C = c.set(
|
|
2136
|
+
const C = c.set(H.Columns, [[a, a]]);
|
|
2137
2137
|
this.update({ selection: C, activeCell: [a, 0] }), n(C, { x: o, y: i });
|
|
2138
2138
|
}
|
|
2139
2139
|
}
|
|
@@ -2147,7 +2147,7 @@ const ds = (e, t, n) => {
|
|
|
2147
2147
|
endColumn: e.source.endColumn,
|
|
2148
2148
|
startRow: Math.min(e.source.startRow, e.target.startRow),
|
|
2149
2149
|
endRow: Math.max(e.source.endRow, e.target.endRow)
|
|
2150
|
-
}), ms = (e) => typeof e == "number" && Number.isFinite(e),
|
|
2150
|
+
}), ms = (e) => typeof e == "number" && Number.isFinite(e), Er = (e, t, n = "down") => {
|
|
2151
2151
|
if (t <= 0 || e.length === 0) return [];
|
|
2152
2152
|
const o = n === "down" ? e : [...e].reverse(), i = o.length >= 2 && o.every(ms) && o.some((s) => s !== o[0]), a = [];
|
|
2153
2153
|
if (i) {
|
|
@@ -2179,15 +2179,15 @@ const ds = (e, t, n) => {
|
|
|
2179
2179
|
row: de.Row,
|
|
2180
2180
|
all: de.All
|
|
2181
2181
|
}, Cs = {
|
|
2182
|
-
[
|
|
2183
|
-
[
|
|
2184
|
-
[
|
|
2185
|
-
[
|
|
2182
|
+
[H.None]: "none",
|
|
2183
|
+
[H.Cells]: "cells",
|
|
2184
|
+
[H.Rows]: "rows",
|
|
2185
|
+
[H.Columns]: "columns"
|
|
2186
2186
|
}, ws = {
|
|
2187
|
-
none:
|
|
2188
|
-
cells:
|
|
2189
|
-
rows:
|
|
2190
|
-
columns:
|
|
2187
|
+
none: H.None,
|
|
2188
|
+
cells: H.Cells,
|
|
2189
|
+
rows: H.Rows,
|
|
2190
|
+
columns: H.Columns
|
|
2191
2191
|
}, On = { ArrowUp: "up", ArrowDown: "down", ArrowLeft: "left", ArrowRight: "right" }, vs = (e) => Math.max(B.rowHeadWidth, 46 + e.length * 24), Ss = 640, ys = 50, bs = (e, t) => ({
|
|
2192
2192
|
id: e.id,
|
|
2193
2193
|
name: e.name,
|
|
@@ -2381,12 +2381,12 @@ class Rs {
|
|
|
2381
2381
|
return { kind: Cs[t.type], ranges: t.ranges.map((o) => [o[0], o[1]]), activeCell: n ? [n[0], n[1]] : null };
|
|
2382
2382
|
}
|
|
2383
2383
|
setSelection(t) {
|
|
2384
|
-
const n = t.ranges.map((a) => [a[0], a[1]]), o = t.kind === "none" ?
|
|
2384
|
+
const n = t.ranges.map((a) => [a[0], a[1]]), o = t.kind === "none" ? Ge : new oe(ws[t.kind], n), i = t.activeCell !== void 0 ? t.activeCell ? [t.activeCell[0], t.activeCell[1]] : null : t.kind === "cells" && n[0] ? [n[0][0], n[0][1]] : null;
|
|
2385
2385
|
this.selection.update({ selection: o, activeCell: i });
|
|
2386
2386
|
}
|
|
2387
2387
|
selectCell(t, n) {
|
|
2388
2388
|
const o = this.selection.selection, i = n && o.isCellSelection ? o.ranges[0] : t;
|
|
2389
|
-
this.selection.update({ selection: o.set(
|
|
2389
|
+
this.selection.update({ selection: o.set(H.Cells, [i, t]), ...n ? {} : { activeCell: t } }), this.scrollToCell(t);
|
|
2390
2390
|
}
|
|
2391
2391
|
// ---- geometry ---------------------------------------------------------
|
|
2392
2392
|
getCellRect(t) {
|
|
@@ -2539,7 +2539,7 @@ class Rs {
|
|
|
2539
2539
|
}
|
|
2540
2540
|
const i = hs(o), a = this.selection.activeCell;
|
|
2541
2541
|
this.selection.update({
|
|
2542
|
-
selection: this.selection.selection.set(
|
|
2542
|
+
selection: this.selection.selection.set(H.Cells, [[i.startColumn, i.startRow], [i.endColumn, i.endRow]]),
|
|
2543
2543
|
...a ? {} : { activeCell: [n.startColumn, n.startRow] }
|
|
2544
2544
|
}), this.hooks.fill?.(o), this.hooks.render();
|
|
2545
2545
|
}
|
|
@@ -2653,7 +2653,7 @@ class Rs {
|
|
|
2653
2653
|
moveAfterEdit(t, n) {
|
|
2654
2654
|
const { rowCount: o, columns: i } = this.config;
|
|
2655
2655
|
if (!o || !i.length) return;
|
|
2656
|
-
const a = { pureRowCount: o, columnCount: i.length }, s = new oe(
|
|
2656
|
+
const a = { pureRowCount: o, columnCount: i.length }, s = new oe(H.Cells, [[t[0], t[1]], [t[0], t[1]]]), r = n === "down" ? cs(s, a) : Bn(s, n === "left", a);
|
|
2657
2657
|
this.selection.update({ selection: r.selection, activeCell: r.activeCell }), this.scrollToCell(r.scrollTo);
|
|
2658
2658
|
}
|
|
2659
2659
|
/** An input method started composing on the selected cell. */
|
|
@@ -2780,10 +2780,10 @@ const ks = () => {
|
|
|
2780
2780
|
rowHeight: Vn(n, "--ui-grid-row-height") ?? t.rowHeight,
|
|
2781
2781
|
headerHeight: Vn(n, "--ui-grid-header-height") ?? t.headerHeight
|
|
2782
2782
|
};
|
|
2783
|
-
}, Ps = (e, t, n) => n > 0 ? Math.max(0, Math.floor((e - t) / n)) : 0, zs = ["aria-labelledby", "aria-rowcount", "aria-colcount", "aria-readonly", "aria-busy", "data-ui-grid-skeleton"], Ms = ["id"],
|
|
2783
|
+
}, Ps = (e, t, n) => n > 0 ? Math.max(0, Math.floor((e - t) / n)) : 0, zs = ["aria-labelledby", "aria-rowcount", "aria-colcount", "aria-readonly", "aria-busy", "data-ui-grid-skeleton"], Ms = ["id"], As = { role: "rowgroup" }, Es = {
|
|
2784
2784
|
role: "row",
|
|
2785
2785
|
"aria-rowindex": "1"
|
|
2786
|
-
},
|
|
2786
|
+
}, Hs = ["id", "aria-colindex"], Ts = { role: "rowgroup" }, Fs = ["aria-rowindex", "aria-hidden"], Ns = ["id"], Ls = ["aria-colindex", "aria-selected", "aria-readonly"], Ds = ["id"], Ws = ["data-ui-grid-editing", "aria-labelledby", "aria-invalid", "aria-describedby", "readonly"], Bs = ["id"], Os = {
|
|
2787
2787
|
key: 1,
|
|
2788
2788
|
role: "status",
|
|
2789
2789
|
class: "sr-only"
|
|
@@ -2791,7 +2791,7 @@ const ks = () => {
|
|
|
2791
2791
|
key: 2,
|
|
2792
2792
|
"data-ui-grid-overlay": "",
|
|
2793
2793
|
style: { position: "absolute", inset: "0", "pointer-events": "none", "z-index": "3" }
|
|
2794
|
-
},
|
|
2794
|
+
}, Gs = 6, Us = 250, Ks = 100, _s = 800, $s = 300, qs = 300, Hr = /* @__PURE__ */ Xo({
|
|
2795
2795
|
__name: "GridHost",
|
|
2796
2796
|
props: {
|
|
2797
2797
|
columns: {},
|
|
@@ -2826,12 +2826,12 @@ const ks = () => {
|
|
|
2826
2826
|
emits: ["selection-change", "edit-request", "cell-commit", "edit-end", "clear-request", "row-expand", "header-menu", "column-resize", "column-resize-end", "column-width-save", "fill-request", "clipboard-copy", "paste-request", "column-reorder", "row-reorder", "context-menu", "visible-range-change"],
|
|
2827
2827
|
setup(e, { expose: t, emit: n }) {
|
|
2828
2828
|
const o = e, i = n, a = ni(), s = Yo(), r = xe(), c = xe(), l = xe(), u = xe(), h = xe(), m = ce({ rowHeight: B.rowHeight, headerHeight: B.columnHeadHeight }), g = ce({ ...co, ...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);
|
|
2829
|
-
let R =
|
|
2830
|
-
const I = ce(null), k = _(() => o.rowHeight ?? m.value.rowHeight), P = _(() => o.headerHeight ?? m.value.headerHeight),
|
|
2829
|
+
let R = Ue.danger;
|
|
2830
|
+
const I = ce(null), k = _(() => o.rowHeight ?? m.value.rowHeight), P = _(() => o.headerHeight ?? m.value.headerHeight), A = _(() => Ps(C.value.height, P.value, k.value)), N = _(() => !o.loading && o.rowCount === 0), M = () => {
|
|
2831
2831
|
const d = o.loading && o.rowCount === 0;
|
|
2832
2832
|
return {
|
|
2833
2833
|
columns: o.columns,
|
|
2834
|
-
rowCount: d ? w.value ?
|
|
2834
|
+
rowCount: d ? w.value ? A.value : 0 : o.rowCount,
|
|
2835
2835
|
rowHeight: k.value,
|
|
2836
2836
|
headerHeight: P.value,
|
|
2837
2837
|
freezeColumnCount: o.freezeColumnCount,
|
|
@@ -2843,8 +2843,8 @@ const ks = () => {
|
|
|
2843
2843
|
fillable: o.fillable,
|
|
2844
2844
|
touch: v.value
|
|
2845
2845
|
};
|
|
2846
|
-
},
|
|
2847
|
-
let F = 0, W, K = null,
|
|
2846
|
+
}, E = () => o.loading && o.rowCount === 0;
|
|
2847
|
+
let F = 0, W, K = null, G = null;
|
|
2848
2848
|
const ke = () => o.editing || L.active, z = new Rs(M(), {
|
|
2849
2849
|
render: () => ge(),
|
|
2850
2850
|
selectionChange: (d) => {
|
|
@@ -2882,7 +2882,7 @@ const ks = () => {
|
|
|
2882
2882
|
contextMenu: (d, f) => i("context-menu", { selection: d, x: f.x, y: f.y }),
|
|
2883
2883
|
// Skeleton rows are not data; callers fetch only for real rows.
|
|
2884
2884
|
visibleRangeChange: (d) => {
|
|
2885
|
-
|
|
2885
|
+
E() || i("visible-range-change", d);
|
|
2886
2886
|
}
|
|
2887
2887
|
}), L = qa({
|
|
2888
2888
|
owner: () => h.value,
|
|
@@ -2895,8 +2895,8 @@ const ks = () => {
|
|
|
2895
2895
|
textBox: () => I.value,
|
|
2896
2896
|
hasHint: () => !!o.editHint,
|
|
2897
2897
|
hasSelection: () => S.value.kind !== "none",
|
|
2898
|
-
onCommit: ({ cell: d, column: f, value: b, previous: T, reason:
|
|
2899
|
-
De(), i("cell-commit", { cell: d, column: f, value: b, previous: T, reason:
|
|
2898
|
+
onCommit: ({ cell: d, column: f, value: b, previous: T, reason: U }) => {
|
|
2899
|
+
De(), i("cell-commit", { cell: d, column: f, value: b, previous: T, reason: U }), z.invalidate();
|
|
2900
2900
|
},
|
|
2901
2901
|
onEnd: (d, f, b) => {
|
|
2902
2902
|
i("edit-end", { cell: d, column: f, committed: b }), ge();
|
|
@@ -2936,14 +2936,14 @@ const ks = () => {
|
|
|
2936
2936
|
F && (cancelAnimationFrame(F), Ye());
|
|
2937
2937
|
}
|
|
2938
2938
|
function re(d) {
|
|
2939
|
-
const f =
|
|
2939
|
+
const f = Je;
|
|
2940
2940
|
if (!f) return;
|
|
2941
2941
|
const b = d.getContext("2d");
|
|
2942
2942
|
if (!b) return;
|
|
2943
|
-
const T = z.getCellRect([f.startColumn, f.startRow]),
|
|
2944
|
-
if (!T || !
|
|
2945
|
-
const { columnInitSize:
|
|
2946
|
-
b.save(), b.setTransform(dn, 0, 0, dn, 0, 0), b.beginPath(), b.rect(
|
|
2943
|
+
const T = z.getCellRect([f.startColumn, f.startRow]), U = z.getCellRect([f.endColumn, f.endRow]);
|
|
2944
|
+
if (!T || !U) return;
|
|
2945
|
+
const { columnInitSize: Z, rowInitSize: be } = z.coord, { width: bt, height: xt } = z.viewport, dn = Math.ceil(globalThis.devicePixelRatio ?? 1);
|
|
2946
|
+
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();
|
|
2947
2947
|
}
|
|
2948
2948
|
const Te = (d) => Math.max(0, Math.min(d.width - 2 * B.cellHorizontalPadding, d.width * 0.6));
|
|
2949
2949
|
function Fe(d, f) {
|
|
@@ -2958,20 +2958,20 @@ const ks = () => {
|
|
|
2958
2958
|
}
|
|
2959
2959
|
function Ne(d, f, b) {
|
|
2960
2960
|
if (!b) return;
|
|
2961
|
-
const { fontSizeSM: T, cellTextColor:
|
|
2961
|
+
const { fontSizeSM: T, cellTextColor: U } = f.theme;
|
|
2962
2962
|
$e(d, {
|
|
2963
2963
|
text: b,
|
|
2964
2964
|
x: f.x + B.cellHorizontalPadding,
|
|
2965
2965
|
y: f.y + (f.height - T) / 2,
|
|
2966
2966
|
maxWidth: f.width - 2 * B.cellHorizontalPadding,
|
|
2967
|
-
fill:
|
|
2967
|
+
fill: U,
|
|
2968
2968
|
fontSize: T
|
|
2969
2969
|
});
|
|
2970
2970
|
}
|
|
2971
2971
|
function mt(d, f) {
|
|
2972
2972
|
const b = o.columns[f.columnIndex];
|
|
2973
2973
|
if (!b) return;
|
|
2974
|
-
const T =
|
|
2974
|
+
const T = E() || (o.isRowLoaded ? !o.isRowLoaded(f.rowIndex) : !1), U = {
|
|
2975
2975
|
x: f.x,
|
|
2976
2976
|
y: f.y,
|
|
2977
2977
|
width: f.width,
|
|
@@ -2983,11 +2983,11 @@ const ks = () => {
|
|
|
2983
2983
|
isLoading: T
|
|
2984
2984
|
};
|
|
2985
2985
|
if (T) {
|
|
2986
|
-
Fe(d,
|
|
2986
|
+
Fe(d, U);
|
|
2987
2987
|
return;
|
|
2988
2988
|
}
|
|
2989
|
-
const
|
|
2990
|
-
|
|
2989
|
+
const Z = o.cellRenderer?.(b, f.columnIndex);
|
|
2990
|
+
Z ? Z.draw(d, U) : Ne(d, U, o.getCellText(U.cell));
|
|
2991
2991
|
}
|
|
2992
2992
|
function Ie(d, f) {
|
|
2993
2993
|
const b = f.column ? o.columns.find((T) => T.id === f.column?.id) : void 0;
|
|
@@ -3001,7 +3001,7 @@ const ks = () => {
|
|
|
3001
3001
|
d.style.transform = "translate(-10000px, 0)";
|
|
3002
3002
|
return;
|
|
3003
3003
|
}
|
|
3004
|
-
const { rowInitSize: T, freezeRegionWidth:
|
|
3004
|
+
const { rowInitSize: T, freezeRegionWidth: U, freezeColumnCount: Z } = z.coord, be = f[0] < Z ? z.coord.columnInitSize : U, bt = Math.max(b.x, be), xt = Math.max(b.y, T);
|
|
3005
3005
|
d.style.transform = `translate(${bt}px, ${xt}px)`, d.style.width = `${b.width}px`, d.style.height = `${b.height}px`;
|
|
3006
3006
|
}
|
|
3007
3007
|
function Pe() {
|
|
@@ -3009,21 +3009,21 @@ const ks = () => {
|
|
|
3009
3009
|
}
|
|
3010
3010
|
const ve = (d) => ks() ? d.metaKey : d.ctrlKey;
|
|
3011
3011
|
function ae(d) {
|
|
3012
|
-
const f =
|
|
3012
|
+
const f = G ?? (G = r.value.getBoundingClientRect());
|
|
3013
3013
|
return { x: d.clientX - f.left, y: d.clientY - f.top, shiftKey: d.shiftKey, commandKey: ve(d) };
|
|
3014
3014
|
}
|
|
3015
3015
|
function gt(d) {
|
|
3016
|
-
const f = l.value, b =
|
|
3016
|
+
const f = l.value, b = G;
|
|
3017
3017
|
return d.clientX - b.left >= f.clientWidth || d.clientY - b.top >= f.clientHeight;
|
|
3018
3018
|
}
|
|
3019
3019
|
let le = null, q = null, Yt = -1 / 0, jt = -1 / 0, je = !1;
|
|
3020
3020
|
const Qe = () => typeof performance > "u" ? Date.now() : performance.now(), Qt = () => q != null || Qe() - Yt < _s;
|
|
3021
|
-
function
|
|
3021
|
+
function Ze() {
|
|
3022
3022
|
q && clearTimeout(q.timer), q = null, Yt = Qe();
|
|
3023
3023
|
}
|
|
3024
3024
|
function ko(d) {
|
|
3025
3025
|
if (q) {
|
|
3026
|
-
|
|
3026
|
+
Ze();
|
|
3027
3027
|
return;
|
|
3028
3028
|
}
|
|
3029
3029
|
const f = {
|
|
@@ -3034,22 +3034,22 @@ const ks = () => {
|
|
|
3034
3034
|
longPressed: !1,
|
|
3035
3035
|
timer: setTimeout(() => {
|
|
3036
3036
|
q !== f || f.flingStop || ke() || (f.longPressed = !0, z.longPress(ae(d)), ie());
|
|
3037
|
-
},
|
|
3037
|
+
}, Us)
|
|
3038
3038
|
};
|
|
3039
3039
|
q = f;
|
|
3040
3040
|
}
|
|
3041
3041
|
function Io(d) {
|
|
3042
3042
|
const f = q;
|
|
3043
|
-
!f || f.id !== d.pointerId || Math.hypot(d.clientX - f.x, d.clientY - f.y) >
|
|
3043
|
+
!f || f.id !== d.pointerId || Math.hypot(d.clientX - f.x, d.clientY - f.y) > Gs && Ze();
|
|
3044
3044
|
}
|
|
3045
3045
|
function Po(d) {
|
|
3046
3046
|
const f = q;
|
|
3047
|
-
!f || f.id !== d.pointerId || (
|
|
3047
|
+
!f || f.id !== d.pointerId || (Ze(), !(f.longPressed || f.flingStop) && (L.active && !L.commit("pointer") || o.editing || (z.tap(ae(d)), ie(), le && clearTimeout(le), le = setTimeout(() => {
|
|
3048
3048
|
le = null, z.clearTapFeedback();
|
|
3049
3049
|
}, $s))));
|
|
3050
3050
|
}
|
|
3051
3051
|
function zo(d) {
|
|
3052
|
-
if (
|
|
3052
|
+
if (G = r.value.getBoundingClientRect(), d.pointerType === "touch") {
|
|
3053
3053
|
ko(d);
|
|
3054
3054
|
return;
|
|
3055
3055
|
}
|
|
@@ -3073,9 +3073,9 @@ const ks = () => {
|
|
|
3073
3073
|
Io(d);
|
|
3074
3074
|
return;
|
|
3075
3075
|
}
|
|
3076
|
-
|
|
3076
|
+
G || (G = r.value.getBoundingClientRect()), z.pointerMove(ae(d)), ie(), l.value && (l.value.style.cursor = z.cursor);
|
|
3077
3077
|
}
|
|
3078
|
-
function
|
|
3078
|
+
function Ao(d) {
|
|
3079
3079
|
if (d.pointerType === "touch") {
|
|
3080
3080
|
Po(d);
|
|
3081
3081
|
return;
|
|
@@ -3088,17 +3088,17 @@ const ks = () => {
|
|
|
3088
3088
|
}
|
|
3089
3089
|
}
|
|
3090
3090
|
}
|
|
3091
|
-
function
|
|
3091
|
+
function Zt(d) {
|
|
3092
3092
|
if (d.pointerType === "touch") {
|
|
3093
|
-
q?.id === d.pointerId &&
|
|
3093
|
+
q?.id === d.pointerId && Ze();
|
|
3094
3094
|
return;
|
|
3095
3095
|
}
|
|
3096
3096
|
z.cancelGesture(), ie();
|
|
3097
3097
|
}
|
|
3098
|
-
function
|
|
3098
|
+
function Eo() {
|
|
3099
3099
|
z.pointerLeave();
|
|
3100
3100
|
}
|
|
3101
|
-
function
|
|
3101
|
+
function Ho(d) {
|
|
3102
3102
|
ke() || Qt() || z.doubleClick(ae(d));
|
|
3103
3103
|
}
|
|
3104
3104
|
function To(d) {
|
|
@@ -3106,11 +3106,11 @@ const ks = () => {
|
|
|
3106
3106
|
d.preventDefault();
|
|
3107
3107
|
return;
|
|
3108
3108
|
}
|
|
3109
|
-
|
|
3109
|
+
G = r.value.getBoundingClientRect(), z.contextMenu(ae(d)) && (d.preventDefault(), Pe());
|
|
3110
3110
|
}
|
|
3111
3111
|
function Fo() {
|
|
3112
3112
|
const d = l.value;
|
|
3113
|
-
d && (
|
|
3113
|
+
d && (G = null, jt = Qe(), z.setScroll(d.scrollLeft, d.scrollTop));
|
|
3114
3114
|
}
|
|
3115
3115
|
function No(d) {
|
|
3116
3116
|
if (L.active) {
|
|
@@ -3133,9 +3133,9 @@ const ks = () => {
|
|
|
3133
3133
|
commandKey: ve(d)
|
|
3134
3134
|
}) === "prevent" && d.preventDefault(), ie();
|
|
3135
3135
|
}
|
|
3136
|
-
let
|
|
3136
|
+
let Je = null, fe = null;
|
|
3137
3137
|
function De() {
|
|
3138
|
-
|
|
3138
|
+
Je && (Je = null, ge());
|
|
3139
3139
|
}
|
|
3140
3140
|
const ft = () => ({ rowCount: o.loading && o.rowCount === 0 ? 0 : o.rowCount, columnCount: o.columns.length });
|
|
3141
3141
|
function Lo(d) {
|
|
@@ -3145,32 +3145,32 @@ const ks = () => {
|
|
|
3145
3145
|
}
|
|
3146
3146
|
function Do() {
|
|
3147
3147
|
const d = h.value;
|
|
3148
|
-
!d || d.value || (d.value = " ", d.select(), fe && clearTimeout(fe), fe = setTimeout(
|
|
3148
|
+
!d || d.value || (d.value = " ", d.select(), fe && clearTimeout(fe), fe = setTimeout(Jt, 0));
|
|
3149
3149
|
}
|
|
3150
|
-
function
|
|
3150
|
+
function Jt() {
|
|
3151
3151
|
fe && clearTimeout(fe), fe = null, h.value && !L.active && (h.value.value = "");
|
|
3152
3152
|
}
|
|
3153
3153
|
function pt(d, f, b, T) {
|
|
3154
|
-
T && (
|
|
3154
|
+
T && (Je = qe(d, ft()), ge()), i("clipboard-copy", { block: f, cellCount: Ia(f), cut: b, ok: T }), T && b && !o.readonly && i("clear-request", d);
|
|
3155
3155
|
}
|
|
3156
3156
|
function en(d, f) {
|
|
3157
3157
|
const b = z.getSelection(), T = fo(b, ft());
|
|
3158
3158
|
if (!T) return Promise.resolve(!1);
|
|
3159
|
-
const
|
|
3160
|
-
if (f &&
|
|
3161
|
-
const be = ya(f, It(
|
|
3159
|
+
const U = za(T, o.isRowLoaded);
|
|
3160
|
+
if (f && U) {
|
|
3161
|
+
const be = ya(f, It(Hn(T, o.getCopyText ?? o.getCellText)));
|
|
3162
3162
|
return pt(b, T, d, be), Promise.resolve(be);
|
|
3163
3163
|
}
|
|
3164
3164
|
f?.preventDefault();
|
|
3165
|
-
let
|
|
3166
|
-
return
|
|
3167
|
-
}), xa(
|
|
3165
|
+
let Z;
|
|
3166
|
+
return U ? Z = Promise.resolve(It(Hn(T, o.getCopyText ?? o.getCellText))) : o.resolveCopy ? Z = o.resolveCopy(T).then(It) : Z = Promise.reject(new Error("Rows are not loaded")), Z.catch(() => {
|
|
3167
|
+
}), xa(Z).then(
|
|
3168
3168
|
() => (pt(b, T, d, !0), !0),
|
|
3169
3169
|
() => (pt(b, T, d, !1), !1)
|
|
3170
3170
|
);
|
|
3171
3171
|
}
|
|
3172
3172
|
function tn(d, f) {
|
|
3173
|
-
L.active || o.editing || (
|
|
3173
|
+
L.active || o.editing || (Jt(), d.preventDefault(), en(f, d));
|
|
3174
3174
|
}
|
|
3175
3175
|
function nn(d) {
|
|
3176
3176
|
if (o.readonly) return null;
|
|
@@ -3208,7 +3208,7 @@ const ks = () => {
|
|
|
3208
3208
|
function sn() {
|
|
3209
3209
|
const d = r.value;
|
|
3210
3210
|
if (!d) return;
|
|
3211
|
-
|
|
3211
|
+
G = null;
|
|
3212
3212
|
const f = d.clientWidth, b = d.clientHeight;
|
|
3213
3213
|
f === C.value.width && b === C.value.height || (C.value = { width: f, height: b }, z.setViewport(f, b), yt());
|
|
3214
3214
|
}
|
|
@@ -3228,7 +3228,7 @@ const ks = () => {
|
|
|
3228
3228
|
Se = null, w.value = !0;
|
|
3229
3229
|
}, o.loadingDelay);
|
|
3230
3230
|
}, { immediate: !0 }), ue(
|
|
3231
|
-
() => [o.columns, o.rowCount, o.freezeColumnCount, o.rowControls, o.selectable, o.draggable, o.columnResizable, o.readonly, v.value, k.value, P.value, w.value,
|
|
3231
|
+
() => [o.columns, o.rowCount, o.freezeColumnCount, o.rowControls, o.selectable, o.draggable, o.columnResizable, o.readonly, v.value, k.value, P.value, w.value, A.value],
|
|
3232
3232
|
yt
|
|
3233
3233
|
), ue(() => [o.getCellText, o.cellRenderer, o.isRowLoaded, o.drawIcon], () => z.invalidate()), ue(() => o.themeOverrides, ye), ue(() => o.editing, () => ge()), ue(() => o.highlightedRow, () => z.invalidate()), jo(() => {
|
|
3234
3234
|
if (K = document.createElement("canvas"), ye(), sn(), typeof ResizeObserver < "u" && (wt = new ResizeObserver(() => sn()), wt.observe(r.value)), typeof MutationObserver < "u") {
|
|
@@ -3241,7 +3241,7 @@ const ks = () => {
|
|
|
3241
3241
|
}), Qo(() => {
|
|
3242
3242
|
F && cancelAnimationFrame(F), 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;
|
|
3243
3243
|
});
|
|
3244
|
-
const Y = _(() => S.value.activeCell),
|
|
3244
|
+
const Y = _(() => S.value.activeCell), Go = _(() => Y.value ? o.columns[Y.value[0]] : void 0), Uo = _(() => {
|
|
3245
3245
|
const d = Y.value;
|
|
3246
3246
|
return d ? o.getRowLabel?.(d[1]) ?? String(d[1] + 1) : "";
|
|
3247
3247
|
}), Ko = _(() => 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 = _(() => L.state.value), cn = _(() => j.value.active && j.value.mode === "edit" && j.value.kind === "long-text" && !!o.editHint), et = _(() => ({
|
|
@@ -3255,7 +3255,7 @@ const ks = () => {
|
|
|
3255
3255
|
theme: g.value,
|
|
3256
3256
|
dangerColor: R,
|
|
3257
3257
|
textBox: I.value
|
|
3258
|
-
})), $o = _(() =>
|
|
3258
|
+
})), $o = _(() => Ga(et.value)), un = _(() => j.value.active ? wo(et.value) : k.value), tt = _(() => {
|
|
3259
3259
|
if (y.value, j.value.active) return j.value.error;
|
|
3260
3260
|
const d = S.value.activeCell, f = d && o.cellStatus ? o.cellStatus(d) : null;
|
|
3261
3261
|
return f?.state === "error" ? f.message : null;
|
|
@@ -3281,7 +3281,7 @@ const ks = () => {
|
|
|
3281
3281
|
ref: r,
|
|
3282
3282
|
role: "grid",
|
|
3283
3283
|
"data-ui-grid": "",
|
|
3284
|
-
"aria-labelledby": `${
|
|
3284
|
+
"aria-labelledby": `${J(s)}-label`,
|
|
3285
3285
|
"aria-rowcount": e.loading && e.rowCount === 0 ? -1 : e.rowCount + 1,
|
|
3286
3286
|
"aria-colcount": e.columns.length,
|
|
3287
3287
|
"aria-readonly": e.readonly ? "true" : void 0,
|
|
@@ -3292,7 +3292,7 @@ const ks = () => {
|
|
|
3292
3292
|
onPaste: Wo
|
|
3293
3293
|
}, [
|
|
3294
3294
|
ee("span", {
|
|
3295
|
-
id: `${
|
|
3295
|
+
id: `${J(s)}-label`,
|
|
3296
3296
|
class: "sr-only"
|
|
3297
3297
|
}, we(e.label), 9, Ms),
|
|
3298
3298
|
ee("canvas", {
|
|
@@ -3310,26 +3310,26 @@ const ks = () => {
|
|
|
3310
3310
|
onScrollPassive: Fo,
|
|
3311
3311
|
onPointerdown: zo,
|
|
3312
3312
|
onPointermove: Mo,
|
|
3313
|
-
onPointerup:
|
|
3314
|
-
onPointercancel:
|
|
3315
|
-
onLostpointercapture:
|
|
3316
|
-
onPointerleave:
|
|
3317
|
-
onDblclick:
|
|
3313
|
+
onPointerup: Ao,
|
|
3314
|
+
onPointercancel: Zt,
|
|
3315
|
+
onLostpointercapture: Zt,
|
|
3316
|
+
onPointerleave: Eo,
|
|
3317
|
+
onDblclick: Ho,
|
|
3318
3318
|
onContextmenu: To
|
|
3319
3319
|
}, [
|
|
3320
3320
|
ee("div", {
|
|
3321
3321
|
style: Be({ width: `${p.value.width}px`, height: `${p.value.height}px` })
|
|
3322
3322
|
}, null, 4)
|
|
3323
3323
|
], 544),
|
|
3324
|
-
ee("div",
|
|
3325
|
-
ee("div",
|
|
3326
|
-
(pe(!0), Ce(
|
|
3324
|
+
ee("div", As, [
|
|
3325
|
+
ee("div", Es, [
|
|
3326
|
+
(pe(!0), Ce(Zo, null, Jo(e.columns, (b, T) => (pe(), Ce("span", {
|
|
3327
3327
|
id: rn(T),
|
|
3328
3328
|
key: b.id,
|
|
3329
3329
|
role: "columnheader",
|
|
3330
3330
|
class: "sr-only",
|
|
3331
3331
|
"aria-colindex": T + 1
|
|
3332
|
-
}, we(b.name), 9,
|
|
3332
|
+
}, we(b.name), 9, Hs))), 128))
|
|
3333
3333
|
])
|
|
3334
3334
|
]),
|
|
3335
3335
|
ee("div", Ts, [
|
|
@@ -3339,22 +3339,22 @@ const ks = () => {
|
|
|
3339
3339
|
"aria-hidden": Y.value ? void 0 : "true"
|
|
3340
3340
|
}, [
|
|
3341
3341
|
ee("span", {
|
|
3342
|
-
id: `${
|
|
3342
|
+
id: `${J(s)}-rowheader`,
|
|
3343
3343
|
role: "rowheader",
|
|
3344
3344
|
class: "sr-only"
|
|
3345
|
-
}, we(
|
|
3345
|
+
}, we(Uo.value), 9, Ns),
|
|
3346
3346
|
ee("div", {
|
|
3347
3347
|
ref_key: "focusCell",
|
|
3348
3348
|
ref: u,
|
|
3349
3349
|
role: "gridcell",
|
|
3350
3350
|
"aria-colindex": Y.value ? Y.value[0] + 1 : 1,
|
|
3351
3351
|
"aria-selected": Y.value ? "true" : void 0,
|
|
3352
|
-
"aria-readonly": e.readonly ||
|
|
3352
|
+
"aria-readonly": e.readonly || Go.value?.readonly ? "true" : void 0,
|
|
3353
3353
|
"data-ui-grid-focus-cell": "",
|
|
3354
3354
|
style: { position: "absolute", top: "0", left: "0", width: "0", height: "0", transform: "translate(-10000px, 0)", "z-index": "2", "pointer-events": "none" }
|
|
3355
3355
|
}, [
|
|
3356
3356
|
ee("span", {
|
|
3357
|
-
id: `${
|
|
3357
|
+
id: `${J(s)}-cell`,
|
|
3358
3358
|
class: "sr-only"
|
|
3359
3359
|
}, we(Ko.value), 9, Ds),
|
|
3360
3360
|
ee("textarea", {
|
|
@@ -3364,7 +3364,7 @@ const ks = () => {
|
|
|
3364
3364
|
"data-ui-grid-editing": j.value.active ? j.value.mode : void 0,
|
|
3365
3365
|
"aria-labelledby": _o.value,
|
|
3366
3366
|
"aria-invalid": tt.value ? "true" : void 0,
|
|
3367
|
-
"aria-describedby": tt.value ? `${
|
|
3367
|
+
"aria-describedby": tt.value ? `${J(s)}-message` : void 0,
|
|
3368
3368
|
readonly: j.value.active && j.value.mode === "view" ? !0 : void 0,
|
|
3369
3369
|
autocomplete: "off",
|
|
3370
3370
|
autocapitalize: "off",
|
|
@@ -3374,8 +3374,8 @@ const ks = () => {
|
|
|
3374
3374
|
onKeydown: No,
|
|
3375
3375
|
onCompositionstart: Oo,
|
|
3376
3376
|
onCompositionend: Vo,
|
|
3377
|
-
onInput: f[0] || (f[0] = (b) =>
|
|
3378
|
-
onBlur: f[1] || (f[1] = (b) =>
|
|
3377
|
+
onInput: f[0] || (f[0] = (b) => J(L).input()),
|
|
3378
|
+
onBlur: f[1] || (f[1] = (b) => J(L).blur()),
|
|
3379
3379
|
onCopy: f[2] || (f[2] = (b) => tn(b, !1)),
|
|
3380
3380
|
onCut: f[3] || (f[3] = (b) => tn(b, !0))
|
|
3381
3381
|
}, null, 44, Ws),
|
|
@@ -3383,13 +3383,13 @@ const ks = () => {
|
|
|
3383
3383
|
key: 0,
|
|
3384
3384
|
"data-ui-grid-edit-hint": "",
|
|
3385
3385
|
"aria-hidden": "true",
|
|
3386
|
-
style: Be({ ...
|
|
3386
|
+
style: Be({ ...J(Ua)(et.value), top: `${un.value - J(lt)}px` })
|
|
3387
3387
|
}, we(e.editHint), 5)) : Oe("", !0),
|
|
3388
3388
|
tt.value ? (pe(), Ce("div", {
|
|
3389
3389
|
key: 1,
|
|
3390
|
-
id: `${
|
|
3390
|
+
id: `${J(s)}-message`,
|
|
3391
3391
|
"data-ui-grid-edit-message": "",
|
|
3392
|
-
style: Be({ ...
|
|
3392
|
+
style: Be({ ...J(Ka)(et.value), top: `${un.value + 4}px` })
|
|
3393
3393
|
}, we(tt.value), 13, Bs)) : Oe("", !0)
|
|
3394
3394
|
], 8, Ls)
|
|
3395
3395
|
], 8, Fs)
|
|
@@ -3400,10 +3400,10 @@ const ks = () => {
|
|
|
3400
3400
|
style: Be([{ top: `${P.value}px` }, { position: "absolute", left: "0", right: "0", bottom: "0", display: "flex", "align-items": "center", "justify-content": "center", color: "var(--ui-text-muted)", "font-size": "var(--ui-font-size)", "pointer-events": "none", "z-index": "1" }])
|
|
3401
3401
|
}, [
|
|
3402
3402
|
hn(d.$slots, "empty", {}, () => [
|
|
3403
|
-
ei(we(
|
|
3403
|
+
ei(we(J(a)("No data")), 1)
|
|
3404
3404
|
])
|
|
3405
3405
|
], 4)) : Oe("", !0),
|
|
3406
|
-
e.loading ? (pe(), Ce("span", Os, we(
|
|
3406
|
+
e.loading ? (pe(), Ce("span", Os, we(J(a)("Loading")), 1)) : Oe("", !0),
|
|
3407
3407
|
d.$slots.overlay ? (pe(), Ce("div", Vs, [
|
|
3408
3408
|
hn(d.$slots, "overlay", {
|
|
3409
3409
|
activeCell: Y.value,
|
|
@@ -3435,11 +3435,11 @@ const ks = () => {
|
|
|
3435
3435
|
},
|
|
3436
3436
|
clear: () => n.clear()
|
|
3437
3437
|
};
|
|
3438
|
-
},
|
|
3438
|
+
}, Gn = ["en", "zh-TW", "zh-CN", "ja", "ko", "de", "fr", "es", "it"], Ys = /* @__PURE__ */ Symbol("syno-pkg-land-ui:locale"), Un = { enu: "en", cht: "zh-TW", chs: "zh-CN", jpn: "ja", krn: "ko", ger: "de", fre: "fr", spn: "es", ita: "it" };
|
|
3439
3439
|
function Kn(e) {
|
|
3440
3440
|
if (!e) return;
|
|
3441
3441
|
const n = e.trim().replaceAll("_", "-").toLowerCase();
|
|
3442
|
-
return
|
|
3442
|
+
return Un[n] ? Un[n] : n.startsWith("zh") ? /-(hant|tw|hk|mo)\b/.test(n) ? "zh-TW" : "zh-CN" : Gn.find((i) => i.toLowerCase() === n) ?? Gn.find((i) => i === n.split("-")[0]);
|
|
3443
3443
|
}
|
|
3444
3444
|
function js() {
|
|
3445
3445
|
if (typeof window > "u") return "en";
|
|
@@ -3467,10 +3467,10 @@ function Qs(e) {
|
|
|
3467
3467
|
function yo(e, t) {
|
|
3468
3468
|
return e.replace(/\{(\w+)\}/g, (n, o) => String(t[o] ?? n));
|
|
3469
3469
|
}
|
|
3470
|
-
const _e = 4, Re = 6,
|
|
3470
|
+
const _e = 4, Re = 6, Zs = 4, Ae = 4, he = (e, t, n, o = "") => {
|
|
3471
3471
|
const i = `${o ? `${o} ` : ""}${t}px ${n}`;
|
|
3472
3472
|
e.font !== i && (e.font = i);
|
|
3473
|
-
},
|
|
3473
|
+
}, Ee = (e, t, n) => $e(e, { text: t, fontSize: n, needRender: !1 }).width, Js = (e) => {
|
|
3474
3474
|
const t = e.trim();
|
|
3475
3475
|
if (!t) return "";
|
|
3476
3476
|
if (typeof Intl < "u" && typeof Intl.Segmenter == "function")
|
|
@@ -3492,7 +3492,7 @@ const _e = 4, Re = 6, Js = 4, Ee = 4, he = (e, t, n, o = "") => {
|
|
|
3492
3492
|
}).width;
|
|
3493
3493
|
}, bo = (e, t, n, o, i) => {
|
|
3494
3494
|
const { metrics: a, theme: s } = t;
|
|
3495
|
-
D(e, { ...n, radius:
|
|
3495
|
+
D(e, { ...n, radius: Zs, fill: i.fill }), he(e, a.chipFontSize, s.fontFamily), $e(e, {
|
|
3496
3496
|
text: o,
|
|
3497
3497
|
x: n.x + Re,
|
|
3498
3498
|
y: n.y + (n.height - a.chipFontSize) / 2,
|
|
@@ -3517,7 +3517,7 @@ const _e = 4, Re = 6, Js = 4, Ee = 4, he = (e, t, n, o = "") => {
|
|
|
3517
3517
|
return { widths: i, more: u, badgeWidth: n(u) };
|
|
3518
3518
|
}
|
|
3519
3519
|
return { widths: i, more: 0, badgeWidth: 0 };
|
|
3520
|
-
}, _t = (e, t, n) => (he(e, t.metrics.chipFontSize, t.theme.fontFamily),
|
|
3520
|
+
}, _t = (e, t, n) => (he(e, t.metrics.chipFontSize, t.theme.fontFamily), Ee(e, `+${n}`, t.metrics.chipFontSize) + 2 * Re), $t = (e, t, n, o, i) => {
|
|
3521
3521
|
const { metrics: a, cellTheme: s } = t, r = t.y + (t.height - a.chip) / 2;
|
|
3522
3522
|
bo(e, t, { x: n, y: r, width: i, height: a.chip }, `+${o}`, { fill: s.badgeFill, color: s.badgeText });
|
|
3523
3523
|
}, er = (e, t, n, o, i) => {
|
|
@@ -3594,7 +3594,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3594
3594
|
}, ur = {
|
|
3595
3595
|
draw: (e, t, n) => {
|
|
3596
3596
|
const { metrics: o, cellTheme: i } = t, a = qn(t.width, t.height, o);
|
|
3597
|
-
n.text && (me(e, t, n.text, { color: i.link, maxWidth: Math.max(0, a.x -
|
|
3597
|
+
n.text && (me(e, t, n.text, { color: i.link, maxWidth: Math.max(0, a.x - Ae - o.padding) }), tr(e, t.x + a.x, t.y + a.y, a.width, i.link));
|
|
3598
3598
|
},
|
|
3599
3599
|
describe: (e) => e.text,
|
|
3600
3600
|
hitTest: (e, { point: t, size: n, metrics: o }) => {
|
|
@@ -3626,18 +3626,18 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3626
3626
|
return Xe(t, a) ? { action: Yn(e), area: a } : null;
|
|
3627
3627
|
},
|
|
3628
3628
|
keyAction: (e, t) => !e.readonly && (t === "Enter" || t === " ") ? Yn(e) : null
|
|
3629
|
-
},
|
|
3629
|
+
}, At = 2, st = (e) => Math.max(1, Math.min(10, Math.round(e.max ?? 5))), hr = {
|
|
3630
3630
|
draw: (e, t, n) => {
|
|
3631
3631
|
const { metrics: o, cellTheme: i } = t, a = o.icon, s = t.y + (t.height - a) / 2, r = st(n);
|
|
3632
3632
|
let c = t.x + o.padding;
|
|
3633
|
-
for (let l = 0; l < r && c + a <= t.x + t.width - o.padding +
|
|
3634
|
-
er(e, c, s, a, n.value > l ? i.ratingOn : i.ratingOff), c += a +
|
|
3633
|
+
for (let l = 0; l < r && c + a <= t.x + t.width - o.padding + At; l++)
|
|
3634
|
+
er(e, c, s, a, n.value > l ? i.ratingOn : i.ratingOff), c += a + At;
|
|
3635
3635
|
},
|
|
3636
3636
|
describe: (e, { labels: t }) => e.value > 0 ? yo(t.rating, { value: e.value, max: st(e) }) : "",
|
|
3637
3637
|
// Click the n-th star: value n; click the current value again: clear (Teable).
|
|
3638
3638
|
hitTest: (e, { point: t, size: n, metrics: o }) => {
|
|
3639
3639
|
if (e.readonly) return null;
|
|
3640
|
-
const i = o.icon +
|
|
3640
|
+
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) };
|
|
3641
3641
|
if (!Xe(t, s)) return null;
|
|
3642
3642
|
const r = Math.min(a, Math.max(1, Math.ceil((t.x - o.padding) / i)));
|
|
3643
3643
|
return { action: { type: "update", value: r !== e.value ? r : null }, area: s };
|
|
@@ -3650,11 +3650,11 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3650
3650
|
const n = Math.min(st(e), Number(t));
|
|
3651
3651
|
return { type: "update", value: n === 0 || n === e.value ? null : n };
|
|
3652
3652
|
}
|
|
3653
|
-
},
|
|
3653
|
+
}, He = (e, t, n) => `${e}|${t.width}|${t.metrics.rowHeight}|${n.join("\0")}`, Nt = new qt(), xo = (e, t, n) => {
|
|
3654
3654
|
const { metrics: o, theme: i } = t;
|
|
3655
3655
|
if (!n.length) return [];
|
|
3656
3656
|
he(e, o.chipFontSize, i.fontFamily);
|
|
3657
|
-
const a = n.map((h) =>
|
|
3657
|
+
const a = n.map((h) => Ee(e, h.label, o.chipFontSize) + 2 * Re), s = 2 * Re + Ee(e, "…", o.chipFontSize) + o.chipFontSize, r = Kt(a, ht(t), (h) => _t(e, t, h), s), c = t.y + (t.height - o.chip) / 2;
|
|
3658
3658
|
let l = t.x + o.padding;
|
|
3659
3659
|
const u = [];
|
|
3660
3660
|
return r.widths.forEach((h, m) => {
|
|
@@ -3669,10 +3669,10 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3669
3669
|
}, gr = {
|
|
3670
3670
|
draw: (e, t, n) => {
|
|
3671
3671
|
const o = { fill: t.cellTheme.badgeFill, color: t.cellTheme.link }, i = xo(e, t, n.records.map((a) => ({ label: a.label, colors: o })));
|
|
3672
|
-
Nt.set(
|
|
3672
|
+
Nt.set(He("link", t, n.records.map((a) => a.id)), i);
|
|
3673
3673
|
},
|
|
3674
3674
|
describe: (e) => dt(e.records.map((t) => t.label)),
|
|
3675
|
-
hitTest: (e, t) => Ro(Nt.get(
|
|
3675
|
+
hitTest: (e, t) => Ro(Nt.get(He("link", Xt(t), e.records.map((n) => n.id))), t, (n) => ({ type: "open-record", id: e.records[n].id }))
|
|
3676
3676
|
}, Xt = (e) => ({ width: e.size.width, metrics: e.metrics }), Ro = (e, t, n) => {
|
|
3677
3677
|
if (!t.wasActive || !e) return null;
|
|
3678
3678
|
const o = e.findIndex((i) => Xe(t.point, i));
|
|
@@ -3683,7 +3683,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3683
3683
|
e.clip(), e.drawImage(l, n, o, i, i);
|
|
3684
3684
|
else {
|
|
3685
3685
|
e.fillStyle = r.avatarFill, e.fill();
|
|
3686
|
-
const u =
|
|
3686
|
+
const u = Js(a);
|
|
3687
3687
|
if (u) {
|
|
3688
3688
|
const h = Math.round(i * 0.55);
|
|
3689
3689
|
he(e, h, c.fontFamily), e.fillStyle = r.avatarText, e.textAlign = "center", e.textBaseline = "middle", e.fillText(u, n + i / 2, o + i / 2 + 0.5);
|
|
@@ -3696,11 +3696,11 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3696
3696
|
if (!n.people.length) return;
|
|
3697
3697
|
const a = o.chip;
|
|
3698
3698
|
he(e, o.fontSize, i.fontFamily);
|
|
3699
|
-
const s = n.people.map((u) => a +
|
|
3699
|
+
const s = n.people.map((u) => a + Ae + Ee(e, u.name, o.fontSize) + Re), r = Kt(s, ht(t), (u) => _t(e, t, u), a), c = t.y + (t.height - a) / 2;
|
|
3700
3700
|
let l = t.x + o.padding;
|
|
3701
3701
|
r.widths.forEach((u, h) => {
|
|
3702
3702
|
const m = n.people[h];
|
|
3703
|
-
fr(e, t, l, c, a, m.name, m.avatarUrl), u > a +
|
|
3703
|
+
fr(e, t, l, c, a, m.name, m.avatarUrl), u > a + Ae && me(e, t, m.name, { x: l + a + Ae, maxWidth: u - a - Ae - (h < r.widths.length - 1 || r.more ? Re : 0) }), l += u + _e;
|
|
3704
3704
|
}), r.more > 0 && $t(e, t, l, r.more, r.badgeWidth);
|
|
3705
3705
|
},
|
|
3706
3706
|
describe: (e) => dt(e.people.map((t) => t.name))
|
|
@@ -3713,39 +3713,39 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3713
3713
|
if (!n.files.length) return;
|
|
3714
3714
|
const s = o.chip, r = Math.max(8, Math.round(s * 0.42));
|
|
3715
3715
|
he(e, r, a.fontFamily, "600");
|
|
3716
|
-
const c = n.files.map((g) => (g.thumbnailUrl ? t.images.get(g.thumbnailUrl) : void 0) ? s : Math.max(s,
|
|
3716
|
+
const c = n.files.map((g) => (g.thumbnailUrl ? t.images.get(g.thumbnailUrl) : void 0) ? s : Math.max(s, Ee(e, jn(g.name) || "?", r) + 6)), l = Kt(c, ht(t), (g) => _t(e, t, g), s), u = t.y + (t.height - s) / 2;
|
|
3717
3717
|
let h = t.x + o.padding;
|
|
3718
3718
|
const m = [];
|
|
3719
3719
|
l.widths.forEach((g, C) => {
|
|
3720
3720
|
const S = n.files[C], p = S.thumbnailUrl ? t.images.get(S.thumbnailUrl) : void 0;
|
|
3721
3721
|
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(jn(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;
|
|
3722
|
-
}), l.more > 0 && $t(e, t, h, l.more, l.badgeWidth), Lt.set(
|
|
3722
|
+
}), l.more > 0 && $t(e, t, h, l.more, l.badgeWidth), Lt.set(He("attachment", t, n.files.map((g) => g.id)), m);
|
|
3723
3723
|
},
|
|
3724
3724
|
describe: (e) => dt(e.files.map((t) => t.name)),
|
|
3725
|
-
hitTest: (e, t) => Ro(Lt.get(
|
|
3725
|
+
hitTest: (e, t) => Ro(Lt.get(He("attachment", Xt(t), e.files.map((n) => n.id))), t, (n) => ({ type: "open-attachment", id: e.files[n].id }))
|
|
3726
3726
|
}, Qn = (e) => `${Math.round(Math.max(0, Math.min(1, e)) * 100)}%`, wr = {
|
|
3727
3727
|
draw: (e, t, n) => {
|
|
3728
3728
|
if (n.value == null) return;
|
|
3729
3729
|
const { metrics: o, cellTheme: i } = t, a = o.icon, s = Math.max(0, Math.min(1, n.value)), r = t.x + o.padding + a / 2, c = t.y + t.height / 2, l = a / 2 - 1.25;
|
|
3730
|
-
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, Qn(s), { x: t.x + o.padding + a +
|
|
3730
|
+
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, Qn(s), { x: t.x + o.padding + a + Ae + 2 });
|
|
3731
3731
|
},
|
|
3732
3732
|
describe: (e) => e.value == null ? "" : Qn(e.value)
|
|
3733
|
-
},
|
|
3733
|
+
}, Et = 10, Dt = new qt(), vr = {
|
|
3734
3734
|
draw: (e, t, n) => {
|
|
3735
3735
|
const { metrics: o, cellTheme: i, theme: a } = t;
|
|
3736
3736
|
if (!n.label) return;
|
|
3737
3737
|
he(e, o.chipFontSize, a.fontFamily);
|
|
3738
|
-
const s = Math.min(ht(t),
|
|
3739
|
-
D(e, { ...r, radius:
|
|
3738
|
+
const s = Math.min(ht(t), Ee(e, n.label, o.chipFontSize) + 2 * Et), r = { x: t.x + o.padding, y: t.y + (t.height - o.chip) / 2, width: s, height: o.chip };
|
|
3739
|
+
D(e, { ...r, radius: Zn, fill: i.buttonFill }), D(e, { x: r.x + 0.5, y: r.y + 0.5, width: r.width - 1, height: r.height - 1, radius: Zn, stroke: i.buttonBorder }), n.disabled && (e.globalAlpha = 0.5), me(e, t, n.label, { x: r.x + Et, maxWidth: s - 2 * Et, color: i.buttonText, fontSize: o.chipFontSize }), e.globalAlpha = 1, Dt.set(He("button", t, [n.label]), [{ x: r.x - t.x, y: r.y - t.y, width: s, height: o.chip }]);
|
|
3740
3740
|
},
|
|
3741
3741
|
describe: (e) => e.label,
|
|
3742
3742
|
hitTest: (e, t) => {
|
|
3743
3743
|
if (e.disabled || !e.label) return null;
|
|
3744
|
-
const n = Dt.get(
|
|
3744
|
+
const n = Dt.get(He("button", Xt(t), [e.label]))?.[0];
|
|
3745
3745
|
return n && Xe(t.point, n) ? { action: { type: "press" }, area: n } : null;
|
|
3746
3746
|
},
|
|
3747
3747
|
keyAction: (e, t) => !e.disabled && (t === "Enter" || t === " ") ? { type: "press" } : null
|
|
3748
|
-
},
|
|
3748
|
+
}, Zn = 4, Sr = {
|
|
3749
3749
|
text: ar,
|
|
3750
3750
|
longText: sr,
|
|
3751
3751
|
number: cr,
|
|
@@ -3769,9 +3769,9 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3769
3769
|
} else
|
|
3770
3770
|
e.lineWidth = 2, e.strokeStyle = o.danger, e.strokeRect(t.x + 1, t.y + 1, t.width - 2, t.height - 2);
|
|
3771
3771
|
e.restore();
|
|
3772
|
-
},
|
|
3772
|
+
}, Jn = (e, t) => !!e && !!t && e[0] === t[0] && e[1] === t[1], xr = (e) => {
|
|
3773
3773
|
const t = { ...Sr, ...e.renderers }, n = e.locale ?? "en-US";
|
|
3774
|
-
let o = e.labels, i = e.theme ??
|
|
3774
|
+
let o = e.labels, i = e.theme ?? Ue, a = null, s = null;
|
|
3775
3775
|
const r = Xs(() => e.onImageLoad?.()), c = (p) => ((!s || s.rowHeight !== p.height || s.fontSize !== p.theme.fontSizeSM || s.chipFontSize > p.theme.fontSizeXS) && (s = Dn(p.height, p.theme.fontSizeSM, p.theme.fontSizeXS)), s), l = (p) => {
|
|
3776
3776
|
if (e.theme || a === p.theme) return;
|
|
3777
3777
|
a = p.theme;
|
|
@@ -3817,13 +3817,13 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3817
3817
|
const R = p();
|
|
3818
3818
|
if (!R || y.button !== 0 || y.shiftKey || y.metaKey || y.ctrlKey) return;
|
|
3819
3819
|
const I = R.getSelection(), k = I.activeCell;
|
|
3820
|
-
if (!k || I.kind !== "cells" || !
|
|
3821
|
-
const P = y.currentTarget?.querySelector("[data-ui-grid]"),
|
|
3822
|
-
if (!P || !
|
|
3823
|
-
const N = P.getBoundingClientRect(), M = { x: y.clientX - N.left -
|
|
3824
|
-
if (M.x < 0 || M.y < 0 || M.x >=
|
|
3825
|
-
const
|
|
3826
|
-
|
|
3820
|
+
if (!k || I.kind !== "cells" || !Jn(I.ranges[0], I.ranges[1])) return;
|
|
3821
|
+
const P = y.currentTarget?.querySelector("[data-ui-grid]"), A = R.getCellRect(k);
|
|
3822
|
+
if (!P || !A) return;
|
|
3823
|
+
const N = P.getBoundingClientRect(), M = { x: y.clientX - N.left - A.x, y: y.clientY - N.top - A.y };
|
|
3824
|
+
if (M.x < 0 || M.y < 0 || M.x >= A.width || M.y >= A.height) return;
|
|
3825
|
+
const E = g(k, M, A, Jn(v, k));
|
|
3826
|
+
E && w(E.action, k);
|
|
3827
3827
|
}
|
|
3828
3828
|
};
|
|
3829
3829
|
},
|
|
@@ -3941,6 +3941,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
3941
3941
|
"At least {size}": "At least {size}",
|
|
3942
3942
|
"Free now {now}, free after {after}": "Free now {now}, free after {after}",
|
|
3943
3943
|
Sections: "Sections",
|
|
3944
|
+
"Back to the previous page": "Back",
|
|
3944
3945
|
Slider: "Slider",
|
|
3945
3946
|
"Increase value": "Increase value",
|
|
3946
3947
|
"Decrease value": "Decrease value",
|
|
@@ -4014,6 +4015,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4014
4015
|
"First page": "First page",
|
|
4015
4016
|
"Previous page": "Previous page",
|
|
4016
4017
|
"Next page": "Next page",
|
|
4018
|
+
"Previous record": "Previous record",
|
|
4019
|
+
"Next record": "Next record",
|
|
4017
4020
|
"Last page": "Last page",
|
|
4018
4021
|
Refresh: "Refresh",
|
|
4019
4022
|
Pagination: "Pagination",
|
|
@@ -4039,6 +4042,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4039
4042
|
"{count} of {total} items": "{count} of {total} items",
|
|
4040
4043
|
"No matching items": "No matching items",
|
|
4041
4044
|
"Sort by {name}": "Sort by {name}",
|
|
4045
|
+
"Page {page} of {pageCount}": "Page {page} of {pageCount}",
|
|
4046
|
+
"Go to page": "Go to page",
|
|
4047
|
+
Go: "Go",
|
|
4048
|
+
"View options": "View options",
|
|
4049
|
+
"Sort by": "Sort by",
|
|
4050
|
+
Ascending: "Ascending",
|
|
4051
|
+
Descending: "Descending",
|
|
4052
|
+
"{count} selected": "{count} selected",
|
|
4042
4053
|
"Value is required": "Value is required",
|
|
4043
4054
|
"Value does not match the expected format": "Value does not match the expected format",
|
|
4044
4055
|
"Value is not one of the allowed options": "Value is not one of the allowed options",
|
|
@@ -4191,6 +4202,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4191
4202
|
"At least {size}": "至少 {size}",
|
|
4192
4203
|
"Free now {now}, free after {after}": "目前可用 {now},清理後可用 {after}",
|
|
4193
4204
|
Sections: "區段",
|
|
4205
|
+
"Back to the previous page": "返回",
|
|
4194
4206
|
Slider: "滑桿",
|
|
4195
4207
|
"Increase value": "增加數值",
|
|
4196
4208
|
"Decrease value": "減少數值",
|
|
@@ -4264,6 +4276,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4264
4276
|
"First page": "第一頁",
|
|
4265
4277
|
"Previous page": "上一頁",
|
|
4266
4278
|
"Next page": "下一頁",
|
|
4279
|
+
"Previous record": "上一筆記錄",
|
|
4280
|
+
"Next record": "下一筆記錄",
|
|
4267
4281
|
"Last page": "最後一頁",
|
|
4268
4282
|
Refresh: "重新整理",
|
|
4269
4283
|
Pagination: "分頁",
|
|
@@ -4289,6 +4303,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4289
4303
|
"{count} of {total} items": "{count}/{total} 個項目",
|
|
4290
4304
|
"No matching items": "沒有符合的項目",
|
|
4291
4305
|
"Sort by {name}": "依 {name} 排序",
|
|
4306
|
+
"Page {page} of {pageCount}": "第 {page} 頁,共 {pageCount} 頁",
|
|
4307
|
+
"Go to page": "前往頁面",
|
|
4308
|
+
Go: "前往",
|
|
4309
|
+
"View options": "檢視選項",
|
|
4310
|
+
"Sort by": "排序依據",
|
|
4311
|
+
Ascending: "遞增",
|
|
4312
|
+
Descending: "遞減",
|
|
4313
|
+
"{count} selected": "已選取 {count} 個",
|
|
4292
4314
|
"Value is required": "必須填寫此值",
|
|
4293
4315
|
"Value does not match the expected format": "此值不符合預期格式",
|
|
4294
4316
|
"Value is not one of the allowed options": "此值不在允許的選項中",
|
|
@@ -4440,6 +4462,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4440
4462
|
"At least {size}": "至少 {size}",
|
|
4441
4463
|
"Free now {now}, free after {after}": "当前可用 {now},清理后可用 {after}",
|
|
4442
4464
|
Sections: "区段",
|
|
4465
|
+
"Back to the previous page": "返回",
|
|
4443
4466
|
Slider: "滑块",
|
|
4444
4467
|
"Increase value": "增加数值",
|
|
4445
4468
|
"Decrease value": "减少数值",
|
|
@@ -4513,6 +4536,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4513
4536
|
"First page": "第一页",
|
|
4514
4537
|
"Previous page": "上一页",
|
|
4515
4538
|
"Next page": "下一页",
|
|
4539
|
+
"Previous record": "上一条记录",
|
|
4540
|
+
"Next record": "下一条记录",
|
|
4516
4541
|
"Last page": "最后一页",
|
|
4517
4542
|
Refresh: "刷新",
|
|
4518
4543
|
Pagination: "分页",
|
|
@@ -4538,6 +4563,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4538
4563
|
"{count} of {total} items": "{count}/{total} 个项目",
|
|
4539
4564
|
"No matching items": "没有匹配的项目",
|
|
4540
4565
|
"Sort by {name}": "按 {name} 排序",
|
|
4566
|
+
"Page {page} of {pageCount}": "第 {page} 页,共 {pageCount} 页",
|
|
4567
|
+
"Go to page": "转到页面",
|
|
4568
|
+
Go: "转到",
|
|
4569
|
+
"View options": "视图选项",
|
|
4570
|
+
"Sort by": "排序依据",
|
|
4571
|
+
Ascending: "升序",
|
|
4572
|
+
Descending: "降序",
|
|
4573
|
+
"{count} selected": "已选择 {count} 个",
|
|
4541
4574
|
"Value is required": "此值为必填项",
|
|
4542
4575
|
"Value does not match the expected format": "此值不符合预期格式",
|
|
4543
4576
|
"Value is not one of the allowed options": "此值不在允许的选项中",
|
|
@@ -4689,6 +4722,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4689
4722
|
"At least {size}": "{size} 以上",
|
|
4690
4723
|
"Free now {now}, free after {after}": "現在の空き {now}、解放後の空き {after}",
|
|
4691
4724
|
Sections: "セクション",
|
|
4725
|
+
"Back to the previous page": "戻る",
|
|
4692
4726
|
Slider: "スライダー",
|
|
4693
4727
|
"Increase value": "値を増やす",
|
|
4694
4728
|
"Decrease value": "値を減らす",
|
|
@@ -4762,6 +4796,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4762
4796
|
"First page": "最初のページ",
|
|
4763
4797
|
"Previous page": "前のページ",
|
|
4764
4798
|
"Next page": "次のページ",
|
|
4799
|
+
"Previous record": "前のレコード",
|
|
4800
|
+
"Next record": "次のレコード",
|
|
4765
4801
|
"Last page": "最後のページ",
|
|
4766
4802
|
Refresh: "更新",
|
|
4767
4803
|
Pagination: "ページ操作",
|
|
@@ -4787,6 +4823,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4787
4823
|
"{count} of {total} items": "{count} / {total} 件",
|
|
4788
4824
|
"No matching items": "一致する項目はありません",
|
|
4789
4825
|
"Sort by {name}": "{name} で並べ替え",
|
|
4826
|
+
"Page {page} of {pageCount}": "{page} / {pageCount} ページ",
|
|
4827
|
+
"Go to page": "ページに移動",
|
|
4828
|
+
Go: "移動",
|
|
4829
|
+
"View options": "表示オプション",
|
|
4830
|
+
"Sort by": "並べ替え",
|
|
4831
|
+
Ascending: "昇順",
|
|
4832
|
+
Descending: "降順",
|
|
4833
|
+
"{count} selected": "{count} 件を選択",
|
|
4790
4834
|
"Value is required": "値は必須です",
|
|
4791
4835
|
"Value does not match the expected format": "値の形式が正しくありません",
|
|
4792
4836
|
"Value is not one of the allowed options": "値は許可された選択肢ではありません",
|
|
@@ -4938,6 +4982,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
4938
4982
|
"At least {size}": "최소 {size}",
|
|
4939
4983
|
"Free now {now}, free after {after}": "현재 여유 공간 {now}, 정리 후 여유 공간 {after}",
|
|
4940
4984
|
Sections: "섹션",
|
|
4985
|
+
"Back to the previous page": "뒤로",
|
|
4941
4986
|
Slider: "슬라이더",
|
|
4942
4987
|
"Increase value": "값 증가",
|
|
4943
4988
|
"Decrease value": "값 감소",
|
|
@@ -5011,6 +5056,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5011
5056
|
"First page": "첫 페이지",
|
|
5012
5057
|
"Previous page": "이전 페이지",
|
|
5013
5058
|
"Next page": "다음 페이지",
|
|
5059
|
+
"Previous record": "이전 레코드",
|
|
5060
|
+
"Next record": "다음 레코드",
|
|
5014
5061
|
"Last page": "마지막 페이지",
|
|
5015
5062
|
Refresh: "새로 고침",
|
|
5016
5063
|
Pagination: "페이지 탐색",
|
|
@@ -5036,6 +5083,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5036
5083
|
"{count} of {total} items": "{count}/{total}개 항목",
|
|
5037
5084
|
"No matching items": "일치하는 항목 없음",
|
|
5038
5085
|
"Sort by {name}": "{name} 기준 정렬",
|
|
5086
|
+
"Page {page} of {pageCount}": "{page} / {pageCount} 페이지",
|
|
5087
|
+
"Go to page": "페이지로 이동",
|
|
5088
|
+
Go: "이동",
|
|
5089
|
+
"View options": "보기 옵션",
|
|
5090
|
+
"Sort by": "정렬 기준",
|
|
5091
|
+
Ascending: "오름차순",
|
|
5092
|
+
Descending: "내림차순",
|
|
5093
|
+
"{count} selected": "{count}개 선택됨",
|
|
5039
5094
|
"Value is required": "필수 값입니다",
|
|
5040
5095
|
"Value does not match the expected format": "값의 형식이 올바르지 않습니다",
|
|
5041
5096
|
"Value is not one of the allowed options": "허용된 옵션이 아닙니다",
|
|
@@ -5187,6 +5242,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5187
5242
|
"At least {size}": "Mindestens {size}",
|
|
5188
5243
|
"Free now {now}, free after {after}": "Jetzt frei {now}, danach frei {after}",
|
|
5189
5244
|
Sections: "Abschnitte",
|
|
5245
|
+
"Back to the previous page": "Zurück",
|
|
5190
5246
|
Slider: "Schieberegler",
|
|
5191
5247
|
"Increase value": "Wert erhöhen",
|
|
5192
5248
|
"Decrease value": "Wert verringern",
|
|
@@ -5260,6 +5316,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5260
5316
|
"First page": "Erste Seite",
|
|
5261
5317
|
"Previous page": "Vorherige Seite",
|
|
5262
5318
|
"Next page": "Nächste Seite",
|
|
5319
|
+
"Previous record": "Vorheriger Datensatz",
|
|
5320
|
+
"Next record": "Nächster Datensatz",
|
|
5263
5321
|
"Last page": "Letzte Seite",
|
|
5264
5322
|
Refresh: "Aktualisieren",
|
|
5265
5323
|
Pagination: "Seitennavigation",
|
|
@@ -5285,6 +5343,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5285
5343
|
"{count} of {total} items": "{count} von {total} Elementen",
|
|
5286
5344
|
"No matching items": "Keine passenden Elemente",
|
|
5287
5345
|
"Sort by {name}": "Nach {name} sortieren",
|
|
5346
|
+
"Page {page} of {pageCount}": "Seite {page} von {pageCount}",
|
|
5347
|
+
"Go to page": "Zu Seite gehen",
|
|
5348
|
+
Go: "Los",
|
|
5349
|
+
"View options": "Ansichtsoptionen",
|
|
5350
|
+
"Sort by": "Sortieren nach",
|
|
5351
|
+
Ascending: "Aufsteigend",
|
|
5352
|
+
Descending: "Absteigend",
|
|
5353
|
+
"{count} selected": "{count} ausgewählt",
|
|
5288
5354
|
"Value is required": "Ein Wert ist erforderlich",
|
|
5289
5355
|
"Value does not match the expected format": "Der Wert entspricht nicht dem erwarteten Format",
|
|
5290
5356
|
"Value is not one of the allowed options": "Der Wert gehört nicht zu den zulässigen Optionen",
|
|
@@ -5436,6 +5502,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5436
5502
|
"At least {size}": "Au moins {size}",
|
|
5437
5503
|
"Free now {now}, free after {after}": "Libre maintenant {now}, libre ensuite {after}",
|
|
5438
5504
|
Sections: "Sections",
|
|
5505
|
+
"Back to the previous page": "Retour",
|
|
5439
5506
|
Slider: "Curseur",
|
|
5440
5507
|
"Increase value": "Augmenter la valeur",
|
|
5441
5508
|
"Decrease value": "Diminuer la valeur",
|
|
@@ -5509,6 +5576,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5509
5576
|
"First page": "Première page",
|
|
5510
5577
|
"Previous page": "Page précédente",
|
|
5511
5578
|
"Next page": "Page suivante",
|
|
5579
|
+
"Previous record": "Enregistrement précédent",
|
|
5580
|
+
"Next record": "Enregistrement suivant",
|
|
5512
5581
|
"Last page": "Dernière page",
|
|
5513
5582
|
Refresh: "Actualiser",
|
|
5514
5583
|
Pagination: "Pagination",
|
|
@@ -5534,6 +5603,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5534
5603
|
"{count} of {total} items": "{count} sur {total} éléments",
|
|
5535
5604
|
"No matching items": "Aucun élément correspondant",
|
|
5536
5605
|
"Sort by {name}": "Trier par {name}",
|
|
5606
|
+
"Page {page} of {pageCount}": "Page {page} sur {pageCount}",
|
|
5607
|
+
"Go to page": "Aller à la page",
|
|
5608
|
+
Go: "OK",
|
|
5609
|
+
"View options": "Options d'affichage",
|
|
5610
|
+
"Sort by": "Trier par",
|
|
5611
|
+
Ascending: "Croissant",
|
|
5612
|
+
Descending: "Décroissant",
|
|
5613
|
+
"{count} selected": "{count} sélectionnés",
|
|
5537
5614
|
"Value is required": "Une valeur est requise",
|
|
5538
5615
|
"Value does not match the expected format": "La valeur ne correspond pas au format attendu",
|
|
5539
5616
|
"Value is not one of the allowed options": "La valeur ne fait pas partie des options autorisées",
|
|
@@ -5685,6 +5762,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5685
5762
|
"At least {size}": "Al menos {size}",
|
|
5686
5763
|
"Free now {now}, free after {after}": "Libre ahora {now}, libre después {after}",
|
|
5687
5764
|
Sections: "Secciones",
|
|
5765
|
+
"Back to the previous page": "Atrás",
|
|
5688
5766
|
Slider: "Control deslizante",
|
|
5689
5767
|
"Increase value": "Aumentar valor",
|
|
5690
5768
|
"Decrease value": "Disminuir valor",
|
|
@@ -5758,6 +5836,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5758
5836
|
"First page": "Primera página",
|
|
5759
5837
|
"Previous page": "Página anterior",
|
|
5760
5838
|
"Next page": "Página siguiente",
|
|
5839
|
+
"Previous record": "Registro anterior",
|
|
5840
|
+
"Next record": "Registro siguiente",
|
|
5761
5841
|
"Last page": "Última página",
|
|
5762
5842
|
Refresh: "Actualizar",
|
|
5763
5843
|
Pagination: "Paginación",
|
|
@@ -5783,6 +5863,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5783
5863
|
"{count} of {total} items": "{count} de {total} elementos",
|
|
5784
5864
|
"No matching items": "No hay elementos coincidentes",
|
|
5785
5865
|
"Sort by {name}": "Ordenar por {name}",
|
|
5866
|
+
"Page {page} of {pageCount}": "Página {page} de {pageCount}",
|
|
5867
|
+
"Go to page": "Ir a la página",
|
|
5868
|
+
Go: "Ir",
|
|
5869
|
+
"View options": "Opciones de vista",
|
|
5870
|
+
"Sort by": "Ordenar por",
|
|
5871
|
+
Ascending: "Ascendente",
|
|
5872
|
+
Descending: "Descendente",
|
|
5873
|
+
"{count} selected": "{count} seleccionados",
|
|
5786
5874
|
"Value is required": "El valor es obligatorio",
|
|
5787
5875
|
"Value does not match the expected format": "El valor no coincide con el formato esperado",
|
|
5788
5876
|
"Value is not one of the allowed options": "El valor no es una de las opciones permitidas",
|
|
@@ -5934,6 +6022,7 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
5934
6022
|
"At least {size}": "Almeno {size}",
|
|
5935
6023
|
"Free now {now}, free after {after}": "Libero ora {now}, libero dopo {after}",
|
|
5936
6024
|
Sections: "Sezioni",
|
|
6025
|
+
"Back to the previous page": "Indietro",
|
|
5937
6026
|
Slider: "Cursore",
|
|
5938
6027
|
"Increase value": "Aumenta valore",
|
|
5939
6028
|
"Decrease value": "Diminuisci valore",
|
|
@@ -6007,6 +6096,8 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
6007
6096
|
"First page": "Prima pagina",
|
|
6008
6097
|
"Previous page": "Pagina precedente",
|
|
6009
6098
|
"Next page": "Pagina successiva",
|
|
6099
|
+
"Previous record": "Record precedente",
|
|
6100
|
+
"Next record": "Record successivo",
|
|
6010
6101
|
"Last page": "Ultima pagina",
|
|
6011
6102
|
Refresh: "Aggiorna",
|
|
6012
6103
|
Pagination: "Paginazione",
|
|
@@ -6032,6 +6123,14 @@ const Xe = (e, t) => e.x >= t.x && e.x < t.x + t.width && e.y >= t.y && e.y < t.
|
|
|
6032
6123
|
"{count} of {total} items": "{count} di {total} elementi",
|
|
6033
6124
|
"No matching items": "Nessun elemento corrispondente",
|
|
6034
6125
|
"Sort by {name}": "Ordina per {name}",
|
|
6126
|
+
"Page {page} of {pageCount}": "Pagina {page} di {pageCount}",
|
|
6127
|
+
"Go to page": "Vai alla pagina",
|
|
6128
|
+
Go: "Vai",
|
|
6129
|
+
"View options": "Opzioni di visualizzazione",
|
|
6130
|
+
"Sort by": "Ordina per",
|
|
6131
|
+
Ascending: "Crescente",
|
|
6132
|
+
Descending: "Decrescente",
|
|
6133
|
+
"{count} selected": "{count} selezionati",
|
|
6035
6134
|
"Value is required": "Il valore è obbligatorio",
|
|
6036
6135
|
"Value does not match the expected format": "Il valore non corrisponde al formato previsto",
|
|
6037
6136
|
"Value is not one of the allowed options": "Il valore non è tra le opzioni consentite",
|
|
@@ -6141,7 +6240,7 @@ function Dr(e) {
|
|
|
6141
6240
|
export {
|
|
6142
6241
|
Xa as GRID_CELL_TOKENS,
|
|
6143
6242
|
Ya as GRID_CHIP_TOKENS,
|
|
6144
|
-
|
|
6243
|
+
Hr as GridHost,
|
|
6145
6244
|
zr as SAVING_MARK_DELAY_MS,
|
|
6146
6245
|
Ia as blockCellCount,
|
|
6147
6246
|
Pa as buildPasteProposal,
|
|
@@ -6153,9 +6252,9 @@ export {
|
|
|
6153
6252
|
xr as createGridCells,
|
|
6154
6253
|
Xs as createGridImageCache,
|
|
6155
6254
|
Sr as defaultGridCellRenderers,
|
|
6156
|
-
|
|
6255
|
+
Ue as defaultGridCellTheme,
|
|
6157
6256
|
br as drawGridCellStatus,
|
|
6158
|
-
|
|
6257
|
+
Er as fillSeries,
|
|
6159
6258
|
hs as filledRange,
|
|
6160
6259
|
or as formatGridNumber,
|
|
6161
6260
|
Dn as gridCellMetrics,
|