@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.
Files changed (71) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSES/THIRD_PARTY.md +2 -32
  3. package/dist/cli.js +0 -0
  4. package/dist/components/app/app-layout/AppLayout.vue.d.ts +21 -1
  5. package/dist/components/app/app-layout/pageTitle.d.ts +24 -0
  6. package/dist/components/app/app-tab-bar/AppTabBar.vue.d.ts +1 -1
  7. package/dist/components/app/aside-panel/AsidePanel.vue.d.ts +1 -1
  8. package/dist/components/app/section-tabs/SectionTabs.vue.d.ts +22 -4
  9. package/dist/components/composite/about-dialog/AboutDialog.vue.d.ts +1 -1
  10. package/dist/components/composite/adaptive-panel/AdaptivePanel.vue.d.ts +1 -1
  11. package/dist/components/composite/data-grid/DataGrid.vue.d.ts +19 -1
  12. package/dist/components/composite/data-grid/labels.d.ts +15 -0
  13. package/dist/components/composite/data-grid/listLayout.d.ts +26 -0
  14. package/dist/components/composite/data-table/DataTable.vue.d.ts +33 -7
  15. package/dist/components/composite/file-picker/FilePicker.vue.d.ts +2 -2
  16. package/dist/components/composite/form/FormGroup.vue.d.ts +1 -1
  17. package/dist/components/composite/form/context.d.ts +13 -0
  18. package/dist/components/composite/form-actions/FormActions.vue.d.ts +6 -2
  19. package/dist/components/composite/record-panel/RecordPanel.vue.d.ts +20 -6
  20. package/dist/components/composite/settings-section/SettingsSection.vue.d.ts +1 -1
  21. package/dist/components/composite/tag-editor/TagEditor.vue.d.ts +2 -2
  22. package/dist/components/composite/tree-view/TreeView.vue.d.ts +4 -4
  23. package/dist/components/composite/wizard/WizardDialog.vue.d.ts +2 -2
  24. package/dist/components/containers/list-detail/ListDetail.vue.d.ts +5 -3
  25. package/dist/components/feedback/validation-popup/ValidationPopup.vue.d.ts +1 -1
  26. package/dist/components/primitives/color-picker/ColorPicker.vue.d.ts +4 -4
  27. package/dist/components/primitives/combobox/Combobox.vue.d.ts +4 -4
  28. package/dist/components/primitives/context-menu/ContextMenu.vue.d.ts +2 -2
  29. package/dist/components/primitives/dialog/Dialog.vue.d.ts +17 -9
  30. package/dist/components/primitives/dropdown-menu/DropdownMenu.vue.d.ts +3 -3
  31. package/dist/components/primitives/dropdown-menu/DropdownMenuSheet.vue.d.ts +28 -0
  32. package/dist/components/primitives/input/Input.vue.d.ts +8 -1
  33. package/dist/components/primitives/input/Textarea.vue.d.ts +1 -1
  34. package/dist/components/primitives/input-steppers/InputSteppers.vue.d.ts +1 -1
  35. package/dist/components/primitives/motion/PushTransition.vue.d.ts +38 -0
  36. package/dist/components/primitives/multiple-select/MultipleSelect.vue.d.ts +4 -4
  37. package/dist/components/primitives/pagination/Pagination.vue.d.ts +22 -9
  38. package/dist/components/primitives/pagination/PaginationSheet.vue.d.ts +27 -0
  39. package/dist/components/primitives/pagination/labels.d.ts +6 -0
  40. package/dist/components/primitives/popover/Popover.vue.d.ts +1 -1
  41. package/dist/components/primitives/select/internal/ComboboxField.vue.d.ts +5 -5
  42. package/dist/components/primitives/select/internal/SelectSheet.vue.d.ts +42 -0
  43. package/dist/components/primitives/sheet/BottomSheet.vue.d.ts +69 -0
  44. package/dist/components/primitives/sheet/Sheet.vue.d.ts +13 -5
  45. package/dist/components/primitives/sheet/phone.d.ts +7 -0
  46. package/dist/components/primitives/superbox-select/SuperboxSelect.vue.d.ts +4 -4
  47. package/dist/components/rich-text-editor/RichTextEditor.vue.d.ts +1 -1
  48. package/dist/composables/formControl.d.ts +18 -0
  49. package/dist/composables/phoneSurface.d.ts +35 -0
  50. package/dist/feedback/StatusSlot.vue.d.ts +1 -1
  51. package/dist/grid/host/GridHost.vue.d.ts +1 -1
  52. package/dist/grid.js +358 -259
  53. package/dist/i18n/text.d.ts +11 -0
  54. package/dist/index.d.ts +7 -2
  55. package/dist/index.js +23021 -18391
  56. package/dist/json-preview/preview.js +16926 -12450
  57. package/dist/reka-runtime.json +15 -12
  58. package/dist/rich-text.js +1 -1
  59. package/dist/theme.css +1 -1
  60. package/dist/themes/dsm7-embedded-reset.css +1 -1
  61. package/dist/themes/dsm7-embedded-theme.css +1 -1
  62. package/dist/themes/dsm7-embedded.css +1 -1
  63. package/dist/themes/dsm7.css +1 -1
  64. package/docs/adaptive-layout.md +11 -9
  65. package/docs/app-local-modal.md +1 -1
  66. package/docs/layout-rules.md +14 -0
  67. package/docs/list-detail.md +9 -3
  68. package/docs/mobile-native.md +299 -11
  69. package/docs/release-checks.md +5 -0
  70. package/docs/theme-hooks.md +2 -2
  71. 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 Z, createElementVNode as ee, toDisplayString as we, normalizeStyle as Be, Fragment as Jo, renderList as Zo, createCommentVNode as Oe, renderSlot as hn, createTextVNode as ei, inject as ti } from "vue";
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 A = /* @__PURE__ */ ((e) => (e.Rows = "Rows", e.Columns = "Columns", e.Cells = "Cells", e.None = "None", e))(A || {}), 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 || {});
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(), At = io ? new Intl.Segmenter(void 0, { granularity: "grapheme" }) : oo(), so = (e, t, n) => {
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 At.segment(a)) {
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, H) => {
104
- C.push({ text: M, width: H, start: v });
105
- }, P = (M, H, F) => {
106
- p === "" && (v = F), p += M, w += H;
107
- }, E = (M, H = 0) => {
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 = H;
114
- for (const { segment: K } of At.segment(M)) {
115
- const U = e.measureText(K).width;
116
- if (w + U > F) break;
117
- P(K, U, W), W += K.length;
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, H, F) => {
122
- if (w + H <= a) {
123
- P(M, H, F);
121
+ }, N = (M, E, F) => {
122
+ if (w + E <= a) {
123
+ P(M, E, F);
124
124
  return;
125
125
  }
126
- if (H <= a) {
127
- C.length < s - 1 ? (k(p, w), p = "", w = 0, P(M, H, F)) : E(M, F);
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 At.segment(M)) {
131
+ for (const { segment: K } of Ht.segment(M)) {
132
132
  if (C.length >= s) break;
133
- const U = e.measureText(K).width;
134
- w + U > a ? C.length < s - 1 ? (k(p, w), p = "", w = 0, P(K, U, W)) : E() : P(K, U, W), W += K.length;
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 H = M.split(`
141
+ const E = M.split(`
142
142
  `);
143
- for (let F = 0; F < H.length && !(C.length >= s); 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
- E();
146
+ A();
147
147
  break;
148
148
  }
149
149
  k(p, w), p = "", w = 0, v = I;
150
150
  }
151
- const W = H[F];
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 E = e.measureText(P.text).width;
167
- e.beginPath(), e.moveTo(n, o + k * l + c - 1), e.lineTo(n + E, o + k * l + c - 1), e.stroke();
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, E = u.y + g.ny * I;
227
- P += -g.ny * k * w, E += g.nx * k * w, e.arc(P, E, k, m.ang + Math.PI / 2 * w, g.ang - Math.PI / 2 * w, v), c = u;
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), Ut = (e, t, n, o, i) => {
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 : Ut(e, t, o, n.length, i);
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) ?? Ei(e) ?? Hi(e) ?? Ai(e) ?? Ti(e) ?? Fi(e) ?? Ni(e) ?? Li(e) ?? Wi(e) ?? Bi(e) ?? ne, Ri = (e, t, n) => {
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 }, Ei = (e) => e.dragState.isDragging ? { ...ne, type: x.ColumnHeader } : null, Hi = (e) => {
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
- }, Ai = (e) => {
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 = Ut(s.columnInitSize, n, i, o.length, S) - g, y = C + vi;
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, H = yi / 2 + bi, F = k - H, W = M - H;
431
- return V(h, F, F + H * 2) && V(m, W, W + H * 2) ? { type: x.FillHandler, x: F, y: W, width: H * 2, height: H * 2 } : 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, 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, E = (C - m) / 2;
450
- if (p && V(c, P, P + m) && V(l, E, E + m))
451
- return { type: x.ColumnDescription, x: P, y: E, width: m, height: m };
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 = [], E = [], N = [];
481
- if (!S) return { cellPropList: P, rowHeaderPropList: E, appendRowList: N };
482
- const M = t === "freeze", H = M ? 0 : Math.max(m, o.startColumnIndex), F = M ? Math.max(m - 1, 0) : o.stopColumnIndex, W = M && m === 0, { cellBg: K, cellBgHovered: U, cellBgSelected: ke } = u;
483
- for (let z = H; z <= F; 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 = U), ie && E.push({
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: E, appendRowList: N };
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 E = R / 2;
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 H = Ut(a, u, m, h.length, N);
524
+ const E = Gt(a, u, m, h.length, N);
525
525
  if (M === X.Checkbox) {
526
526
  Bt(e, {
527
- x: o + H - E,
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 + H - E, y: i + wn, size: R, theme: u });
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
- }, Ui = (e, t, n) => {
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
- }, Gi = (e, t, n) => {
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) => Ui(e, v, n)), nt(e, p, (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, E = null;
567
- Number.isFinite(w) && w > p ? (P = i.getRowOffset(l(p + 1)) - y, E = k(w)) : Number.isFinite(w) && w < S && (P = i.getRowOffset(l(w)) - y, E = k(S - 1)), !(P == null || E == null) && (e.save(), e.globalAlpha = 0.12, D(e, { x: R + 0.5, y: P + 0.5, width: I - R, height: E - P, fill: s.interactionLineColorHighlight }), e.restore(), D(e, { x: R + 0.5, y: P + 0.5, width: I - R, height: E - P, stroke: s.interactionLineColorHighlight }));
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, E = te;
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 + E, y: M, size: k, theme: u, column: c }), E += k + te / 2), p && (P = P - k, h?.(e, { kind: "column", x: o + E, y: M, size: k, theme: u, column: c }), E += k + te / 2), N) {
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 H = i + vn / 2;
581
+ const E = i + vn / 2;
582
582
  ai(e, {
583
583
  points: [
584
- { x: o + a - te - Me, y: H - Me / 4 },
585
- { x: o + a - te, y: H - Me / 4 },
586
- { x: o + a - te - Me / 2, y: H + Me / 4 }
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 + E,
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", E = P ? 0 : Math.max(p, o.startColumnIndex), N = P ? Math.max(p - 1, 0) : o.stopColumnIndex;
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 H = E; H <= N; H++) {
619
- const F = a[H];
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([H, H]), K = !u && (I === x.ColumnHeader || I === x.ColumnHeaderMenu) && k === H, U = W ? s.columnHeaderBgSelected : K ? s.columnHeaderBgHovered : void 0;
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(H, c.scrollLeft) + 0.5,
623
+ x: i.getColumnRelativeOffset(E, c.scrollLeft) + 0.5,
624
624
  y: 0.5,
625
- width: i.getColumnWidth(H),
625
+ width: i.getColumnWidth(E),
626
626
  height: C,
627
627
  column: F,
628
- fill: U,
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
- }, Ji = (e, t) => {
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
- }, Zi = (e, t) => {
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) => Gi(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), Ji(g, a), Qi(g, a), Zi(g, a), g.restore());
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 En(t);
897
+ ` ? 2 : 1, i >= s) return An(t);
898
898
  } else
899
899
  o += l, i++;
900
900
  }
901
- return c(), En(t);
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
- }, En = (e) => {
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
- }, Hn = (e, t) => {
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 = Hn(e.ranges, n);
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 = Hn(e.ranges, o);
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
- }, An = (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));
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 Ea(e) {
1099
+ function Aa(e) {
1100
1100
  return e.some((t) => t instanceof Element && t.hasAttribute(po));
1101
1101
  }
1102
- function Ha(e, t) {
1102
+ function Ea(e, t) {
1103
1103
  return e.length > 0 && !e.includes(t);
1104
1104
  }
1105
- function Aa(e, t = 400) {
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 (!(Ea(s) || Ha(s, t)))
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(), Aa(e);
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 Gt = (e) => e.view || e.kind === "long-text";
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 (!Gt(e)) {
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 (!Gt(e)) return e.rowHeight;
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 Ua(e) {
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 = Gt(e), s = e.invalid ? e.dangerColor : e.theme.cellLineColorActived;
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 Ga(e) {
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
- }, Ge = {
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 = { ...Ge, chips: { ...Ge.chips } };
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 = Ge.chips[i];
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, Ja = 2, Za = 1200, es = (e, t, n, o = Qa) => {
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 / Za), i = o * t * Ja + (n ?? 0), a = Math.floor(i);
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(A.Cells, [r, r]), activeCell: r, scrollTo: r };
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 = A.None, n = []) {
1905
+ constructor(t = H.None, n = []) {
1906
1906
  this.type = t, this.ranges = n;
1907
1907
  }
1908
1908
  get isColumnSelection() {
1909
- return this.type === A.Columns;
1909
+ return this.type === H.Columns;
1910
1910
  }
1911
1911
  get isRowSelection() {
1912
- return this.type === A.Rows;
1912
+ return this.type === H.Rows;
1913
1913
  }
1914
1914
  get isCellSelection() {
1915
- return this.type === A.Cells;
1915
+ return this.type === H.Cells;
1916
1916
  }
1917
1917
  get isNoneSelection() {
1918
- return this.type === A.None;
1918
+ return this.type === H.None;
1919
1919
  }
1920
1920
  reset() {
1921
- return Ue;
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 === A.Cells && n.length < 2) throw new Error("Ranges of type cells should have a length greater than 2!");
1926
- if ((t === A.Columns || t === A.Rows) && !n.length) throw new Error("Ranges of type columns or rows should have a length greater than 1!");
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 A.Rows:
1939
- case A.Columns: {
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 A.Cells:
1944
+ case H.Cells:
1945
1945
  return new oe(this.type, [this.ranges[0], t]);
1946
1946
  default:
1947
- return Ue;
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 A.Rows:
1954
- case A.Columns: {
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) : Ue;
1956
+ return n.length ? new oe(this.type, n) : Ge;
1957
1957
  }
1958
- case A.Cells:
1958
+ case H.Cells:
1959
1959
  return new oe(this.type, [this.ranges[0], t]);
1960
1960
  default:
1961
- return Ue;
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 A.Rows:
1972
- case A.Columns:
1971
+ case H.Rows:
1972
+ case H.Columns:
1973
1973
  return Tt(this.ranges);
1974
- case A.Cells: {
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 A.Rows:
1990
- case A.Columns:
1989
+ case H.Rows:
1990
+ case H.Columns:
1991
1991
  return si(t, this.ranges);
1992
- case A.Cells:
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 Ue = new oe(A.None, []);
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(A.Cells, g),
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, A.Rows), this.options.onRowControlClick?.(v, X.Checkbox, !R);
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(A.Columns, y);
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, A.Columns);
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(A.Rows, v) }), this.options.onRowRangeSelected?.(v);
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(A.Cells, [p, p]);
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(A.Columns, [[a, a]]);
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), Hr = (e, t, n = "down") => {
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
- [A.None]: "none",
2183
- [A.Cells]: "cells",
2184
- [A.Rows]: "rows",
2185
- [A.Columns]: "columns"
2182
+ [H.None]: "none",
2183
+ [H.Cells]: "cells",
2184
+ [H.Rows]: "rows",
2185
+ [H.Columns]: "columns"
2186
2186
  }, ws = {
2187
- none: A.None,
2188
- cells: A.Cells,
2189
- rows: A.Rows,
2190
- columns: A.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" ? Ue : 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;
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(A.Cells, [i, t]), ...n ? {} : { activeCell: t } }), this.scrollToCell(t);
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(A.Cells, [[i.startColumn, i.startRow], [i.endColumn, i.endRow]]),
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(A.Cells, [[t[0], t[1]], [t[0], t[1]]]), r = n === "down" ? cs(s, a) : Bn(s, n === "left", a);
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"], Es = { role: "rowgroup" }, Hs = {
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
- }, As = ["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 = {
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
- }, Us = 6, Gs = 250, Ks = 100, _s = 800, $s = 300, qs = 300, Ar = /* @__PURE__ */ Xo({
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 = Ge.danger;
2830
- const I = ce(null), k = _(() => o.rowHeight ?? m.value.rowHeight), P = _(() => o.headerHeight ?? m.value.headerHeight), E = _(() => Ps(C.value.height, P.value, k.value)), N = _(() => !o.loading && o.rowCount === 0), M = () => {
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 ? E.value : 0 : o.rowCount,
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
- }, H = () => o.loading && o.rowCount === 0;
2847
- let F = 0, W, K = null, U = 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
- H() || i("visible-range-change", d);
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: G }) => {
2899
- De(), i("cell-commit", { cell: d, column: f, value: b, previous: T, reason: G }), z.invalidate();
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 = Ze;
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]), G = z.getCellRect([f.endColumn, f.endRow]);
2944
- if (!T || !G) return;
2945
- const { columnInitSize: J, 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(J, be, bt - J, 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, G.x + G.width - T.x - 1, G.y + G.height - T.y - 1), b.restore();
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: G } = f.theme;
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: G,
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 = H() || (o.isRowLoaded ? !o.isRowLoaded(f.rowIndex) : !1), G = {
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, G);
2986
+ Fe(d, U);
2987
2987
  return;
2988
2988
  }
2989
- const J = o.cellRenderer?.(b, f.columnIndex);
2990
- J ? J.draw(d, G) : Ne(d, G, o.getCellText(G.cell));
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: G, freezeColumnCount: J } = z.coord, be = f[0] < J ? z.coord.columnInitSize : G, bt = Math.max(b.x, be), xt = Math.max(b.y, T);
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 = U ?? (U = r.value.getBoundingClientRect());
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 = U;
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 Je() {
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
- Je();
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
- }, Gs)
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) > Us && Je();
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 || (Je(), !(f.longPressed || f.flingStop) && (L.active && !L.commit("pointer") || o.editing || (z.tap(ae(d)), ie(), le && clearTimeout(le), le = setTimeout(() => {
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 (U = r.value.getBoundingClientRect(), d.pointerType === "touch") {
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
- U || (U = r.value.getBoundingClientRect()), z.pointerMove(ae(d)), ie(), l.value && (l.value.style.cursor = z.cursor);
3076
+ G || (G = r.value.getBoundingClientRect()), z.pointerMove(ae(d)), ie(), l.value && (l.value.style.cursor = z.cursor);
3077
3077
  }
3078
- function Eo(d) {
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 Jt(d) {
3091
+ function Zt(d) {
3092
3092
  if (d.pointerType === "touch") {
3093
- q?.id === d.pointerId && Je();
3093
+ q?.id === d.pointerId && Ze();
3094
3094
  return;
3095
3095
  }
3096
3096
  z.cancelGesture(), ie();
3097
3097
  }
3098
- function Ho() {
3098
+ function Eo() {
3099
3099
  z.pointerLeave();
3100
3100
  }
3101
- function Ao(d) {
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
- U = r.value.getBoundingClientRect(), z.contextMenu(ae(d)) && (d.preventDefault(), Pe());
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 && (U = null, jt = Qe(), z.setScroll(d.scrollLeft, d.scrollTop));
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 Ze = null, fe = null;
3136
+ let Je = null, fe = null;
3137
3137
  function De() {
3138
- Ze && (Ze = null, ge());
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(Zt, 0));
3148
+ !d || d.value || (d.value = " ", d.select(), fe && clearTimeout(fe), fe = setTimeout(Jt, 0));
3149
3149
  }
3150
- function Zt() {
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 && (Ze = qe(d, ft()), ge()), i("clipboard-copy", { block: f, cellCount: Ia(f), cut: b, ok: T }), T && b && !o.readonly && i("clear-request", d);
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 G = za(T, o.isRowLoaded);
3160
- if (f && G) {
3161
- const be = ya(f, It(An(T, o.getCopyText ?? o.getCellText)));
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 J;
3166
- return G ? J = Promise.resolve(It(An(T, o.getCopyText ?? o.getCellText))) : o.resolveCopy ? J = o.resolveCopy(T).then(It) : J = Promise.reject(new Error("Rows are not loaded")), J.catch(() => {
3167
- }), xa(J).then(
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 || (Zt(), d.preventDefault(), en(f, d));
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
- U = null;
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, E.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), Uo = _(() => Y.value ? o.columns[Y.value[0]] : void 0), Go = _(() => {
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 = _(() => Ua(et.value)), un = _(() => j.value.active ? wo(et.value) : k.value), tt = _(() => {
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": `${Z(s)}-label`,
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: `${Z(s)}-label`,
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: Eo,
3314
- onPointercancel: Jt,
3315
- onLostpointercapture: Jt,
3316
- onPointerleave: Ho,
3317
- onDblclick: Ao,
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", Es, [
3325
- ee("div", Hs, [
3326
- (pe(!0), Ce(Jo, null, Zo(e.columns, (b, T) => (pe(), Ce("span", {
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, As))), 128))
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: `${Z(s)}-rowheader`,
3342
+ id: `${J(s)}-rowheader`,
3343
3343
  role: "rowheader",
3344
3344
  class: "sr-only"
3345
- }, we(Go.value), 9, Ns),
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 || Uo.value?.readonly ? "true" : void 0,
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: `${Z(s)}-cell`,
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 ? `${Z(s)}-message` : void 0,
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) => Z(L).input()),
3378
- onBlur: f[1] || (f[1] = (b) => Z(L).blur()),
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({ ...Z(Ga)(et.value), top: `${un.value - Z(lt)}px` })
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: `${Z(s)}-message`,
3390
+ id: `${J(s)}-message`,
3391
3391
  "data-ui-grid-edit-message": "",
3392
- style: Be({ ...Z(Ka)(et.value), top: `${un.value + 4}px` })
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(Z(a)("No data")), 1)
3403
+ ei(we(J(a)("No data")), 1)
3404
3404
  ])
3405
3405
  ], 4)) : Oe("", !0),
3406
- e.loading ? (pe(), Ce("span", Os, we(Z(a)("Loading")), 1)) : Oe("", !0),
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
- }, Un = ["en", "zh-TW", "zh-CN", "ja", "ko", "de", "fr", "es", "it"], Ys = /* @__PURE__ */ Symbol("syno-pkg-land-ui:locale"), Gn = { enu: "en", cht: "zh-TW", chs: "zh-CN", jpn: "ja", krn: "ko", ger: "de", fre: "fr", spn: "es", ita: "it" };
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 Gn[n] ? Gn[n] : n.startsWith("zh") ? /-(hant|tw|hk|mo)\b/.test(n) ? "zh-TW" : "zh-CN" : Un.find((i) => i.toLowerCase() === n) ?? Un.find((i) => i === n.split("-")[0]);
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, Js = 4, Ee = 4, he = (e, t, n, o = "") => {
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
- }, He = (e, t, n) => $e(e, { text: t, fontSize: n, needRender: !1 }).width, Zs = (e) => {
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: Js, fill: i.fill }), he(e, a.chipFontSize, s.fontFamily), $e(e, {
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), He(e, `+${n}`, t.metrics.chipFontSize) + 2 * Re), $t = (e, t, n, o, i) => {
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 - Ee - o.padding) }), tr(e, t.x + a.x, t.y + a.y, a.width, i.link));
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
- }, Et = 2, st = (e) => Math.max(1, Math.min(10, Math.round(e.max ?? 5))), hr = {
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 + Et; l++)
3634
- er(e, c, s, a, n.value > l ? i.ratingOn : i.ratingOff), c += a + Et;
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 + Et, 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) };
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
- }, Ae = (e, t, n) => `${e}|${t.width}|${t.metrics.rowHeight}|${n.join("\0")}`, Nt = new qt(), xo = (e, t, n) => {
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) => He(e, h.label, o.chipFontSize) + 2 * Re), s = 2 * Re + He(e, "…", o.chipFontSize) + o.chipFontSize, r = Kt(a, ht(t), (h) => _t(e, t, h), s), c = t.y + (t.height - o.chip) / 2;
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(Ae("link", t, n.records.map((a) => a.id)), i);
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(Ae("link", Xt(t), e.records.map((n) => n.id))), t, (n) => ({ type: "open-record", id: e.records[n].id }))
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 = Zs(a);
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 + Ee + He(e, u.name, o.fontSize) + Re), r = Kt(s, ht(t), (u) => _t(e, t, u), a), c = t.y + (t.height - a) / 2;
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 + Ee && me(e, t, m.name, { x: l + a + Ee, maxWidth: u - a - Ee - (h < r.widths.length - 1 || r.more ? Re : 0) }), l += u + _e;
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, He(e, jn(g.name) || "?", r) + 6)), l = Kt(c, ht(t), (g) => _t(e, t, g), s), u = t.y + (t.height - s) / 2;
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(Ae("attachment", t, n.files.map((g) => g.id)), m);
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(Ae("attachment", Xt(t), e.files.map((n) => n.id))), t, (n) => ({ type: "open-attachment", id: e.files[n].id }))
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 + Ee + 2 });
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
- }, Ht = 10, Dt = new qt(), vr = {
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), He(e, n.label, o.chipFontSize) + 2 * Ht), r = { x: t.x + o.padding, y: t.y + (t.height - o.chip) / 2, width: s, height: o.chip };
3739
- D(e, { ...r, radius: Jn, fill: i.buttonFill }), D(e, { x: r.x + 0.5, y: r.y + 0.5, width: r.width - 1, height: r.height - 1, radius: Jn, stroke: i.buttonBorder }), n.disabled && (e.globalAlpha = 0.5), me(e, t, n.label, { x: r.x + Ht, maxWidth: s - 2 * Ht, color: i.buttonText, fontSize: o.chipFontSize }), e.globalAlpha = 1, Dt.set(Ae("button", t, [n.label]), [{ x: r.x - t.x, y: r.y - t.y, width: s, height: o.chip }]);
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(Ae("button", Xt(t), [e.label]))?.[0];
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
- }, Jn = 4, Sr = {
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
- }, Zn = (e, t) => !!e && !!t && e[0] === t[0] && e[1] === t[1], xr = (e) => {
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 ?? Ge, a = null, s = null;
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" || !Zn(I.ranges[0], I.ranges[1])) return;
3821
- const P = y.currentTarget?.querySelector("[data-ui-grid]"), E = R.getCellRect(k);
3822
- if (!P || !E) return;
3823
- const N = P.getBoundingClientRect(), M = { x: y.clientX - N.left - E.x, y: y.clientY - N.top - E.y };
3824
- if (M.x < 0 || M.y < 0 || M.x >= E.width || M.y >= E.height) return;
3825
- const H = g(k, M, E, Zn(v, k));
3826
- H && w(H.action, k);
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
- Ar as GridHost,
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
- Ge as defaultGridCellTheme,
6255
+ Ue as defaultGridCellTheme,
6157
6256
  br as drawGridCellStatus,
6158
- Hr as fillSeries,
6257
+ Er as fillSeries,
6159
6258
  hs as filledRange,
6160
6259
  or as formatGridNumber,
6161
6260
  Dn as gridCellMetrics,